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 */
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.