msg.h ファイル
目的
メッセージ・キューイング操作を実行するサブルーチンによって使用される構造体について説明します。
構文
#include <sys/msg.h>
説明
msg.h ファイルは、以下のシンボリック定数、タイプ、および構造体を定義します。
タイプ:
unsigned int msgqnum_t;
unsigned int msglen_t;シンボリック定数:
| 項目 | 説明 |
|---|---|
| MSG_ エラーなし | 大きなメッセージの場合はエラーなし */ |
| メッセージ R | 読み取り許可 */ |
| メッセージ W | 書き込み許可 */ |
| MSG_RWAIT (メッセージ待機) | 読み取りプログラムがメッセージを待っている */ |
| MSG_WWAIT (メッセージ WWAIT) | 書き出しプログラムが送信を待機している */ |
| メッセージ統計 | IPC_STAT コマンドでコピーするバイト数 |
| MSGXBUFSIZE (メッセージ・サイズ) | mtext [1] と埋め込み以外のすべての長さ |
| MSG_SYSSPACE (メッセージ・システム・パス) | rmsgsnd () フラグの |
| XMSG (メッセージ) | rmsgrcv () フラグの |
システム内の q ごとに 1 つのメッセージ・キュー ID データ構造体があります。 メッセージ・キュー ID 構造体には、以下のメンバーが含まれます。
struct ipc_perm msg_perm; operation permission
struct
void *__msg_first; ptr to first message on q
void *__msg_last; ptr to last message on q
unsigned int __msg_cbytes; current # bytes on q
msgqnum_t msg_qnum; # of messages on q
msglen_t msg_qbytes; max # of bytes on q
pid_t msg_lspid; pid of last msgsnd
pid_t msg_lrpid; pid of last msgrcv
time_t msg_stime; last msgsnd time
time_t msg_rtime; last msgrcv time
time_t msg_ctime; last change time
int __msg_rwait; wait list for message
receive
int __msg_wwait; wait list for message send
unsigned short __msg_reqevents; select/poll requested
eventsメッセージ hdr 構造体には、以下のメンバーが含まれます。
time_t mtime; time message was sent
uid_t muid; author's effective uid
gid_t mgid; author's effective gid
pid_t mpid; author's process id
mtyp_t mtype; message typeシステムに存在する可能性のあるメッセージごとに、1 つのメッセージ構造体があります。 msg 構造体には、以下のメンバーが含まれます。
struct msg *msg_next; ptr to next message on q
struct msg_hdr msg_attr; message attributes
unsigned int msg_ts; message text size
char *msg_spot; pointer to message text構造体 メッセージ・バッファー は、 メッセージ ID および メッセージ・グループ システム呼び出し用のユーザー・メッセージ・バッファー・テンプレートであり、以下のメンバーを含んでいます。
mtyp_t mtype; message type
char mtext[1]; message textメッセージ・バッファー 構造体は、 MSGXRCV システム呼び出しのユーザー・メッセージ・バッファー・テンプレートであり、以下のメンバーを含んでいます。
time_t mtime; time message was sent
uid_t muid; author's effective uid
gid_t mgid; author's effective gid
pid_t mpid; author's process id
mtyp_t mtype; Message type
char mtext[1]; Message textメッセージ情報 構造体には、以下のメンバーが含まれます。
int msgmax, max message size
int msgmnb, max # bytes on queue
int msgmni, # of message queue identifiers
int msgmnm; max # messages per queue identifiertime_t、 size_t、 off_t、 mtyp_t、 pid_t、および gid_t の各タイプは、 <sys/types.h>で定義されています。
以下は関数として宣言されます。
int msgget(key_t, int);
int msgrcv(int, void *, size_t, long, int);
int msgsnd(int, const void *, size_t, int);
int msgctl(int, int, struct msqid_ds *);
int msgxrcv(int, struct msgxbuf*, int, long, int);さらに、このヘッダーが組み込まれると、 <sys/ipc.h> からのすべてのシンボルが定義されます。