Common Verb Header
The Personal Communications LUA uses a generic common verb header to
transport all incoming and outgoing data. The fields in the verb control block
are defined as follows:
typedef struct lua_common
{
unsigned short lua_verb; /* LUA_VERB_RUI */
unsigned short lua_verb_length; /* VCB length */
unsigned short lua_prim_rc; /* primary return code */
unsigned long lua_sec_rc; /* secondary return code */
unsigned short lua_opcode; /* verb opcode */
unsigned long lua_correlator; /* verb correlator */
unsigned char lua_luname[8]; /* local LU name */
unsigned short lua_extension_list_offset;
/* reserved */
unsigned short lua_cobol_offset; /* reserved */
unsigned long lua_sid; /* session ID */
unsigned short lua_max_length; /* max buffer length */
unsigned short lua_data_length; /* actual data length */
unsigned char *lua_data_ptr; /* data pointer */
unsigned long lua_post_handle; /* post handle */
LUA_TH lua_th; /* TH structure */
unsigned char lua_rh; /* message RH */
unsigned char lua_flag1; /* application message flag */
unsigned char lua_message_type; /* SNA message type */
unsigned char lua_flag2; /* LUA message flag */
unsigned char lua_resv56[7]; /* reserved */
unsigned char lua_encr_decr_option;/* cryptography */
} LUA_COMMON;typedef struct lua_th
{
unsigned char flags; /* TH flags */
unsigned char reserv1; /* reserved */
unsigned char daf; /* DAF */
unsigned char oaf; /* OAF */
unsigned char snf[2]; /* SNF */
} LUA_TH;
- lua_verb
- Identifies this as an LUA verb: always set to LUA_VERB_RUI.
- lua_verb_length
- Length of the verb control block.
- lua_prim_rc
- Primary return code set by LUA.
- lua_sec_rc
- Secondary return code set by LUA.
- lua_opcode
- Verb operation code, which identifies the LUA verb being issued.
- lua_correlator
- A 4-byte correlator, which you can use to correlate this verb with other processing in your application. LUA does not use this parameter.
- lua_luname
- The local LU name used by the LUA session (in ASCII). This can be an LU name or an LU pool name; see RUI_INIT for more information.
- lua_sid
- The session ID of the LUA session on which this verb is issued.
- lua_max_length
- The length of the buffer used to receive data.
- lua_data_length
- The length of the data to be sent, or the actual length of data received.
- lua_data_ptr
- A pointer to the data to be sent, or the data buffer to receive data.
- lua_post_handle
- This is a 4–byte handle that is used to post the completion of asynchronous verbs.
- lua_th.flags
- Specifies the flags set in the transmission header. (Refer to Systems Network Architecture: Formats for more information.)
It can be one or more of the following values ORed together:
- LUA_FID
- Format identification type 2
- LUA_MPF
- Segmenting mapping field
- LUA_BBIU
- Begin BIU
- LUA_EBIU
- End BIU
- LUA_ODAI
- OAF-DAF assignor Indicator
- LUA_EFI
- Expedited Flow Indicator
- lua_th.daf
- DAF (Destination address field).
- lua_th.oaf
- OAF (Originating address field).
- lua_th.snf
- Sequence number field.
- lua_rh
- Specifies the request/response header (RH) of the message sent or received.
(Refer to Systems Network Architecture:
Formats for more information.)
This can be one or more of the following values ORed together:
- LUA_RRI
- Request-response indicator
- LUA_RH_FMD
- RU category: FMI data segment
- LUA_RH_NC
- RU category: Network control
- LUA_RH_DFC
- RU category: Data flow control
- LUA_RH_SC
- RU category: Session control
- LUA_FI
- Format indicator
- LUA_SDI
- Sense data included indicator
- LUA_BCI
- Begin chain indicator
- LUA_ECI
- End chain indicator
- LUA_DR1I
- Definite Response 1 indicator
- LUA_DR2I
- Definite Response 2 indicator
- LUA_RI
- Exception response indicator (for a request), or response type indicator (for a response)
- LUA_QRI
- Queued Response indicator
- LUA_PI
- Pacing indicator
- LUA_BBI
- Begin Bracket indicator
- LUA_EBI
- End Bracket indicator
- LUA_CDI
- Change Direction indicator
- LUA_CSI
- Code Selection indicator
- LUA_EDI
- Enciphered Data indicator
- LUA_PDI
- Padded Data indicator
- lua_flag1
- Specifies flags for messages supplied by the application. (Refer to Systems Network Architecture: Formats for more information.)
The flags can be one or more of the following values ORed together:
- LUA_BID_ENABLE
- Bid Enable indicator
- LUA_NOWAIT
- No Wait for Data flag
- LUA_SSCP_EXP
- SSCP expedited flow
- LUA_SSCP_NORM
- SSCP normal flow
- LUA_LU_EXP
- LU expedited flow
- LUA_LU_NORM
- LU normal flow
- LUA_CLOSE_ABEND
- LUA_RESERVE1
- lua_message_type
- The type of SNA message received by an RUI_READ verb
(or indicated to an RUI_BID verb). This can be one the
following values:
- LUA_MESSAGE_TYPE_LU_DATA
- LUA_MESSAGE_TYPE_SSCP_DATA
- LUA_MESSAGE_TYPE_RSP
- LUA_MESSAGE_TYPE_BID
- LUA_MESSAGE_TYPE_BIND
- LUA_MESSAGE_TYPE_BIS
- LUA_MESSAGE_TYPE_CANCEL
- LUA_MESSAGE_TYPE_CHASE
- LUA_MESSAGE_TYPE_CLEAR
- LUA_MESSAGE_TYPE_CRV
- LUA_MESSAGE_TYPE_LUSTAT_LU
- LUA_MESSAGE_TYPE_LUSTAT_SSCP
- LUA_MESSAGE_TYPE_QC
- LUA_MESSAGE_TYPE_QEC
- LUA_MESSAGE_TYPE_RELQ
- LUA_MESSAGE_TYPE_RQR
- LUA_MESSAGE_TYPE_RTR
- LUA_MESSAGE_TYPE_SBI
- LUA_MESSAGE_TYPE_SHUTD
- LUA_MESSAGE_TYPE_SIGNAL
- LUA_MESSAGE_TYPE_SDT
- LUA_MESSAGE_TYPE_STSN
- LUA_MESSAGE_TYPE_UNBIND
- lua_flag2
- Specifies flags for messages returned by LUA. (Refer to Systems Network Architecture: Formats for more information.) The flags can be one
or more of the following values ORed together:
- LUA_BID_ENABLE
- Bid Enable indicator
- LUA_ASYNC
- Asynchronous verb completion flag
- LUA_SSCP_EXP
- SSCP expedited flow
- LUA_SSCP_NORM
- SSCP normal flow
- LUA_LU_EXP
- LU expedited flow
- LUA_LU_NORM
- LU normal flow
- lua_encr_decr_option
- Cryptography option.