This is Unofficial EPICS BASE Doxygen Site
osdMessageQueue.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * EPICS BASE Versions 3.13.7
7 * and higher are distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 /*
11  * Author W. Eric Norum
12  * norume@aps.anl.gov
13  * 630 252 4793
14  */
15 
16 /*
17  * Very thin shims around vxWorks routines
18  */
19 #include <msgQLib.h>
20 #include <limits.h>
21 
22 #define epicsMessageQueueCreate(c,s) ((epicsMessageQueueId)msgQCreate((c),(s),MSG_Q_FIFO))
23 #define epicsMessageQueueDestroy(q) (msgQDelete((MSG_Q_ID)(q)))
24 
25 #define epicsMessageQueueTrySend(q,m,l) (msgQSend((MSG_Q_ID)(q), (char*)(m), (l), NO_WAIT, MSG_PRI_NORMAL))
26 #define epicsMessageQueueSend(q,m,l) (msgQSend((MSG_Q_ID)(q), (char*)(m), (l), WAIT_FOREVER, MSG_PRI_NORMAL))
27 
28 #define epicsMessageQueueTryReceive(q,m,s) (msgQReceive((MSG_Q_ID)(q), (char*)(m), (s), NO_WAIT))
29 #define epicsMessageQueueReceive(q,m,s) (msgQReceive((MSG_Q_ID)(q), (char*)(m), (s), WAIT_FOREVER))
30 
31 #define epicsMessageQueuePending(q) (msgQNumMsgs((MSG_Q_ID)(q)))
32 #define epicsMessageQueueShow(q,l) (msgQShow((MSG_Q_ID)(q),(l)))