eCos Reference Manual
Prev | Chapter 35. POSIX Standard Support | Next

# Message Passing [POSIX Section 15]

## Functions Implemented

    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 );

## Functions Omitted

<none>

## Notes

- 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.

Prev | Home | Next
Clocks and Timers [POSIX Section 14] | Up | Thread Management [POSIX Section 16]