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。

此程式碼可以透過 ALLOCATEMC_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_sourcemin_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_sourcemin_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 ALLOCATEMC_ALLOCATESEND_CONVERSATIONMC_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取得。