Socket Application Programming Interfaces Available with z/VSE
z/VSE provides a series of different socket application programming interfaces (APIs). These interfaces are supported by TCP/IP for z/VSE, IPv6/VSE, and the Fast Path to Linux® function (LFP). For details, please refer to the corresponding product information.
- EZA interfaces
- z/VSE® provides the EZASMI macro interface for HLASM
programmers and the EZASOKET call interface for COBOL, PL/I and HLASM programmers. These interfaces
are widely compatible with the corresponding z/OS® interfaces
and are supported by TCP/IP for z/VSE, IPv6/VSE and LFP. Refer to Using the CALL Instruction Application Programming Interface (EZASOKET API) and Using the Macro Application Programming Interface (EZASMI API) for a description of these interfaces.
Asynchronous function processing with the EZASMI interface is provided on z/VSE as well. But compared to z/OS, only the ECB method is available, and the ECB area must have a length of 160 bytes (compared to 104 bytes in z/OS).
- z/VSE® provides the EZASMI macro interface for HLASM
programmers and the EZASOKET call interface for COBOL, PL/I and HLASM programmers. These interfaces
are widely compatible with the corresponding z/OS® interfaces
and are supported by TCP/IP for z/VSE, IPv6/VSE and LFP. Refer to Using the CALL Instruction Application Programming Interface (EZASOKET API) and Using the Macro Application Programming Interface (EZASMI API) for a description of these interfaces.
- TCP/IP APIs using Language Environment for z/VSE
- LE/VSE 1.4 C socket interface dynamically determines the runtime environment (CICS® or Batch). Refer to PL/I and COBOL for details.
- The REXX/VSE Socket API support within REXX/VSE. Refer to REXX/VSE Reference, SC33-6642 for details.
- TCP/IP for z/VSE, native APIs
- Assembler SOCKET macro interface
This interface supports coding socket applications, but also dynamically connecting to remote systems using TCP/IP built-in Telnet, FTP and LPR application level protocol support. It needs to be specified if used in a batch or CICS environment.
- COBOL and PL/I preprocessor interface
It needs to be specified if used in a batch or CICS environment.
- BSD-C socket interface
You can make the application dynamically determine the runtime environment (CICS or Batch). Refer to CICS Considerations for details.
- REXX socket APIs
There are two types of REXX support for TCP/IP for z/VSE available:
- The REXX support within TCP/IP for z/VSE, (i.e. REXX Socket API). The documentation of this REXX support can be found in the TCP/IP for VSE Programmer's Guide.
- The REXX/VSE Socket API support within REXX/VSE is described in more detail in REXX/VSE Reference, SC33-6642.
Note: You cannot mix Socket Application APIs within the same application. That is, a socket created with one API cannot be used with another API, and can also not be passed to another application that uses a different API than the one the socket was created with.Refer to the TCP/IP for VSE V2R2 Programmer's Guide for a detailed description of these interfaces.
- Assembler SOCKET macro interface