  + 	ANNOUNCEMENT:	SOCKETSHR V0.9D		25-Jan-1995   : 	This is to announce the fourth beta release of SOCKETSHR,H 	a TCP/IP product independent BSD socket library (shared image) based on@ 	Matt Madison's NETLIB. It is available for OpenVMS VAX and AXP.  : 		NOTE: The SOCKETSHR image for NETLIB has been renamed to7 		SOCKETSHR_NETLIB1.EXE to reflect that it is built for : 		NETLIB V1. Future versions of SOCKETSHR may be built for 		the new NETLIB V2.  ; 		PLEASE UPDATE YOUR DEFINITION OF THE LOGICAL "SOCKETSHR"!   A 	There is also a UCX native version, which is merely an interface C 	to UCX' socket library with some routines added. Both versions are D 	interchangable since they share the same transfer vector. CurrentlyC 	the NETLIB version is the recommended implementation of SOCKETSHR.   D 	SOCKETSHR has been created to make distribution of binaries easier,E 	since only one executable has to be built. This executable then runs * 	on all TCP/IP products without relinking.  D 	Note that NETLIB V1.7 or higher is required for UDP applications to: 	work. V1.7 implements asynchroneous UDP transfer which isA 	necessary to implement select() (Many thanks to Matt Madison for @ 	his cooperation). NETLIB V1.7 is the current (and last) versionA 	of NETLIB V1. Matt has created NETLIB V2 which has V1 compatible D 	routines. SOCKETSHR should also works with NETLIB V2 though it does1 	not currently use the new features of NETLIB V2.   2 	SOCKETSHR may be obtained via anonymous ftp from:   		ftp.ifn.ing.tu-bs.de  
 	in directory    		[.VMS.SOCKETSHR]  2 		SOCKETSHR_BIN_09D.ZIP		VAX and AXP shared images  		SOCKETSHR_SRC_09D.ZIP		sources' 		NETLIB017.ZIP			Matt Madison's NETLIB   # 	(UNZIP.EXE can be found in [.VMS])   5 	Older versions can be found in [.VMS.SOCKETSHR.OLD].   C 	There is a mailing list for discussion: socketshr@ifn.ing.tu-bs.de > 	To subscribe, send mail to socketshr-request@ifn.ing.tu-bs.de 	containing one line:    		subscribe     4 	Feel free to test socketshr and please report bugs.  	 	--Eckart   O -------------------------------------------------------------------------------    	Changes for V0.9D:   ; 	(1)	Added missing files with BUILD.COM. This procedure was  		rewritten.  & 	(2)	Added time stamp on trace output.  C 	(3)	Don't use VAXC$INET_NTOA and VAXC$INET_ADDR but supply our own ; 		routines (INET.C). Although independent of any networking 6 		software they seem to need UCX$IPC_SHR which is only2 		available with UCX (thanks to Charles Streible).  D 	(4)	Wrong internal declarations of fgetc(), fputc() etc. Changed to> 		use integers instead of char's (thanks to Charles Streible).  1 	(5)	The NETLIB version was renamed to NETLIB1 to ; 		reflect that it is built on NETLIB V1. Matt has developed = 		a complete new version of NETLIB (V2) with a new interface. < 		A  future version of SOCKETSHR will use the new interface.  = 	(6)	New socketshr.h: Not only defines routine names but also < 		define the prototypes - but only if the original prototype) 		definition has already been done. It is 8 		now recommended to include socketshr.h after all other' 		related includes (like socket.h etc).   ? 	(7)	fileno() can now be used as it is defined in stdio.h, i.e. < 		as a macro referring to the FILE struct (_iobuf). It is no= 		longer defined in socketshr.h. The entry point for fileno() % 		will be retained for compatibility.   < 	(8)	The two example and test programs client.c and server.c? 		are now ANSI-C compatible and may be compiled on DECC without  		/standard=vaxc.   : 	(9)	Corrected bugs with accept() when used with select().7 		The correct event flag was not set when a connect was & 		coming in while waiting in select().= 		Also, the "ready bit" was not cleared in accept() resulting @ 		in an immedeate return from subsequent select on this (listen)	 		socket.   = 	(10)	You may now link SOCKETSHR from the binary distribution ? 		(SOCKETSHR_BIN_09D.ZIP) by simply extracting all files into a ) 		temporary directory and typing "@LINK".   8 	(11)	TYPES.H, IOCTL.H and FILE.H have been added to the; 		binary distribution. In the source distribution they have 2 		been moved from [.netlib] to the base directory.  O -------------------------------------------------------------------------------    	Changes for V0.9C:   > 	(1)	Corrected bug with select() when the timeout parameter is: 		NULL. Under certain circumstances select() could go into4 		a loop instead of waiting (thanks to Andy Harper).   	(2)	Added some routines:  		Services: . 			getservent	- get next service from database# 			setservent	- set open/close flag  			endservent	- close database> 		Note: All service database routine including getservbyname()< 		and getservbyport() now use the file pointed to by logical< 		SOCKETSHR_SERVICES or SYS$LIBRARY:SERVICES. if the logical? 		does not exist. The old logicals INET$... are no longer used!    		Protocols:. 			getprotobyname	- get protocol from database/ 			getprotobynumber- get protocol from database 0 			getprotoent	- get next protocol from database$ 			setprotoent	- set open/close flag 			endprotoent	- close database ; 		Note: All protocol database routines use the file pointed @ 		to by logical SOCKETSHR_PROTOCOLS or SYS$LIBRARY:PROTOCOLS. if 		the logical does not exist.    		Hosts:
 			gethostent 
 			setservent 
 			endservent = 		These routines are added for completeness but they actually ; 		do nothing. gethostent() always returns the NULL pointer, 1 		since NETLIB does not provide this information.   ; 		SOCKETSHR.H has been updated to include the new routines.   < 		Due to the addition of these routines, the transfer vector: 		has changed. The routines have been appended at the end.7 		The minor id of the shared images has been increased. = 		Programs linked against previous versions of SOCKETSHR will  		run with this versions.   O -------------------------------------------------------------------------------    	Changes for V0.9B:   < 	(1)	Corrected bug with tracing in select() when the timeout, 		parameter is NULL (thanks to Andy Harper).  = 	(2)	Corrected bug in recvfrom() where the user's from-buffer < 		is not filled completely. The SIN_FAMILY item was set to 01 		instead to AF_INET (2) (thanks to Andy Harper). < 		Also, the actual length of the address information was not! 		returned in the last parameter.   ? 	(3)	Corrected bug in gethostbyname/gethostbyaddr with returned = 		alias lists. The alias name list returned NULL instead of a , 		pointer to NULL (thanks to David Denholm).< 		Note that SOCKETSHR_NETLIB never returns alias names since 		NETLIB does not provide them.   ? 	(4)	Corrected bug in gethostbyname/gethostbyaddr with returned ? 		address list. The returned address list was made up as a list 9 		of addresses instead of a list of pointers to addresses  		(thanks to Daved Denholm).7 		Obviously UCX always returns only one address. CMU/IP > 		correctly returns all adresses. I don't know if this is UCX'< 		fault or a NETLIB bug. This problem will be addressed in a 		future version of SOCKETSHR.  M ----------------------------------------------------------------------------- M Eckart Meyer                                     Address:  Schleinitzstr.  23 M Institute for Telecommunication                            38092 Braunschweig M Technical University of Braunschweig                                  Germany M                                                  Phone:      +49 531 391 2454 M E-Mail:   meyer@ifn.ing.tu-bs.de                 FAX:        +49 531 391 5192 - VMSmail:  PSI%26245050551130::MEYER (DATEX-P) M -----------------------------------------------------------------------------   