Requirements for logon-interpret routines

Entry from:
VTAM®
Entry point:
routine name
Contents of registers at entry:
Register 0:
Length of logon message
Register 1:
Address of first byte of logon message. For LOGON requests, VTAM searches the interpret table again, after USS translation, looking only for the specified APPLID. After USS translation, register 1 contains the address of the first byte of the APPLID.
Register 2:
Address of an 8-byte logical unit name
Register 4:
Address of parameter list for the network identifier and resource name.
Register 13:
Address of a 72-byte save area provided by VTAM
Register 14:
Return address
Register 15:
Address of entry point of this routine

Operation: The logon-interpret routine is run synchronously in pageable storage under the control of VTAM and not under the control of an application program. For the application program to receive the logon, this routine must validate the logon, obtain the name of the application program to receive control, and provide this name to VTAM. Otherwise, the routine specifies that the logon is not valid or that the name of the application program was not found.

The logon-interpret routine must also:
  • Save and restore the contents of registers 2–14 when receiving and passing control
  • Use re-enterable code (the routine must not store anything within itself or modify itself during execution)
  • Perform no I/O operations; an I/O request causes the routine to terminate abnormally.
Because the logon-interpret routine operates at VTAM's main task dispatching priority, there is a possibility of lockout if a wait requires another task action. The routine gets control in supervisor state with a VTAM storage key, so errors within the routine could cause damage to VTAM or to system control blocks and modules.
Note:
  1. You can modify the logon message that is passed to the interpret routine. However, remember these two points:
    • VTAM does not look at the changed storage; it is passed as user data to the application.
    • You should modify with caution, as modification outside the message storage boundaries could result in VTAM outages.
  2. All data is addressable only in 24-bit mode.
Contents of registers at exit: Registers 0 and 1 contain the name of the application program (in EBCDIC characters) with which the logical unit is to establish a session:
Register 0:
First 4 characters of name (left-aligned).
Register 1:
Last 4 characters of name (left-aligned).
Registers 2–14:
Restored to condition at entry.
Register 15:
Return code:
00
Application program was found and the name is placed in registers 0 and 1.
Nonzero
Application program was not found and the name is not placed in registers 0 and 1.

If the name of the application program contains fewer than 8 characters, use blanks to provide a name with 8 characters.