diff --git a/src/nzg_iface.h b/src/nzg_iface.h index aeba9c3..33fff99 100644 --- a/src/nzg_iface.h +++ b/src/nzg_iface.h @@ -32,7 +32,7 @@ typedef struct MsgSpace { msgSpaceId id; int poolNb; int queueNb; - int pid; + int pid; msgSpacePoolDataId poolDataId; } msgSpace; @@ -42,7 +42,7 @@ typedef struct MsgSpace { typedef struct MsgSpaceListElem { void * id; int ownerPid; - msgSpaceListElemId next; + msgSpaceListElemId next; } * msgSpaceList, msgSpaceListElem; diff --git a/src/nzg_pool.c b/src/nzg_pool.c index 6bf5dd6..af0fc8e 100644 --- a/src/nzg_pool.c +++ b/src/nzg_pool.c @@ -55,3 +55,26 @@ int msgSpacePoolId2nzgPoolId(msgSpacePoolId dest,msgSpacePoolId src, int num){ // //donne l'adr en mappant in the memory //poolAddr = mmap(NULL, sizeof(*msgPool), PROT_NONE, MAP_SHARED, poolFd, 0); +msgPool * msgPoolAllocate(int poolFd, msgSpace *msg) { + msgPool * poolAddr; + int dataId; + //msgSpacePoolData spoolData; + + //dataId = msg->poolDataId; + + //spoolData[dataId]; + + //donne l'adr en mappant in the memory + poolAddr = mmap(NULL, sizeof(*msgPool), PROT_NONE, MAP_SHARED, poolFd, 0); + if(poolAddr == MAP_FAILED) { + fprintf( stderr, "mmap failed: %s\n", + strerror( errno ) ); + return NULL; + } + + + // on renvoie le pointeur sur le bon pool + return poolAddr; +} + +