mqd_t mq_open( const char *name, int oflag, ... ); int mq_close( mqd_t mqdes ); int mq_unlink( const char *name ); int mq_send( mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio ); ssize_t mq_receive( mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio ); int mq_setattr( mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat ); int mq_getattr( mqd_t mqdes, struct mq_attr *mqstat ); int mq_notify( mqd_t mqdes, const struct sigevent *notification ); |
From POSIX 1003.1d draft:
int mq_send( mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout ); ssize_t mq_receive( mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio, const struct timespec *abs_timeout ); |
<none>
The presence of message queues is controlled by the CYGPKG_POSIX_MQUEUES option. Setting this will cause [_POSIX_MESSAGE_PASSING] to be defined and the message queue API to be made available.
Message queues are not currently filesystem objects. They live in their own name and descriptor spaces.