z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


C socket implementation

z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference
SC27-3660-00

The IBM® socket implementation differs from the Berkeley socket implementation. The following list summarizes the differences in the two methods:
  • The IBM implementation does not support AF_INET6 sockets.
  • Under IBM implementation, you must make reference to the additional header file, TCPERRNO.H, if you want to refer to the networking errors other than those described in the compiler-supplied ERRNO.H file.
  • Under IBM implementation, you must use the tcperror() routine to print the networking errno messages. tcperror() should be used only after socket calls, and perror() should be used only after C library calls.
  • Under IBM implementation, you must include MANIFEST.H to remap the socket function long names to eight-character names.
  • The IBM ioctl() call implementation might differ from the current Berkeley ioctl() call implementation. See ioctl() for a description of the functions supported by the IBM implementation.
  • The IBM getsockopt() and setsockopt() calls support only a subset of the options available. See getsockopt() and setsockopt() for details about the supported options.
  • The IBM fcntl() call supports only a subset of the options available. See fcntl() for details about the supported commands.
  • The IBM implementation supports an increased maximum number (2000) of simultaneous sockets through the use of the maxdesc() call. (Only 1997 simultaneous sockets can be used, however.) The default maximum number of sockets is 47, any or all of which can be AF_INET sockets.
Keep the following information in mind while creating your C socket application:
  • Compile all C source using the def(MVS™) preprocessor symbol.
  • During debugging, set sock_do_teststor (1) to on to validate all storage addresses. After debugging, use sock_do_teststor (0) set to off.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014