Open(PLU) OK 响应包含连接信息控制块 (CICB),使应用程序能够自定义连接的某些特征,并包含 BIND 验证中使用的信息。 请注意,本地节点验证“Open(PLU) OK 响应”携带的 BIND 参数。 它不会保留主机的原始 BIND 请求/响应单元 (RU) 的副本。 如果 BIND 是可协商的,则允许应用程序修改 BIND RU 中的参数,但如果不可协商,则应用程序应返回未修改的 BIND RU。 Open(PLU) 请求中提供了一个可协商 BIND 标志。
尽管 PLU 会话的许多特征由 BIND 参数确定,但应用程序可以通过在 CICB 中指定字段来选择某些特征。 有关详细信息,请参阅下表。 有关 CICB 使用情况以及选择各种 CICB 选项对 PLU 会话的影响的更多详细信息,请参阅本节主题中处理 PLU 会话特征(如链接和速度)的上下文。
BIND 使用 BIND 检查表条目进行验证(其索引在 CICB 查询中)。 其中的条目对应于 BIND 中的各种字段。 BIND 检查表条目存储在配置文件中。 例如,如果次要链接响应协议是“确切响应”或“确切或异常响应”,则 BIND 检查表条目可以指定接受 BIND(字节 5 位 2 和 3 = B10 或 B11)。 如果应用程序不希望发送请求异常 (RQE) 链,则此方法适用。
下表显示了连接信息控制块使用情况。
字段 | 说明 |
---|---|
段传递选项 | 值 0x00 表示本地节点应执行出站段程序集且只传递完整的 RU。 值 0x01 表示应用程序希望本地节点传递 RU 段。 有关详细信息,请参阅段传递。 |
应用程序速度选项 | 值 0x00 表示应用程序需要本地节点才能处理速度。 值 0x01 表示应用程序需要通过 Status-Resource 消息与出站速度相关。 有关详细信息,请参阅速度和区块。 |
应用程序取消选项 | 值 0x00 表示本地节点应自动生成 CANCEL。 值 0x01 表示应用程序将生成 CANCEL。 有关详细信息,请参阅入站链接。 |
应用程序事务号选项 | 值 0x00 表示应用程序不支持事务号。 值 0x01 表示应用程序支持事务号。 有关详细信息,请参阅恢复。 |
BIND 检查索引 | 为应验证其 BIND 参数的 BIND 检查表条目提供索引。 应使用以下值之一: - 0x01 —3270 打印机会话 - 0x02 —3270 显示会话 - 0x10 — LUA (LU 类型 0) 应用程序 |
从本地节点到应用程序的“Open(PLU) 确认”指示 BIND 验证是否成功,如果是,则提供绑定信息控制块 (BICB)。 BICB 以适合高级语言的格式汇总会话 BIND 参数,并有效定义 PLU 会话的特征。 不协商 BIND 的应用程序通常不应要求检查 Open(PLU) 请求上的 BIND,并且应使用 Open(PLU) OK 确认上的 BICB。
下表总结了 BICB 中的字段及其与 BIND RU 中的参数的对应关系。 有关详细信息,请参阅 IBM 手册“系统网络体系结构:格式”(GA27-3136)。
Open(PLU) OK 确认上的位置 | Bind RU 中的位置 [字节,位] | 说明 |
---|---|---|
dataru[0] | [ 2, ] | 函数管理 (FM) 配置文件 |
dataru[1] | [ 3, ] | 传输服务配置文件 |
dataru[2] | [ 4, 0] | 主要链接使用 |
dataru[3] | [ 4, 1] | 主要请求控制模式 |
dataru[4] | [ 4,2-3] | 主要链接响应协议 |
dataru[5] | [ 4, 4] | 主要两阶段提交 |
dataru[6] | [ 4, 6] | 主要压缩指示器 |
dataru[7] | [ 4, 7] | 主要发送右括号 (EB) 指示器 |
dataru[8] | [ 5, 0] | 次要链接使用 |
dataru[9] | [ 5, 1] | 次要请求控制模式 |
dataru[10] | [ 5,2-3] | 次要链接响应协议 |
ataru[11]** | [ 5, 4] | 次要两阶段提交 |
dataru[12] | [ 5, 6] | 次要压缩指示器 |
dataru[13] | [ 5, 7] | 次要发送 EB 指示器 |
dataru[14] | [ 6, 1] | FM 标头用法 |
dataru[15] | [ 6, 2] | 括号用法 1 |
dataru[16] | [ 6, 2] | 括号重置状态 2 |
dataru[17] | [ 6, 3] | 括号终止规则 |
dataru[18] | [ 6, 4] | 备用代码集指示器 |
dataru[19] | [ 6, 5] | 序列号可用性 |
dataru[20] | [ 7,0-1] | 正常流发送/接收模式 |
dataru[21] | [ 7, 7] | 半双工反转重置 |
dataru[22] | [ 8,2-7] | 次要速度发送窗口 |
ataru[23]** | [ 9,2-7] | 次要速度接收窗口 |
dataru[24-25]\* | [10, ] | 次要发送最大请求单位大小 |
dataru[26-27]\* | [11, ] | 主要发送最大请求单位大小 |
dataru[28] | [14,1-7] | LU-LU 会话类型 |
dataru[29] | [27, ] | PLU 名称大小 |
dataru[30-37] | [28, ] | 扩展的二进制编码的十进制交换代码中的 PLU 名称 (EBCDIC) |
dataru[38] | [15,0-3] | 会话类型 1:PS 函数管理标头 (FMH) 类型 |
dataru[39] | [15,4-7] | PS 数据流配置文件 |
dataru[40] | [16, 0] | 未完成的目标数 |
dataru[41] | [16, 1] | 压缩数据指示器 |
ataru[42]** | [16, 2] | 外围设备信息记录 (PDIR) 允许的指标 |
dataru[43] | [15, 0] | 会话类型 2 或 3:查询支持 |
dataru[44] | [24,1-7] | 动态屏幕大小 |
dataru[45] | [20, ] | 基本行大小 |
dataru[46] | [21, ] | 基本列大小 |
dataru[47] | [22, ] | 备用行大小 |
dataru[48] | [23, ] | 备用列大小 |
注意
10x00 = 不使用括号。 0x01 = 使用括号。
注意
20x01 = 括号重置状态为 BETB(括号间)。 0x02 = 括号重置状态为 INB(括号内)。
注意
这些值的类型为 INTEGER(其他所有值的类型为 CHAR)。
如果应用程序拒绝 Open(PLU) 请求(例如,如果 BIND 参数在不可协商的 BIND 上不可接受),则通过发送 Open(PLU) 错误响应和相应的感知代码时,打开 PLU 序列可能会失败。 本地节点向主机发送对包含提供的感知代码的 BIND 请求的否定响应。 PLU 连接被视为在“Open(PLU) 错误响应”后关闭,并且本地节点不会生成“Open(PLU) 确认”。 下图显示,由于应用程序拒绝“Open(PLU) 请求”,无法为不可协商的 BIND 打开 PLU 连接。
无法打开 PLU 连接
如果针对应用程序指定的 BIND 检查表条目的 BIND 验证失败,则打开 PLU 序列也可能失败。 在这种情况下,本地节点执行以下操作:向主机发送对包含相应感知代码的 BIND 请求的否定响应。
向应用程序发送 Open(PLU) 错误确认,其中感知代码的第一个单词作为第一个错误代码,错误中 BIND 参数的索引作为第二个错误代码。
PLU 连接被视为在“Open(PLU) 错误确认”后关闭。 下图显示由于 BIND 验证失败,无法打开 PLU 连接。 请注意,错误代码 2 提供错误中 BIND 参数的 RU 中的索引。
由于 BIND 验证失败,无法打开 PLU 连接