#ifndef __COMUNICACION_H #define __COMUNICACION_H /**************************************************************/ /* /* /* comunicacion.h /* /* /* Interfaz de comunicaciones para la práctica /* de comunicación entre procesos /* /* /**************************************************************/ /* Constantes */ #define DIM_ORDEN 200 /* Long. máxima de la orden */ #define DIM_CANAL 128 /* Long. máx. nombre de tty */ #define FINALIZA 7 /* Código de finalización */ /* Códigos de error */ typedef enum { ERR_OK = 0, ERR_HIJO = 1000, ERR_CARGA = 2000, ERR_EJEC = 3000 } Codigo_error; /* Tipos de procesos */ typedef enum { PROCESO_CLIENTE, PROCESO_SERVIDOR } Tipo_proceso; /* Estructuras para peticiones y respuestas */ struct Peticion { char orden[DIM_ORDEN]; /* orden para ejecutar */ char canal[DIM_CANAL]; /* fichero donde se visualiza */ }; struct Respuesta { Codigo_error resultado; }; /* Funciones de inicialización y terminación */ int inicia_comunicacion ( Tipo_proceso ); int finaliza_comunicacion (void); /* Funciones de comunicación para el cliente */ int envia_peticion ( const struct Peticion* ); int espera_respuesta ( struct Respuesta* ); /* Funciones de comunicación para el servidor */ int recibe_peticion ( struct Peticion* ); int envia_respuesta ( const struct Respuesta* ); #endif __COMUNICACION_H