日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
付録 D で説明したサンプル・プログラムの他に,サンプル・プログラムの機能を拡張するための方法として,多くのサブルーチンが提供されます。 表 E-1 では,これらのサブルーチンについて説明しています。
付録 E
LAN 制御のためのサブルーチンE.1 はじめに
サブルーチン | 説明 |
---|---|
LAN アダプタの管理: | |
SYS$LAVC_START_BUS | PEDRIVER に対して,特定の LAN アダプタで NISCA プロトコルを起動するように要求する。 |
SYS$LAVC_STOP_BUS | PEDRIVER に対して,特定の LAN アダプタで NISCA プロトコルを停止するように要求する。 |
ネットワーク障害分析システムの制御: | |
SYS$LAVC_DEFINE_NET_COMPONENT | 物理ネットワーク・コンポーネントの表現を作成する。 |
SYS$LAVC_DEFINE_NET_PATH | 2 つのネットワーク・ノード間のネットワーク・コンポーネントの一覧を作成する。 |
SYS$LAVC_ENABLE_ANALYSIS | ネットワーク障害分析を有効に設定する。この結果,将来のチャネル障害を分析することが可能になる。 |
SYS$LAVC_DISABLE_ANALYSIS | ネットワーク障害分析を停止し,物理ネットワーク記述のために使用されていたメモリの割り当てを解除する。 |
この付録で説明するサブルーチンは,LAN 制御プログラムである LAVC$FAILURE_ANALYSIS.MAR,LAVC$START_BUS.MAR, LAVC$STOP_BUS.MAR で使用されます。これらのプログラムは, LAN ネットワークを制御できるだけの十分な機能を備えていますが, LAN 制御サブルーチンを使用すると,さらに LAN アダプタを管理するのに役立ちます。
E.1.1 サブルーチンの目的
E.2 NISCA プロトコルの起動
パラメータ | 説明 |
---|---|
BUS_NAME | 参照によって渡される LAN アダプタ名バッファを表現する文字列記述子。 LAN アダプタ名は 15 文字以内でなければならない。 |
例: 以下の Fortran サンプル・プログラムでは, SYS$LAVC_START_BUS を使用して, LAN アダプタ XQA で NISCA プロトコルを起動します。
PROGRAM START_BUS EXTERNAL SYS$LAVC_START_BUS INTEGER*4 SYS$LAVC_START_BUS INTEGER*4 STATUS STATUS = SYS$LAVC_START_BUS ( 'XQA0:' ) CALL SYS$EXIT ( %VAL ( STATUS )) END |
SYS$LAVC_START_BUS サブルーチンは, 表 E-2 に示すように,レジスタ R0 に状態値を返します。
状態 | 結果 |
---|---|
Success | PEDRIVER が指定されたアダプタで NISCA プロトコルを起動しようとしていることを示す。 |
Failure | PEDRIVER が指定された LAN アダプタでプロトコルを起動できないことを示す。 |
SYS$LAVC_START_BUS は,以下の表に示すエラー状態コードを返すことがあります。
状態コード | 説明 |
---|---|
SS$_ACCVIO | この状態は以下の場合に返される。
|
SS$_DEVACTIVE | バスがすでに存在する。PEDRIVER は,NISCA プロトコルのためにすでにこの LAN アダプタを使用しようとしている。 |
SS$_INSFARG | 指定された引数の数が不足している。 |
SS$_INSFMEM | バス・データ構造を作成するのに必要な非ページング・プールが不足している。 |
SS$_INVBUSNAM | 指定されたバス名が不正である。指定されたデバイスは,プロトコルに対して使用できる LAN アダプタでない。 |
SS$_IVBUFLEN | この状態値は以下の場合に返される。
|
SS$_NOSUCHDEV | この状態値は以下の場合に返される。
注意: このルーチンを呼び出すことにより,エラー・ログ・メッセージが作成されることがある。 |
SS$_NOTNETDEV | PEDRIVER が指定された LAN デバイスをサポートしない。 |
SS$_SYSVERDIF | 指定された LAN デバイスのドライバは,PEDRIVER で必要とされている VCI インタフェース・バージョンをサポートしない。 |
PEDRIVER は,指定された LAN アダプタへの接続を作成できなかったことを示す他のエラーを返すことがあります。
E.3 NISCA プロトコルの停止
SYS$LAVC_STOP_BUS ルーチンは,指定された LAN アダプタで NISCA プロトコルを停止します。
注意 すべての LAN アダプタで NISCA プロトコルを停止すると,サテライトがハング状態になり,クラスタ・システムが CLUEXIT バグチェックで異常終了することがあります。 |
このルーチンを使用するには,以下の表に示すパラメータを指定します。
パラメータ | 説明 |
---|---|
BUS_NAME | 参照によって渡される LAN アダプタ名バッファを表す文字列記述子。 LAN アダプタ名は 15 文字以内でなければならない。 |
例: 以下の Fortran サンプル・プログラムでは,SYS$LAVC_STOP_BUS を使用して,LAN アダプタ XQB で NISCA プロトコルを停止する方法を示しています。
PROGRAM STOP_BUS EXTERNAL SYS$LAVC_STOP_BUS INTEGER*4 SYS$LAVC_STOP_BUS INTEGER*4 STATUS STATUS = SYS$LAVC_STOP_BUS ( 'XQB' ) CALL SYS$EXIT ( %VAL ( STATUS )) END |
SYS$LAVC_STOP_BUS サブルーチンは, 表 E-3 に示すように,レジスタ R0 に状態値を返します。
E.3.1 状態
状態 | 結果 |
---|---|
Success | PEDRIVER が,指定されたアダプタで NISCA プロトコルをシャットダウンしようとしていることを示す。 |
Failure | PEDRIVER が,指定された LAN ドライバでプロトコルをシャットダウンできないことを示す。しかし,PEDRIVER はシャットダウンを非同期的に実行するため,他の理由で PEDRIVER がシャットダウンを完了できないことがある。 |
LAVC$STOP_BUS モジュールが正常に実行されると,以下のデバイス・アテンション・エントリがシステム・エラー・ログに書き込まれます。
DEVICE ATTENTION... NI-SCS SUB-SYSTEM... FATAL ERROR DETECTED BY DATALINK... |
さらに,以下の 16 進数がエントリの STATUS フィールドに書き込まれます。
最初のロングワード (00000001)
2 番目のロングワード (00001201)
このエラー・ログ・エントリは,期待される動作を示すもので,無視してもかまいません。しかし,STATUS フィールドの最初のロングワードが 16 進数の 00000001 以外の値の場合は,エラーが発生しているため,さらに調査が必要になることがあります。
SYS$LAVC_STOP_BUS は,以下の表に示すエラー状態コードを返すことがあります。
E.3.2 エラー・メッセージ
状態コード | 説明 |
---|---|
SS$_ACCVIO | この状態は以下の場合に返される。
|
SS$_INVBUSNAM | 指定されたバス名が不正である。指定されたデバイスは, NISCA プロトコルに対して使用できる LAN アダプタでない。 |
SS$_IVBUFLEN | この状態値は以下の場合に返される。
|
SS$_NOSUCHDEV | この状態値は以下の場合に返される。
|
SYS$LAVC_DEFINE_NET_COMPONENT サブルーチンは,物理ネットワーク・コンポーネントの表現を作成します。
パラメータを指定するには,以下の形式を使用します。
STATUS = SYS$LAVC_DEFINE_NET_COMPONENT (
component_description,
nodename_length,
component_type,
lan_hardware_addr,
lan_decnet_addr,
component_id_value )
表 E-4 は, SYS$LAVC_DEFINE_NET_COMPONENT のパラメータについて説明しています。
パラメータ | 説明 |
---|---|
component_description | ネットワーク・コンポーネント名バッファを表す文字列記述子のアドレス。ネットワーク・コンポーネント名の長さは, COMP$C_MAX_NAME_LEN に指定した文字数以下でなければならない。 |
nodename_length | ノード名の長さのアドレス。このアドレスは,COMP$C_NODE タイプの場合は,ネットワーク・コンポーネント名バッファの先頭である。他のコンポーネント・タイプの場合は,0 を使用しなければならない。 |
component_type | コンポーネント・タイプのアドレス。これらの値は, SYS$LIBRARY:LIB.MLB にある $PEMCOMPDEF によって定義される。 |
lan_hardware_addr | コンポーネントの LAN ハードウェア・アドレス (6 バイト) を格納しているバッファの文字列記述子のアドレス。 COMP$C_ADAPTER タイプの場合は,この値を指定しなければならない。他のコンポーネント・タイプの場合は,この値は省略可能である。 |
lan_decnet_addr | コンポーネントの LAN DECnet アドレス (6 バイト) を格納しているバッファの文字列記述子。これはすべてのコンポーネント・タイプで省略可能なパラメータである。 |
component_id_value | コンポーネント ID 値が書き込まれるロングワードのアドレス。 |
正常終了すると, SYS$LAVC_DEFINE_NET_COMPONENT サブルーチンは COMP データ構造を作成し,ID 値を返します。このサブルーチンは,ユーザ指定パラメータをデータ構造にコピーし,参照カウントを 0 に設定します。
コンポーネント ID 値は 32 ビットの値であり,ネットワーク・コンポーネントとの間に 1 対 1 の対応関係があります。これらのコンポーネント ID の一覧は,パケットがあるノードから別のノードに転送されるときに使用されるコンポーネントを指定するために,SYS$LAVC_DEFINE_NET_PATH に渡されます。
SYS$LAVC_DEFINE_NET_COMPONENT は,以下の表に示すエラー状態コードを返すことがあります。
E.4.1 状態
E.4.2 エラー・メッセージ
状態コード | 説明 |
---|---|
SS$_ACCVIO | この状態は以下の場合に返される。
|
SS$_DEVACTIVE | 分析プログラムはすでに実行されている。ネットワーク・コンポーネントおよびネットワーク・コンポーネント・リストを定義する前に, SYS$LAVC_DISABLE_ANALYSIS を呼び出すことにより,分析を停止しなければならない。 |
SS$_INSFARG | 指定された引数の数が不足している。 |
SS$_INVCOMPTYPE | コンポーネント・タイプが 0 であるか,または COMP$C_INVALID 以上の値である。 |
SS$_IVBUFLEN | この状態値は以下の場合に返される。
|
E.5 ネットワーク・コンポーネント・リストの作成
パラメータを指定するには,以下の形式を使用します。
STATUS = SYS$LAVC_DEFINE_NET_PATH (
network_component_list,
used_for_analysis_status,
bad_component_id )
表 E-5 は, SYS$LAVC_DEFINE_NET_PATH のパラメータについて説明しています。
パラメータ | 説明 |
---|---|
network_component_list | パス内の各コンポーネントのコンポーネント ID 値を格納しているバッファの文字列記述子のアドレス。ネットワーク・メッセージが通過する順に,コンポーネント ID 値を指定する。コンポーネントは以下の順に指定する。
ネットワーク・パス内の 2 つのノードと 2 つの LAN アダプタを指定しなければならない。バッファ長は 15〜509 バイトの範囲でなければならない。 |
used_for_analysis_status | 書き込まれるロングワード状態値のアドレス。この状態は,このネットワーク・パスがネットワーク障害分析を行う価値があるかどうかを示す。 |
bad_component_id | コンポーネント・リストを処理しているときにエラーが検出された場合,エラーのあるコンポーネント ID が格納されるロングワード値のアドレス。 |
目次 | 索引 |
|