Parameter list for exit modules

The compiler uses a structure, passed by reference, to communicate with the exit module.

Table 1. Parameter list for exit modules
Parameter offset Contains Description of item
0 User-exit type Halfword that identifies which user exit is to perform the operation:
  • 1=INEXIT
  • 2=LIBEXIT
  • 3=PRTEXIT
  • 4=ADEXIT
  • 5=Reserved
  • 6=MSGEXIT
2 Operation code Halfword that indicates the type of operation:
  • 0=OPEN
  • 1=CLOSE
  • 2=GET
  • 3=PUT
  • 4=FIND
  • 5=MSGSEV: customize message severity
4 Return code Fullword, set by the exit module, that indicates the success of the requested operation.

For op codes 0 through 4:

  • 0=Successful
  • 4=End-of-data
  • 12=Failed

For op code 5:

  • 0=Message not customized
  • 4=Message found and customized
  • 12=Operation failed
8 Record length Fullword, set by the exit module, that indicates the length of the record being returned by the GET operation, or supplied by the PUT operation.
12 Address of record or str2 Fullword, either set by the exit module to the address of the record in a user-owned buffer for the GET operation, or set by the compiler to the address of the record of the PUT operation.

str2 applies only to OPEN.

The first halfword (on a halfword boundary) contains the length of the string, followed by the string.

16 User-exit work area Four-fullword work area provided by the compiler for use by the user-exit module:
  • First word: for use by INEXIT
  • Second word: for use by LIBEXIT
  • Third word: for use by PRTEXIT
  • Fourth word: for use by ADEXIT
32 Text-name Fullword that contains the address of a null-terminated string that contains the fully qualified text-name. Applies only to FIND.

(Used only by LIBEXIT)

36 User exit parameter string Fullword that contains the address of a six-element array, each element of which is a structure that contains a 2-byte length field followed by a 64-character string that contains the exit parameter string.

The sixth element is the MSGEXIT string.

40 Type of source code line Halfword (used only by INEXIT)
42 Statement indicator Halfword (used only by INEXIT)
44 Statement column number Halfword (used only by INEXIT)
46 Reserved Halfword
48 User-exit work area extension Eight-fullword work area provided by the compiler for use by the user-exit module:
  • First word: reserved
  • Second word: MSGEXIT
80 Message exit data Three-halfword area provided by the compiler:
  • First halfword: the message number of the message to be customized
  • Second halfword: for a diagnostic message, the default severity; for a FIPS message, the FIPS category as a numeric code
  • Third halfword: the user-requested severity for the messages (-1 to indicate suppression)