The z/OS® XL C/
C++ runtime
library supports the following I/O interfaces:
- C Stream I/O
- This is the default and the ISO-defined I/O method. This method
processes all input and output on a per-character basis.
- Record I/O
- The library can also process your input and output by record.
A record is a set of data that is treated as a unit. It can also
process VSAM data sets by record. Record I/O is a z/OS XL C/C++ extension
to the ISO standard.
- TCP/IP Sockets I/O
- z/OS UNIX System
Services provides support for an enhanced version of an industry-accepted
protocol for client/server communication that is known as sockets. A set of C language functions provides
support for z/OS UNIX sockets. z/OS UNIX sockets
correspond closely to the sockets used by UNIX applications that use the Berkeley Software
Distribution (BSD) 4.3 standard (also known as Berkeley sockets).
The slightly different interface of the X/Open CAE Specification,
Networking Services, Issue 4, is supplied as an additional choice.
This interface is known as X/Open Sockets.
The z/OS UNIX socket
application program interface (API) provides support for both UNIX domain sockets and Internet
domain sockets. UNIX domain
sockets, or local sockets, allow interprocess
communication within z/OS, independent of TCP/IP. Local sockets
behave like traditional UNIX sockets
and allow processes to communicate with one another on a single system.
With Internet sockets, application programs can communicate with each
other in the network using TCP/IP.
In addition, the Standard C++ Library provides stream classes,
which support formatted I/O in C++. You can code sophisticated I/O
statements easily and clearly, and define input and output for your
own data types. This helps improve the maintainability of programs
that use input and output.