Using z/OS UNIX sockets

To compile, each z/OS® UNIX socket application program must have access to the following z/OS C include files in an MVS™ PDS or in the UNIX file system directory:
CEE.SCEEH.H                       /usr/include
CEE.SCEEH.ARPA.H                  /usr/include/arpa
CEE.SCEEH.NET.H                   /usr/include/net
CEE.SCEEH.NETINET.H               /usr/include/netinet
CEE.SCEEH.SYS.H                   /usr/include/sys
Note: The data set prefix for each of the previous files must match the name used at your installation. CEE is the default for z/OS Language Environment®.

For Berkeley SOCKETS or X/OPEN SOCKETS, all you need are the z/OS C include files.

Note: The data set prefix for each of these files must match the name used at your installation. CEE is the default for the z/OS XL C library.

You must compile your application program using all include files in order to access the entire z/OS UNIX socket API. To compile a program written using a particular API, you must include certain files specific to that API even though your program may not require all of them.

See z/OS XL C/C++ Runtime Library Reference, which lists the header files that must be included for each type API. They may be different for Berkeley Sockets and X/Open sockets.

The following list describes the files that each z/OS UNIX socket application program must have access to in order to bind:
  • CEE.SCEELKED contains stub routines in the link library that are used to resolve external references to z/OS XL C and z/OS UNIX socket APIs.
  • CEE.SCEELKEX contains LONGNAME stub routine object modules for a large portion of the Language Environment function library, including the z/OS C and z/OS UNIX socket APIs. When you IPA Link your application program, place the SCEELKEX library ahead of the SCEELKED Load Module library in the search order. This preserves long runtime function names in the object module and listings generated by IPA Link. When you bind your application program, place the SCEELKEX library ahead of the SCEELKED Load Module library in the search order. This preserves long runtime function names in the executable module and listings generated by the binder.
  • CEE.SCEERUN contains the z/OS XL C and z/OS UNIX socket runtime libraries.