#include "libnazgul.h" #include "ids.h" int msgQueueElemCreate(msgQueueElemId finalQueueElemId, msgQueueId queueId, int counter) { msgQueueElemId queueElemId; int queueElemFd; msgQueueElemIdIntern(queueElemId, queueId, counter); strcpy(finalQueueElemId, queueElemId); queueElemFd = shm_open(queueElemId, O_RDWR | O_CREAT | O_EXCL | O_TRUNC, SHM_DEFAULT_MODE); if (queueElemFd == -1) { NZG_ERROR("shm_open : msgQueueElem creation", queueElemId); goto ERROR; } if (ftruncate(queueElemFd, sizeof(msgQueueElem)) < 0) { NZG_ERROR("ftruncate", queueElemId); goto ERROR; } close(queueElemFd); return 0; ERROR: return -1; }