Nonstandard servers and clients
Nonstandard servers and clients (those that do not come with the z/OS® CS product) also use TCPIP.DATA to decide which resolver configuration data sets to allocate. Depending on the socket API used, they might or might not use the TCPIPJOBNAME parameter to select a stack.
If you run sockets programs from other products or vendors, you may want to know which sockets API was used to develop the program, and which techniques, if any, the program uses to specify the name of the TCP/IP system address space. As long as application programs that use a TCP/IP socket library do not specify anything specific on calls setibmopt(), Initialize, or INITAPI, the TCPIPJOBNAME from a TCPIP.DATA data set will be used for finding a TCP/IP system address space name.
C sockets | Callable and Macro | Pascal sockets | REXX sockets |
---|---|---|---|
SETIBMOPT or TCPIPJOBNAME from TCPIP.DATA | TCPNAME on INITAPI or TCPIPJOBNAME from TCPIP.DATA | TCPIPJOBNAME from TCPIP.DATA | Service on Initialize or TCPIPJOBNAME from TCPIP.DATA |
Callable and Macro programs might have a configuration option to specify the TCP/IP system address space name, or might interrogate the available stacks with the getibmopt() call. |
A Callable or Macro program does not have to call INITAPI. If INITAPI is not called, an implicit INITAPI is performed with the value taken from TCPIPJOBNAME in a TCPIP.DATA data set. If INITAPI is called with the TCPNAME parameter specified as a space, the TCP/IP system address space name results in the TCPIPJOBNAME keyword value.
In a z/OS UNIX INET (single stack) environment, the socket application program is always associated with the single TCP/IP stack. In the z/OS UNIX Common INET (CINET) environment, your application will be associated with multiple TCP/IP stacks unless the application specifically associates with a particular stack using the z/OS UNIX socket call setibmopt(). For other ways of requesting stack affinity in a CINET environment, see z/OS UNIX System Services Planning.