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 | 入力 | 出力 | 出力 |
入力:入力情報、出力:出力情報、―:無効