31 lines
601 B
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;
|
|
|
|
};
|