1.5 Revision History
1.5.1 Windows Sockets Version 1.0
Windows Sockets Version 1.0 represented the results of considerable work within the vendor and user community as discussed in Appendix C. This version of the specification was released in order that network software suppliers and application developers could begin to construct implementations and applications which conformed to the Windows Sockets standard.
1.5.2 Windows Sockets Version 1.1
Windows Sockets Version 1.1 follows the guidelines and structure laid out by version 1.0, making changes only where absolutely necessary as indicated by the experiences of a number of companies that created Windows Sockets implementations based on the version 1.0 specification. Version 1.1 contains several clarifications and minor fixes to version 1.0. Additionally, the following more significant changes were incorporated into version 1.1:
- Inclusion of the gethostname() routine to simplify retrieval of the host's name and address.
- Definition of DLL ordinal values below 1000 as reserved for Windows Sockets and ordinals above 1000 as unrestricted. This allows Windows Sockets vendors to include private interfaces to their DLLs without risking that the ordinals chosen will conflict with a future version of Windows Sockets.
- Addition of a reference count to WSAStartup() and WSACleanup(), requiring correspondences between the calls. This allows applications and third-party DLLs to make use of a Windows Sockets implementation without being concerned about the calls to these APIs made by the other.
- Change of return type of inet_addr() from struct in_addr to unsigned long. This was required due to different handling of four-byte structure returns between the Microsoft and Borland C compilers.
- Change of WSAAsyncSelect() semantics from "edge-triggered" to "level-triggered". The level-triggered semantics significantly simplify an application's use of this routine.
- Change the ioctlsocket() FIONBIO semantics to fail if a WSAAsyncSelect() call is outstanding on the socket.
- Addition of the TCP_NODELAY socket option for RFC 1122 conformance.
All changes between the 1.0 and 1.1 specifications are flagged with change bars at the left of the page.