SLI_SEND

SLI_SEND谓词将响应、SNA 命令和数据从 Microsoft® Windows® 逻辑单元应用程序 (LUA) 应用程序发送到 LU () 主机逻辑单元。

以下结构描述了SLI_SEND使用的谓词控制块 (VCB) 的LUA_COMMON成员。

下面的第二个语法联合描述了 SLI_SEND 使用的 VCB 的LUA_SPECIFIC成员。 为清楚起见,将省略其他工会成员。

语法

  
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;  
};  
union LUA_SPECIFIC {  
    unsigned char lua_sequence_number[2];  
};  

成员

lua_verb
提供的参数。 包含谓词代码,LUA_VERB_SLI会话级别接口 (SLI) 谓词。

lua_verb_length
提供的参数。 指定 LUA VCB 的长度(以字节为单位)。 它必须包含要发出的谓词记录的长度。

lua_prim_rc
由 LUA 在谓词完成时设置的主要返回代码。 有效的返回代码因发出的 LUA 谓词而异。

lua_sec_rc
由 LUA 在谓词完成时设置的辅助返回代码。 有效的返回代码因发出的 LUA 谓词而异。

lua_opcode
提供的参数。 包含 LUA 命令代码 (要发出的谓词操作代码) ,LUA_OPCODE_SLI_SEND。

lua_correlator
提供的参数。 包含用户提供的值,该值将谓词与其他用户提供的信息链接在一起。 LUA 不使用或更改此信息。 此参数是可选的。

lua_luname
提供的参数。 指定 Windows LUA 会话使用的本地 LU 的 ASCII 名称。

仅当lua_sid为零时,SLI_SEND才需要此参数。

此参数长度为 8 个字节,如果名称短于 8 个字符,则用空格 (0x20) 在右侧填充。

lua_extension_list_offset
SLI_SEND不使用,应设置为零。

lua_cobol_offset
MICROSOFT® 主机集成服务器或 SNA 服务器中的 LUA 不使用,应为零。

lua_sid
提供并返回的参数。 指定会话标识符,由 SLI_OPENRUI_INIT 返回。 其他谓词使用此参数来标识用于命令的会话。 如果其他谓词使用 lua_luname 参数来标识会话,请将 lua_sid 参数设置为零。

lua_max_length
SLI_SEND不使用,应设置为零。

lua_data_length
提供的参数。 指定要发送的数据的长度。

lua_data_ptr
指向应用程序提供的缓冲区的指针,该缓冲区包含要通过 SLI_SEND发送到主机的数据。

SNA 命令和数据都放置在此缓冲区中,它们可以采用扩展二进制编码的十进制交换代码 (EBCDIC) 格式。

lua_post_handle
提供的参数。 如果异步通知要由事件完成,则用于 Microsoft Windows Server 下。 此变量包含要发出信号的事件的句柄或窗口句柄。

lua_th
返回的参数。 包含接收的消息的 SNA 传输标头 (TH) 。 为写入函数设置各种子参数,并为读取和出价函数返回。 其子参数如下所示:

lua_th.flags_fid

格式标识类型 2,4 位。

lua_th.flags_mpf

分段映射字段,两位。 定义数据段的类型。 以下为有效值:

0x00 中间段0x04 最后一段0x08 第一段0x0C 仅限段

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) 。 它设置为 RUI_WRITESLI_SEND,由 RUI_READRUI_BID 返回。 对于 rh for SLI_SEND,将使用除排队响应指示器 (lua_rh.qri) 和节奏指示器 (lua_rh.pi) 之外的所有字段。

lua_rh.rri

请求-响应指示器,一位。

lua_rh.ruc

RU 类别,两位。

lua_rh.fi

格式指示器,一位。

lua_rh.sdi

感知数据包括指示器,一位。

lua_rh.bci

开始链指示器,一位。

lua_rh.eci

端链指示器,一位。

lua_rh.dr1i

确定响应 1 指示器,1 位。

lua_rh.dr2i

确定响应 2 指示器,一位。

lua_rh.ri

请求) 的异常响应指示器 (,或响应) 的响应类型指示器 (一位。

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
提供的参数。 包含包含应用程序提供的消息标志的数据结构。 其子参数如下所示:

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 正常流,一位。

将以下标志之一设置为 1,以指示要发送数据的消息流:

lua_flag1.sscp_exp

lua_flag1.sscp_norm

lua_flag1.lu_exp

lua_flag1.lu_norm

lua_message_type
指定入站或出站 SNA 命令和数据的类型。 这是为 SLI_SEND提供的参数。

可能的值如下:

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_RSP

LUA_MESSAGE_TYPE_BID

LUA_MESSAGE_TYPE_BIS

LUA_MESSAGE_TYPE_CANCEL

LUA_MESSAGE_TYPE_CHASE

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_SIGNAL

SLI 通过 LUA 接口扩展例程接收并响应 BIND 和 STSN 请求。

LU-DATA、LUSTAT_LU、LUSTAT_SSCP和SSCP_DATA不是 SNA 命令。

lua_flag2
返回的参数。 包含 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
保留,应设置为零。

lua_encr_decr_option
不由SLI_SEND使用,应设置为零。

lua_sequence_number
SLI_SEND使用的LUA_SPECIFIC的联合成员。 返回的参数。 包含链请求单元中第一个或链请求单元中唯一段的序列号。 请注意,此参数不是字节反向的。

返回代码

LUA_OK
主要返回代码;谓词已成功执行。

LUA_SEC_OK

辅助返回代码;不存在LUA_OK的其他信息。

LUA_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。

LUA_INVALID_LUNAME

辅助返回代码;指定的 lua_luname 无效。

LUA_BAD_SESSION_ID

辅助返回代码;在 VCB 中为 lua_sid 指定了无效值。

LUA_BAD_DATA_PTR

辅助返回代码; lua_data_ptr 参数不包含有效的指针,或者未指向读/写段,并且需要提供的数据。

LUA_RESERVED_FIELD_NOT_ZERO

辅助返回代码;刚发出的谓词的保留参数未设置为零。

LUA_INVALID_POST_HANDLE

辅助返回代码;对于使用事件作为异步过帐方法的 Microsoft Windows 操作系统,Windows LUA VCB 不包含有效的事件句柄。

LUA_INVALID_FLOW

辅助返回代码;发出谓词时, lua_flag1 流标志设置不正确:

发出 发送 SNA 响应SLI_SEND 时,仅设置一个 lua_flag1 流标志。

发出 SLI_RECEIVE时,请至少设置一个lua_flag1流标志。

LUA_VERB_LENGTH_INVALID

辅助返回代码;LUA 谓词发出了 LUA 意外 lua_verb_length 值。

LUA_REQUIRED_FIELD_MISSING

辅助返回代码;如果数据计数不为零) 或不包含lua_flag1流标志,则发出的谓词不包含 数据 指针 (。

LUA_INVALID_MESSAGE_TYPE

辅助返回代码; LUA 接口无法识别 lua_message_type 参数。

LUA_DATA_LENGTH_ERROR

辅助返回代码;应用程序未提供所发出的谓词所需的用户提供的数据。 请注意,当为 SNA LUSTAT 命令发出 SLI_SEND 时,状态 (四个字节) 是必需的,当使用辅助初始化发出 SLI_OPEN 时,需要数据。

LUA_STATE_CHECK
主要返回代码;谓词未执行,因为它是在无效状态下发出的。

LUA_NO_SLI_SESSION

辅助返回代码;发出命令时,由于 SLI_CLOSE 或会话失败,会话未打开或关闭。

LUA_MAX_NUMBER_OF_SENDS

辅助返回代码;应用程序在完成 第三SLI_SEND 之前发出了第三个。

LUA_SEND_ON_FLOW_PENDING

辅助返回代码;当应用程序为 SNA 流发出另一个SLI_SEND时,SLI_SEND仍然未完成。

LUA_SESSION_FAILURE
主返回代码;辅助返回代码中指定的错误条件导致会话失败。

LUA_RECEIVED_UNBIND

辅助返回代码; (PLU 的主逻辑单元) 会话处于活动状态时向 LUA 接口发送了 SNA UNBIND 命令。 因此,会话已停止。

LUA_SLI_LOGIC_ERROR

辅助返回代码;LUA 接口在逻辑中发现内部错误。

LUA_NO_RUI_SESSION

辅助返回代码;尚未为发出的 LUA 谓词初始化会话,或者在初始化会话之前发出 了除 SLI_OPEN 以外的某个谓词。

LUA_LU_COMPONENT_DISCONNECTED

辅助返回代码;LU 组件不可用,因为它未正确连接。 确保电源已打开。

LUA_DATA_SEGMENT_LENGTH_ERROR

辅助返回代码;发生了以下情况之一:

SLI_RECEIVE或SLI_SEND提供的数据段不是所需的读/写数据段。

SLI_RECEIVE提供的数据段长度不如 lua_max_length 中提供的数据段。

SLI_SEND提供的数据段长度不如lua_data_length中提供的数据段。

LUA_VERB_RECORD_SPANS_SEGMENTS

辅助返回代码;LUA VCB 长度参数加上段偏移量超出段末尾。

LUA_NOT_ACTIVE

辅助返回代码;发出 LUA 谓词时,LUA 在 Microsoft Host Integration Server 或 SNA Server 中未处于活动状态。

LUA_SLI_LOGIC_ERROR

辅助返回代码;LUA 接口在逻辑中发现内部错误。

LUA_INVALID_PROCESS

辅助返回代码;发出 LUA 谓词的会话不可用,因为另一个 OS/2 进程拥有该会话。

LUA_LU_INOPERATIVE

辅助返回代码;LUA 尝试停止会话时发生严重错误。 在从主机收到激活的逻辑单元 (ACTLU) 之前,此 LU 对于任何 LUA 请求不可用。

LUA_MODE_INCONSISTENCY

辅助返回代码;当前状态不允许执行此函数。 即使已理解和支持发送到半会话组件的请求,也不会执行该请求。 此 SNA 感知代码也是异常请求感知代码。

LUA_INSUFFICIENT_RESOURCES

辅助返回代码;资源不足的临时情况导致请求接收方无法执行。 发送到半会话组件的请求未执行,即使它已得到理解和支持。

LUA_SEND_CORRELATION_TABLE_FULL

辅助返回代码;会话为请求的流发送相关表达到其容量。

LUA_RU_LENGTH_ERROR

辅助返回代码;RU) 请求 (请求/响应单元长度不正确, () 太短或过长。 即使请求单元已传递到半会话组件,也不会对其进行解释或处理。 半会话功能不匹配。 此 SNA 感知代码也是异常请求感知代码。

LUA_FUNCTION_NOT_SUPPORTED

辅助返回代码;LUA 不支持请求的函数。 控制字符、RU 参数或格式化请求代码可能已指定函数。 特定感知代码信息以字节 2 和 3 为单位。

LUA_HDX_BRACKET_STATE_ERROR

辅助返回代码;现有状态错误阻止发送当前请求。 确定是由协议计算机做出的。

LUA_RESPONSE_ALREADY_SENT

辅助返回代码;已发送链的响应,因此当前请求未发送。 确定是由协议计算机做出的。

LUA_EXR_SENSE_INCORRECT

辅助返回代码;应用程序对异常请求进行了负面响应。 感知代码是不可接受的。

LUA_RESPONSE_OUT_OF_ORDER

辅助返回代码;当前响应不适用于最早的请求。 确定是由协议计算机做出的。

LUA_CHAIN_RESPONSE_REQUIRED

辅助返回代码;当尝试较新的请求时,CHASE 响应仍然未完成。 确定是由协议计算机做出的。

LUA_BRACKET

辅助返回代码;发送方未能强制实施会话括号规则。 请注意,争用和争用条件不受此错误影响。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单元无效。 已阻止传递到半会话组件。

LUA_DIRECTION

辅助返回代码;当半双工翻转状态NOT_RECEIVE时,收到正常流的请求。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单元无效。 已阻止传递到半会话组件。

LUA_DATA_TRAFFIC_RESET

辅助返回代码;活动会话的半会话,但具有非活动数据流量的正常流数据流控制 (DFC) 或函数管理数据 (FMD) 请求。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单元无效。 已阻止传递到半会话组件。

LUA_DATA_TRAFFIC_QUIESCED

辅助返回代码;从发送了 SHUTC 命令或 QC 命令的半会话收到 DFC 或 FMD 请求,并且 DFC 或 FMD 请求未响应 RELQ 命令。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_DATA_TRAFFIC_NOT_RESET

辅助返回代码;未重置数据流量状态时,已收到会话控制请求。 找到接收的当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_NO_BEGIN_BRACKET

辅助返回代码;收到指定 BBI=BB 的 BID 或 FMD 请求时,接收方已经向 BIS 命令发送了肯定响应。 找到接收的当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_SC_PROTOCOL_VIOLATION

辅助返回代码;发生 SC 协议冲突。 请求 (,该请求仅在 SC 请求和对请求的积极响应成功交换后才允许,) 在所需的交换之前收到。 感知数据的字节 4 包含请求代码。 此感知代码不存在用户数据。 找到无效的标头请求或数据流控制状态。 已阻止传递到半会话组件。

LUA_IMMEDIATE_REQUEST_MODE_ERROR

辅助返回代码;请求违反了即时请求模式协议。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_QUEUED_RESPONSE_ERROR

辅助返回代码;请求违反了排队响应协议。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_ERP_SYNC_EVENT_ERROR

辅助返回代码;发生了违反 ERP 同步事件协议的情况。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_RSP_BEFORE_SENDING_REQ

辅助返回代码;以前收到的请求尚未响应,并且尝试在半双工发送/接收模式下发送正常的流请求。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_RSP_CORRELATION_ERROR

辅助返回代码;发送的响应与之前收到的请求不对应,或者收到的响应与以前发送的请求不对应。

LUA_BB_NOT_ALLOWED

辅助返回代码;未正确指定开始方括号指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

允许LUA_EB_NOT

辅助返回代码;未正确指定结束方括号指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_EXCEPTION_RSP_NOT_ALLOWED

辅助返回代码;如果不允许异常响应,则请求了一个异常响应。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_DEFINITE_RSP_NOT_ALLOWED

辅助返回代码;当不允许明确响应时,会请求一个响应。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_CD_NOT_ALLOWED

辅助返回代码;错误地指定了更改方向指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_NO_RESPONSE_NOT_ALLOWED

辅助返回代码;EXR 以外的请求包含“无响应”。请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_CHAINING_NOT_SUPPORTED

辅助返回代码;未正确指定链接指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_BRACKETS_NOT_SUPPORTED

辅助返回代码;括号指示器未正确指定。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_CD_NOT_SUPPORTED

辅助返回代码;已设置更改方向指示器,但 LUA 不支持这种情况下的更改方向。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_INCORRECT_USE_OF_FI

辅助返回代码;格式指示器未正确指定。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_ALTERNATE_CODE_NOT_SUPPORTED

辅助返回代码;已设置代码选择指示器,但 LUA 不支持此会话的代码选择。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_REQUEST_CODE

辅助返回代码;错误地指定了请求代码。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_SPEC_OF_SDI_RTI

辅助返回代码;未在响应中正确指定 SDI 和 RTI。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_DR1I_DR2I_ERI

辅助返回代码;未正确指定 DR1I、DR2I 和 ERI。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_QRI

辅助返回代码;未正确指定排队响应指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_EDI

辅助返回代码;未正确指定 EDI。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_PDI

辅助返回代码;未正确指定 PDI。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_NO_SESSION

辅助返回代码;需要请求激活会话,因为源目标对的接收端节点中不存在活动的半会话,或者存在提供边界函数的节点中源目标对的活动边界函数半会话组件。 由于以下原因之一,无法传递请求:

路径信息单元错误

路径中断

激活请求序列无效

如果在活动会话期间收到路径错误,这通常表示会话伙伴不再存在有效路径。

LUA_CANCELED
主返回代码;辅助返回代码提供取消命令的原因。

LUA_TERMINATED

辅助返回代码;当谓词挂起时,会话已终止。 谓词过程已取消。

LUA_IN_PROGRESS
主返回代码;已收到异步命令,但未完成。

LUA_COMM_SUBSYSTEM_ABENDED
主要返回代码;指示以下状况之一:

此对话使用的节点遇到了 ABEND。

(TP) 事务程序与物理单元 (PU) 2.1 节点之间的连接已断开, (LAN 错误) 。

TP 计算机上的 SnaBase 遇到 ABEND。

LUA_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时无法加载或终止某个必需的组件。 因此无法通信。 请联系系统管理员以执行纠正措施。

LUA_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。

LUA_UNEXPECTED_DOS_ERROR
主返回代码;发出操作系统调用后,收到意外的操作系统返回代码,并在辅助返回代码中指定。

LUA_STACK_TOO_SMALL
主要返回代码;应用程序的堆栈大小太小,无法执行谓词。 增加应用程序的堆栈大小。

LUA_INVALID_VERB
主返回代码;谓词代码或操作代码(或两者)无效。 谓词未执行。

注解

SLI_SEND 将响应、SNA 命令和数据从 Windows LUA 应用程序发送到主机 LU。 会话必须已打开才能为特定 LU-LU 会话流发出 SLI_SEND 。 若要在 完成SLI_OPEN之前发送 SSCP 正常流上的数据,会话必须已初始化为具有 SSCP 访问权限的主会话。 此外,会话状态必须为INIT_COMPLETE。

lua_message_type的设置确定将由SLI_SEND完成的处理类型。 下表指示要基于 lua_message_type 值设置的参数。

SLI_SEND 参数 LU_DATA

SSCP_DATA
BID

BIS

RTR
CHASE

QC
LUSTAT_LU

LUSTAT_SSCP
QEC

RELQ

SBI

SIGNAL
RQR RSP
lua_data
_长度
Req. 0 0 Req. 0 0 如果没有数据) ,则请求 (0
lua_data
_ptr
如果没有数据) ,则请求 (0 0 0 请求。 0 0 如果没有数据) ,则请求 (0
lua_flag1流标志 0 0 0 0 0 0 请求 (设置一个)
lua_rh FI DRL1 DRL2 RI BBI EBI CDI CSI EDI SDI QRI SDI QRI EBI CDI SDI QRI DRL1 DRL2 RI BBI EBI CDI Sdi 0 RRI RI
lua_th 0 0 0 0 0 0 SNF

lua_data_ptr中提供的位置和lua_data_length提供的长度决定了 SLI 发送的数据。 如有必要,数据将由 SLI 谓词链接。

发送响应时,响应类型确定所需的SLI_SEND信息。 对于所有响应,必须:

  • 设置所选 lua_flag1 流标志。

  • 在 lua_th.snf 中提供要响应的请求的序列号。

  • 将“lua_message_type”设置为“LUA_MESSAGE_TYPE_RSP”。

    对于多链消息响应,必须使用最后接收的链元素的序列号。 对于以 CANCEL 命令结尾的多链消息的响应,使用 CANCEL 命令序列号。

    对于只需要请求代码的肯定响应,请将 lua_rh.ri 设置为零, (指示响应为正) ,lua_data_length为零, (指示未) 提供任何数据。 请求代码由 SLI 使用提供的序列号填充。

    对于lua_rh.ri 设置为 1 的负面响应,请将lua_data_ptr设置为 SNA 感知代码地址,将lua_data_length设置为 SNA 感知代码长度 (四个字节) 。 SLI 使用序列号来填充请求代码。

另请参阅

RUI_INIT
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_RECEIVE