Previous Topic: How the PSS Exit Routine (SCPSEXT1) Uses RegistersNext Topic: Modifying the Output Control Character


SCPSEXT1 Data Areas

The PSEX1PAR macro generates the EX1PARM DSECT, which contains all common and exit-dependent data areas that the site-written exit routine provides. To make these data areas available to the exit routine, the routine must include this macro.

The fullwords of EX1PARM contain addresses of the input and output parameters that are available to the exit routine. The following is how the DSECT appears:

EX1PARM  DESECT
EX1DSTNM  DS    F  Address of Printer destination name
EX1KJSD   DS    F  Address of DBCS Shift-Double Character
EX1KJSS   DS    F  Address of DBCS Shift-Single Character
EX1IBFAD  DS    F  Address of Input Buffer
EX1IBFLN  DS    F  Address of Input Buffer Length
EX1OBFLN  DS    F  Address of Output Buffer
EX1OBFAD  DS    F  Address of Output Buffer Length
EX1DSTNM

Input data area. This is a fullword that contains an address that points to the eight-character system printer name.

EX1KJSD

Input data area. This is a fullword that contains an address that points to the one-byte DBCS shift-double character. This character identifies the beginning of DBCS data in an input line.

EX1KJSS

Input data area. This is a fullword that contains an address that points to the one-byte DBCS shift-single character. This character identifies the end of DBCS data in an input line.

EX1IBFAD

Input data area. This is a fullword that contains an address that points to the input buffer. The input buffer contains the data to test for shift-double and shift-single characters surrounding DBCS data and modified accordingly by the user exit routine.

EX1IBFLN

Input data area. This is a fullword that contains an address that points to a fullword field that contains the input buffer length.

EX1OBFLN

Output data area. This is a fullword that contains an address that points to a fullword field that contains the output buffer length.

EX1OBFAD

Output data area. This is a fullword that contains an address that points to a 240-byte output buffer. The user exit routine is responsible for filling any unused bytes in the output buffer with blanks.