mq_getattr

NAME

mq_getattr - 获取消息队列的属性(REALTIME)

SYNOPSIS 

#include <mqueue.h>

int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat);

  

Date Structure

An mq_attr structure shall have at least the following fields:

struct mq_attr {
               long mq_flags;       /* Flags: 0 or O_NONBLOCK */
               long mq_maxmsg;      /* Max. # of messages on queue */
               long mq_msgsize;     /* Max. message size (bytes) */
               long mq_curmsgs;     /* # of messages currently in queue */
           };

 

DESCRIPTION

函数 mq_getattr() 能够获取消息队列的属性,取得的结果存放在参数 mqstat 指针指向的内存.

消息队列的4种属性如下:

mq_flags

  该属性会在函数mq_open(3) 创建消息队列时被初始化. 他只有2个值O_NONBLOCK(非阻塞)和 0 (阻塞).

mq_maxmsg

  消息队列中最多能容纳的消息个数.

mq_msgsize

  每个消息的最大字节数.

mq_curmsgs
当前消息队列中正在排队的消息个数.

PARAMETERS

mqdes

消息队列的描述符

mqstat

指向消息队列属性结构体的指针

  

RETURN VALUE

如果函数执行成功, 函数返回0

如果函数执行失败,函数返回 -1 并且设置errno,errno的种别详见下面的ERRORS一节.

 

ERRORS

[EBADF]

参数 mqdes 不是有效的消息队列描述符.

 

EXAMPLES

 

 

posted @ 2014-04-13 21:52  LubinLew  阅读(1908)  评论(0编辑  收藏  举报