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.