![]() |
This is Unofficial EPICS BASE Doxygen Site
|
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <rtems.h>
#include <rtems/error.h>
#include "epicsMessageQueue.h"
#include "errlog.h"
Go to the source code of this file.
Macros | |
#define | __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 1 |
Functions | |
LIBCOM_API epicsMessageQueueId epicsStdCall | epicsMessageQueueCreate (unsigned int capacity, unsigned int maximumMessageSize) |
Create a message queue. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueueSend (epicsMessageQueueId id, void *message, unsigned int messageSize) |
Send a message. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueueSendWithTimeout (epicsMessageQueueId id, void *message, unsigned int messageSize, double timeout) |
Send a message or timeout. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueueTryReceive (epicsMessageQueueId id, void *message, unsigned int size) |
Try to receive a message. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueueReceive (epicsMessageQueueId id, void *message, unsigned int size) |
Fetch the next message on the queue. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueueReceiveWithTimeout (epicsMessageQueueId id, void *message, unsigned int size, double timeout) |
Wait for a message to be queued. More... | |
LIBCOM_API int epicsStdCall | epicsMessageQueuePending (epicsMessageQueueId id) |
How many messages are queued. More... | |
LIBCOM_API void epicsStdCall | epicsMessageQueueShow (epicsMessageQueueId id, int level) |
Displays some information about the message queue. More... | |
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 1 |
Definition at line 20 of file osdMessageQueue.c.
LIBCOM_API epicsMessageQueueId epicsStdCall epicsMessageQueueCreate | ( | unsigned int | capacity, |
unsigned int | maximumMessageSize | ||
) |
Create a message queue.
capacity | Maximum number of messages to queue |
maximumMessageSize | Number of bytes of the largest message that may be queued |
Definition at line 32 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueuePending | ( | epicsMessageQueueId | id | ) |
How many messages are queued.
id | Message queue identifier. |
Definition at line 227 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueueReceive | ( | epicsMessageQueueId | id, |
void * | message, | ||
unsigned int | size | ||
) |
Fetch the next message on the queue.
Wait for a message to be sent if the queue is empty, then move the first message queued to the specified location.
If the received message is larger than the specified message size the implementation may either return -1, or truncate the message. It is most efficient if the messageBufferSize is equal to the maximumMessageSize with which the message queue was created.
Definition at line 193 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueueReceiveWithTimeout | ( | epicsMessageQueueId | id, |
void * | message, | ||
unsigned int | size, | ||
double | timeout | ||
) |
Wait for a message to be queued.
Wait up to timeout
seconds for a message to be sent if the queue is empty, then move the first message to the specified location.
If the received message is larger than the specified message buffer size the implementation may either return -1, or truncate the message. It is most efficient if the messageBufferSize is equal to the maximumMessageSize with which the message queue was created.
Definition at line 201 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueueSend | ( | epicsMessageQueueId | id, |
void * | message, | ||
unsigned int | messageSize | ||
) |
Send a message.
Definition at line 122 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueueSendWithTimeout | ( | epicsMessageQueueId | id, |
void * | message, | ||
unsigned int | messageSize, | ||
double | timeout | ||
) |
Send a message or timeout.
Definition at line 133 of file osdMessageQueue.c.
LIBCOM_API void epicsStdCall epicsMessageQueueShow | ( | epicsMessageQueueId | id, |
int | level | ||
) |
Displays some information about the message queue.
id | Message queue identifier. |
level | Controls the amount of information displayed. |
Definition at line 243 of file osdMessageQueue.c.
LIBCOM_API int epicsStdCall epicsMessageQueueTryReceive | ( | epicsMessageQueueId | id, |
void * | message, | ||
unsigned int | size | ||
) |
Try to receive a message.
If the queue holds at least one message, the first message on the queue is moved to the specified location and the length of that message is returned.
If the received message is larger than the specified message size the implementation may either return -1, or truncate the message. It is most efficient if the messageBufferSize is equal to the maximumMessageSize with which the message queue was created.
Definition at line 185 of file osdMessageQueue.c.