18 #ifndef __eqpub_h_included
19 #define __eqpub_h_included
48 Bool isPublic() {
return True; }
53 Bool &multipleReaders();
54 Bool &multipleWriters();
60 Void allocDataSpace(cpStr sFile, Char cId, Int nSize);
62 Void initWriteMutex();
63 Void initSemFree(UInt initialCount);
64 Void initSemMsgs(UInt initialCount);
66 EMutexData &readMutex() {
return ESynchObjects::getMutex(readMutexId()); }
67 EMutexData &writeMutex() {
return ESynchObjects::getMutex(writeMutexId()); }
68 ESemaphoreData &semFree() {
return ESynchObjects::getSemaphore(semFreeId()); }
69 ESemaphoreData &semMsgs() {
return ESynchObjects::getSemaphore(semMsgsId()); }
73 Void
init(Int nMsgSize, Int nMsgCnt, Int queueId, Bool bMultipleReaders,
76 EQueueBase::init(nMsgSize, nMsgCnt, queueId, bMultipleReaders, bMultipleWriters, eMode);
86 Bool m_multipleReaders;
87 Bool m_multipleWriters;
97 } esharedqueue_ctrl_t;
99 Int &readMutexId() {
return m_pCtrl->m_rmutexid; }
100 Int &writeMutexId() {
return m_pCtrl->m_wmutexid; }
102 Int &semFreeId() {
return m_pCtrl->m_semfreeid; }
103 Int &semMsgsId() {
return m_pCtrl->m_semmsgsid; }
106 esharedqueue_ctrl_t *m_pCtrl;
110 #endif // #define __eqpub_h_included