msgctl.c
来自「scounix编译通过,c/s完整实现」· C语言 代码 · 共 36 行
C
36 行
/*
*./msgctl.c
*make message queue with keys and mode given as inputs.
*/
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#define SVMSG_MODE (MSG_R|MSG_W|MSG_R>>3|MSG_R>>6)
main()
{
int msgid ;
struct msqid_ds info;
struct msgbuf{
int mtype ;
char mtext[1] ;
}buf ;
msgid = msgget(IPC_PRIVATE, SVMSG_MODE|IPC_CREAT) ;
buf.mtype = 1;
buf.mtext[0] = 1;
printf("msgid = %d\n",msgid);
msgsnd(msgid, &buf, 1,0);
msgctl(msgid, IPC_STAT, &info);
printf("read-write:%03o,cbytes = %lu, qunm = %lu, qbytes = %lu\n",\
info.msg_perm.mode&0777, (ulong_t)info.msg_cbytes, \
(ulong_t)info.msg_qnum, (ulong_t)info.msg_qbytes);
system("ipcs -q");
msgctl(msgid, IPC_RMID, NULL);
exit(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?