SLI_STSN_ROUTINE
The SLI_STSN_ROUTINE verb notifies the Windows LUA application that an STSN command has come from the host and allows the user-supplied routine to examine the request and formulate a response.
The following structure describes the LUA_COMMON member of the VCB used by SLI_STSN_ROUTINE.
struct LUA_COMMON {
unsigned short lua_verb;
unsigned short lua_verb_length;
unsigned short lua_prim_rc;
unsigned long lua_sec_rc;
unsigned short lua_opcode;
unsigned long lua_correlator;
unsigned char lua_luname[8];
unsigned short lua_extension_list_offset;
unsigned short lua_cobol_offset;
unsigned long lua_sid;
unsigned short lua_max_length;
unsigned short lua_data_length;
char FAR * lua_data_ptr;
unsigned long lua_post_handle;
struct LUA_TH lua_th;
struct LUA_RH lua_rh;
struct LUA_FLAG1 lua_flag1;
unsigned char lua_message_type;
struct LUA_FLAG2 lua_flag2;
unsigned char lua_resv56[7];
unsigned char lua_encr_decr_option;
};
Members
-
lua_verb
-
Supplied parameter. Contains the verb code, LUA_VERB_SLI for SLI verbs.
-
lua_verb_length
-
Supplied parameter. Specifies the length in bytes of the LUA VCB. It must contain the length of the verb record being issued.
-
lua_prim_rc
-
Primary return code set by LUA at the completion of the verb. The valid return codes vary depending on the LUA verb issued.
-
lua_sec_rc
-
Secondary return code set by LUA at the completion of the verb. The valid return codes vary depending on the LUA verb issued.
-
lua_opcode
-
Supplied parameter. Contains the LUA command code (verb operation code) for the verb to be issued, LUA_OPCODE_SLI_STSN_ROUTINE.
-
lua_correlator
-
Supplied parameter. Contains a user-supplied value that links the verb with other user-supplied information. LUA does not use or change this information. This parameter is optional.
-
lua_luname
-
Supplied parameter. Specifies the ASCII name of the local LU used by the Windows LUA session.
SLI_STSN_ROUTINE only requires this parameter if lua_sid is zero.
This parameter is eight bytes long, padded on the right with spaces (0x20) if the name is shorter than eight characters.
-
lua_extension_list_offset
-
Not used by SLI_STSN_ROUTINE and should be set to zero.
-
lua_cobol_offset
-
Not used by LUA in Microsoft® SNA Server and should be zero.
-
lua_sid
-
Supplied parameter. Specifies the session identifier and is returned by SLI_OPEN and RUI_INIT. Other verbs use this parameter to identify the session used for the command. If other verbs use the lua_luname parameter to identify sessions, set the lua_sid parameter to zero.
-
lua_max_length
-
Not used by SLI_STSN_ROUTINE and should be set to zero.
-
lua_data_length
-
Returned parameter. Specifies the length of the STSN RU data returned in the data buffer.
-
lua_data_ptr
-
For the SLI_STSN_ROUTINE this parameter contains the address of the STSN RU.
-
lua_post_handle
-
Supplied parameter. Used under Microsoft® Windows NT® and Microsoft® Windows® 95 if asynchronous notification is to be accomplished by events. This variable contains the handle of the event to be signaled or a window handle.
For all other environments, this parameter is reserved and should be set to zero.
-
lua_th
-
Returned parameter. Contains the SNA transmission header (TH) of the message received. Various subparameters are returned for read and bid functions.
-
lua_rh
-
Returned parameter. Contains the SNA request/response header (RH) of the message sent or received.
-
lua_flag1
-
Supplied parameter. Contains a data structure containing flags for messages supplied by the application.
-
lua_message_type
-
Supplied parameter. Specifies the type of SNA data or command sent to the host.
-
lua_flag2
-
Returned parameter. Contains flags for messages returned by LUA.
-
lua_flag2.async
-
Indicates that the LUA interface verb completed asynchronously if set to 1.
-
lua_flag2.sscp_exp
-
Indicates SSCP expedited flow if set to 1.
-
lua_flag2.sscp_norm
-
Indicates SSCP normal flow if set to 1.
-
lua_flag2.lu_exp
-
Indicates LU expedited flow if set to 1.
-
lua_flag2.lu_norm
-
Indicates LU normal flow if set to 1.
-
lua_resv56
-
Reserved and should be set to zero.
-
lua_encr_decr_option
-
Not used by SLI_STSN_ROUTINE and should be set to zero.
Return Codes
-
LUA_OK
-
Primary return code; the verb executed successfully.
-
LUA_SEC_OK
-
Secondary return code; no additional information exists for LUA_OK.
-
LUA_NEGATIVE_RSP
-
Primary return code; either the LUA sent a negative response to a message received from the primary LU because an error was found in the message, or the application responded negatively to a chain for which the end-of-chain has arrived.
Remarks
SLI_STSN_ROUTINE provides a mechanism for the Windows LUA application to examine and respond to STSN commands. The Windows LUA notifies the Windows LUA application that an STSN command has been received from the host. This is done through a user-supplied DLL. The user's DLL examines the STSN request and formulates a response to the request.
The DLL name for the routine is provided as extensions of the SLI_OPEN verb's VCB. The lua_extension_list_offset parameter provides the offset from the start of the VCB to the first name in the extension list.
The Windows LUA interface assigns storage space where the VCB is structured. The VCB of the SLI_STSN_ROUTINE contains lua_th and lua_rh. The address of the STSN RU is specified in lua_data_ptr and the length of the RU is specified in lua_data_length.
When SLI_STSN_ROUTINE returns to the Windows LUA, processing of the SLI_STSN_ROUTINE is completed. The STSN response should overwrite the STSN RU. When the STSN is accepted, the primary return code should be set to LUA_OK. If the STSN is rejected, the primary return code should be set to LUA_NEGATIVE_RSP and the STSN buffer contains the negative sense code. The lua_data_ptr parameter should not be modified.
If a negative response is returned from SLI_STSN_ROUTINE, SLI_OPEN is canceled. The lua_prim_rc of the SLI_OPEN is set to LUA_SESSION_FAILURE, and the lua_sec_rc is set to LUA_NEG_RSP_FROM_STSN_ROUTINE.
See Also
RUI_INIT, RUI_PURGE, RUI_READ, RUI_WRITE, SLI_OPEN, SLI_PURGE, SLI_RECEIVE, SLI_SEND