LUA VCB 的通用结构

以下数据结构显示了所有 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_OPENRUI_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_OPENRUI_INIT 返回。 其他谓词使用此参数来标识用于命令的会话。 如果其他谓词使用 lua_luname 参数来标识会话,请将 lua_sid 参数设置为零。

lua_max_length
指定 RUI_READSLI_RECEIVE的接收缓冲区的长度。 对于其他 RUI 和 SLI 谓词,不使用它,应将其设置为零。

lua_data_length
指定要发送或接收的数据的长度。 它指定 在 RUI_BID谓词 lua_peek_data中返回的数据的长度。

lua_data_ptr
指向应用程序提供的缓冲区的指针。

发出 SLI_RECEIVERUI_READ 时,此参数指向从主机接收数据的位置。

发出 SLI_SENDRUI_WRITE 时,此参数指向要发送到主机的应用程序数据的位置。

发出 SLI_PURGERUI_PURGE 时,此参数指向要取消 的SLI_RECEIVERUI_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_BIDRUI_READRUI_WRITESLI_BIDSLI_RECEIVESLI_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_INITSLI_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_BIDRUI_READRUI_WRITESLI_BIDSLI_RECEIVESLI_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_OPENRUI_INIT使用的保留字段。 对于所有其他 LUA 谓词,此参数是保留的,应设置为零。

lua_encr_decr_option
此参数是加密选项的字段。 在RUI_INIT,仅支持以下各项:

  • lua_encr_decr_option = 0

  • lua_encr_decr_option = 128

    对于所有其他 LUA 谓词,此参数是保留的,应设置为零。