diff -r 000000000000 -r d0f3a028347a opensrv_plat/messagequeue_api/inc/msgqinternal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/opensrv_plat/messagequeue_api/inc/msgqinternal.h Tue Feb 02 01:10:06 2010 +0200 @@ -0,0 +1,69 @@ +/** + * @file MsgQInternal.h + * Description: Internal Header file for MsgQLib + * Copyright (c) 2007 Nokia Corporation. +* All rights reserved. +* Redistribution and use in source and binary forms, with or without modification, +* are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this list +* of conditions and the following disclaimer.Redistributions in binary form must +* reproduce the above copyright notice, this list of conditions and the following +* disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of the Nokia Corporation nor the names of its contributors may be used +* to endorse or promote products derived from this software without specific prior written +* permission. +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +* SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef MSGQINTERNAL_H +#define MSGQINTERNAL_H + +#include +#ifdef __cplusplus +extern "C" { +#endif + +/* data strucure used for maintaining message queues */ + +typedef struct MsgQInfo* MSGQ_INFO_PTR; + +typedef struct MsgQInfo { + MSGQ_INFO_PTR next; /* next entry in list */ + ULONG qName; /* queue name */ + int qId; /* queue id */ + int semId ; /* semaphore id */ + ULONG sendState; /* message can be sent */ + ULONG numMsgs; /* number of messages queued */ + ULONG maxNumMsgs; /* maximum number of messages queued */ + struct msqid_ds* slMqInfo_p; /* msg q info */ +}MSGQ_INFO; + + +/* Linked List used for maintaining list of all message queues created */ + +typedef struct MsgQInfoList* MSGQ_INFO_LIST_PTR; + +typedef struct MsgQInfoList { + MSGQ_INFO_LIST_PTR next; /* next entry in list */ + ULONG qName; /* queue name */ +} MSGQ_INFO_LIST; + +/* Forward Declaration of Internal Functions */ +int InstallMsqQTable(ULONG qName, int qId, int semId, int* err); +void AddToMsgQTable(ULONG qName); +int RemoveFromMsqQTable(ULONG qName, int* err); +void DeleteFromMsgQTable(ULONG qName); +MSGQ_INFO* MsgQTableLookup(ULONG qName); + +#ifdef __cplusplus +} +#endif +#endif /* MSGQINTERNAL_H */