20 #ifndef epicsMessageQueueh
21 #define epicsMessageQueueh
24 #include "libComAPI.h"
26 typedef struct epicsMessageQueueOSD *epicsMessageQueueId;
58 unsigned int maximumMessageSize );
74 int trySend (
void *message,
unsigned int messageSize );
83 int send (
void *message,
unsigned int messageSize );
98 int send (
void *message,
unsigned int messageSize,
double timeout );
117 int tryReceive (
void *message,
unsigned int size );
135 int receive (
void *message,
unsigned int size );
157 int receive (
void *message,
unsigned int size,
double timeout );
163 void show (
unsigned int level = 0 );
169 unsigned int pending ();
180 epicsMessageQueueId id;
194 unsigned int capacity,
195 unsigned int maximumMessageSize);
201 epicsMessageQueueId
id);
213 epicsMessageQueueId
id,
215 unsigned int messageSize);
225 epicsMessageQueueId
id,
227 unsigned int messageSize);
238 epicsMessageQueueId
id,
240 unsigned int messageSize,
259 epicsMessageQueueId
id,
278 epicsMessageQueueId
id,
298 epicsMessageQueueId
id,
309 epicsMessageQueueId
id);
317 epicsMessageQueueId
id,
324 #include "osdMessageQueue.h"
LIBCOM_API void epicsStdCall epicsMessageQueueDestroy(epicsMessageQueueId id)
Destroy a message queue, release all its memory.
LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout(epicsMessageQueueId id, void *message, unsigned int size, double timeout)
Wait for a message to be queued.
LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout(epicsMessageQueueId id, void *message, unsigned int messageSize, double timeout)
Send a message or timeout.
LIBCOM_API epicsMessageQueueId epicsStdCall epicsMessageQueueCreate(unsigned int capacity, unsigned int maximumMessageSize)
Create a message queue.
LIBCOM_API int epicsStdCall epicsMessageQueueSend(epicsMessageQueueId id, void *message, unsigned int messageSize)
Send a message.
An EPICS-specific replacement for ANSI C's assert.
LIBCOM_API int epicsStdCall epicsMessageQueuePending(epicsMessageQueueId id)
How many messages are queued.
LIBCOM_API int epicsStdCall epicsMessageQueueTrySend(epicsMessageQueueId id, void *message, unsigned int messageSize)
Try to send a message.
LIBCOM_API int epicsStdCall epicsMessageQueueReceive(epicsMessageQueueId id, void *message, unsigned int size)
Fetch the next message on the queue.
LIBCOM_API int epicsStdCall epicsMessageQueueTryReceive(epicsMessageQueueId id, void *message, unsigned int size)
Try to receive a message.
LIBCOM_API void epicsStdCall epicsMessageQueueShow(epicsMessageQueueId id, int level)
Displays some information about the message queue.