[comp.sys.att] SOCKETS?

tlh@pbhyf.UUCP (Lee Hounshell) (12/29/87)

In article <2208@crash.cts.com> ford%kenobi@crash.CTS.COM (Michael Ditto) writes:
>It also has some minor extentions from both System
>V Release 3 and Berkely Unix.  For example, from SVR3 comes the "xt"
>multiplexing protocol and "layers" windowing system, and internal support
>for the "Streams" I/O system.  From BSD comes the Berkeley network socket
>capability, although this is only included with the Ethernet software.

Does this mean that my 3B1 kernel is capable of supporting Berkeley socket
calls?  If so, I could run a *whole bunch* of public domain software that
was written using sockets as an IPC mechanism!  Does anyone out there know
how to access it?  Or do I need to first get this Ethernet software ($$ ?)
Similarly, is it possible to access the streams system and/or create new
drivers using it?  If you're reading this, AT&T/Convergent, why didn't you
include the librarys/documentation needed to use these tools with the 3B1?

Lee Hounshell

emike@richp1.UUCP (E. Mike Durbin) (12/29/87)

In article <2603@pbhyf.UUCP> tlh@pbhyf.UUCP (Lee Hounshell) writes:
>In article <2208@crash.cts.com> ford%kenobi@crash.CTS.COM (Michael Ditto) writes:
>>                               From BSD comes the Berkeley network socket
>>capability, although this is only included with the Ethernet software.
>
>Does this mean that my 3B1 kernel is capable of supporting Berkeley socket
>calls?  If so, I could run a *whole bunch* of public domain software that
>was written using sockets as an IPC mechanism!  Does anyone out there know
>how to access it?  Or do I need to first get this Ethernet software ($$ ?)
>Similarly, is it possible to access the streams system and/or create new
>drivers using it?  If you're reading this, AT&T/Convergent, why didn't you
>include the librarys/documentation needed to use these tools with the 3B1?
>
>Lee Hounshell

Mike Ditto exaggerates (a little).  The loadable device driver for
TCP/Ethernet includes the socket interface and kernel routines.  A
user level socket library in provided also (libnet.a I believe).  The
loadable device driver for Starlan includes the Streams routines.  I
don't remember any libraries, documentation, or tools for Streams.

Neither Sockets or Streams are part of the 3B1 kernel, both are provided
with (loadable) device drivers.

Also, you need a minimum of 2.5 Meg of RAM to run both Ethernet and Starlan.
You also have to load Ethernet FIRST.  Both dynamically allocate kernel heap
after being loaded, but only Starlan checks if the allocation failed.  If
you load Ethernet first, and the kernel heap allocation fails, the system
will hang.  (Actually, the Ethernet driver blocks waiting for heap to be
freed, which will never happen, as the machine isn't even up yet).

See /etc/lddrv/drivers (if I remember correctly) for the order in which
the drivers are loaded.
-- 
------------------------------------------------------------------------------
             ...!cuuxb \		E. M. Durbin
		        !richp1!emike	Rich Inc.
...!ihnp4!laidbak!spl1 /		Chicago

ford@crash.cts.com (Michael Ditto) (01/02/88)

In article <2603@pbhyf.UUCP> tlh@pbhyf.UUCP (Lee Hounshell) writes:
>In article <2208@crash.cts.com> ford%kenobi@crash.CTS.COM (Michael Ditto) writes:
>
>Does this mean that my 3B1 kernel is capable of supporting Berkeley socket
>calls?  If so, I could run a *whole bunch* of public domain software that
>was written using sockets as an IPC mechanism!  Does anyone out there know
>how to access it?  Or do I need to first get this Ethernet software ($$ ?)

The BSD networking system calls are present in the Foundation Set Unix
only as 'hooks' that return with an error if the optional networking
software is not installed.  The library stubs are not in libc, so they
can not be called from C anyway.  I assume they come with the Ethernet
software.

Last time I checked, the Ethernet board cost $995.00 and the software for
it cost ANOTHER $995.00.  The software includes TCP/IP, Berkeley-style
sockets, and several internet programs (I seem to remember that telnet
and ftp are included).  NFS and RFS are not available.

I don't know whether the software would work without the Ethernet board.
Also, I don't think the Berkeley select system call is possible on System
V without significant change to all existing device drivers, so if it is
included, I don't think it would work on anything but sockets.  This
might prevent some BSD programs from working.

>Similarly, is it possible to access the streams system and/or create new
>drivers using it?  If you're reading this, AT&T/Convergent, why didn't you
>include the librarys/documentation needed to use these tools with the 3B1?

Althouh some streams data structures are present in the kernel, none of the
streams code seems to be there.  I don't know if it is included as part
of some other package; maybe it comes with the Ethernet or StarLan software.

If anyone wants to see evidence of both streams and BSD networking on the
Unix PC, take a look at "/usr/include/sys/errno.h":

#define ENOSTR	60	/* Device not a stream */
 [ ... ]
#define ENOTSOCK	229	/* Socket operation on non-socket */

-- 

Mike Ditto					-=] Ford [=-
P.O. Box 1721					ford%kenobi@crash.CTS.COM
Bonita, CA 92002				ford@crash.CTS.COM