source: rtems/cpukit/posix/include/mqueue.h @ feaa007

4.104.114.95
Last change on this file since feaa007 was feaa007, checked in by Joel Sherrill <joel.sherrill@…>, on 12/17/07 at 16:19:14

2007-12-17 Joel Sherrill <joel.sherrill@…>

  • posix/preinstall.am, posix/include/aio.h, posix/include/devctl.h, posix/include/mqueue.h, posix/include/sched.h, posix/include/semaphore.h, posix/include/rtems/posix/cancel.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/priority.inl, posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c, posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c, posix/src/cancel.c, posix/src/cancelrun.c, posix/src/cleanuppop.c, posix/src/cleanuppush.c, posix/src/cond.c, posix/src/condattrdestroy.c, posix/src/condattrgetpshared.c, posix/src/condattrinit.c, posix/src/condattrsetpshared.c, posix/src/condbroadcast.c, posix/src/conddefaultattributes.c, posix/src/conddestroy.c, posix/src/condinit.c, posix/src/condsignal.c, posix/src/condsignalsupp.c, posix/src/condwait.c, posix/src/condwaitsupp.c, posix/src/key.c, posix/src/keycreate.c, posix/src/keydelete.c, posix/src/keygetspecific.c, posix/src/keyrundestructors.c, posix/src/keysetspecific.c, posix/src/mqueue.c, posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c, posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c, posix/src/mqueuenametoid.c, posix/src/mqueuenotify.c, posix/src/mqueueopen.c, posix/src/mqueuereceive.c, posix/src/mqueuerecvsupp.c, posix/src/mqueuesend.c, posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c, posix/src/mqueueunlink.c, posix/src/mutex.c, posix/src/mutexattrdestroy.c, posix/src/mutexattrgetprioceiling.c, posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c, posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c, posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c, posix/src/mutexdefaultattributes.c, posix/src/mutexdestroy.c, posix/src/mutexgetprioceiling.c, posix/src/mutexlock.c, posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c, posix/src/mutextrylock.c, posix/src/mutexunlock.c, posix/src/psignal.c, posix/src/psignalchecksignal.c, posix/src/psignalclearprocesssignals.c, posix/src/psignalclearsignals.c, posix/src/psignalsetprocesssignals.c, posix/src/psignalunblockthread.c, posix/src/ptimer.c, posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c, posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c, posix/src/semaphore.c, posix/src/semaphoredeletesupp.c, posix/src/semaphorenametoid.c, posix/src/semaphorewaitsupp.c, posix/src/semclose.c, posix/src/semdestroy.c, posix/src/semgetvalue.c, posix/src/seminit.c, posix/src/semopen.c, posix/src/sempost.c, posix/src/semtrywait.c, posix/src/semunlink.c, posix/src/semwait.c, posix/src/setcancelstate.c, posix/src/setcanceltype.c, posix/src/sysconf.c, posix/src/testcancel.c: Add missing copyright statements.
  • Property mode set to 100644
File size: 2.8 KB
Line 
1/**
2 * @file mqueue.h
3 */
4
5/*
6 *  COPYRIGHT (c) 1989-2007.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.rtems.com/license/LICENSE.
12 *
13 *  $Id$
14 */
15
16#ifndef _MQUEUE_H
17#define _MQUEUE_H
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#include <unistd.h>
24
25#if defined(_POSIX_MESSAGE_PASSING)
26
27#include <sys/types.h>
28
29#include <rtems/system.h>
30#include <rtems/score/object.h>
31
32/*
33 *  15.1.1 Data Structures, P1003.1b-1993, p. 271
34 */
35
36typedef Objects_Id  mqd_t;
37
38struct mq_attr {
39  long  mq_flags;     /* Message queue flags */
40  long  mq_maxmsg;    /* Maximum number of messages */
41  long  mq_msgsize;   /* Maximum message size */
42  long  mq_curmsgs;   /* Number of messages currently queued */
43};
44
45/*
46 *  15.2.2 Open a Message Queue, P1003.1b-1993, p. 272
47 */
48
49mqd_t mq_open(
50  const char *name,
51  int         oflag,
52  ...
53);
54
55/*
56 *  15.2.2 Close a Message Queue, P1003.1b-1993, p. 275
57 */
58
59int mq_close(
60  mqd_t  mqdes
61);
62
63/*
64 *  15.2.2 Remove a Message Queue, P1003.1b-1993, p. 276
65 */
66
67int mq_unlink(
68  const char *name
69);
70
71/*
72 *  15.2.4 Send a Message to a Message Queue, P1003.1b-1993, p. 277
73 *
74 *  NOTE: P1003.4b/D8, p. 45 adds mq_timedsend().
75 */
76
77int mq_send(
78  mqd_t         mqdes,
79  const char   *msg_ptr,
80  size_t        msg_len,
81  unsigned int  msg_prio
82);
83
84#if defined(_POSIX_TIMEOUTS)
85
86#include <time.h>
87
88int mq_timedsend(
89  mqd_t                  mqdes,
90  const char            *msg_ptr,
91  size_t                 msg_len,
92  unsigned int           msg_prio,
93  const struct timespec *timeout
94);
95
96#endif /* _POSIX_TIMEOUTS */
97
98/*
99 *  15.2.5 Receive a Message From a Message Queue, P1003.1b-1993, p. 279
100 *
101 *  NOTE: P1003.4b/D8, p. 45 adds mq_timedreceive().
102 */
103
104ssize_t mq_receive(
105  mqd_t         mqdes,
106  char         *msg_ptr,
107  size_t        msg_len,
108  unsigned int *msg_prio
109);
110
111#if defined(_POSIX_TIMEOUTS)
112
113ssize_t mq_timedreceive(
114  mqd_t                  mqdes,
115  char                  *msg_ptr,
116  size_t                 msg_len,
117  unsigned int          *msg_prio,
118  const struct timespec *timeout
119);
120
121#endif /* _POSIX_TIMEOUTS */
122
123#if defined(_POSIX_REALTIME_SIGNALS)
124
125/*
126 *  15.2.6 Notify Process that a Message is Available on a Queue,
127 *         P1003.1b-1993, p. 280
128 */
129
130int mq_notify(
131  mqd_t                  mqdes,
132  const struct sigevent *notification
133);
134
135#endif /* _POSIX_REALTIME_SIGNALS */
136
137/*
138 *  15.2.7 Set Message Queue Attributes, P1003.1b-1993, p. 281
139 */
140
141int mq_setattr(
142  mqd_t                 mqdes,
143  const struct mq_attr *mqstat,
144  struct mq_attr       *omqstat
145);
146
147/*
148 *  15.2.8 Get Message Queue Attributes, P1003.1b-1993, p. 283
149 */
150
151int mq_getattr(
152  mqd_t           mqdes,
153  struct mq_attr *mqstat
154);
155
156#endif /* _POSIX_MESSAGE_PASSING */
157
158#ifdef __cplusplus
159}
160#endif
161
162#endif
163/* end of include file */
Note: See TracBrowser for help on using the repository browser.