#include "libnazgul.h" #include "ids.h" // cree un nouvel elemen int msgSpaceListElemCreate(msgSpaceListElemId listElemId, msgSpace * space) { int listElemFd; msgSpaceListElem *listElem; msgSpaceListElemIdIntern(listElemId, space->externId); 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(msgSpaceListElem)) < 0) { NZG_ERROR("ftruncate", listElemId); goto ERROR; } close(listElemFd); listElem = msgSpaceListElemOpen(listElemId); if (listElem == NULL) { NZG_ERROR("msgSpaceListElemOpen", listElemId); goto ERROR; } strcpy(listElem->id, listElemId); strcpy(listElem->next, listElemId); strcpy(listElem->spaceId, space->id); printf("[ ListElem : id %s,next: %s, Sid: %s ]\n", listElem->id, listElem->next, listElem->spaceId); if (msgSpaceListElemClose(listElem) < 0) { NZG_ERROR("msgSpaceListElemClose", listElemId); } return 0; ERROR: return -1; };