CNOS
CNOS (變更會話數目) 動詞命令會建立 APPC LU 6.2 會話限制。
下列結構描述 CNOS 動詞命令所使用的動詞控制區塊。
語法
typedef struct cnos {
unsigned short opcode;
unsigned char reserv2[2];
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char key[8];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char fqplu_name[17];
unsigned char reserv3;
unsigned char mode_name[8];
unsigned int mode_name_select:1;
unsigned int set_negotiable:1;
unsigned int reserv4:6;
unsigned int reserv5:8;
unsigned short plu_mode_sess_lim;
unsigned short min_conwinners_source;
unsigned short min_conwinners_target;
unsigned short auto_act;
unsigned int drain_target:1;
unsigned int drain_source:1;
unsigned int responsible:1;
unsigned int reserv6:5;
unsigned int reserv7:8;
} CNOS;
成員
opcode
提供的參數。 指定動詞作業程式碼,AP_CNOS。
reserv2
保留字段。
primary_rc
傳回的參數。 指定 APPC 在動詞完成時所設定的主要傳回碼。 有效的傳回碼會根據發出的 APPC 動詞命令而有所不同。 如需此動詞命令的有效錯誤碼,請參閱傳回碼。
secondary_rc
傳回的參數。 指定 APPC 在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據發出的 APPC 動詞命令而有所不同。 如需此動詞命令的有效錯誤碼,請參閱傳回碼。
索引鍵
提供的參數。 如果金鑰鎖定功能已受到保護,則指定 ASCII 中的主要或服務金鑰。
lu_alias
提供的參數。 提供用於 LU 本機的 8 位元組 ASCII 名稱。
plu_alias
提供的參數。 提供本機用於合作夥伴 LU 的 8 位元組 ASCII 名稱。
fqplu_name
提供的參數。 在 EBCDIC 中提供夥伴邏輯單元 (LU) 名稱, (類型 A) ,當本機節點未定義 任何plu_alias 名稱,且夥伴 LU 位於不同的節點時。
mode_name
提供的參數。 指定MODE_NAME_SELECT值AP_ONE時要使用的 EBCDIC (類型 A) 模式名稱。
mode_name_select
提供的參數。 指定您程式正在設定或重設會話限制和競爭勝出極性的模式名稱。 允許的值AP_ALL或AP_ONE。
set_negotiable
提供的參數。 指定 APPC 是否要變更最大變動會話限制的目前設定。 允許的值為 AP_YES 和 AP_NO。
reserv4
6 位保留字段。
reserv5
8 位保留字段。
plu_mode_sess_lim
提供的參數。 指定 當set_negotiable 值為 YES 時的會話限制。 允許的值為 0 到 32767。
min_conwinners_source
提供的參數。 指定 LU 保證成為競爭勝出者的會話數目。 允許的值為 0 到 32767。
min_conwinners_target
提供的參數。 指定保證目標 LU 成為競爭勝出者的會話數目下限。 允許的值為 0 到 32767。
auto_act
提供的參數。 指定 APPC 自動啟用的本機 RU 爭用者會話數目。 允許的值為 0 到 32767。 使用此參數之前,請參閱本主題的一節。
drain_target
提供的參數。 指定目標 LU 是否可以清空其等候 (輸出) 配置要求。 允許的值為 AP_YES 和 AP_NO。
drain_source
提供的參數。 指定來源 LU 是否可以清空其等候 (輸出) 配置要求。 允許的值為 AP_YES 和 AP_NO。
負責
提供的參數。 指定哪個 LU 負責停用會話,因為重設平行會話連線的會話限制。 允許的值為 AP_SOURCE 和 AP_TARGET。
reserv6
5 位保留字段。
reserv7
8 位保留字段。
傳回碼
AP_OK
主要傳回碼;已成功執行動詞。
AP_CNOS_ACCEPTED
次要傳回碼;APPC 會接受指定的會話限制和責任。
AP_CNOS_NEGOTIATED
次要傳回碼;APPC 接受會話限制和責任,做為合作夥伴 LU 的一個認可。 可以交涉的值包括:
plu_mode_session_limit
min_conwinners_source
min_conwinners_target
負責
drain_target
AP_ALLOCATION_ERROR
主要傳回碼;APPC 無法配置交談。 交談狀態設定為 RESET。
此程式碼可以透過 ALLOCATE 或 MC_ALLOCATE之後發出的動詞來傳回。
AP_ALLOCATION_FAILURE_NO_RETRY
次要傳回碼;因為有永久條件,例如組態錯誤或會話通訊協定錯誤,所以無法配置交談。 若要判斷錯誤,系統管理員應該檢查錯誤記錄檔。 在修正錯誤之前,請勿重試配置。
AP_ALLOCATION_FAILURE_RETRY
次要傳回碼;因為暫時性狀況,例如連結失敗,所以無法配置交談。 失敗的原因會記錄在系統錯誤記錄檔中。 重試配置。
AP_CNOS_LOCAL_RACE_REJECT
主要傳回碼;APPC 目前正在處理本機 LU 發出的 CNOS 動詞。
AP_CNOS_PARTNER_LU_REJECT
主要傳回碼;合作夥伴 LU 拒絕來自本機 LU 的 CNOS 要求。
AP_CNOS_MODE_CLOSED
次要傳回碼;本機 LU 無法交涉非零會話限制,因為夥伴 LU 的本機最大會話限制為零。
AP_CNOS_MODE_NAME_REJECT
次要傳回碼;合作夥伴 LU 無法辨識指定的模式名稱。
AP_CNOS_COMMAND_RACE_REJECT
次要傳回碼;本機 LU 目前正在處理合作夥伴 LU 所發出的 CNOS 動詞。
AP_COMM_SUBSYSTEM_ABENDED
主要傳回碼;指出下列其中一個條件:
此交談所使用的節點遇到 ABEND。
交易程式 (TP) 與 PU 2.1 節點之間的連線已中斷, (區域網路錯誤) 。
TP 電腦上的 SnaBase 遇到 ABEND。
系統管理員應該檢查錯誤記錄檔,以判斷 ABEND 的原因。
AP_COMM_SUBSYSTEM_NOT_LOADED
主要傳回碼;處理動詞時,無法載入或終止必要的元件。 因此,無法進行通訊。 請連絡系統管理員以採取更正動作。
AP_INVALID_KEY
主要傳回碼;提供的金鑰不正確。
AP_INVALID_VERB_SEGMENT
主要傳回碼;延伸超過資料區段結尾的 VCB。
AP_PARAMETER_CHECK
主要傳回碼;動詞因為參數錯誤而未執行。
AP_ALL_MODE_MUST_RESET
次要傳回碼;當 mode_name_select 參數指出 AP_ALL 時,APPC 不允許非零會話限制。
AP_AUTOACT_EXCEEDS_SESSLIM
次要傳回碼;在 CNOS 動詞上, auto_act 的值大於 plu_mode_sess_lim的值。
AP_BAD_LU_ALIAS
次要傳回碼;APPC 在定義的 lu_alias 之間找不到指定的。
AP_BAD_PARTNER_LU_ALIAS
次要傳回碼;APPC 無法辨識提供的 plu_alias。
AP_BAD_SNASVCMG_LIMITS
次要傳回碼;當提供mode_name時,您的程式指定了無效plu_mode_sess_lim、min_conwinners_source或min_conwinners_target設定。
AP_CHANGE_SRC_DRAINS
次要傳回碼;當指定模式目前drain_source (NO ) 時,APPC 不允許mode_name_select (ONE ) ,drain_source (是) 。
AP_CNOS_IMPLICIT_PARALLEL
次要傳回碼;當範本指定平行會話時,APPC 不允許程式變更非隱含夥伴範本 SNASVCMG 模式以外的模式會話限制。 (使用「範本」一詞,因為許多實際值尚未填入。)
AP_CPSVCMG_MODE_NOT_ALLOWED
次要傳回碼;名為 CPSVCMG 的模式不能指定為停用會話動詞命令上的 mode_name 。
AP_EXCEEDS_MAX_ALLOWED
次要傳回碼;您的程式發出 CNOS 動詞,並指定 plu_mode_sess_lim 編號和 set_negotiable (AP_NO) 。
AP_MIN_GT_TOTAL
次要傳回碼; min_conwinners_source 和 min_conwinners_target 的總和會指定大於 plu_mode_sess_lim的數位。
AP_MODE_CLOSED
次要傳回碼;本機 LU 無法交涉非零會話限制,因為夥伴 LU 的本機最大會話限制為零。
AP_RESET_SNA_DRAINS
次要傳回碼;SNASVCMG 不支援清空參數值。
AP_SINGLE_NOT_SRC_RESP
次要傳回碼;針對單一會話 CNOS 動詞,APPC 只允許本機 (來源) LU 負責停用會話。
AP_STACK_TOO_SMALL
主要傳回碼;應用程式的堆疊大小太小,無法執行動詞。 增加應用程式的堆疊大小。
AP_STATE_CHECK
主要傳回碼;動詞未執行,因為其發行狀態無效。
AP_CANT_RAISE_LIMITS
次要傳回碼;除非限制目前為零,否則 APPC 不允許將會話限制設定為非零值。
AP_LU_DETACHED
次要傳回碼;命令已在 CNOS 嘗試指定 LU 之前重設本機 LU 的定義。
AP_SNASVCMG_RESET_NOT_ALLOWED
次要傳回碼;您的本機程式嘗試針對名為 SNASVCMG 的模式發出 CNOS 動詞,並指定零的會話限制。
AP_UNEXPECTED_DOS_ERROR
主要傳回碼;作業系統在處理來自本機 TP 的 APPC 動詞時,已將錯誤傳回給 APPC。 作業系統傳回碼會透過 secondary_rc傳回。 它會以 Intel 位元組交換的順序顯示。 如果問題持續發生,請洽詢系統管理員。
備註
CNOS 會單獨以別名識別 LU。 如果在網域 (中多次使用相同的本機 LU 別名進行備份或其他用途,) 且該 LU 別名是透過 CNOS指定,動詞動詞可以流向不同的 LU。
如果未發出 CNOS 以在程式發出第一個 APPC ALLOCATE、 MC_ALLOCATE、 SEND_CONVERSATION或 MC_SEND_CONVERSATION或通訊的一般程式設計介面 (CPI-C) 配置 指定合作夥伴 LU 和模式的呼叫之前設定模式會話限制,APPC 會在內部使用模式定義中的值產生會話限制。
設定平行會話連線的限制時,這兩個 RU 會交涉模式會話限制、清空設定和責任值。 APPC 會在 CNOS 中更新這些參數,以反映兩個 RU 在交涉期間同意的設定。 您的程式可能會發出 DISPLAY ,以取得模式會話限制的交涉值。
設定單一會話 (的限制時,不會發生 CNOS 交涉,也就是這兩個 RU 不會交涉清空設定或責任值) 。 因此,藉由在每個節點上定義單一會話模式,以協調夥伴 LU 之間的模式定義參數設定。
在設定初始限制時, CNOS 也會設定保證的 (,也就是爭用者-勝出和爭用會話的最小) 數目,並設定來源 LUS 爭用者會話的自動啟用計數。 CNOS的動作通常只會影響來源 LU 與目標 LU 之間具有指定模式名稱的會話群組。 或者,一個 CNOS 可以重設合作夥伴 LU 所有模式的會話限制。
APPC 會強制執行新的模式會話限制和競爭勝出極性,直到一端或另一端發出後續 CNOS 動詞來變更它們為止。 不論哪一個 LU 是目標 LU 的目標 API,CNOS 交易都是可見的。 CNOS交易的結果可以使用DISPLAY取得。