相关函数的说明:
函数名 | msgget |
头文件 | #include <sys/ipc.h> |
函数原型 | int msgget(key_t key, int msgflg); |
函数功能 | 获取一个消息队列。 |
参数说明 | 1.key:消息队列对象的关键字(key),函数将它与已有的消息队列对象的关键字进行比较来判断消息队列对象是否已经创建。而函数进行的具体操作是由msgflg来确定。 |
函数返回值 | 成功:返回消息队列标识值;失败:-1,并设置errno。 |
函数名 | msgsnd |
头文件 | #include <sys/ipc.h> |
函数原型 | int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); |
函数功能 | 将一个新的消息写入队列,为了发送消息,调用进程对消息队列进行写入时必须有写权限。 |
参数说明 | 1.msqid:消息队列的描述符。(由msgget()函数得到)。 |
函数返回值 | 成功:返回0;失败:返回-1,并且设置errno。 |
函数名 | msgrcv |
头文件 | #include <sys/ipc.h> |
函数原型 | ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtype, int msgflg); |
函数功能 | 从消息队列中读取消息,接收消息时必须有读权限。 |
参数说明 | 1.msqid:消息队列的标识符。(由msgget()函数得到)。 |
函数返回值 | 成功:拷贝到mtext数组的实际字节数;失败:返回-1,并且设置errno。 |
函数名 | msgctl |
头文件 | #include <sys/ipc.h> |
函数原型 | int msgctl ( int msgqid, int cmd, struct msqid_ds *buf ); |
函数功能 | 消息队列属性控制。 |
参数说明 | 1.msgqid:消息队列对象的标识符。 |
函数返回值 | 成功:返回0;失败:返回-1,并且设置errno。 |