l3.libnazgul/src/iface.h

90 lines
1.8 KiB
C
Raw Normal View History

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
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;
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
/* */