次の方法で共有


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 動詞によって異なります。 この動詞の有効なエラーコードについては、「リターン コード」を参照してください。

key
指定されたパラメーター。 キーロック機能がセキュリティで保護されている場合は、ASCII でマスター キーまたはサービス キーを指定します。

lu_alias
指定されたパラメーター。 LU にローカルで使用される 8 バイトの ASCII 名を提供します。

plu_alias
指定されたパラメーター。 パートナー LU に対してローカルで使用される 8 バイトの ASCII 名を提供します。

fqplu_name
指定されたパラメーター。 ローカル ノードで plu_alias 名が定義されておらず、パートナー LU が別のノードにある場合に、EBCDIC (タイプ A) にパートナー論理ユニット (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 が自動的にアクティブ化するためのローカル LU 競合勝者セッションの数を指定します。 使用できる値は 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 のローカル最大セッション制限が 0 であるため、ローカル LU は 0 以外のセッション制限をネゴシエートできません。

AP_CNOS_MODE_NAME_REJECT
セカンダリ リターン コード。パートナー LU は、指定されたモード名を認識しません。

AP_CNOS_COMMAND_RACE_REJECT
セカンダリ リターン コード。ローカル LU は現在、パートナー LU によって発行された CNOS 動詞を処理しています。

AP_COMM_SUBSYSTEM_ABENDED
プライマリ リターン コード。次のいずれかの条件を示します。

このメッセージ交換で使用されているノードで、ABEND が発生しました。

トランザクション プログラム (TP) と PU 2.1 ノード間の接続が切断されました (ローカル エリア ネットワーク エラー)。

TPs コンピューターの 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 は 0 以外のセッション制限を許可しません。

AP_AUTOACT_EXCEEDS_SESSLIM
セカンダリ リターン コード。 CNOS 動詞では、 auto_act の値が plu_mode_sess_lim の値より大きくなります。

AP_BAD_LU_ALIAS
セカンダリ リターン コード。APPC では、定義されているlu_aliasのうち、指定された lu_alias が見つかりません。

AP_BAD_PARTNER_LU_ALIAS
セカンダリ リターン コード。APPC は、指定された plu_aliasを認識しませんでした。

AP_BAD_SNASVCMG_LIMITS
セカンダリ リターン コード。プログラムで、plu_mode_sess_limmin_conwinners_source、またはmode_nameが指定されたときにmin_conwinners_targetに無効な設定が指定されました。

AP_CHANGE_SRC_DRAINS
セカンダリ リターン コード。DRAIN_SOURCE (NO ) が指定されたモードに対して現在有効な 場合、 APPC はmode_name_select (ONE) と drain_source (YES) を許可しません。

AP_CNOS_IMPLICIT_PARALLEL
セカンダリ リターン コード。テンプレートで並列セッションが指定されている場合、APPC は、暗黙的なパートナー テンプレートの SNASVCMG モード以外のモードのセッション制限を変更することをプログラムに許可しません。 ("テンプレート" という用語は、実際の値の多くがまだ入力されていないために使用されています)。

AP_CPSVCMG_MODE_NOT_ALLOWED
セカンダリ リターン コード。非アクティブ化セッション動詞の mode_name として CPSVCMG という名前のモードを指定することはできません。

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 のローカル最大セッション制限が 0 であるため、ローカル LU は 0 以外のセッション制限をネゴシエートできません。

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 では、制限が現在 0 でない限り、セッション制限を 0 以外の値に設定することはできません。

AP_LU_DETACHED
セカンダリ リターン コード。コマンドは、 CNOS が LU を指定する前にローカル LU の定義をリセットしました。

AP_SNASVCMG_RESET_NOT_ALLOWED
セカンダリ リターン コード。ローカル プログラムが SNASVCMG という名前のモードに対して CNOS 動詞を発行しようとしました。セッション制限は 0 です。

AP_UNEXPECTED_DOS_ERROR
プライマリ リターン コード。ローカル TP から APPC 動詞を処理しているときに、オペレーティング システムから APPC にエラーが返されました。 オペレーティング システムのリターン コードは、secondary_rc 経由で返されます。 これは、Intel バイトスワップ順で表示されます。 問題が解決しない場合は、システム管理者に問い合わせてください。

解説

CNOS は、別名だけで LU を識別します。 ドメイン内で同じローカル LU エイリアスが (バックアップまたはその他の目的で) 複数回使用され、その LU エイリアスが CNOS を介して指定されている場合、動詞は意図した LU とは異なる LU に流れる可能性があります。

プログラムが最初の APPC ALLOCATEMC_ALLOCATE、SEND_CONVERSATION、またはMC_SEND_CONVERSATION、または通信用共通プログラミング インターフェイス (CPI-C) 割り当て呼び出しを発行する前に、モード セッション制限を設定するために CNOS が発行されていない場合、APPC はモード定義の値を使用して内部的にセッション制限を生成します。

並列セッション接続の制限を設定すると、2 つの LU でモード セッションの制限、ドレイン設定、および責任の値がネゴシエートされます。 APPC は、ネゴシエーション中に両方の LU によって合意された設定を反映するように 、CNOS のこれらのパラメーターを更新します。 プログラムは DISPLAY を発行して、モード・セッション制限のネゴシエートされた値を取得できます。

1 つのセッションの制限を設定するときに CNOS ネゴシエーションは行われません (つまり、2 つの LU はドレイン設定または責任値をネゴシエートしません)。 したがって、各ノードで 1 つのセッション モードを定義することで、単一セッション接続を使用してパートナー LU 間のモード定義パラメーター設定を調整します。

初期制限の設定の一環として、 CNOS は競合優先セッションと競合敗者セッションの保証された数 (つまり最小) を設定し、ソース LU 競合優先セッションの自動アクティブ化数を設定します。 CNOS のアクションは、通常、ソース LU とターゲット LU の間で指定されたモード名を持つセッションのグループにのみ影響します。 または、1 つの CNOS で、パートナー LU のすべてのモードのセッション制限をリセットできます。

APPC は、後続の CNOS 動詞を発行して、一方または他方が変更するまで、新しいモード セッション制限と競合勝者極性を適用します。 CNOS トランザクションは、ターゲットである LU に関係なく、ターゲット LU の API では非表示になります。 CNOS トランザクションの結果は DISPLAY を使用して取得できます。