00001
00010 #ifndef MSGQLIB_H
00011 #define MSGQLIB_H
00012
00013 #include <_ansi.h>
00014
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018
00019
00020 #define MAX_MSG_LEN 2048
00021
00022
00023 #define MSGQ_TBL_SZ 101
00024
00025
00026 #define MSG_Q_READY 0
00027 #define MSG_Q_CLEANING 1
00028
00029
00030 #define NO_WAIT 0
00031 #define WAIT_FOREVER 0xFFFF
00032
00033 #ifndef NULL
00034 #define NULL 0
00035 #endif
00036
00037
00038 #define KMsgQLibErr 0x100
00039 #define KMsgQLibNoMemoryErr (KMsgQLibErr | 1)
00040 #define KMsgQLibQIdErr (KMsgQLibErr | 2)
00041 #define KMsgQLibParamErr (KMsgQLibErr | 3)
00042 #define KMsgQLibQFlushErr (KMsgQLibErr | 4)
00043 #define KMsgQLibQShortErr (KMsgQLibErr | 5)
00044
00045 #define MSG_Q_FIFO 1
00046 #define MSG_Q_PRIORITY 2
00047 #define MSG_PRI_NORMAL 3
00048 #define MSG_PRI_URGENT 4
00049 #define SEM_Q_FIFO 5
00050 #define SEM_Q_PRIORITY 6
00051
00052 #define OK 0
00053 #define ERROR -1
00054
00055 typedef unsigned long ULONG ;
00056 typedef unsigned short ushort_t;
00057
00071 IMPORT_C int MsgQCreate (ULONG qName, ULONG maxMsgs, ULONG qOptions, int* err);
00072
00082 IMPORT_C int MsgQDelete (ULONG qName, int* err);
00083
00098 IMPORT_C int MsgQSend (ULONG qName, char* msg, ULONG nBytes, ULONG priority, int timeout, int* err);
00099
00113 IMPORT_C int MsgQReceive (ULONG qName, char* msg, ULONG maxNBytes, int timeout, int* err);
00114
00124 IMPORT_C int MsgQCheck (ULONG qName, int* err);
00125
00134 IMPORT_C int MsgQMaxCheck (ULONG qName, int* err);
00135
00145 IMPORT_C int MsgQClean (ULONG qName, int* err);
00146
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150
00151 #endif