11.2.3 XATMI受信データファイル
tprecv関数で,UAPが受け取るメッセージを格納します。一つのファイルには複数のデータを作成でき,順番にtprecv関数へ渡します。
- 〈この項の構成〉
(1) ファイルの構造
(2) ファイルの内容
項目 |
位置 |
長さ(バイト) |
内容 |
---|---|---|---|
共用領域 |
0 |
36 |
XATMI送信データファイルとの共用領域です。 空白,またはヌル文字を指定します。 |
タイプ |
36 |
8 |
バッファタイプとして,次の文字列のどれかを指定します。
|
サブタイプ |
44 |
16 |
サブタイプを16文字以下の文字列で指定します。 ただし,タイプに'X_OCTET'を指定した場合は,サブタイプはヌル文字とします。 |
イベントフラグ |
60 |
4 |
tprecv関数に渡す次の文字列のどれかを,16進数で指定します。 0x00000000L:0 0x00000001L:TPEV_DISCONIMM 0x00000002L:TPEV_SVCERR 0x00000004L:TPEV_SVCFAIL 0x00000008L:TPEV_SVCSUCC 0x00000020L:TPEV_SENDONLY |
データ長 |
64 |
4 |
tprecv関数に渡すデータの長さを指定します(0〜524288)。データがない場合は0を指定します。 0を指定すると,タイプ,サブタイプの指定は無視されます。 |
データ |
68 |
n |
tprecv関数に渡すデータを指定します。 |
(3) 注意事項
-
メッセージ受信関数(tprecv関数)の引数との関係を次に示します。
tprecv(……,data,len,……,revent) 1. 2. 3.
-
タイプ,サブタイプで確保されたバッファに格納したデータ
-
データ長
-
イベントフラグ
-
-
XATMI受信データファイルは,オンラインテスタのファイルは使用できません。
-
ファイル名には'+'を使用できません。また,ファイル名として,'ps'または'end'は使用できません。
-
データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。
-
受信データは実行単位に作成します。一つのサービスで複数回tprecv関数を発行する場合は,その数だけデータを作成しておく必要があります。データの数よりtprecv関数の発行回数が多い場合は,tpreturn関数のデータが受信されたものとし,それ以降は,エラーとなります。
XATMI受信データファイルは,サービス単位にオープン,クローズします。
-
タイプ,サブタイプを指定した場合のデータ長とデータは,スタブで定義したデータ構造(構造体)と同じでなければなりません。また,スタブで定義したデータ構造は,バウンダリ調整が行われます(合計長は4の整数倍となります)。そのため,ファイルで指定するデータはその調整部分を考慮して作成する必要があります。