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 identifier

time_tsize_toff_tmtyp_tpid_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> からのすべてのシンボルが定義されます。