z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


The Input/Output Parameter List

z/OS TSO/E Programming Services
SA32-0973-00

The I/O service routines use two of the pointers contained in the Command Processor parameter list (CPPL), which is described in Interfacing with the TSO/E service routines. These pointers are the pointer to the user profile table and the pointer to the environment control table. Your Command Processor must pass these addresses to the service routines in another parameter list, the input/output parameter list (IOPL).

Before executing any of the TSO/E I/O macro instructions, GETLINE, PUTLINE, PUTGET, or STACK, you must provide an IOPL and pass its address to the I/O service routine. There are two ways you can construct an IOPL:
  • You can build and initialize the IOPL within your code and place a pointer to it in the execute form of the I/O macro instruction.
  • You can provide space for an IOPL (4 fullwords), pass a pointer to it, together with the addresses required to fill it, to the execute form of the I/O macro instruction, and let the I/O macro instruction build the IOPL for you.

You can use the IKJIOPL DSECT, which is provided in SYS1.MACLIB to map the fields in the IOPL. Table 1 describes the format of the IOPL.

Table 1. The Input/Output parameter list
Number of bytes Field name Contents or meaning
4 IOPLUPT The address of the user profile table from the CPPLUPT field of the Command Processor parameter list.
4 IOPLECT The address of the environment control table from the CPPLECT field of the CPPL.
4 IOPLECB The address of the Command Processor's event control block (ECB). The ECB is one word of storage, declared and initialized to zero by the Command Processor. Command Processors with attention exits can post this ECB after an attention interruption to cause active service routines to exit.
4 IOPLIOPB The address of the parameter block created by the list form of the I/O macro instruction. There are four types of parameter blocks, one for each of the I/O service routines:
  • STACK parameter block (STPB)
  • GETLINE parameter block (GTPB)
  • PUTLINE parameter block (PTPB)
  • PUTGET parameter block (PGPB).

The parameter block pointed to by the fourth word of the I/O parameter list (IOPLIOPB) is created and initialized by the list form of the I/O macro instruction, and is modified by the execute form. Therefore, you can use the same parameter block to perform different functions. All you need to do is code different parameters in the execute forms of the macro instructions; these parameters provide those options not specified in the list form, and override those which were specified.

The STACK, GETLINE, PUTLINE, and PUTGET parameter blocks are described in the separate sections on each of the I/O macro instructions.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014