z/OS® Communications Server
provides several APIs to access TCP/IP sockets. These APIs can be
used in either or both integrated and common INET PFS configurations.
In a common INET PFS configuration, however, they function differently
from z/OS UNIX APIs. In this type of configuration, the z/OS Communications Server APIs
always bind to a single PFS transport provider, and the transport
provider must be the TCP/IP stack provided by z/OS Communications Server.
The following TCP/IP socket APIs are included in z/OS Communications Server:
- Pascal API
- The
Pascal application programming interface enables you to develop TCP/IP
applications in 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 directly with the
LFS. It uses an internal interface to communicate with the TCP/IP
protocol stack.
Pascal API supports only AF_INET.
- CICS® sockets
- The CICS socket
interface enables you to write CICS applications
that act as 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 assembly language, using the
Sockets Extended programming interface.
CICS sockets support AF_INET and AF_INET6.
- C sockets
- The C sockets interface supports
socket function calls that can be invoked from C programs. However,
note that for C application development, IBM® recommends
the use of the UNIX C sockets
interface. These programs can be ported between MVS and most UNIX environments
relatively easily if the program does not use any other MVS specific services.
C sockets support only
AF_INET.
- IMS™ sockets
- The Information Management System
(IMS) IPv4 socket interface supports
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.
IMS sockets support AF_INET and AF_INET6.
- Sockets Extended macro API
- The
Sockets Extended macro API is a generalized assembler macro-based
interface to sockets programming. It includes extensions to the socket
programming interface, such as support for asynchronous processing
on most sockets function calls.
The Sockets Extended macro API
supports AF_INET and AF_INET6.
- Sockets Extended Call Instruction API
- The Sockets Extended Call Instruction API
is a generalized call-based, high-level language interface to sockets
programming. The functions implemented in this call interface resemble
the C-sockets implementation, with some extensions similar to the
sockets extended macro interface.
The Sockets Extended Call Instruction
API supports AF_INET and AF_INET6.
- REXX sockets
- The REXX sockets programming
interface implements facilities for socket communication directly
from REXX programs by using an address rxsocket function. REXX socket
programs can execute in TSO, online, or batch.
The REXX sockets
programming interface supports AF_INET and AF_INET6.
See z/OS Communications Server: IP Sockets Application
Programming Interface Guide and Reference for complete documentation of the TCP/IP
Services APIs.