- Entry from:
- Telnet
- Entry point:
- routine name
Contents of registers at entry: - Register 0:
- Length of logon message (any length from 1 to 80)
- Register 1:
- Address of first byte of logon message. For LOGON requests, Telnet
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 Telnet.
- Register 14:
- Return address
- Register 15:
- Address of entry point of this routine.
Contents of Registers at Exit: If the interpreted
name in the parameter list is blank, Registers 0 and 1 contain the
name of the VTAM® application
program (in EBCDIC characters) with which Telnet 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.
- Non0
- 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.
Logon-interpret routine parameter list
When the exit gets control, the address of the following
parameter list is in register 4. Offsets 0 through 27 include information
about the fixed or interpreted name. Offset 28 includes the uninterpreted
name.
Table 1. Logon interpret routine parameter listDec
offset |
Size (bytes) |
Description |
Input or output |
0 |
2 |
Length of parameter list |
Input |
2 |
8 |
Name of requesting LU |
Input |
10 |
17 |
Interpreted name (in the form or either name
or netid.name) |
Output |
27 |
1 |
Length of uninterpreted name |
Input |
28 |
n |
Uninterpreted name |
Input |
Operation: The logon-interpret routine is run synchronously
in pageable storage under the control of Telnet 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 back to Telnet. Otherwise, the routine specifies that the logon
is not valid or that the name of the application program was not found
inTelnet.
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.
The routine gets control in supervisor state with a Telnet
storage key, so errors within the routine could cause damage to Telnet
or to system control blocks and modules.
You can modify the logon message pointed to by register
1 that is passed to the interpret routine. However, remember these
two points:
- Telnet 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 Telnet or TCP/IP stack outages.
The uninterrupted Logon message in the parameter list should
not be changed as it is not passed as user data to the application.