examples/PIPS/opencmessagequeuelibraryex/engine/inc/msgqinternal.h

Go to the documentation of this file.
00001 
00010 #ifndef MSGQINTERNAL_H
00011 #define MSGQINTERNAL_H
00012 
00013 #include "MsgQLib.h"
00014 
00015 /* data strucure used for maintaining message queues */
00016 
00017 typedef struct MsgQInfo* MSGQ_INFO_PTR;
00018 
00019 typedef struct MsgQInfo {
00020         MSGQ_INFO_PTR    next;        /* next entry in list                  */
00021         ULONG                    qName;       /* queue name                          */
00022         int                              qId;             /* queue id                                    */
00023         int                              semId ;      /* semaphore id                                    */
00024         ULONG                    sendState;       /* message can be sent                 */
00025         ULONG                    numMsgs;     /* number of messages queued           */
00026         ULONG                    maxNumMsgs;  /* maximum number of messages queued   */
00027         struct msqid_ds* slMqInfo_p;  /* msg q info                              */
00028 }MSGQ_INFO;
00029 
00030 
00031 /* Linked List used for maintaining list of all message queues created */
00032 
00033 typedef struct MsgQInfoList* MSGQ_INFO_LIST_PTR;
00034 
00035 typedef struct MsgQInfoList {
00036         MSGQ_INFO_LIST_PTR next;     /* next entry in list */
00037         ULONG               qName;   /* queue name         */
00038 } MSGQ_INFO_LIST;
00039 
00040 /* Forward Declaration of Internal Functions */
00041 int   InstallMsqQTable(ULONG qName, int qId, int semId, int* err);
00042 void  AddToMsgQTable(ULONG qName);
00043 int   RemoveFromMsqQTable(ULONG qName, int* err);
00044 void  DeleteFromMsgQTable(ULONG qName);
00045 MSGQ_INFO* MsgQTableLookup(ULONG qName);
00046 
00047 #endif /* MSGQINTERNAL_H */

Generated by  doxygen 1.6.2