/* Declarations communes a imprime4c.c et imprime4s.c */ /* Taille maxi des noms de fichiers */ #define TAILLEMAX 80 /* Nombre maxi de fichiers dans tampon */ #define NBMAXNOMFIC 10 /* Identificateur de projet pour la memoire partagee */ #define CLE_SHM "CLE_0" /* Identificateur de projet pour les semaphores */ #define CLE_INFOPRETE "CLE_1" #define CLE_PLACEDISPO "CLE_2" #define CLE_MUTEX "CLE_3" #define CLE_FIFO "CLE_4" #define CLE_MUTEXL "CLE_5" #define CLE_MUTEXG "CLE_6" /* Structure de la zone de memoire partagee. Elle contient : - les semaphores - le tampon utilise pour le producteur/consommateur - la variable iDepot - la variable iExtrait (partagee entre imprime6s et imprime6l) - la variable nbLec (parategee entre les imprime6l) */ typedef struct{ sem_t info_prete; sem_t place_dispo; sem_t mutex; sem_t fifo; sem_t mutexl; sem_t mutexg; char nomFic[NBMAXNOMFIC][TAILLEMAX]; int iDepot; int iExtrait; int nbLec; } shm_t;