以下数据结构显示了所有 Microsoft® Windows® 逻辑单元应用程序通用的参数, (LUA) 谓词。
语法
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;
} LUA_COMMON;
备注
成员
lua_verb
提供的参数。 包含谓词代码、请求单元接口 (RUI) 谓词LUA_VERB_RUI或 SLI 谓词的LUA_VERB_SLI。 对于这两个宏,该值都0x5200。
lua_verb_length
提供的参数。 指定 LUA VCB 的长度(以字节为单位)。 它必须包含要发出的谓词记录的长度。
lua_prim_rc
由 LUA 在谓词完成时设置的主要返回代码。 有效的返回代码因发出的 LUA 谓词而异。
lua_sec_rc
完成谓词时由 LUA 设置的辅助返回代码。 有效的返回代码因发出的 LUA 谓词而异。
lua_opcode
提供的参数。 包含要发出的谓词的 LUA 命令代码 (谓词操作代码) ,例如, RUI_BID谓词 的LUA_OPCODE_RUI_BID。 以下是有效值:
LUA_OPCODE_SLI_OPEN
LUA_OPCODE_SLI_CLOSE
LUA_OPCODE_SLI_RECEIVE
LUA_OPCODE_SLI_SEND
LUA_OPCODE_SLI_PURGE
LUA_OPCODE_SLI_BID
LUA_OPCODE_SLI_BIND_ROUTINE
LUA_OPCODE_SLI_STSN_ROUTINE
LUA_OPCODE_SLI_CRV_ROUTINE
LUA_OPCODE_RUI_INIT
LUA_OPCODE_RUI_TERM
LUA_OPCODE_RUI_READ
LUA_OPCODE_RUI_WRITE
LUA_OPCODE_RUI_PURGE
LUA_OPCODE_RUI_BID
lua_correlator
提供的参数。 包含用户提供的值,该值将谓词与其他用户提供的信息链接在一起。 LUA 不使用或更改此信息。 此参数是可选的。
lua_luname
提供的参数。 指定 Windows LUA 会话使用的本地 LU 的 ASCII 名称。
SLI_OPEN 和 RUI_INIT 需要此参数。 其他 Windows LUA 谓词仅在 lua_sid 为零时才需要此参数。
此参数长度为 8 个字节,如果名称短于 8 个字符,则用空格 (0x20) 在右侧填充。
lua_extension_list_offset
指定从 VCB 开头到用户提供的动态链接库扩展列表 (DLL) 的偏移量。 Microsoft Host Integration Server 中的® RUI 不使用此参数,应设置为零。 除非没有扩展名列表,否则该值必须是字边界的开头。
lua_cobol_offset
COBOL 扩展的偏移量。 不在 Host Integration Server 中由 LUA 使用,应为零。
lua_sid
提供并返回的参数。 指定会话标识符,由 SLI_OPEN 和 RUI_INIT 返回。 其他谓词使用此参数来标识用于命令的会话。 如果其他谓词使用 lua_luname 参数来标识会话,请将 lua_sid 参数设置为零。
lua_max_length
指定 RUI_READ和 SLI_RECEIVE的接收缓冲区的长度。 对于其他 RUI 和 SLI 谓词,不使用它,应将其设置为零。
lua_data_length
指定要发送或接收的数据的长度。 它指定 在 RUI_BID谓词 lua_peek_data中返回的数据的长度。
lua_data_ptr
指向应用程序提供的缓冲区的指针。
发出 SLI_RECEIVE 或 RUI_READ 时,此参数指向从主机接收数据的位置。
发出 SLI_SEND 或 RUI_WRITE 时,此参数指向要发送到主机的应用程序数据的位置。
发出 SLI_PURGE 或 RUI_PURGE 时,此参数指向要取消 的SLI_RECEIVE 或 RUI_READ 谓词的 VCB 的位置。
发出 SLI_OPEN 时,此参数可以是下列参数之一:
当初始化类型为辅助类型时,SSCP 正常流的登录消息与未格式化的登录消息。
请求/响应单元 (INITSELF 的 RU) 。 当初始化类型是 INITSELF 的辅助类型时,将提供应用程序的必要数据。
对于所有其他打开类型,此字段应设置为零。
对于其他 RUI 和会话级别接口 (SLI) 谓词,不使用此参数,应将其设置为零。 SNA 命令和数据都放置在此缓冲区中,它们可以采用 EBCDIC 格式。
此信息由 Windows LUA 应用程序提供。
lua_post_handle
提供的参数。 如果异步通知要由事件完成,则使用 Windows 下。 此变量包含要发出信号的事件的句柄或窗口句柄。lua_th
返回的参数。 包含发送或接收的消息的 SNA 传输标头 (TH) 。 为写入函数设置各种子参数,并为 read 和 bid 函数返回。 子参数如下所示:lua_th.flags_fid
格式标识类型 2,4 位。
lua_th.flags_mpf
分段映射字段,两位。 定义数据段的类型。 以下为有效值:
0x00 中间段
0x01 最后一段
0x02 第一段
仅0x03 段
lua_th.flags_odai
源地址字段 - 目标地址字段 (OAF–DAF) 分配器指示器,一位。
lua_th.flags_efi
加速流指示器,一位。
lua_th.daf
目标地址字段 (DAF) ,无符号字符。
lua_th.oaf
源地址字段 (OAF) ,一个无符号字符。
lua_th.snf
序列号字段,无符号字符[2]。
lua_rh
返回的参数。 包含发送或接收的消息的 SNA 请求/响应标头 (RH) 。 它为写入函数设置,并由读取和出价函数返回。 其子参数如下所示:
lua_rh.rri
请求-响应指示器,一位。
lua_rh.ruc
RU 类别,两位。 以下为有效值:
LUA_RH_FMD (0x00) FM 数据段LUA_RH_NC (0x20) 网络控制LUA_RH_DFC (0x40) 数据流 控制LUA_RH_SC (0x60) 会话控制
lua_rh.fi
格式指示器,一位。
lua_rh.sdi
感知数据包括指示器,一位。
lua_rh.bci
开始链指示器,一位。
lua_rh.eci
端链指示器,一位。
lua_rh.dr1i
确定响应 1 指示器,1 位。
lua_rh.dr2i
确定响应 2 指示器,一位。
lua_rh.ri
请求) 的异常响应指示符 (,或响应) 的响应类型指示器 ((1 位)。
lua_rh.qri
排队响应指示器,一位。
lua_rh.pi
节奏指示器,一位。
lua_rh.bbi
开始方括号指示器,一位。
lua_rh.ebi
端括号指示器,一位。
lua_rh.cdi
更改方向指示器,一位。
lua_rh.csi
代码选择指示器,一位。
lua_rh.edi
加密数据指示器,一位。
lua_rh.pdi
填充数据指示器,一位。
lua_flag1
提供的参数。 包含包含应用程序提供的消息标志的数据结构。 此参数由 RUI_BID、 RUI_READ、 RUI_WRITE、 SLI_BID、 SLI_RECEIVE和 SLI_SEND使用。 对于其他 LUA 谓词,不使用此参数,应设置为零。 其子参数如下所示:
lua_flag1.bid_enable
出价启用指示器,一位。
lua_flag1.close_abend
关闭即时指示器,一位。
lua_flag1.nowait
无需等待数据标志,一位。
lua_flag1.sscp_exp
SSCP 加速流,一位。
lua_flag1.sscp_norm
SSCP 正常流,一位。
lua_flag1.lu_exp
LU 加速流,一位。
lua_flag1.lu_norm
LU 正常流,一位。
lua_message_type
指定入站或出站 SNA 命令和数据的类型。 这是 RUI_INIT 和 SLI_OPEN 的返回参数,为 SLI_SEND提供的参数。 对于其他 LUA 谓词,不使用此变量,应设置为零。
可能的值为:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
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
SLI 通过 LUA 接口扩展例程接收并响应 BIND、CRV 和 STSN 请求。
LU_DATA、LUSTAT_LU、LUSTAT_SSCP和SSCP_DATA不是 SNA 命令。
lua_flag2
返回的参数。 包含 LUA 返回的消息的标志。 此参数由 RUI_BID、 RUI_READ、 RUI_WRITE、 SLI_BID、 SLI_RECEIVE 和 SLI_SEND 返回。 对于其他 LUA 谓词,不使用此参数,应设置为零。 其子参数如下所示:
lua_flag2.bid_enable
指示如果设置为 1,则成功重新启用 RUI_BID 。
lua_flag2.async
指示 LUA 接口谓词在设置为 1 时异步完成。
lua_flag2.sscp_exp
如果设置为 1,则指示 SSCP 加速流。
lua_flag2.sscp_norm
如果设置为 1,则指示 SSCP 正常流。
lua_flag2.lu_exp
如果设置为 1,则指示 LU 加速流。
lua_flag2.lu_norm
如果设置为 1,则指示 LU 正常流。
lua_resv56
此提供的参数是 SLI_OPEN 和 RUI_INIT使用的保留字段。 对于所有其他 LUA 谓词,此参数是保留的,应设置为零。
lua_encr_decr_option
此参数是加密选项的字段。
在RUI_INIT,仅支持以下各项:
lua_encr_decr_option = 0
lua_encr_decr_option = 128
对于所有其他 LUA 谓词,此参数是保留的,应设置为零。