#include "libnazgul.h" void * msgBufferMap(msgSpace * space, int poolIndex, int bufferIndex) { void * resultAddr; int msPoolFd, buffersize; msgBufferInfoTabId bufferInfoTabId; int bufferInfoTabFd; // TODO: récuperer l'ID du BufferInfoTab; //strcpy(bufferInfoTabId, poolDataTabAddr[poolIndex].bufferInfoTabId); bufferInfoTabFd=shm_open(bufferInfoTabId,O_RDWR,SHM_DEFAULT_MODE); if (bufferInfoTabFd<0){ NZG_ERROR("sem_open",bufferInfoTabId); goto ERROR; } if(bufferInfoTabFd == -1) { NZG_ERROR("shm_open", bufferInfoTabId); goto ERROR; } // mapper le buffer dans l'espace mémoire du processus resultAddr=mmap(NULL, buffersize, PROT_WRITE|PROT_READ, MAP_SHARED, msPoolFd, (off_t)0); // TODO: poolDataTabId if(resultAddr == MAP_FAILED) { //NZG_ERROR("mmap", poolDataTabId); goto ERROR; } close(msPoolFd); return resultAddr; ERROR: return NULL; }