Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
![]() User I/O Routines z/OS DFSMS Access Method Services Commands SC23-6846-01 |
|
User I/O routines enable a user to perform all I/O operations for
a data set that would normally be handled by the access method services
processor. This makes it possible, for instance, to control the command
input stream by providing an I/O routine for SYSIN. A user I/O routine is invoked by access method services for all operations against the selected data sets. The identification of the data sets and their associated I/O routines is through the input/output list of the processor invocation parameter list (see Figure 1). When writing a user I/O routine, the user must be aware of three things:
The permissible return codes are:
Figure 1 shows the argument list used in communication between the user I/O routine and the access method services processor. The user I/O routine is invoked by the processor for OPEN, CLOSE, GET, and PUT routines. Figure 1. Arguments Passed to and from a User I/O Routine
![]() The type of operation to be done is indicated with IOFLAGS. The IOINFO field indicates, for OPEN and CLOSE operations, the data set name or ddname of the data set; for GET and PUT operations, the IOINFO field communicates the record length and address. A user I/O routine for SYSPRINT receives control each time the
processor issues a PUT against the SYSPRINT data set. If the PUT has
been issued to print an IDC message, the unique message number is
passed to the routine with IOFLAGS (see Figure 1).
Each IDC message is in the form IDCsnnnI or IDCsnnnnI, where:
The 2-byte message number passed with IOFLAGS is the nnn or nnnn portion of the message converted to binary. If the message is to be suppressed in TSO, the twos complement of the message number are passed. ![]() ![]() ![]() |
![]() |