付録A 入出力キューのダンプファイルの形式
mcftdmpquコマンドを実行すると,ダンプファイルにはメッセージが連続して出力されます。ダンプファイルの形式を次の図に示します。
|
|
図A-1に示すメッセージの形式を説明します。
-
アイキャッチャ(4バイト)
出力したメッセージが入力キューのメッセージか,出力キューのメッセージかを示します。
ITQ△:入力キューのメッセージです。
OTQ△:出力キューのメッセージです。
-
MCF使用領域(32ビットの場合:960バイト,64ビットの場合:1,276バイト)
MCFが使用する領域です。
-
メッセージ情報(512バイト)
出力したメッセージについての情報を格納する領域です。
構造体dc_mcf_dump_infoで参照できます。構造体dc_mcf_dump_infoの形式を次に示します。
-
セグメント長(4バイト),セグメント
セグメントの長さを示す領域と,セグメント長で示される長さのセグメントです。セグメント長とセグメントで一組となり,セグメント数分繰り返します。
-
メッセージ終了識別子(4バイト)
メッセージの終了を示す領域で,ヌル文字で埋められます。
/*************************************************************/
/* 入出力キューダンプ メッセージ情報 */
/*************************************************************/
struct dc_mcf_dump_info {
char le_name[16]; /* 入力元論理端末名称※1 */
char cn_name[16]; /* 入力元コネクションID */
char mcf_sid[3]; /* MCF識別子 */
char ap_name[9]; /* アプリケーション名※2 */
char ap_kind[5]; /* アプリケーション種別※2 */
/* value<"mcf "=システムアプリケーション */
/* "user"=ユーザ アプリケーション> */
char sg_name[32]; /* サービスグループ名 */
char sv_name[32]; /* サービス名 */
char map_name[9]; /* マップ名 */
char yobi1[2]; /* 予備1 */
struct { /* メッセージ書き込み時間 */
unsigned int tvsec; /* 1970年1月1日からの通算秒 */
int tvsec; /* 秒以下 */
} write_time;
struct { /* 入力通番構造体 */
unsigned int time; /* 入力通番取得時刻 */
/* (1970年1月1日からの通算秒) */
int no_in_time; /* 同時刻での枝番(初期値=1) */
char yobi1[8]; /* 予備1 */
} recv_no;
struct { /* 出力通番構造体※1 */
int no; /* 出力通番 */
char type[2]; /* 出力通番識別 */
/* value<"n"=一般 */
/* "p"=優先 */
/* "o"=応答> */
char yobi1[2]; /* 予備1 */
} send_no;
char exec_ap_name[9]; /* 起動先アプリケーション名※1※3 */
char exec_ap_kind[5]; /* 起動先アプリケーション種別※1※3 */
/* value<"mcf "=システムアプリケーション */
/* "user"=ユーザ アプリケーション> */
char send_le_name[16]; /* 出力先論理端末名称 */
char yobi2[326]; /* 予備2 */
};- 注※1
-
出力キューダンプのときだけ設定されます。
- 注※2
-
SPPからメッセージを送信した場合は,アプリケーション名に'*******',アプリケーション種別に'****'が設定されます。
- 注※3
-
アプリケーションを起動しなかった場合は,起動先アプリケーション名に'*******',起動先アプリケーション種別に'****'が設定されます。