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

106 lines
1.7 KiB
C

#include "libnazgul.h"
#define MSGSPACE_DEFAULT_MODE 0600
#include <unistd.h> /* POSIX et al */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h> /* pour O_RDWR */
#include <sys/types.h>
#include <sys/mman.h> /* shm_open */
#include <errno.h>
/*typedef struct MsgSpaceListElem *msgSpaceListElemId;
struct MsgSpaceListElem {
// void * tete;
msgSpaceListElemId tete;
int ownerPid;
msgSpaceListElemId queu;
};
msgSpaceListElemId *mslist;
*/
void *add(char * idAncien, char *idNouveau);
int descMemory;
void * add(char * idAncien, char *idNouveau){
descMemory=shm_open("/titi",
O_RDWR|O_CREAT|O_EXCL|O_TRUNC,
0600);
if (descMemory== -1){
printf("erreur de sh_open\n");
return NULL;
};
if (ftruncate(descMemory,1024)== -1 ){
printf("erreur ftruncate");
}
/* memory= mmap(0, 1024,
PROT_READ | PROT_WRITE,
MAP_SHARED, mSFd, 0)*/
Strcpy(idAncien, idNouveau);
}
/* ajout dans la liste */
/*AVEC POINTEUR */
/*
msgSpaceListElem *addBegining( msgSpaceListElem*list,int ownerpid){
msgSpaceListElem *unSpacemsgListElem;
if( (unSpacemsgListElem=(msgSpaceListElem *)malloc(sizeof(msgSpaceListElem) ) )==NULL){
perror("ereur dallocation de memoire");
exit(1);}
unSpacemsgListElem->ownerPid = ownerpid;
return(unSpacemsgListElem);
}
int test(int argc,char **argv){
msgSpaceListElem *ma_liste;
msgSpaceListElem *listMove;
ma_liste=NULL;
ma_liste=addBegining(ma_liste, 3);
ma_liste=addBegining(ma_liste, 6);
ma_liste=addBegining(ma_liste, 5);
for (listMove=ma_liste ;listMove!=NULL ; listMove=listMove->next)
{
printf("valaeur :%d\n",listMove->ownerPid);
}
return(0);
}
*/