2019-09-16 15:15:37 +00:00
|
|
|
#ifndef _NZG_IFACE
|
|
|
|
#define _NZG_IFACE 1
|
|
|
|
|
2004-02-23 18:50:52 +00:00
|
|
|
#include "global.h"
|
2004-02-19 23:16:28 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef enum { true = 1, false = 0 } bool;
|
2004-02-19 23:16:28 +00:00
|
|
|
|
2019-09-17 12:02:24 +00:00
|
|
|
typedef char msgSpaceId[MSGSPACE_ID_LEN];
|
2019-09-17 06:58:16 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef char msgSpaceListId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgSpaceListSemId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgSpaceListElemId[4 * MSGSPACE_ID_LEN];
|
2019-09-17 06:58:16 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef char msgPoolDataTabId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgPoolDataTabSemId[4 * MSGSPACE_ID_LEN];
|
2004-02-21 14:46:24 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef char msgBufferInfoTabId[4 * MSGSPACE_ID_LEN];
|
2004-02-22 11:19:08 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef char msgPoolId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgPoolSemId[4 * MSGSPACE_ID_LEN];
|
2004-02-21 13:17:47 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
typedef char msgQueueDataId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgQueueId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgQueueElemId[4 * MSGSPACE_ID_LEN];
|
|
|
|
typedef char msgQueueSemId[4 * MSGSPACE_ID_LEN];
|
2019-09-16 14:43:39 +00:00
|
|
|
|
2019-09-17 06:58:16 +00:00
|
|
|
/* pid[] */
|
2020-03-03 23:06:43 +00:00
|
|
|
/* liste des processus demandeurs */
|
2019-09-16 14:43:39 +00:00
|
|
|
typedef struct MsgPool {
|
2020-03-03 23:06:43 +00:00
|
|
|
int bufferSize;
|
|
|
|
int bufferNb;
|
2019-09-17 12:17:58 +00:00
|
|
|
} msgPool;
|
|
|
|
|
2004-02-22 11:19:08 +00:00
|
|
|
typedef struct MsgBufferInfo {
|
2020-03-03 23:06:43 +00:00
|
|
|
pid_t ownerPid;
|
|
|
|
void *addr;
|
2004-02-22 11:19:08 +00:00
|
|
|
} msgBufferInfo;
|
|
|
|
|
2019-09-17 12:17:58 +00:00
|
|
|
typedef struct MsgPoolData {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgPoolId poolId;
|
|
|
|
msgBufferInfoTabId bufferInfoTabId;
|
|
|
|
int bufferNb;
|
|
|
|
int bufferSize;
|
|
|
|
int allocDispBuffer;
|
2019-09-17 12:17:58 +00:00
|
|
|
} msgPoolData;
|
2019-09-16 14:43:39 +00:00
|
|
|
|
2019-09-17 06:58:16 +00:00
|
|
|
/* TODO: queueId */
|
|
|
|
|
2019-09-16 14:43:39 +00:00
|
|
|
typedef struct MsgSpace {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgSpaceId id;
|
|
|
|
msgSpaceId externId;
|
|
|
|
int poolNb;
|
|
|
|
int queueNb;
|
|
|
|
int pid;
|
|
|
|
msgPoolDataTabId poolDataTabId;
|
|
|
|
msgPoolDataTabSemId poolDataTabSemId;
|
2019-09-16 14:43:39 +00:00
|
|
|
} msgSpace;
|
|
|
|
|
2019-09-16 15:15:37 +00:00
|
|
|
typedef struct MsgSpaceListElem {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgSpaceListElemId id;
|
2004-02-25 17:54:51 +00:00
|
|
|
|
2020-03-03 23:06:43 +00:00
|
|
|
msgSpaceId spaceId;
|
|
|
|
msgSpaceListElemId next;
|
2004-02-22 22:11:59 +00:00
|
|
|
} msgSpaceListElem;
|
|
|
|
|
|
|
|
typedef struct MsgSpaceList {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgSpaceListId id;
|
|
|
|
|
|
|
|
int elemCounter;
|
|
|
|
msgSpaceListElemId headId;
|
|
|
|
msgSpaceListElemId tailId;
|
2004-02-22 22:17:38 +00:00
|
|
|
} msgSpaceList;
|
2019-09-16 15:15:55 +00:00
|
|
|
|
2004-02-23 20:05:30 +00:00
|
|
|
typedef struct MsgQueueElem {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgQueueElemId id;
|
|
|
|
int poolIndex;
|
|
|
|
int bufferIndex;
|
|
|
|
msgQueueElemId next;
|
2004-02-23 20:05:30 +00:00
|
|
|
} msgQueueElem;
|
|
|
|
|
2004-02-23 20:06:56 +00:00
|
|
|
typedef struct MsgQueue {
|
2020-03-03 23:06:43 +00:00
|
|
|
msgQueueId id;
|
|
|
|
int elemCounter;
|
|
|
|
msgQueueElemId headId;
|
|
|
|
msgQueueElemId tailId;
|
2004-02-23 20:05:30 +00:00
|
|
|
} msgQueue;
|
|
|
|
|
2019-09-16 15:15:37 +00:00
|
|
|
#endif
|
2004-02-16 21:25:11 +00:00
|
|
|
/* */
|