3.3.1 サービス要求データファイル
- 〈この項の構成〉
(1) RPC要求データファイル
RPCインタフェースのクライアントUAPシミュレート機能使用時,utosppsvcコマンドで指定したサービスのサービス関数に渡すデータを格納します。一つのファイルには,一つのデータを作成します。
(a) ファイルの構造
(b) ファイルの内容
項目 |
位置 |
長さ(バイト) |
内容 |
---|---|---|---|
データ長 |
0 |
4 |
サービス関数に渡すデータの長さを指定します (1〜DCRPC_MAX_MESSAGE_SIZEの指定値)。 |
応答領域長 |
4 |
4 |
サービス関数に渡す応答領域長を指定します (1〜DCRPC_MAX_MESSAGE_SIZEの指定値)。 |
データ |
8 |
n |
サービス関数に渡すデータを指定します。 |
(c) 注意事項
-
サービス関数の引数との関係を次に示します。
-
データ
-
データ長
-
応答領域長
-
-
RPC要求データファイルは,オフラインテスタのファイルも使用できます。
-
データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。
(2) XATMI要求データファイル
XATMIインタフェースのクライアントUAPシミュレート機能使用時,サービスに対応したサービス関数に渡すデータを格納します。一つのファイルには,一つのデータを作成します。
(a) ファイルの構造
(b) ファイルの内容
項目 |
位置 |
長さ(バイト) |
内容 |
---|---|---|---|
呼び出し種別 |
0 |
8 |
サービスを呼び出す際に,呼び出し元の関数の種別を指定します。 call:tpcall関数からの呼び出し acall:tpacall関数からの呼び出し connect:tpconnect関数からの呼び出し |
タイプ |
8 |
8 |
バッファタイプとして,次の文字列のどれかを指定します。
|
サブタイプ |
16 |
16 |
サブタイプを16文字以下の文字列で指定します。ただし,タイプに'X_OCTET'を指定した場合は,サブタイプはヌル文字とします。 |
フラグ |
32 |
4 |
サービス関数に渡す次のフラグを,16進数で指定します。呼び出し情報での指定によって限定されます。 0x00000000:0(call,acall指定時だけ) 0x00000004:TPNOREPLY(acall指定時だけ) 0x00000008:TPNOTRAN 0x00000100:TPNOCHANGE(call,acall指定時だけ) 0x00000800:TPSENDONLY(connect指定時だけ) 0x00001000:TPRECVONLY(connect指定時だけ) なお,サービス要求時にTPNOTIMEとTPSIGRSTRTは必ず設定されます。TPNOBLOCKは設定しません。 |
データ長 |
36 |
4 |
サービス関数に渡すデータの長さを指定します(0〜524288)。データがない場合は0を指定します。 0を指定すると,タイプ,サブタイプの指定は無視されます。 |
データ |
40 |
n |
サービス関数に渡すデータを指定します。 |
(c) 注意事項
-
サービス関数の引数との関係を次に示します。
void tpservice(svcinf) TPSVCINFO *svcinf; struct TPSVCINFO { char name[32]; char *data; →1. long len; →2. long flags; int cd; }
-
タイプ,サブタイプにマッピングされたデータが格納されているアドレス
-
dataで示すデータの長さ
-
-
utoxsppsvcコマンドで発行するXATMI関数との関係を次に示します。
idata=tpalloc (type, subtype, ilen); 2. 3. 4. tpcall (svc, idata, ilen, odata, olen, flags); 1. 4. 5. tpacall (svc, idata, ilen, flags); 1. 4. 5. tpconnect (svc, idata, ilen, flags); 1. 4. 5.
-
呼び出し種別に対応したXATMI関数
-
タイプ名
-
サブタイプ名
-
データ長
-
フラグ(指定したフラグを実際のフラグの値に変換して指定)
-
-
XATMI要求データファイルは,オフラインテスタのファイルも使用できます。
-
データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。
-
サブタイプ名が16文字に満たない場合,サブタイプ名の後ろにヌル文字を付けて指定してください。
-
タイプがX_OCTET以外の場合,ファイル内で指定したサブタイプのデータ長と,utoxsppsvcコマンドで指定するサブタイプのデータ長が異なると,XATMI要求データファイルのデータ不正になります。
-
フラグにはTPNOCHANGEのコードを指定できますが,無視されます。
-
タイプ,サブタイプを指定した場合のデータ長とデータは,スタブで定義したデータ構造(構造体)と同じでなければなりません。
また,スタブで定義したデータ構造は,バウンダリ調整が行われます(合計長は4の整数倍となります)。そのため,ファイルで指定するデータはその調整部分を考慮して作成する必要があります。
バウンダリ調整の内容は,stbmakeコマンドで作成したスタブソース,およびstbmakeコマンドに-pオプションを指定した場合の出力結果を参照して,確認してください。