Netcompo アプリケーション会話サービス 2.1.1 LU0会話サービス編 - Solaris OE -
目次 索引 前ページ次ページ

第5章 インターフェース

本章では、アプリケーションプログラムが LU0会話サービスを使用するためのインターフェースについて説明します。

5.1 アクセスブロック

アプリケーションプログラムと LU0会話サービス間で使用する、アクセスブロックについて説明します。

5.1.1 rcbの形式

アプリケーションプログラムとLU0会話サービス間の情報交換は、rcb(request control block)と呼ばれる128バイトのアクセスブロックを使用して行います。rcbに使用する領域は、アプリケーションプログラムで獲得してください。"図:rcbの形式と内容"にrcbの形式と内容を示します。詳細は、ヘッダーファイル (/opt/FSUNnet/include/lu0.h)を参照してください。

リザーブ域には、0を設定してください。

[図:rcbの形式と内容]

0(0x00)

LU0会話サービス作業域 40バイト

40(0x28)

完了情報(l_cplt)

44(0x2c)

完了詳細情報(l_errdtl)

リクエストモード(l_mode)

48(0x30)

獲得サイズ(l_bfsiz)

52(0x34)

バッファアドレス(l_bufadr)

56(0x38)

LU名(l_unit[8])

60(0x3c)

64(0x40)

送信コマンド(l_wcmd)

リザーブ

受信コマンド(l_rcmd)

完了通知モード(l_cpltmd)

68(0x44)

送信データ長(l_wlng)

72(0x48)

受信データ長(l_rlng)

76(0x4c)

送信バッファアドレス(l_wbfp)

80(0x50)

受信バッファアドレス(l_rbfp)

84(0x54)

動作モード情報(l_amode)

タイマ値(l_time)

88(0x58)

確立モード情報1(l_cmd1)

確立モード情報2(l_cmd2)

送受信モード情報1(l_wrmd1)

送受信モード情報2(l_wrmd2)

92(0x5c)

最大利用者データ長(l_aplmx)

96(0x60)

-RESP/LUSコマンドセンス情報(l_sense)

100(0x64)

BIND情報(l_bind)

リザーブ

PROC-ERROR理由コード(l_prcerr)

104(0x68)

上り最大RU長(l_maxru)

108(0x6c)

完了受信用パイプfd(l_pipfd)

112(0x70)

完了マクロコード(l_cmcode)

リザーブ

116(0x74)

リザーブ 4バイト

124(0x7c)

リザーブ 4バイト

全体サイズ 128バイト

5.1.2 マクロ命令別設定パラメ

rcbの各フィールドは、マクロ命令の種別により設定するパラメタが異なります。マクロ命令呼出し時に、アプリケーションプログラムが設定するパラメタを"表:マクロ命令呼出し時に設定するパラメタ"に、マクロ命令が正常完了時に、LU0会話サービスが通知するパラメタを"表:マクロ命令完了時に通知するパラメタ"に示します。

なお、各フィールドの設定詳細および通知詳細については、"インターフェース詳細"の各マクロ命令を参照してください。

[表:マクロ命令呼出し時に設定するパラメタ]

マクロ命令

lu0open1

lu0close

lu0cnct

lu0disc

lu0write

lu0read

lu0check

lu0can

lu0getb

lu0freb

lu0rcv

完了情報

×

×

×

×

×

×

×

×

×

×

×

完了詳細情報

×

×

×

×

×

×

×

×

×

×

×

リクエストモード

×

×

×

×

×

×

×

×

獲得サイズ

×

×

×

×

×

×

×

×

×

×

バッファアドレス

×

×

×

×

×

×

×

×

×

×

LU名

送信コマンド

×

×

×

×

×

×

×

×

×

×

受信コマンド

×

×

×

×

×

×

×

×

×

×

×

完了通知モード

×

×

×

×

×

×

×

送信データ長

×

×

×

×

×

×

×

×

×

受信データ長

×

×

×

×

×

×

×

×

×

×

×

送信バッファアドレス

×

×

×

×

×

×

×

×

×

受信バッファアドレス

×

×

×

×

×

×

×

×

×

動作モード情報

×

×

×

×

×

×

×

×

×

×

タイマ値

×

×

×

×

×

×

×

×

×

確立モード情報1

×

×

×

×

×

×

×

×

×

×

確立モード情報2

×

×

×

×

×

×

×

×

×

×

送受信モード情報1

×

×

×

×

×

×

×

×

×

×

送受信モード情報2

×

×

×

×

×

×

×

×

×

×

最大利用者データ長

×

×

×

×

×

×

×

×

×

×

-RESP/LUSコマンドのセンス情報

×

×

×

×

×

×

×

×

×

×

BIND情報

×

×

×

×

×

×

×

×

×

×

×

PROC-ERROR理由コード

×

×

×

×

×

×

×

×

×

×

×

上り最大RU長

×

×

×

×

×

×

×

×

×

×

×

完了受信用パイプfd

×

×

×

×

×

×

×

×

×

×

×

完了マクロコード

×

×

×

×

×

×

×

×

×

×

×

○:必ず設定してください。
△:必要に応じて設定してください。
×:0を指定してください。

[表:マクロ命令完了時に通知するパラメタ]

マクロ命令

lu0open1

lu0close

lu0cnct

lu0disc

lu0write

lu0read

lu0check

lu0can

lu0getb

lu0freb

lu0rcv

完了情報

完了詳細情報

リクエストモード

×

×

×

×

×

×

×

×

×

×

×

獲得サイズ

×

×

×

×

×

×

×

×

×

×

×

バッファアドレス

×

×

×

×

×

×

×

×

×

×

LU名

送信コマンド

×

×

×

×

×

×

×

×

×

×

×

受信コマンド

×

×

×

×

×

×

×

×

完了通知モード

×

×

×

×

×

×

×

×

×

×

×

送信データ長

×

×

×

×

×

×

×

×

×

×

×

受信データ長

×

×

×

×

×

×

×

×

送信バッファアドレス

×

×

×

×

×

×

×

×

×

×

×

受信バッファアドレス

×

×

×

×

×

×

×

×

動作モード情報

×

×

×

×

×

×

×

×

×

×

×

タイマ値

×

×

×

×

×

×

×

×

×

×

×

確立モード情報1

×

×

×

×

×

×

×

×

×

×

×

確立モード情報2

×

×

×

×

×

×

×

×

×

×

×

送受信モード情報1

×

×

×

×

×

×

×

×

×

送受信モード情報2

×

×

×

×

×

×

×

×

×

最大利用者データ長

×

×

×

×

×

×

×

×

×

×

×

-RESP/LUSコマンドのセンス情報

×

×

×

×

×

×

BIND情報

×

×

×

×

×

×

×

×

×

PROC-ERROR理由コード

×

×

×

×

×

×

×

×

×

上り最大RU長

×

×

×

×

×

×

×

×

×

完了受信用パイプfd

×

×

×

×

×

×

×

×

×

×

完了マクロコード

×

×

×

×

×

×

×

×

×

×

○:必ず通知します。
△:通知する場合があります。
×:通知しません。

5.1.3 送受信バッファの形

アプリケーションプログラムとLU0会話サービス間のデータの受け渡しは、送受信バッファと呼ばれる共用メモリ上の領域を使用します。この領域は、lu0getbマクロ命によって獲得され、lu0frebマクロ命によって解放されます。アプリケーションプログラムがデータの送受信を行う場合、必ずlu0getbマクロ命令によって獲得した領域を使用してください。また、非同期型マクロ命令発行時に使用するバッファの内容は、マクロ命令が完了するまで変更しないでください。lu0getbマクロ命令、およびlu0frebマクロ命令については、"インターフェース詳細"を参照してください。

なお、相手ホストにデータを送信する場合、本バッファの先頭からユーザーデータを格納してください。相手ホストからデータを受信した場合、本バッファの先頭からユーザーデータが格納されます。

"図:送受信バッファの形式"に送受信バッファの形式を、"図:送受信バッファの使用方法(1)"に送信時の送受信バッファの使用方法を、"図:送受信バッファの使用方法(2)"に受信時の送受信バッファの使用方法を示します。

[図:送受信バッファの形式]

[図:送受信バッファの使用方法(1)]

[図:送受信バッファの使用方法(2)]

5.2 インターフェース詳細

LU0会話サービスが提供する各マクロ命令の詳細について、以下に説明します。各マクロ命令で設定すべきパラメタの一覧については、"マクロ命令別設定パラメタ"を参照してください。

なお、マクロ命令の復帰値が0以外の時、完了情報に何らかの通知がありますので、必ず完了情報を確認してください。マクロ命令の復帰値が0の時は正常完了です。ただし、lu0checkマクロ命令の場合は、復帰値が0であっても完了情報を確認してください。

完了情報については"完了情報"を参照してください。


5.2.1 lu0open1マクロ命

アプリケーションプログラムの登録をします。

5.2.1.1 記述形式

#include  "lu0.h" 

int    lu0open1(rcbp)
struct lu0rb *rcbp 

5.2.1.2 要求時のパラメタ

lu0open1マクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

使用するLUを識別するためのLU名を、8文字以内で設定します。ただし、8文字に満たない場合は、LU名の最後に0x00を設定します。なお、本パラメタは、FNA-BASEの定義ファイル(/etc/opt/FSUNnet/vcp配下のfnaparm)に定義したvluオペランドのnameパラメタに存在しているものを設定します。また、本パラメタは ASCIIコードで設定してください。

5.2.1.3 完了時のパラメタ

lu0open1マクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

LU名(l_unit)

要求時に設定したLU名が通知されます。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

完了受信用パイプfd(l_pipfd)

pollシステムコールで非同期型マクロ命令の完了を待ち合わせるためのパイプfdが通知されます。


5.2.2 lu0closeマクロ命

アプリケーションプログラムの登録を抹消します。

5.2.2.1 記述形式

#include  "lu0.h" 

int    lu0close(rcbp)
struct lu0rb *rcbp

5.2.2.2 要求時のパラメタ

lu0closeマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

lu0open1マクロ命令発行時に設定したLU名を設定します。

5.2.2.3 完了時のパラメタ

lu0closeマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

LU名(l_unit)

要求時に設定したLU名が通知されます。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。


5.2.3 lu0cnctマクロ命令

相手システムとのセションの確立をします。
指定されたパラメタによって、端末主導型またはホスト主導型のセション確立方法となります。

5.2.3.1 記述形式

#include  "lu0.h" 

int    lu0cnct(rcbp) 
struct lu0rb *rcbp 

5.2.3.2 要求時のパラメタ

lu0cnctマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

リクエストモード(l_mode)

セション確立方法を設定します。

◆LU0CACC

ホスト主導型

◆LU0CACQ

端末主導型

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

完了通知モード(l_cpltmd)

lu0cnctマクロ命令の完了が同期型か非同期型かを設定します。

◆LU0SYNC

同期型

◆LU0ASYN

非同期型

送信データ長(l_wlng)

リクエストモードで端末主導型を設定したとき、送信するセション確立要求データ(INIT-SELFコマンドのRU3以降)のデータ長を設定します。

送信バッファアドレス(l_wbfp)

リクエストモードで端末主導型を設定したとき、セション確立要求データ(INIT-SELFコマンドのRU3以降)が格納されている送受信バッファのアドレスを設定します。

受信バッファアドレス(l_rbfp)

相手システムから受信するBINDコマンドのセションパラメタとユーザーデータまたはSSCPデータを格納するための送受信バッファのアドレスを設定します。

タイマ値(l_time)

BINDコマンド受信までの待ち時間を秒単位で設定します。ただし、完了通知モードに同期型を設定したときに有効です。

◆1〜3600

設定時間を待ち合わせます。

◆0

BINDコマンドを受信するまで完了しません。

動作モード情報(l_amode)

各制御機能をアプリケーションプログラムが行うか、LU0会話サービスが行うかを設定します。"図:動作モード情報の形式"に動作モード情報の形式を示します。

[図:動作モード情報の形式]

■チェーンデータスルー制御

送信データの分割受信データの組立をアプリケーションプログラムで行うか否かを設定します。

◆0

行わない。LU0会話サービスで分割と組立をします。

◆1(CTLCHAN)

行う。アプリケーションプログラムで分割と組立をします。

応答要求スルー制御

送信データの応答要求種別をアプリケーションプログラムで制御するか否かを設定します。

◆0

行わない。LU0会話サービスで応答要求種別を制御します。

◆1(CTLREPL)

行う。アプリケーションで応答要求種別を制御します。

-RESP制御

相手ホストから受信したデータに対し、アプリケーションプログラムで-RESP送信を行うか否かを設定します。

◆0

行わない。LU0会話サービスがアプリケーションプログラムに受信データを通知した時点で+RESPを送信します。

◆1(CTLRESP)

行う。アプリケーションプログラムで-RESPを送信します。

ブラケットプロトコル制御

ブラケットプロトコルを使用するか否かを設定します。

◆0

使用しない。ブラケットプロトコルを使用しません。

◆1(CTLBRKT)

使用する。ブラケットプロトコルを使用します。

送信権獲得制御

lu0writeマクロ命令発行時に送信権がないとき、LU0会話サービスで自動的に送信権を獲得し、データを送信するか、送信権なしでエラーを通知するかを設定します。

◆0

行わない。送信権なしのエラーを通知し、データを送信しません。

◆1(CTLCD)

行う。LU0会話サービスで自動的に送信権を獲得し、データを送信します。

確立モード情報1(l_cmd1)

セション確立時に必要な情報を設定します。"図:確立モード情報1の形式"に確立モード情報1の形式を示します。

[図:確立モード情報1の形式]

SSCPデータ通知の必要有無

相手ホストシステムが、SSCPデータ(SYSTEM READYメッセージ)を送信する設定の場合、そのデータをアプリケーションプログラムに通知するか否かを設定します。

◆0

通知しない。LU0会話サービスでSSCPデータを破棄します。

◆1(SSCPNTC)

通知する。SSCPデータをアプリケーションに通知します。

確立モード情報2(l_cmd2)

セション確立時に必要な情報を設定します。"図:確立モード情報2の形式"に確立モード情報2の形式を示します。

[図:確立モード情報2の形式]

応答要求タイプ

相手ホストシステムの定義に合わせ、応答要求タイプを設定します。

◆0000 または 1000(RESPRQT1)

タイプ1

◆0010(RESPRQT2)

タイプ2

◆1010(RESPRQT3)

タイプ3

相手ホストシステムの定義と一致していない場合、送信したデータがホストシステムで破棄されることがあります。

最大利用者データ長(l_aplmx)

アプリケーションプログラムがデータの送受信する最大データ長(FIC〜LICの合計値)を1〜12,288の範囲内で設定してください。

5.2.3.3 完了時のパラメタ

lu0cnctマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常完了時には、ELU0OKが通知されます。異常完了時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。

受信コマンド(l_rcmd)

受信コマンドの種別が通知されます。

◆L_DATASSCP

SSCPデータ

◆L_BIND

BINDコマンド

SSCPデータを受信した場合、セションは、確立されません。セションを確立する場合は、再度、当マクロ命令を発行し、BINDコマンドを受信してセションを確立してください。

受信データ長(l_rlng)

受信したBINDまたはSSCPデータのデータ長が通知されます。完了情報がELU0OKのとき有効です。

受信バッファアドレス(l_rbfp)

BINDのセションパラメタとユーザーデータまたはSSCPデータが格納されているバッファアドレスが通知されます。

-RESP/LUSコマンドのセンス情報(l_sense)

INIT-SELFに対する-RESPを受信した時(完了情報:ELU0SESN,完了詳細情報:ELU0_INTP)に通知されます。

BIND情報(l_bind)

"図:BIND情報の形式"にBIND情報の形式を示します。

[図:BIND情報の形式]

応答要求の送信種別

送信データに確定応答を使用するか、例外応答要求を使用するかを通知します。動作モード情報で応答要求スルー制御を行うと設定した場合、アプリケーションプログラムは本パラメタに従って応答要求を送信してください。

◆01(BRSPER)

例外応答要求でリクエストを送信します。

◆10(BRSPDR)

確定応答要求でリクエストを送信します。

◆11(BRSPED)

確定応答要求または例外応答要求でリクエストを送信します。

■FMHの使用有無

相手ホストシステムとの取り決めで、FMHビットによるリクエスト中のヘッダー有無表示を使用するか否かを通知します。

◆0

FMHビットを使用しません。

◆1(BFMHRS)

FMHビットを使用します。

PROC-ERROR理由コード(l_prcerr)

相手ホストシステムからPROC-ERRORコマンドによってセション確立が拒否された場合(完了情報:ELU0SESN,完了詳細情報:ELU0_PROC)、PROC-ERRORコマンドに含まれる理由コードが通知されます。

上り最大RU長(l_maxru)

BINDパラメタで設定された リクエスト送信時の最大RU長を通知します。この値は、チェーンデータスルー制御を行うときに使用します。


5.2.4 lu0discマクロ命

相手システムとのセションの解放をします。また、非同期型のlu0cnctマクロ命令、lu0writeマクロ命令およびlu0readマクロ命令のキャンセルも要求できます。

5.2.4.1 記述形式

#include  "lu0.h" 

int    lu0disc(rcbp) 
struct lu0rb *rcbp 

5.2.4.2 要求時のパラメタ

lu0discマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

リクエストモード(l_mode)

セション解放の方法を設定します。なお、各モードについては"用語の説明"を参照してください。

◆LU0FRC

強制終了(TERM-SELF(forced))

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

完了通知モード(l_cpltmd)

lu0discマクロ命令の完了が同期型か非同期型かを設定します。

◆LU0SYNC

同期型

◆LU0ASYN

非同期型

5.2.4.3 完了時のパラメタ

lu0discマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。

-RESP/LUSコマンドのセンス情報(l_sense)

-RESP受信を他のマクロ命令の完了時に通知できなかった場合に通知されます。なお、この時の完了情報は正常(ELU0OK)です。


5.2.5 lu0writeマクロ命

データ送信、コマンド送信、または-RESP送信を要求します。

5.2.5.1 記述形式

#include  "lu0.h" 

int    lu0write(rcbp)  
struct lu0rb *rcbp 

5.2.5.2 要求時のパラメタ

lu0writeマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

送信コマンド(l_wcmd)

送信するデータまたはコマンドの種別を設定します。

◆L_DATA

データ

◆L_LUS

LUSコマンド

◆L_MRESP

-RESP(使用法は-RESP制御を参照してください)

完了通知モード(l_cpltmd)

lu0writeマクロ命令の完了が同期型か非同期型かを設定します。

◆LU0SYNC

同期型

◆LU0ASYN

非同期型

送信データ長(l_wlng)

送信するデータのデータ長を設定します。

送信バッファアドレス(l_wbfp)

送信データが格納されているバッファアドレス(lu0getbマクロ命令で獲得したバッファアドレス)を設定します。

送受信モード情報1(l_wrmd1)

送信データに関する情報を設定します。"図:送受信モード情報1の形式(lu0write)"に送受信モード情報1の形式を示します。

[図:送受信モード情報1の形式(lu0write)]

■FMHの設定

FMHビット表示によるリクエスト中のヘッダー有無を設定します。

◆0

FMHなし。FMHビット表示によるリクエスト中のヘッダーがあります。

◆1(FMH)

FMHあり。FMHビット表示によるリクエスト中のヘッダーがありません。

FMHの設定は、"lu0cnctマクロ命令完了"時に、BIND情報でFMHは使用できますと通知された場合に有効です。FMHが使用できない場合は、0(FMHなし)を設定してください。

■送信権の設定

リクエスト送信と同時に相手ホストシステムに送信権を譲渡するか否かを設定します。

◆0

送信権を譲渡しない。

◆1(CD)

送信権を譲渡する。

送受信モード情報2(l_wrmd2)

送信データに関する情報を設定します。"図:送受信モード情報2の形式(lu0write)"に送受信モード情報2の形式を示します。

[図:送受信モード情報2の形式(lu0write)]

■チェーンの種別

lu0cnctマクロ命令の動作モードでチェーンデータスルー制御を行うと指定した場合、チェーンデータの種別を指定します。

◆00(MIC)

Middle。チェーン分割の途中データ。

◆01(LIC)

Last。チェーン分割の最終データ。

◆10(FIC)

First。チェーン分割の先頭データ。

◆11(OIC)

Only。単一データ。

■応答要求種別

lu0cnctマクロ命令の動作モードで応答要求スルー制御を行うと指定した場合、確定応答要求で送信するか否かを設定します。

◆0(DR1)

確定応答要求。

◆1(ER1)

例外応答要求。

-RESP/LUSコマンドのセンス情報(l_sense)

送信コマンドで-RESPまたはLUSコマンドを設定したとき、センス情報を設定します。

5.2.5.3 完了時のパラメタ

lu0writeマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。

-RESP/LUSコマンドのセンス情報(l_sense)

-RESPを受信した場合(完了情報: ELU0EXP)に、相手ホストシステムから受信したセンス情報が通知されます。


5.2.6 lu0readマクロ命

データ受信、またはコマンド受信をします。

5.2.6.1 記述形式

#include  "lu0.h" 

int    lu0read(rcbp) 
struct lu0rb *rcbp

5.2.6.2 要求時のパラメタ

lu0readマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

リクエストモード(l_mode)

セション解放の方法を設定します。

◆LU0NML

通常のデータ受信

◆LU0ODR

緩終了指示の受信要求

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

完了通知モード(l_cpltmd)

lu0readマクロ命令の完了が同期型か非同期型かを設定します。

◆LU0SYNC

同期型

◆LU0ASYN

非同期型

受信バッファアドレス(l_rbfp)

LU0会話サービスが受信データを格納するバッファアドレス(lu0getbマクロ命令で獲得したバッファアドレス)を設定します。

タイマ値(l_time)

データ受信までの待ち時間を秒単位で設定してください。ただし、完了通知モードに同期型を設定したときに有効です。

◆1〜3600

設定時間を待ち合わせます。

◆0

データを受信するまで完了しません。

5.2.6.3 完了時のパラメタ

lu0readマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。

受信コマンド(l_rcmd)

受信コマンドの種別が通知されます。なお、データ以外の受信コマンドについては"用語の説明"を参照してください。

◆L_SSCPDATA

SSCPデータ

◆L_DATA

データ

◆L_LUS

LUSコマンド

◆L_CANCEL

CANCELコマンド

◆L_CLEAR

CLEARコマンド

受信データ長(l_rlng)

受信したデータ長が通知されます。ただし、データまたはSSCPデータを受信した場合に有効です。

受信バッファアドレス(l_rbfp)

受信データを格納したバッファアドレス(lu0getbマクロ命令で獲得したバッファアドレス)が通知されます。

送受信モード情報1(l_wrmd1)

受信データに関する情報が通知されます。"図:送受信モード情報1の形式(lu0read)"に送受信モード情報1の形式を示します。

[図:送受信モード情報1の形式(lu0read)]

■FMHの受信

相手システムから受信したリクエストにFMHビット表示によるリクエスト中のヘッダー有無を通知します。

◆0

FMHなし。FMHビット表示によるリクエスト中のヘッダーはありません。

◆1(FMH)

FMHあり。FMHビット表示によるリクエスト中のヘッダーがあります。

■送信権の有無

相手ホストシステムから送信権を受信したか否かを通知します。

◆0

送信権なし。相手ホストシステムから送信権は譲渡されませんでした。

◆1(CD)

送信権あり。相手ホストシステムから送信権が譲渡されました。

相手ホストシステムは送信権だけを譲渡するために、送信権付きの0バイトデータを送信します。このとき、0バイトのデータ受信を通知します。

送受信モード情報2(l_wrmd2)

受信データに関する情報が通知されます。"図:送受信モード情報2の形式(lu0read)"に送受信モード情報2の形式を示します。

[図:送受信モード情報2の形式(lu0read)]

■チェーンの種別

lu0cnctマクロ命令の動作モード情報でチェーンデータスルー制御を行うと設定したとき、受信データのチェーン種別を通知します。

◆00(MIC)

Middle。チェーン分割されたデータの内、途中のデータです。

◆01(LIC)

Last。チェーン分割されたデータの内、最後のデータです。

◆10(FIC)

First。チェーン分割されたデータの内、最初のデータです。

◆11(OIC)

Only。単一データです。

■ブラケットの種別

lu0cnctマクロ命令の動作モード情報でブラケットプロトコル制御を使用すると指定したとき、受信データのブラッケット種別を通知します。

◆00

ブラケットを継続します。

◆01

ブラケットを終結します。

◆10

ブラケットを開始します。

◆11

ブラケットを開始と終結をします。

-RESP/LUSコマンドのセンス情報(l_sense)

-RESP/LUSコマンドの場合に通知されます。ただし、-RESPのセンス情報が通知されるのは、完了情報が否定応答受信(ELU0EXP)の時です。


5.2.7 lu0checkマクロ命

受信状態の問い合わせをします。

5.2.7.1 記述形式

#include  "lu0.h" 

int    lu0check(rcbp)
struct lu0rb *rcbp

5.2.7.2 要求時のパラメタ

lu0checkマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

5.2.7.3 完了時のパラメタ

lu0checkマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0RCV(受信データ有り)またはELU0NRCV(受信データなし)が通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。


5.2.8 lu0canマクロ命

lu0readマクロ命令のキャンセルをします。

5.2.8.1 記述形式

#include  "lu0.h"

int    lu0can(rcbp)
struct lu0rb *rcbp

5.2.8.2 要求時のパラメタ

lu0canマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

5.2.8.3 完了時のパラメタ

lu0canマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。


5.2.9 lu0getbマクロ命

送受信バッファを獲得します。

5.2.9.1 記述形式

#include  "lu0.h" 

int    lu0getb(rcbp) 
struct lu0rb *rcbp 

5.2.9.2 要求時のパラメタ

lu0getbマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

獲得サイズ(l_bfsiz)

獲得したいバッファサイズを設定します。指定可能な値は、1から12,288です。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

5.2.9.3 完了時のパラメタ

lu0getbマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

バッファアドレス(l_bufadr)

獲得したバッファのアドレスが通知されます。

LU名(l_unit)

要求時に設定したLU名が通知されます。


5.2.10 lu0frebマクロ命

送受信バッファを解放します。

5.2.10.1 記述形式

#include  "lu0.h" 

int    lu0freb(rcbp) 
struct lu0rb *rcbp 

5.2.10.2 要求時のパラメタ

lu0gfrebマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

バッファアドレス(l_bufadr)

lu0getbマクロ命令完了時に通知されたバッファアドレスを設定します。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

5.2.10.3 完了時のパラメタ

lu0frebマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。


5.2.11 lu0timeマクロ命令

現在のLU0会話サービスでは使用しません。既存アプリケーションとのインターフェース互換のために関数名が残っています。

5.2.11.1 記述形式

#include <signal.h> 

void lu0time()

5.2.12 lu0termマクロ命

現在のLU0会話サービスでは使用しません。既存アプリケーションとのインターフェース互換のために関数名が残っています。

5.2.12.1 記述形式

#include <signal.h> 

void lu0term()

5.2.13 lu0sigマクロ命

現在のLU0会話サービスでは使用しません。既存アプリケーションとのインターフェース互換のために関数名が残っています。

5.2.13.1 記述形式

#include  <signal.h>

void lu0sig()

5.2.14 lu0rcvマクロ命

非同期型マクロ命令の完了を受け取ります。完了したマクロ命令の種類は、" 完了マクロコード"で識別してください。

5.2.14.1 記述形式

  #include  "lu0.h" 

  int    lu0rcv(rcbp) 
  struct lu0rb *rcbp

5.2.14.2 要求時のパラメタ

lu0rcvマクロ命令発行時にアプリケーションプログラムが設定するパラメタを以下に説明します。

LU名(l_unit)

lu0open1マクロ命令で設定したLU名を設定します。

5.2.14.3 完了時のパラメタ

lu0rcvマクロ命令完了時にLU0会話サービスが通知するパラメタを以下に説明します。

完了情報(l_cplt,l_errdtl)

正常復帰時には、ELU0OKが通知されます。異常復帰時にはそれ以外が通知されます。詳細は"完了情報"を参照してください。

LU名(l_unit)

要求時に設定したLU名が通知されます。

完了マクロコード(l_cmcode)

完了したマクロ命令のコードが通知されます。

ただし、非同期型マクロ命令の完了が受け取れなかった場合は、0を通知します。

◆LU0CNCT

lu0cnctマクロ命が完了しました。"lu0cnctマクロ命令"の"完了時のパラメタ"を参照してください。

◆LU0DISC

lu0discマクロ命が完了しました。"lu0discマクロ命令"の"完了時のパラメタ"を参照してください。

◆LU0WRITE

lu0writeマクロ命が完了しました。"lu0writeマクロ命令"の"完了時のパラメタ"を参照してください。

◆LU0READ

lu0readマクロ命が完了しました。"lu0readマクロ命令"の"完了時のパラメタ"を参照してください。

5.3 完了情報

完了情報、完了詳細情報およびエラー発生時の対処方法について説明します。

5.3.1 完了情報の形式

完了情報は、マクロ命令完了時、rcbの一部に"図:完了情報の形式"の形式で通知されます(rcbについては"アクセスブロック"を参照してください)。

[図:完了情報の形式]

完了情報の分類を以下に示します。
完了情報の値

0001〜0999:
FNA-BASEからの完了
1000〜7999:
LU0会話サービスからの完了
8000〜:
LU0ライブラリからの完了

なお、未定義の値が通知された場合の対処方法は"5.3.4 エラー発生時の対処番号5"としてください。

5.3.2 完了情報一覧

LU0会話サービスが、アプリケーションプログラムに通知する完了情報を"表:完了情報"に示します。なお、完了詳細情報は"完了詳細情報一覧"を、対処方法は"エラー発生時の対処方法"を参照してください。

[表:完了情報]

完了情報
(エラー番号)

lu0open1

lu0close

lu0cnct

lu0disc

lu0read

lu0write

lu0check

lu0can

lu0getb

lu0freb

lu0rcv

意味

完了詳細情報

対処方法

ELU0OK(0000)


正常完了

×

1

ENOENT(0002)










FNA-BASEが正しくインストールされていません。

×

2

EINTR(0004)



シグナルによる割込みが発生しました。

×

3

EIO(0005)










アダプターのハード異常を検出しました。

×

4

ENXIO(0006)









無効なデバイスが指定されました。

×

4

EAGAIN(0011)










LU0会話サービスの異常を検出しました。

×

5

EACCES(0013)










FNA-BASEのオープンでアクセス資格エラーを検出しました。

×

2

EFAULT(0014)








LU0会話サービスの異常を検出しました。

×

5

ENOSPC(0016)









FNA-BASE内でメモリの獲得に失敗しました。

×

7

EEXIST(0017)










FNA-BASEのオープンに失敗しました。(ファイルがすでに存在します)

×

2

ENOTDIR(0020)










FNA-BASEのオープンに失敗しました。(パス名の中に存在しないディレクトリがあります)

×

2

EISDIR(0021)










FNA-BASEのオープンに失敗しました。(ディレクトリに書き込もうとしました)

×

2

EINVAL(0022)








LU0会話サービスの異常を検出しました。

×

5

ENFILE(0023)










FNA-BASEのオープンに失敗しました。(システムのファイルテーブルがいっぱいで一時的にオープンできません)

×

7

EMFILE(0024)










FNA-BASEのオープンに失敗しました。(最大同時オープン数を超えました)

×

7

EROFS(0030)










FNA-BASEのオープンに失敗しました。(読込み専用ファイルを指定しました)

×

2

EMLINK(0031)










FNA-BASEのオープンに失敗しました。(ファイルのリンク数が最大数を超えました)

×

2

ENOSR(0063)










FNA-BASEのオープンに失敗しました。(ストリームのメモリ資源が不足しています)

×

7

EAOCHK(0185)









通信異常が発生しました。

*

EAOSEQ(0186)









シーケンスエラーを検出しました。

*

EAOFCLS(0187)








FNA-BASE停止処理中またはFNA-BASE内部処理論理エラーが発生しました。

×

9

EAOCAN(0189)









他プロセスから受信要求がキャンセルされました

×

5

EAONRDY(0200)










FNA-BASEが起動されていません。

×

9

ELU0CEND(1000)








lu0canマクロ命令により、lu0readマクロ命令がキャンセルされました。またはlu0discマクロ命令によりlu0cnct、lu0read、lu0writeマクロ命令がキャンセルされました。

×

1

ELU0CANT(1001)











lu0canマクロ命令が発行されましたが lu0readマクロ命令が発行されてないか、またはlu0readマクロ命令がすでに完了しています。

×

1

ELU0RCV(1002)











ホストから受信しているデータが有ります。

×

1

ELU0NRCV(1003)











ホストから受信しているデータは有りません。

×

1

ELU0STOP(1004)



stplu0コマンドにより LU0会話サービスが停止しました。

×

11

ELU0ODR(1005)









ホストから緩終了指示を受信した。

×

12

ELU0MPR(2001)





アプリケーションプログラムのエラーです。(マクロパラメタエラーを検出しました)

*

ELU0MSEQ(2003)





アプリケーションプログラムのエラーです。(マクロシーケンスエラーを検出しました)

×

13

ELU0RSCL(2004)










LU0会話サービス内で資源不足が発生しました。

×

5

ELU0BUFL(2005)









受信領域不足が発生しました。lu0nctマクロ命令に設定された最大利用者データ長を超えてホストからデータを受信したか、アプリケーションプログラムが用意した送受信バッファの大きさを超えてホストからデータを受信しました。

×

14

ELU0SESN(2006)










セションの確立に失敗しました。

*

ELU0SND(2007)










送信不可能状態です。

*

ELU0EXP(2008)









ホストから-RESPを受信しました。

×

15

ELU0SDSC(2009)









ホストからUNBINDコマンドを受信したため、セションが解放されました。

×

16

ELU0BUG(2010)





LU0会話サービスで内部矛盾を検出しました。

*

ELU0USE(2011)










設定されたLU名は、他のプロセスで使用されています。

×

17

ELU0PER(2012)









プロトコルエラーを検出しました

*

ELU0RSP(2013)










受信したチェーンデータに対して否定応答を送信しました。

×

18

ELU0ODNG(2014)









緩終了処理中に異常が発生しました。

×

19

ELU0THNG(2015)










スレッドの起動に失敗しました。

*

EL0LTIME(8001)










lu0cnctマクロ命令または、lu0readマクロ命令で、指定時間内にデータ受信できませんでした

×

20

EL0LMSEQ(8101)











アプリケーションプログラムのエラーです。(マクロシーケンスエラーを検出しました)

×

13

EL0LUDUNT(8102)


LU名が存在しません。

×

21

EL0LMULTI(8103)











すでにLU名が存在しています。

×

22

EL0LEXADR(8104)











送受信バッファのアドレスがrcbに設定されていないか、lu0getbマクロ命令で獲得していない送受信バッファのアドレスが設定されています。

×

23

EL0LBUSE(8105)











送受信バッファが使用中のため解放できません。

×

24

EL0LNOREQ(8106)











非同期型マクロ命令を受け付けていません。

×

25

EL0LEXECUT(8107)











非同期型マクロ命令は完了していません。

×

26

EL0LSHMOV(8108)











シェアメモリ・セグメントの数がシステムの規定値を超えています。

*

EL0LSIZE(8109)











lu0getb マクロ命令で指定された獲得バッファサイズが0です。

×

28

EL0LNOSR(8201)










LU0ライブラリ内で資源不足が発生しました。

×

27

EL0LINACT(8202)











LU0会話サービスが起動されていません。

×

30

EL0LMQERR(8203)











LU0ライブラリ用メッセージキューの獲得に失敗しました。

*

EL0LMQACC(8204)



メッセージキューアクセスエラーが発生しました。

*

EL0LLBSYS(8205)

LU0ライブラリが誤動作しました。

*

EL0LPIERR(8207)











named pipe fdの獲得に失敗しました。

*

EL0LPIACC(8208)











named pipeアクセスエラーが発生しました。

*

●:当該マクロ命令に完了します。
○:完了詳細情報があります。
×:完了詳細情報はありません。
*:対処方法は完了詳細情報を参照してください。

5.3.3 完了詳細情報一覧

LU0 会話サービスが、アプリケーションプログラムに通知する完了詳細情報を表4.5 に示します。なお、対処方法については"エラー発生時の対処方法"を参照してください。

[表:完了詳細情報]

完了情報

完了詳細情報

意味

対処方法

EAOCHK(0185)
EAOSEQ(0186)

1

EAVR_INAC

パスがイナクティブです。

31

2

EAVR_INDL

DLCが未確立です。

32

3

EAVR_INPU

ホスト側のPUがイナクティブです。

33

4

EAVR_INLU

ホスト側のLUがイナクティブです。

5

EAVR_SBUF

送信バッファが不足しています。

7

9

EAVR_NSES

PROC-ERRORを受信しました。

35

10

EAVR_ERNO

受信シーケンス番号エラーを検出しました。

36

20

EAVR_RCLS

セション解放要因が発生しました。

16

21

EAVR_ESES

SSCP-LUセションが解放されました。

33

40

EAVR_EDLC

DLCレベルの異常が発生しました。

38

101

EAVR_BFOP

セション確立前状態のため受け付けられません。(シーケンス異常)

54

120

EAVR_ECOD

PIDエラーが発生しました。

5

121

EAVR_EPRL

パラメタエラーが発生しました。

122

EAVR_ERCV

openデータ種別と違うデータ種別が指定されました。

123

EAVR_EDAT

データ領域のアドレス指定誤りです。

2003

EAVR_SEER

VCPで内部矛盾が発生しました。

2006

EAVR_DUAL

データ種別の二重発行です。(VCP内部矛盾)

2009

EAVR_EPAR

VCPライブラリでパラメタエラーが発生しました。(VCP内部矛盾)

2014

EAVR_NTBL

PU/LUテーブルがありません。(VCP内部矛盾)

ELU0MPR(2001)

5

ELU0_RMOD

リクエストモードエラーが発生しました。

39

6

ELU0_UNIT

LU名エラーが発生しました。

40

7

ELU0_WCMD

送信コマンドエラーが発生しました。

41

8

ELU0_WBUF

送信バッファアドレスエラーが発生しました。

42

9

ELU0_RBUF

受信バッファアドレスエラーが発生しました。

10

ELU0_MOD1

送受信モード情報1エラーが発生しました。

43

11

ELU0_MOD2

送受信モード情報2エラーが発生しました。

12

ELU0_MAXD

最大利用者データ長エラーが発生しました。

44

13

ELU0_SESN

-RESP/LUS のセンス情報エラーが発生しました。

45

14

ELU0_CPMD

完了通知モードエラーが発生しました。

39

ELU0SESN(2006)

1

ELU0_INTP

送信したINIT-SELFに対して、-RESPを受信しました。

35

2

ELU0_PROC

送信したINIT-SELFに対して、PROC-ERRORを受信しました。

3

ELU0_BIND

BINDコマンドでセションパラメタエラーが発生しました。

46

4

ELU0_TIMO

BIND受信監視タイムアウトが発生しました。

47

ELU0SEND(2007)

2

ELU0_NOCD

送信権が有りません。

48

3

ELU0_DATA

通知するデータがあります。

49

ELU0BUG(2010)

1

ELU0_BUG1

発行していないマクロ命令が完了しました。

5

2

ELU0_BUG2

状態遷移エラーが発生しました。

ELU0PER(2012)

2

ELU0_REST

セション解放処理中の為、送信はできません。

50

3

ELU0_NODR

チェーンデータ送信中の為、緩終了はできません。

51

ELU0LLBSYS(8205)

3

ELU0_WSHM

送信バッファエラー(シェアメモリエラー)

29

4

ELU0_RSHM

受信バッファエラー(シェアメモリエラー)

その他

-------


52

MLU0THNG(2015)
EL0LSHMOV(8108)
EL0LMQERR(8203)
EL0LMQACC(8204)
EL0LPIERR(8206)
EL0LPIACC(8207)
EL0LPIACC(8208)

システムの errnoの値(注)

53

注) システムのerrnoの値は、"SunOS 5.X Reference Manual"を参照してください。

5.3.4 エラー発生時の対処方法

エラーが発生した場合に、アプリケーションプログラムが対処すべき項目を"表:エラー発生時の対処方法"に示します。なお、対処番号は、"完了情報一覧"および"完了詳細情報一覧"の対処方法欄に対応しています。

[表:エラー発生時の対処方法]

対処番号

原因

対処方法

(上段:アプリケーションプログラムの対処、中段:運用中の対処、下段:その他)

1

正常完了

正常完了ですので、処理を続行してください。

なし

なし

2

FNA-BASEのインストール異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了させてください。

FNA-BASEのインストールして、リトライした結果、再度同じエラーが発生した場合この完了情報が通知されたことを、富士通技術員(SE)に連絡してください。

なし

3

シグナル受信

アプリケーションプログラムが認識できない(シグナル無登録)シグナルの場合は無視して処理を続行してください(状態は、マクロ命令発行前と同じになっています) 。処理を終了する場合は、lu0closeマクロ命令を発行してから終了してください。

なし

なし

4

ハード異常

lu0closeマクロ命令を発行してください。10秒以上間隔を空けてリトライするか、アプリケーションプログラムを終了させてください。

getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

5

LU0会話サービス内部異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了させてください。

getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

7

システムエラー

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了させてください。

システムダンプを採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

9

FNA-BASEの停止

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

strvcpコマンドを実行してFNA-BASEを起動してください。

なし

11

LU0会話サービス停止

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

strlu0コマンドを実行してLU0会話サービスを起動してください。

なし

12

相手ホストシステムの停止(緩終了指示を受信)

lu0discマクロ命令を発行してください。送信すべきデータが残っている場合は、lu0writeマクロ命令でデータを送信した後に、lu0discマクロ命令を発行してください。

なし

なし

13

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

マクロ命令の発行順序に誤りがあります。"マクロ命令発行マトリックス"を参照し、正しい順序でマクロ命令を発行してください。

14

受信データ長オーバー

lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。

アプリケーションプログラムの資料を採取し、調査してください。同時にgetovcpコマンドで資料採取してください。

lu0cnctマクロ命令で指定した最大利用者データ長、またはlu0getbマクロ命令に指定した獲得サイズが、ホストアプリケーションが送信するデータ長より大きい値を指定してください。

15

-RESP受信

送信権はホスト側に移行しました。処理を続行するか、lu0discマクロ命令を発行してください。

相手ホストシステム側の資料と、getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

16

相手ホストシステムの停止(強制終了)

lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。

なし

なし

17

セション解放処理中。または、LU名二重使用

lu0cnctマクロ命令を、間隔を空けリトライしてください。

本エラーが繰り返し発生する場合、相手ホストシステムのLUまたはPU資源のイナクティブ、アクティブ操作をしてください。
上記対処を実施しても現象が回避されない場合、アプリケーションプログラムを調査するための資料を採取してください。

アプリケーションプログラムがセションを解放せずに終了する場合、lu0discマクロ命令を発行し、セションを解放してから終了します。詳細は“セションの一括解放”を参照してください。
相手ホストシステムのLUまたはPU資源のイナクティブ、アクティブ操作をしても現象が回避されない場合、他のプロセスで同じLU名を指定していないか調査してください。

18

チェーンプロトコル異常

lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。
lu0cnctマクロ命令チェーンデータスルー制御を行うと指定し、既にFirstおよびMiddleデータを受信している場合は、組立中のデータを破棄し、チェーン状態をリセットしてください。

相手ホストシステム側の資料と、getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

19

緩終了中の異常

lu0discマクロ命令を発行後、lu0cnctマクロ命令からリトライしてください。

相手ホストシステム側の資料と、getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

20

受信待ちタイムアウト

lu0cnctマクロ命令のタイムアウトで完了した場合、10秒以上間隔を空け、lu0cnctマクロ命令をリトライしてください。
lu0readマクロ命令のタイムアウトで完了した場合、処理を継続してください。

なし

なし

21

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

未open状態のLU名で、lu0open1以外のマクロ命令が発行されました。正しいLU名を設定してください。

22

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

同一プロセス内で、既にオープン済のLU名を設定しました。正しいLU名を設定してください。

23

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0getbマクロ命令で獲得した送受信バッファのアドレスを、rcbに設定してください。

24

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0cnctマクロ命令、lu0readマクロ命令、または、lu0writeマクロ命令で使用中のため、バッファの解放はできません。発行中のマクロ命令の完了を受け取ってから lu0frebマクロ命令を発行してください。

25

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

非同期型マクロ命令が発行されていません。非同期型マクロ命令を発行してからlu0rcvマクロ命令を発行してください。

26

発行中マクロ命令が未完了

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0closeマクロ命令を発行し、pollシステムコールで非同期型マクロ命令の完了を待ち合わせて、lu0rcvマクロ命令を発行してください。

27

システム環境設定誤り

lu0closeマクロ命令を発行し、アプリケーションプログラムプログラムを終了してください。

共用メモリ関連のシステム情報(ipcsコマンド、sysdefコマンド、psコマンドなど)を採取し、調査してください。

lu0getbマクロ命令で獲得した送受信バッファをlu0frebマクロ命令で解放しているか確認してください。また、lu0frebマクロ命令が正常完了しているか確認してください。
システム環境設定でシステムチューニングパラメタの共用メモリの定義内容を調査し、変更してください。

28

アプリケーションプログラム異常

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0getbマクロ命令発行時のrcbに指定された、獲得バッファサイズが0になっています。利用者が必要とするサイズを指定してください。

29

システム環境設定誤り

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

システム環境設定で、システムチューニングパラメタの共用メモリの定義内容を調査し、変更してください。
共用メモリの定義内容が正しい場合、この完了情報が通知されたことを当社技術員(SE)に連絡してください。
共用メモリ関連のシステム情報(ipcsコマンド、sysdefコマンド、psコマンドなど)とシステムダンプを採取してください。

30

LU0会話サービスが起動されていません。

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

strlu0コマンドを実行して、LU0会話サービスを起動してください。

なし

31

FNA-BASEのパスがイナクティブです。

lu0cnctマクロ命令が本コードで完了した場合、10秒以上間隔を空けリトライしてください。他のマクロ命令を実行中の場合、lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。

ctlvcpコマンドで、使用する通信パスをアクティブにしてください。ctlvcpコマンドについては"ネットワーク機能使用手引書 メインフレーム接続編"を参照してください。それ以外の場合は、回線(モデム、ケーブル等)の接続状態を調査してください。

なし

32

DLCが未確立です。

lu0cnctマクロ命令が本コードで完了した場合、10秒以上間隔を空けリトライしてください。他のマクロ命令を実行中の場合、lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。
接続形態が電話回線、回線交換網、パケット交換網または、ISDN網で、着呼指定をしている場合は、ホストからの着呼を待ち合わせてください。

ホスト側のデータリンク(PU)をアクティブにしてください。ホスト側のデータリンク(PU)をアクティブにしても回避できない場合、ケーブルの状態、ネットワークの状態(故障、電源等)または、ネットワーク環境に誤りがありますので、調査してください。

なし

33

セション解放

lu0cnctマクロ命令が本コードで完了した場合、10秒以上間隔を空けリトライしてください。他のマクロ命令を実行中の場合、lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。

相手ホストシステムで停止。または、PUやLUのイナクティブ操作がされていないか確認し、ホスト側のPUまたはLUをアクティブにしてください。

ホスト側のPUまたはLUをアクティブにしても回避できない場合、ネットワーク環境に誤りがありますので、調査してください。

35

相手ホストシステムにセション確立要求を拒否された。

lu0cnctマクロ命令を、10秒以上間隔を空けリトライしてください。

相手ホストシステムのアプリケーションプログラムが起動されているか確認してください。

相手システムのアプリケーションプログラムが起動されても本エラーが発生する場合、lu0cnctマクロ命令で指定したINIT-SELFの内容が、相手ホストシステムの定義と一致指定しているか確認してください。

36

プロトコル異常

lu0discマクロ命令を発行し、セションを解放してください。

相手ホストシステム側の資料と、getovcpコマンドで資料採取し、この完了情報が通知されたことを富士通技術員(SE)に連絡してください。

なし

38

下位プロトコルドライバでデータリンクレベルのエラーを検出しました。

lu0cnctマクロ命令が本コードで完了した場合、10秒以上間隔を空けリトライしてください。他のマクロ命令を実行中の場合、lu0discマクロ命令発行後、lu0cnctマクロ命令からリトライしてください。

コンソールメッセージが表示されている場合は、下位プロトコルドライバのマニュアルを参照してください。表示されていない場合は、ホスト側と下位プロトコルドライバのネットワーク環境のデータ長(RU長、フレーム長等)を調査してください。
ネットワーク環境に問題がなければ、下位プロトコルドライバのトレースを採取し、富士通技術員(SE)に連絡してください。
下位プロトコルドライバのトレースについては下位プロトコルドライバのマニュアルを参照してください。

なし

39

リクエストモードまたは完了通知モードエラー

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0cnctマクロ命令、lu0readマクロ命令、lu0discマクロ命令のリクエストモードまたは、lu0cnctマクロ命令、lu0readマクロ命令、lu0writeマクロ命令、lu0discマクロ命令の完了通知モードの値に誤りがあります。
リクエストモードまたは完了通知モードの内容を確認してください。

40

LU名未定義

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0cnctマクロ命令で設定したLU名が、FNA-BASE環境定義ファイル(/etc/opt/FSUNnet/vcp/fnaparm)に設定するvluオペランドのnameパラメタに存在していません。LU名を確認してください。

41

送信コマンドエラー

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0writeマクロ命令で設定した送信コマンドに無効な値が設定されています。設定した送信コマンドの内容を確認してください。

42

送受信バッファなし

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

送受信バッファのアドレスがrcbに設定されていません。送受信バッファのアドレスを確認してください。

43

送受信モード情報エラー

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0writeマクロ命令で設定した送受信モード情報1または、送受信モード情報2で矛盾を検出しました。送受信モード情報を確認してください。矛盾には次のものがあげられます。

44

最大利用者データ長エラー

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

lu0cnctマクロ命令で設定した最大利用者データ長に0が設定されています。正しい値を設定してください。

45

センスコードエラー

アプリケーションプログラムを終了してください。

アプリケーションプログラムの資料を採取し、調査してください。

-RESPまたはLUSコマンドを送信しようとしましたが、センスコードに0が設定されています。正しいセンスコードを設定してください。

46

セションパラメタエラー

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

なし

ホストから受信したBINDコマンドのセションパラメタが、LU0会話サービスで処理できない内容になっています。ホスト側のネットワークの運用環境と利用者の運用環境を調査してください。

47

BIND受信監視タイムアウト

lu0cnctマクロ命令を、10秒以上間隔を空けリトライしてください。

lu0closeマクロ命令を発行し、アプリケーションプログラムを終了してください。

FNA-BASE環境定義ファイル(/etc/opt/FSUNnet/vcp/fnaparm)に設定するvluオペランドのrcvtimパラメタを0に設定してください。

48

送信権なし

lu0readマクロ命令を発行し、相手ホストシステムから送信権を受信するまで待ち合わせてください。

なし

なし

49

データ保留中

lu0readマクロ命令を発行してください。

なし

なし

50

緩終了処理中

lu0discマクロ命令を発行してください。

なし

なし

51

チェーンデータ送信中

分割途中のチェーンデータを終結するか、lu0discマクロ命令を発行してください。

なし

なし

52

LU0ライブラリ異常

アプリケーションプログラムを終了してください。

完了情報と完了詳細情報の内容を控えて、富士通技術員(SE)に連絡してください。

なし

53

パイプ関連の異常

lu0closeマクロ命令を発行し、lu0open1マクロ命令からリトライしてください。

システムまたは LU0ライブラリのエラーの場合は、errnoが通知された原因を調査してください。
システムのerrnoの値は、"SunOS 5.x Reference Manual"を参照してください。
原因不明の場合、完了情報と errnoの内容を控えて、富士通技術員(SE)に連絡してください。

なし

54

プロトコルシーケンス異常

lu0closeマクロ命令を発行してください。10秒以上間隔を空けてリトライするか、プログラムを終了させてください。

相手ホストシステムの操作で、該当LUのイナクティブ/アクティブ操作をしてください。

lu0cnctマクロ命令がタイムアウト(EL0LTIME)で完了後に発生する場合、lu0cnctマクロ命令のタイマ値を現在の値より大きくしてください。
セション解放後の再接続で発生する場合、FNA-BASEの環境定義で該当LUのresptimパラメタの値を現在の値より大きくしてください。

5.4 送受信データの内容 

送受信データの内容

アプリケーションプログラムが作成するデータの内、プロトコルで規定されているデータフォーマットを説明します。

5.4.1 INIT-SELFの形式

セションの確立するために送信するINIT-SELFの形式を以下に示します。INIT-SELFを送信するためにはlu0cnctマクロ命令を発行する際、INIT-SELFのRU3以降のデータを格納した送信バッファアドレスをrcbに設定し、リクエストモードを"端末主導型"にしてください。

なお、RU0、RU1およびRU2はLU0会話サービスで付加し、ホストへ送信します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2004