NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: WINSOCK (LWP for DOS and LAN WorkGroup) DOCUMENT ID: TID200009 DOCUMENT REVISION: B DATE: 23NOV93 ALERT STATUS: Yellow INFORMATION TYPE: Symptom Solution README FOR: LWP168.EXE NOVELL PRODUCT and VERSION: LAN WorkPlace for DOS 4.1 LAN WorkGroup 4.1 ABSTRACT: This patch adds support for Windows Sockets to LAN WorkPlace for DOS and LAN WorkGroup v4.1. Windows Sockets is an open interface for programming TCP/IP applications for Microsoft Windows. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SYMPTOM You should have already installed LAN WorkPlace for DOS or LAN WorkGroup v4.1 to use this WinSock release, or have otherwise obtained and installed the Novell TCP/IP Transport for DOS/MS Windows (found in various Novell and 3rd-party networking software packages). With these files you will be able to run 3rd-party applications writtenspecifically for the WinSock API. SOLUTION Apply LWP168.EXE Self-Extracting File Name: LWP168.EXE Revision: B Files Included Size Date Time \ LWP168.TXT (This File) WINSOCK.DLL 34640 11-12-93 10:20a NOVASYNC.EXE 4672 09-28-93 5:00p WLIBSOCK.DLL 43530 09-28-93 5:00p TCPIP.EXE 41188 09-28-93 5:00p SNMP.EXE 32374 09-28-93 5:00p LWPCON.EXE 257504 09-28-93 5:00p LWPCON.HLP 44238 09-28-93 5:00p LWPCON.MSG 14334 09-28-93 5:00p WGTCPIP.EXE 65348 09-28-93 4:47p Installation Instructions: Execute the self-extracting file LWP168.EXE. Copy the extracted files to the LAN WorkPlace BIN directory. The default LAN WorkPlace BIN directory is C:\NET\BIN. Be sure that the WINSOCK.DLL and WLIBSOCK.DLL in this directory are the only ones in your path; having others in \WINDOWS or \WINDOWS\SYSTEM will cause problems. The WINSOCK.DLL relies on the WLIBSOCK.DLL, NOVASYNC.EXE, and TCPIP.EXE if you are using LAN WorkPlace for DOS or WGTCPIP.EXE if you are using LAN WorkGroup provided in this patch. We have included updated versions of SNMP.EXE and LWPCON.EXE only because earlier versions of these files are not compatible with the TCPIP.EXE or WGTCPIP.EXE we are providing in this patch. WINSOCK does not rely on SNMP.EXE or LWPCON.EXE. Solution Specifics: Development with WINSOCK requires the WINSOCK.H file and the WINSOCK v1.1 specification also an import library of WINSOCK.DLL must be created. The WINSOCK.H file and WINSOCK v1.1 specification can be obtained at the Internet address sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1 . The following list identifies features of Windows Sockets that are unsupported or supported differently by Novell LAN WorkPlace for DOS: o MSG_PEEK is ignored on recv or recvfrom. o MSG_DONTROUTE is ignored on send or sendto. o The following socket control options are not supported and return WSAEINVAL if used: - SIOACATMARK o The following notes refer to Table 1, which summarizes handling of socket options: The following socket options default to TRUE and can not be changed to FALSE: - SO_BROADCAST - SO_DONTLINGER - SO_OOBINLINE The following socket options default to FALSE and can not be changed to TRUE: - SO_DEBUG - SO_DONTROUTE - SO_ERROR o Since SO_OOBINLINE is always true, specifying MSG_OOB on recv or recvfrom has no effect. Out-of-band data is always received as normal data. Out-of-band data may be sent. o The maximum number of sockets supported is 31. o You can create sockets of type SOCK_RAW using the socket function. The supported functions for raw sockets are: - socket - ioctlsocket to set non-blocking mode - sendto - recvfrom - closesocket Raw sockets are supported only for ping. The application is responsible for building and processing ICMP headers. o Either do not use shutdown() at all, or use shutdown() only when preparing to terminate communications (for example, to close the socket). o If you use shutdown() to disable sending, LAN WorkPlace TCP/IP sends a FIN packet. An application should not issue a send() or sendto() after a shutdown() that disabled sending. o An application should not issue a recv() or recvfrom() after a shutdown() that disabled receiving. o Table 1. Handling of Socket Options ------------------------------------ +-------------------------------------------------+ | Option Default Setsockopt Support | +-------------------------------------------------+ | SO_RCVBUF 4096 yes | +-------------------------------------------------+ | SO_SNDBUF 4096 yes | +-------------------------------------------------+ | SO_ACCEPTCONN FALSE NOPROTOOPT | +-------------------------------------------------+ | SO_BROADCAST TRUE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_DONTLINGER TRUE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_OOBINLINE TRUE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_DEBUG FALSE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_DONTROUTE FALSE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_ERROR FALSE NOPROTOOPT if chg | +-------------------------------------------------+ | SO_TYPE none NOPROTOOPT | +-------------------------------------------------+ | SO_KEEPALIVE FALSE yes | +-------------------------------------------------+ | SO_REUSEADDR FALSE yes | +-------------------------------------------------+ | TCP_NODELAY not supp NOPROTOOPT | +-------------------------------------------------+ | SO_LINGER not supp NOPROTOOPT | +-------------------------------------------------+ Getsockopt for TCP_NODELAY and SO_LINGER return NOPROTOOPT. The other options are supported. ÿ