-@c This currently appears in the manual as a chapter: if a
-@c higher-level interface appear, it will make sense to lower this
-@c into a section.
+@node Networking
+@comment node-name, next, previous, up
+@chapter Networking
@cindex Sockets, Networking
The @code{sb-bsd-sockets} module provides a thinly disguised BSD
of @code{sb-bsd-sockets:socket-condition} and generally correspond one
for one with possible @code{errno} values.
-@item
+@item
We use multiple return values in many places where the C API would use
pass-by-reference values.
@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-open-p.texinfo
+
@include fun-sb-bsd-sockets-socket-close.texinfo
+@include fun-sb-bsd-sockets-socket-shutdown.texinfo
+
@include fun-sb-bsd-sockets-socket-make-stream.texinfo
@include fun-sb-bsd-sockets-socket-error.texinfo
Local domain (@code{AF_LOCAL}) sockets are also known as Unix-domain
sockets, but were renamed by POSIX presumably on the basis that they
may be available on other systems too.
-
+
A local socket address is a string, which is used to create a node in
the local filesystem. This means of course that they cannot be used
across a network.
@node Name Service
@section 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
+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 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