diff --git a/src/nzg_bufferInit.c b/src/nzg_bufferInit.c new file mode 100644 index 0000000..17f1661 --- /dev/null +++ b/src/nzg_bufferInit.c @@ -0,0 +1,36 @@ +#include "libnazgul.h" + +int msgBufferInit(msgPoolData * poolDataTabAddr,int poolIndex){ + msgBufferInfoTabId bufferInfoTabId; +int bufferInfoTabFd; +msgBufferInfo * bufferInfoTabAddr; +int bufferInfoNb; +int bufferFreeIndex; + + //récuperer l'ID du BufferInfoTab; + strcpy(bufferInfoTabId, poolDataTabAddr[poolIndex].bufferInfoTabId); + + bufferInfoTabFd=shm_open(bufferInfoTabId,O_RDWR,SHM_DEFAULT_MODE); + if (bufferInfoTabFd<0){ + perror("shm_open"); + return -1; + } + + /** on regarde dans le tableau d'infos de buffer **/ + bufferInfoNb=poolDataTabAddr[poolIndex].bufferNb; + bufferInfoTabAddr=mmap(NULL,bufferInfoNb*sizeof(msgBufferInfo), + PROT_READ,MAP_SHARED,bufferInfoTabFd,(off_t)0); + + int i=0; + while ((i