A non-UNIX socket program can use only one TCP/IP protocol stack
at a time. The native TCP/IP C socket library is not POSIX compliant
and it should not be used for new C socket program development. The
non-C native TCP/IP socket libraries (sockets extended: call and assembler
macro, REXX sockets, CICS® sockets, and IMS™ sockets) are available for development
of new socket application programs. The following TCP/IP Services
APIs are included in this library:
- Pascal API
- The Pascal IPv4 socket application
programming interface enables you to develop TCP/IP applications in
the Pascal language. Supported environments are normal MVS™ address spaces. The Pascal programming interface
is based on Pascal procedures and functions that implement conceptually
the same functions as the C socket interface. The Pascal routines,
however, have different names than the C socket calls. Unlike the
other APIs, the Pascal API does not interface with z/OS® UNIX System Services; it uses an
internal interface to communicate with the TCP/IP protocol stack.
- IMS sockets
- The Information Management System (IMS) IPv4 socket interface supports development
of client/server applications in which one part of the application
executes on a TCP/IP-connected host and the other part executes as
an IMS application program. The
programming interface used by both application parts is the socket
programming interface, and the communication protocols are either
TCP, UDP, or RAW. For more information, see z/OS Communications Server: IP IMS Sockets Guide.
- CICS sockets
- The CICS socket interface
enables you to write CICS applications
that act as IPv4 or IPv6 clients or servers in a TCP/IP-based network.
Applications can be written in C language, using the C sockets programming,
or they can be written in COBOL, PL/I, or assembler, using the Extended
Sockets programming interface. For more information, see z/OS Communications Server: IP CICS Sockets Guide.
- z/OS CS TCP/IP C/C++ Sockets
- The C/C++
Sockets interface supports IPv4 socket function calls that can be
invoked from C/C++ programs.
Note: Use of the UNIX C socket library is encouraged.
- Sockets Extended macro API
- The Sockets Extended macro API is a generalized assembler
macro-based interface to IPv4 and IPv6 socket programming. It includes
extensions to the socket programming interface, such as support for
asynchronous processing on most sockets function calls.
- Sockets Extended Call Instruction API
- The Sockets Extended Call Instruction API
is a generalized call-based interface to IPv4 and IPv6 sockets programming.
The functions implemented in this call interface resemble the C-sockets
implementation, with some extensions similar to the sockets extended
macro interface.
- REXX sockets
- The REXX sockets programming interface implements facilities for
IPv4 and IPv6 socket communication directly from REXX programs by way of an address
rxsocket function. REXX socket programs can execute in TSO, online, or batch.