MQD_MessageHeader構造体は、メッセージの送信、受信および参照時に使用します。以下にMQD_MessageHeaderの形式を示します。また、内容および入出力関係を表8.20 MQD_MessageHeaderの内容および表8.21 MQD_MessageHeaderの入出力に示します。
MQD_MessageHeaderの形式
typedef struct mqd_messageheader_t{
MQDBYTE msg_type;
MQDBYTE code_type;
MQDBYTE body_code;
MQDBYTE reserve1_1[1];
MQDCHAR unit_id[128];
MQDLONG msg_serialno;
MQDBYTE EOU_flag;
MQDBYTE reserve1_2[3];
MQDLONG reserve1_3[8];
MQDCHAR original_sysname[9];
MQDBYTE reserve2_1[3];
MQDCHAR version[8];
MQDLONG reserve2_2[8];
MQDCHAR original_qname[64];
MQDBYTE guarantee;
MQDBYTE reserve3_1[3];
MQDLONG reserve3_2[8];
MQDLONG original_timestamp;
MQDLONG trans_timestamp;
MQDLONG arrive_timestamp;
MQDLONG delay_time;
MQDLONG queuing_time;
MQDLONG reserve4_1[8];
MQDCHAR msg_name[64];
MQDLONG msg_id;
MQDLONG priority;
MQDLONG msgbody_length;
MQDCHAR return_qname[64];
MQDLONG timelimit;
MQDLONG access_right;
MQDLONG reserve5_1[8];
MQDLONG reserve6_1[8];
MQDLONG reserve6_2[8];
MQDLONG reserve6_3[8];
MQDCHAR reserve7_1[128];
} MQD_MessageHeader;メンバ名 | 和名 | データ型 | 意味説明 |
|---|---|---|---|
msg_type | メッセージタイプ | char | メッセージの種類です。以下があります。 |
code_type | コード系情報 | char | メッセージヘッダ部分のコード系です。以下があります。 |
body_code | メッセージ本体のコード系情報 | char | メッセージ本体部分のコード系です。以下があります。 |
unit_id | ユニット識別子 | char | ユニットの識別子です。 |
msg_serialno | ユニット内メッセージ通番 | long | 複数のメッセージをユニットとして送信する場合のユニット内のメッセージ通番です。1から始まる連続番号です。1ユニット1メッセージの場合には1が設定されます。 |
EOU_flag | ユニット終了フラグ | char | ユニットの終了を示すフラグです。 |
original_sysname | 送信MQDシステム名 | char | メッセージを送信したMQDの名前です。 |
version | バージョン | char | メッセージヘッダのバージョンです。 |
original_qname | 送信キュー名 | char | メッセージを送信したメッセージキューの名前です。 |
guarantee | メッセージ保証 | char | メッセージキュー属性にあるメッセージ保証レベルです。 |
original_timestamp | 送信タイムスタンプ | long | メッセージが送信された日時です。1970/1/1 00:00:00 UTCからの秒数です。 |
trans_ | 転送タイムスタンプ | long | 連携サービスが他システムにメッセージを送信した日時です。1970/1/1 00:00:00 UTCからの秒数です。 |
arrive_ | 到着タイムスタンプ | long | メッセージが受信された日時です。1970/1/1 00:00:00 UTCからの秒数です。 |
delay_time | 転送遅延時間 | long | 連携サービスが他システムからメッセージを受信した日時と転送タイムスタンプとの差の時間(秒数)の累積です。 |
queuing_time | キューイング時間 | long | アプリケーションがメッセージを受信した日時と到着タイムスタンプとの差の時間(秒数)です。 |
msg_name | メッセージ名 | char | メッセージの名前です。メッセージ名は、63文字以内の英数字とアンダースコアで指定します。英字の大文字と小文字は区別されます。msg_nameを使わない場合はNULL文字を指定します。 |
msg_id | メッセージ識別子 | long | メッセージ識別子です。任意の整数で指定します。msg_idを使わない場合は0を指定します。 |
priority | プライオリティ | long | 本メッセージの優先度です。0を指定した場合は、メッセージキュー属性にあるプライオリティの省略値が適用されます。
|
msgbody_length | メッセージ本体長 | long | メッセージ本体の長さです。0~ 2088960(約2M)バイトの範囲で指定します。 |
return_qname | 返信キュー名 | char | 返信用のメッセージキュー名です。メッセージ送信時に送信側システムのメッセージキュー名を指定します。return_qnameを使わない場合はNULL文字を指定します。メッセージ受信時には、返信キュー名に対応する受信側システムのメッセージキュー名が設定されます。なお、1ユニット複数メッセージの場合は、ユニット内の先頭メッセージの返信キュー名だけが有効です。 |
timelimit | 最大保存時間 | long | メッセージをメッセージキューに保存しておくことのできる最大時間です。0を指定した場合は、メッセージキュー属性にある値が適用されます。 |
access_right | アクセス権 | long | メッセージに対するアクセスの権利です。 |
メンバ名 | インタフェース(関数)名 | ||
|---|---|---|---|
mqd_putmsg | mqd_getmsg | mqd_peekmsg | |
msg_type | ― | 出力 | 出力 |
code_type | ― | 出力 | 出力 |
body_code | ― | 出力 | 出力 |
unit_id | ― | 出力 | 出力 |
msg_serialno | ― | 出力 | 出力 |
EOU_flag | ― | 出力 | 出力 |
original_sysname | ― | 出力 | 出力 |
version | ― | 出力 | 出力 |
original_qname | ― | 出力 | 出力 |
guarantee | ― | 出力 | 出力 |
original_timestamp | ― | 出力 | 出力 |
trans_timestamp | ― | 出力 | 出力 |
arrive_timestamp | ― | 出力 | 出力 |
delay_time | ― | 出力 | 出力 |
queuing_time | ― | 出力 | 出力 |
msg_name | 入力 | 出力 | 出力 |
msg_id | 入力 | 出力 | 出力 |
priority | 入力 | 出力 | 出力 |
msgbody_length | 入力 | 出力 | 出力 |
return_qname | 入力 | 出力 | 出力 |
timelimit | 入力 | 出力 | 出力 |
access_right | 入力 | 出力 | 出力 |
入力:入力情報、出力:出力情報、―:無効