bufferMap pas encore fini...

:(²
This commit is contained in:
stormrider1982 2004-02-24 21:48:30 +00:00
parent e6333e7bc4
commit 3e32be7706

39
src/bufferMap.c Normal file
View file

@ -0,0 +1,39 @@
#include "libnazgul.h"
void * msgBufferMap(msgSpace * space, int poolIndex, int bufferIndex) {
void * resultAddr;
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);
return -1;
}
if(msPoolFd == -1) {
NZG_ERROR("shm_open", space->poolDataTabId);
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);
if(resultAddr == MAP_FAILED) {
NZG_ERROR("mmap", poolDataTabId);
goto ERROR;
}
close(msPoolFd);
return resultAddr;
ERROR:
return NULL;
}