diff options
Diffstat (limited to 'components/pthreads/mqueue.h')
| -rw-r--r-- | components/pthreads/mqueue.h | 78 |
1 files changed, 54 insertions, 24 deletions
diff --git a/components/pthreads/mqueue.h b/components/pthreads/mqueue.h index 5c17884721..de2925837f 100644 --- a/components/pthreads/mqueue.h +++ b/components/pthreads/mqueue.h @@ -1,3 +1,26 @@ +/* + * File : mqueue.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2012, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + #ifndef __MQUEUE_H__ #define __MQUEUE_H__ @@ -6,38 +29,45 @@ struct mqdes { - /* reference count and unlinked */ - rt_uint16_t refcount; - rt_uint16_t unlinked; + /* reference count and unlinked */ + rt_uint16_t refcount; + rt_uint16_t unlinked; - /* RT-Thread message queue */ - rt_mq_t mq; - /* next posix mqueue */ - struct mqdes* next; + /* RT-Thread message queue */ + rt_mq_t mq; + /* next posix mqueue */ + struct mqdes* next; }; typedef struct mqdes* mqd_t; struct mq_attr { - long mq_flags; /* Message queue flags. */ - long mq_maxmsg; /* Maximum number of messages. */ - long mq_msgsize; /* Maximum message size. */ - long mq_curmsgs; /* Number of messages currently queued. */ + long mq_flags; /* Message queue flags. */ + long mq_maxmsg; /* Maximum number of messages. */ + long mq_msgsize; /* Maximum message size. */ + long mq_curmsgs; /* Number of messages currently queued. */ }; -int mq_close(mqd_t mqdes); -int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); -int mq_notify(mqd_t mqdes, const struct sigevent *notification); -mqd_t mq_open(const char *name, int oflag, ...); -ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); -int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); -int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, - struct mq_attr *omqstat); -ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, - unsigned *msg_prio, const struct timespec *abs_timeout); -int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, - const struct timespec *abs_timeout); +int mq_close(mqd_t mqdes); +int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); +int mq_notify(mqd_t mqdes, const struct sigevent *notification); +mqd_t mq_open(const char *name, int oflag, ...); +ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); +int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); +int mq_setattr(mqd_t mqdes, + const struct mq_attr *mqstat, + struct mq_attr *omqstat); +ssize_t mq_timedreceive(mqd_t mqdes, + char *msg_ptr, + size_t msg_len, + unsigned *msg_prio, + const struct timespec *abs_timeout); +int mq_timedsend(mqd_t mqdes, + const char *msg_ptr, + size_t msg_len, + unsigned msg_prio, + const struct timespec *abs_timeout); -int mq_unlink(const char *name); +int mq_unlink(const char *name); #endif |
