l3.libnazgul/src/spaceListElemOpen.c

31 lines
601 B
C

#include "libnazgul.h"
#include "ids.h"
// cree un nouvel elemen
void *msgSpaceListElemOpen(msgSpaceListElemId listElemId)
{
int listElemFd;
void *listElemAddr;
listElemFd = shm_open(listElemId, O_RDWR, SHM_DEFAULT_MODE);
if (listElemFd == -1) {
NZG_ERROR("shm_open : msgSpaceListElem open", listElemId);
goto ERROR;
}
listElemAddr = mmap(NULL,
sizeof(msgQueueElem),
PROT_READ | PROT_WRITE, MAP_SHARED, listElemFd, 0);
if (listElemAddr == MAP_FAILED) {
NZG_ERROR("mmap", listElemId);
goto ERROR;
}
close(listElemFd);
return listElemAddr;
ERROR:
return NULL;
};