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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.