Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00047 #ifndef BCS_IPCQUEUE_H_
00048 #define BCS_IPCQUEUE_H_
00049
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053
00054 #include "bcs_general.h"
00055
00056 #define BCS_Q_MAXSIZE 4000
00057
00058 #ifndef BCS_Q_FLAG_ENUM
00059 #define BCS_Q_FLAG_ENUM
00060
00063 typedef enum {
00064 BCS_Q_NONE,
00065 BCS_Q_NOWAIT
00066 } BCS_Q_Flag;
00067 #endif
00068
00079 #define BCS_Q_getQueue(q, id, datatype ) _BCS_Q_getQueue(q, id, sizeof(datatype))
00080
00081
00082
00083
00084 BCS_ERROR _BCS_Q_getQueue(BCS_Queue* q, UInt32 id, UInt16 msg_size);
00085
00089 BCS_ERROR BCS_Q_deleteQueue(BCS_Queue* q);
00090
00091
00096 BCS_ERROR BCS_Q_forceUnlock(UInt32 id);
00097
00103 BCS_ERROR BCS_Q_postMessage(BCS_Queue* q, void* m, BCS_Q_Flag f);
00104
00118 BCS_ERROR BCS_Q_getMessage(BCS_Queue* q, void* m, Int32 id, BCS_Q_Flag f);
00119
00120
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124
00125 #ifdef USE_POSIX_QUEUE
00126
00127 #define IPCQUEUE_HAS_POSIX
00128 #endif
00129
00130 #endif