Support building without PSEUDO-ATOMIC on POSIX safepoints
[sbcl.git] / contrib / sb-bsd-sockets / sb-bsd-sockets.texinfo
index c726638..760c5f0 100644 (file)
@@ -1,10 +1,11 @@
-@node sb-bsd-sockets
-@section sb-bsd-sockets
+@node Networking
+@comment  node-name,  next,  previous,  up
+@chapter Networking
 @cindex Sockets, Networking
 
 @cindex Sockets, Networking
 
-The @code{sb-bsd-sockets} module provides a thinly disguised BSD socket
-API for SBCL. Ideas stolen from the BSD socket API for C and Graham
-Barr's IO::Socket classes for Perl.
+The @code{sb-bsd-sockets} module provides a thinly disguised BSD
+socket API for SBCL. Ideas have been stolen from the BSD socket API
+for C and Graham Barr's IO::Socket classes for Perl.
 
 Sockets are represented as CLOS objects, and the API naming
 conventions attempt to balance between the BSD names and good lisp style.
 
 Sockets are represented as CLOS objects, and the API naming
 conventions attempt to balance between the BSD names and good lisp style.
@@ -19,7 +20,7 @@ conventions attempt to balance between the BSD names and good lisp style.
 @end menu
 
 @node Sockets Overview
 @end menu
 
 @node Sockets Overview
-@subsection Sockets Overview
+@section Sockets Overview
 
 Most of the functions are modelled on the BSD socket API.  BSD sockets
 are widely supported, portably @emph{(``portable'' by Unix standards, at least)}
 
 Most of the functions are modelled on the BSD socket API.  BSD sockets
 are widely supported, portably @emph{(``portable'' by Unix standards, at least)}
@@ -50,7 +51,7 @@ than "network-endian integers".
 @end itemize
 
 @node General Sockets
 @end itemize
 
 @node General Sockets
-@subsection General Sockets
+@section General Sockets
 
 @include class-sb-bsd-sockets-socket.texinfo
 
 
 @include class-sb-bsd-sockets-socket.texinfo
 
@@ -66,8 +67,12 @@ than "network-endian integers".
 
 @include fun-sb-bsd-sockets-socket-receive.texinfo
 
 
 @include fun-sb-bsd-sockets-socket-receive.texinfo
 
+@include fun-sb-bsd-sockets-socket-send.texinfo
+
 @include fun-sb-bsd-sockets-socket-listen.texinfo
 
 @include fun-sb-bsd-sockets-socket-listen.texinfo
 
+@include fun-sb-bsd-sockets-socket-open-p.texinfo
+
 @include fun-sb-bsd-sockets-socket-close.texinfo
 
 @include fun-sb-bsd-sockets-socket-make-stream.texinfo
 @include fun-sb-bsd-sockets-socket-close.texinfo
 
 @include fun-sb-bsd-sockets-socket-make-stream.texinfo
@@ -77,7 +82,7 @@ than "network-endian integers".
 @include fun-sb-bsd-sockets-non-blocking-mode.texinfo
 
 @node Socket Options
 @include fun-sb-bsd-sockets-non-blocking-mode.texinfo
 
 @node Socket Options
-@subsection Socket Options
+@section Socket Options
 
 A subset of socket options are supported, using a fairly general
 framework which should make it simple to add more as required - see
 
 A subset of socket options are supported, using a fairly general
 framework which should make it simple to add more as required - see
@@ -105,7 +110,7 @@ sockopt-receive-low-water)}.
 @include fun-sb-bsd-sockets-sockopt-tcp-nodelay.texinfo
 
 @node INET Domain Sockets
 @include fun-sb-bsd-sockets-sockopt-tcp-nodelay.texinfo
 
 @node INET Domain Sockets
-@subsection INET Domain Sockets
+@section INET Domain Sockets
 
 The TCP and UDP sockets that you know and love. Some representation
 issues:
 
 The TCP and UDP sockets that you know and love. Some representation
 issues:
@@ -131,7 +136,7 @@ port, so for example, (socket-connect s #(192 168 1 1) 80).
 @include fun-sb-bsd-sockets-get-protocol-by-name.texinfo
 
 @node Local (Unix) Domain Sockets
 @include fun-sb-bsd-sockets-get-protocol-by-name.texinfo
 
 @node Local (Unix) Domain Sockets
-@subsection Local (Unix) Domain Sockets
+@section Local (Unix) Domain Sockets
 
 Local domain (@code{AF_LOCAL}) sockets are also known as Unix-domain
 sockets, but were renamed by POSIX presumably on the basis that they
 
 Local domain (@code{AF_LOCAL}) sockets are also known as Unix-domain
 sockets, but were renamed by POSIX presumably on the basis that they
@@ -144,16 +149,18 @@ across a network.
 @include class-sb-bsd-sockets-local-socket.texinfo
 
 @node Name Service
 @include class-sb-bsd-sockets-local-socket.texinfo
 
 @node Name Service
-@subsection Name Service
-
-Presently name service is implemented by calling whatever
-@code{gethostbyname(2)} uses. This may be any or all of
-@file{/etc/hosts}, NIS, DNS, or something completely different.
-Typically it's controlled by @file{/etc/nsswitch.conf}.
-                                                                                
-Direct links to the asynchronous @code{resolver(3)} routines would be
-nice to have eventually, so that we can do DNS lookups in parallel
-with other things
+@section Name Service
+
+Presently name service is implemented by calling out to the
+@code{getaddrinfo(3)} and @code{gethostinfo(3)}, or to
+@code{gethostbyname(3)} @code{gethostbyaddr(3)} on platforms where
+the preferred functions are not available. The exact details of
+the name resolving process (for example the choice of whether
+DNS or a hosts file is used for lookup) are platform dependent.
+                                                                                 
+@c Direct links to the asynchronous @code{resolver(3)} routines would be
+@c nice to have eventually, so that we can do DNS lookups in parallel
+@c with other things.
 
 @include class-sb-bsd-sockets-host-ent.texinfo
 
 
 @include class-sb-bsd-sockets-host-ent.texinfo
 
@@ -162,5 +169,3 @@ with other things
 @include fun-sb-bsd-sockets-get-host-by-address.texinfo
 
 @include fun-sb-bsd-sockets-host-ent-address.texinfo
 @include fun-sb-bsd-sockets-get-host-by-address.texinfo
 
 @include fun-sb-bsd-sockets-host-ent-address.texinfo
-
-@include fun-sb-bsd-sockets-name-service-error.texinfo