Re: Purpose of rawsock module
Sam Steingold <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <[email protected]> |
> * Daniel Jour <[email protected]> [2016-05-27 00:40:35 +0200]: > > I'm currently working on getting the rawsock module up-to-date and running > on the major target platforms. I got a bit unsure about the real purpose, > the "goal" of that module, though: > > The documentation suggests that it's providing access to what sys/socket.h > provides, i.e. "raw" access to sockets. Indeed, rawsock originated with Fred & Don Cohens, who wrote it for some very low level access to networking. > Windows doesn't have sys/socket.h, but rather WinSock2. While there are > a lot of similarities between those (IIRC that was one of the design goals > of WinSock) they're certainly different in some parts. Sockets are the OS-level interface to TCP/IP. Thus all the functions in rawsock can, should(must!) and did work on all "modern" operating systems (i.e., linux, *bsd including mac os x, windows xp and later, all other unixes released after 2000 - but not on atari and amiga). Yes, windows is an oddball system, this is why we have a problem now, and this is precisely the problem this project is supposed to address. > Unifying both sys/socket.h and WinSock2 behind the same interface > seems to be a contradiction to the "raw" access to me, though. If > that's the goal of the module, wouldn't it be much better to have a > module providing access to some "socket library"? This module _IS_ that "socket library". > Or would it be useful to split the rawsock module in platform dependent > modules, just like it's done with bindings/glibc and bindings/win32? The idea of the module is to have it working on _all_ modern OS OOTB, without "os-specific" interfaces all over the place. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 16.04 (xenial) X 11.0.11803000 http://www.childpsy.net/ http://honestreporting.com http://memri.org http://dhimmi.org http://mideasttruth.com If you know that you know nothing, you know too much. ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ clisp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clisp-devel