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).

  • 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.