Bart Smaalders writes: > James Carlson wrote: > > > The point is that having two is confusing, and of the two, 3XNET is > > better for modern applications (i.e., those attempting to use socket > > options), so I'd recommend it first. The other one seems to have > > little going for it but the well-known name and prestige location in > > the man page search path. > > > > So why are there two different libraries? Isn't the xnet > functionality a proper superset of libsocket?
No, they're disjoint, as I noted before. 3XNET has ancillary data, 3SOCKET does not. 3SOCKET has the legacy r* interfaces and *_r thread-safe functions, but 3XNET does not. 3XNET includes the name service bits, but 3SOCKET does not. (Except for name space purists, that last one might be a bit of a red herring, though, as users of -lsocket almost always include -lnsl to pick up the necessary name service functions.) Most other platforms long ago did away with this distinction and just make all of it available from libc. And this means that quite a few application writers these days _assume_ it's in libc everywhere, and force Solaris users into excruciating 'make LDFLAGS="-lsocket -lnsl"' experiments or (more likely) postings on various newsgroups asking why xyz-1.23 doesn't compile on Solaris. -- James Carlson, KISS Network <[EMAIL PROTECTED]> Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677 _______________________________________________ networking-discuss mailing list networking-discuss@opensolaris.org