内核在msg结构体框架内存储队列中的每个消息。它的定义在linux/msg.h中,如下所示:
/* one msg structure for each message */ struct msg { struct msg *msg_next; /* next message on queue */ long msg_type; char *msg_spot; /* message text address */ short msg_ts; /* message text size */ };
这是指向队列中下一个消息的指针。 它们以单链表的形式存储在内核寻址空间内。
这是消息类型,与用户结构中分配的相同msgbuf.
指向消息体开始位置的指针。
消息文本或主体的长度。