[unix-pc.general] Starlan,tcp/ip streams/sockets on 7300?

daveb@llama.rtech.UUCP (It takes a clear mind to make it) (05/16/88)

I am looking for some way to get SVR3ish STREAMS or sockets on my 7300. 
I had heard that either the Starlan software or the TCP/IP software in
fact included one or the other beneath the covers, and I'd be willing to
pay real money for one of them if this were true.

The questions are, A) what is underneath these packages? B) does it
support poll() or select()?  C)  can you load the drivers/kernel hacks
necessary without theppresence of a controller card?  C) does this
stream module

Thanks,
-dB

{amdahl, cpsc6a, mtxinu, sun, hoptoad}!rtech!daveb daveb@rtech.uucp

lenny@icus.UUCP (Lenny Tropiano) (05/18/88)

In article <2090@rtech.UUCP> daveb@rtecn.UUCP writes:
|>
|>I am looking for some way to get SVR3ish STREAMS or sockets on my 7300. 
|>I had heard that either the Starlan software or the TCP/IP software in
|>fact included one or the other beneath the covers, and I'd be willing to
|>pay real money for one of them if this were true.
|>
...
You've brought up a very interesting point.  Can someone just buy the
software that puts the "hooks" in the operating system to provide sockets,
STREAMS, and RFS?   It seems like the /usr/include/sys/errno.h file has
the errors already there to support the function calls.

Following excerpt from /usr/include/sys/errno.h (3.51)
...
/* Errors from 4.2 BSD picked up to support sockets */
/* Note that the numbers are different from 4.2 numbering */

/* non-blocking and interrupt i/o */
#define	EWOULDBLOCK	226		/* Operation would block */
#define	EINPROGRESS	227		/* Operation now in progress */
#define	EALREADY	228		/* Operation already in progress */
/* ipc/network software */

	/* argument errors */
#define	ENOTSOCK	229		/* Socket operation on non-socket */
#define	EDESTADDRREQ	230		/* Destination address required */
#define	EMSGSIZE	231		/* Message too long */
#define	EPROTOTYPE	232		/* Protocol wrong type for socket */
#define	EPROTONOSUPPORT	233		/* Protocol not supported */
#define	ESOCKTNOSUPPORT	234		/* Socket type not supported */
...

	/* operational errors */
#define	ENETDOWN	240		/* Network is down */
#define	ENETUNREACH	241		/* Network is unreachable */
...
#define	ETIMEDOUT	250		/* Connection timed out */
#define	ECONNREFUSED	251		/* Connection refused */

/* should be rearranged */
#define	EHOSTDOWN	252		/* Host is down */
#define	EHOSTUNREACH	253		/* No route to host */
#define	ENOPROTOOPT	254		/* Protocol not available */

-Lenny
-- 
US MAIL  : Lenny Tropiano, ICUS Computer Group        IIIII  CCC U   U  SSS
           PO Box 1                                     I   C    U   U S
           Islip Terrace, New York  11752               I   C    U   U  SS 
PHONE    : (516) 968-8576 [H] (516) 582-5525 [W]        I   C    U   U    S
TELEX    : 154232428 [ICUS]                           IIIII  CCC  UUU  SSS 
AT&T MAIL: ...attmail!icus!lenny  
UUCP     : ...{mtune, ihnp4, boulder, talcott, sbcs, bc-cis}!icus!lenny 

root@rocky.cs.wisc.edu.CS.WISC.EDU (Charlie Root) (05/19/88)

I have worked with both the STARLAN and ETHERNET cards --- and BOTH will
NOT WORK IF THE CONTROLLER IS NOT IN THE COMPUTER.  This is due to the 
device drivers also doing socket handling.  I.E. The socket code is not
independant of the controller driver.  HOWEVER, both cards will run WITHOUT
having the controller hooked up to other hosts.  Since the driver han have
a conversation with the controller card, programs will work.

Jonathan Sadler
Computing Systems Lab (CSL)
Unversity of Wisconsin - Madison

mmengel@cuuxb.ATT.COM (~XT4103000~Marc Mengel~C25~G25~6184~) (05/19/88)

In article <365@icus.UUCP> lenny@icus.UUCP (Lenny Tropiano) writes:
>In article <2090@rtech.UUCP> daveb@rtecn.UUCP writes:
>|>
>|>I am looking for some way to get SVR3ish STREAMS or sockets on my 7300. 
>|>I had heard that either the Starlan software or the TCP/IP software in
>|>fact included one or the other beneath the covers, and I'd be willing to
>|>pay real money for one of them if this were true.
>|>
>...
>You've brought up a very interesting point.  Can someone just buy the
>software that puts the "hooks" in the operating system to provide sockets,
>STREAMS, and RFS?   It seems like the /usr/include/sys/errno.h file has
>the errors already there to support the function calls.

Well, yes and no.  What Starlan has in it is a pre-SysVr3.0 version of 
streams (known as "B+" streams) which is used mainly inside the driver.
The interface to streams is not the standard system call interface, but
is actually done via ioctl() calls to the starlan driver.

TCP/IP for the 7300 does not use streams, rather the Wollongong 
implementation of BSD sockets, similarly done through ioctl() calls to 
the driver.

The /usr/include/sys/*.h files have BSD-isms in them for two reasons,
one to support Wollongong TCP/IP, and two because large portions of the 
Unix PC kernel are BSD 4.0 derived (the paging system, for example is 
purest BSD); however only the barest semblance of the Berkeley 
extensions remain in the code.

So, in summary, you can get a reasonable semblance of streams with
Starlan software, and a reasonable semblance of sockets with the
TCP software (although adding your own streams modules to the Starlan
software would be a challenging proposition, to say the least...)

>-Lenny
-- 
 Marc Mengel	

 attmail!mmengel
 ...!{moss|lll-crg|mtune|ihnp4}!cuuxb!mmengel