z/OS Communications Server: SNA Programming
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


LOGON exit routine

z/OS Communications Server: SNA Programming
SC27-3674-00

Notice in the manipulative macroinstruction version how the symbolic name of the LU for which a logon request has been received is placed in the NIB prior to establishing the session. NAME=(*,0(4)) is specified in the MODCB macroinstruction.

The last 4 bytes of the 8-byte symbolic name are placed in the USERFLD of the NIB (USERFLD=(*,4(4)) specified in the MODCB macroinstruction) for aid in debugging. These bytes identify the specific LU more easily than the CID (located in the RPL ARG field). This part of the symbolic name is available in the USER field of the RPL, except in the case of the RPL used for OPNDST.

An arbitrary validation of the LU is used: a check that the first 3 characters of the logon message are XYZ.

The IBM-supplied macroinstruction, ISTDNIB, is used to generate a dummy control section for the NIB. This enables SAMP1 to move the LU's symbolic name and associated user field into the NIB. A CSECT statement must follow the ISTDNIB statement in the constants area to allow SAMP1 CSECT to resume. None of the field names in SAMP1 begins with any of the reserved combinations (NIB, RPL, ACB, among others).

A conditional completion code of nonzero following INQUIRE at label INQUIRE, indicating a logon message that is too long, causes rejection of the session with the LU.

The session with the LU is established with an OPNDST. (Note that OPTCD=SYN is used on OPNDST. This, coupled with the fact that the macroinstruction is issued in an exit routine, means that all processing waits for the responses involved.) Then SEND is used to send a “logon accepted” message to the LU. This request is initialized to contain X'84' in the code byte of the header, meaning “Forward this data to the terminal operator and then send it back to the VTAM® application program”. This version of SAMP1 includes the symbolic name of the LU in this request. This can help in cases where symbolic names are assigned dynamically.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014