The Input/Output Control System (IOCS)

For you as an application programmer, IOCS is a set of macros that you can use to declare the characteristics of data and request an I/O operation. IOCS macros are divided into IOCS declarative and IOCS request macros.
  • Declarative macros

    There are two related types: DTFxx (Define the file) and xxMOD (module generation).

    A DTFxx macro defines a file for a certain access method and the type of the I/O device that is to be used.

    An xxMOD macro defines the logic module that controls the execution of the I/O operation requested by a request macro.

  • IOCS request macros

    An IOCS request macro identifies the I/O operation that is to be performed. Request macros are discussed throughout the publication. The GET macro for example, indicates that your program needs a record to be read into its input area.

    An IOCS request macro normally initiates the action to be performed by branching to a logic module. Linkage between your program and a logic module is established as follows:
    1. By the assembler when it assembles a DTF (table), based on your DTFxx macro and, if necessary, an xxMOD macro.
    2. By the linkage editor when it processes the assembled module(s).

Figure 1 shows the relationship between a program, the assembled DTF, and the related logic module. The file which is processed in this example is named CARD, the name of the related logic module is IJCFAOZ0.

Figure 1. Relationship Between IOCS Macros and Logic Modules
  Request Macro             DTF Table                Logic Module
 
    PUT CARD
 
     L 1,=A(CARD)  ─────→  CARD  DTFCD
 
                                 DC V(IJCFAOZ0) ─────→ IJCFAOZ0