#ifndef __MENSAJE_H #define __MENSAJE_H /* Fichero para las comunicaciones */ #define CANAL "mi_fichero_de_comunicaciones" /* Semáforos conocidos por todos */ int peticion_pendiente; int bloquea_fichero; #define CLAVE_PP 1234 /* clave para "peticion_pendiente" */ #define CLAVE_BF 5678 /* clave para "bloquea_fichero" */ /* Tipo de datos para las peticiones del cliente */ typedef enum { LEE, ESCRIBE, TERMINA } tipo_mensaje; struct Mensaje { tipo_mensaje tipo; /* Leer, escribir o terminar */ int dato; /* Cuando se escribe un dato */ int peticion_servida; /* semid del semáforo del cliente */ }; #endif