l3.libnazgul/src/spaceListElemCreate.c
2020-03-03 23:46:32 +01:00

39 lines
820 B
C

#include "libnazgul.h"
#include "ids.h"
// cree un nouvel elemen
int msgSpaceListElemCreate(
msgSpaceListElemId listElemId,
msgSpace * space)
{
msgSpaceListElemIdIntern(listElemId,space->externId);
printf("Creating ListElem %s",listElemId);
int listElemFd;
listElemFd=shm_open(listElemId,
O_RDWR|O_CREAT|O_EXCL|O_TRUNC,
SHM_DEFAULT_MODE);
if (listElemFd == -1 ) {
NZG_ERROR("shm_open : msgSpaceListElem creation",listElemId);
goto ERROR;
}
if (ftruncate(listElemFd, sizeof(msgQueueElem)) < 0){
NZG_ERROR("ftruncate", listElemId);
goto ERROR;
}
close(listElemFd);
msgSpaceListElem * listElem;
listElem=msgSpaceListElemOpen(listElemId);
strcpy(listElem->id,listElemId);
strcpy(listElem->spaceId,space->id);
msgSpaceListElemClose(listElem);
return 0;
ERROR:
return -1;
};