// services.h #ifndef __SERVICESH #define __SERVICESH #ifndef ERROR #define ERROR -1 #endif #ifndef FALSE #define FALSE (0) #endif #ifndef TRUE #define TRUE (1) #endif #define FREE 0 #define INUSE 1 #define QUEUED 2 #define PROCESSING 3 #define DONE 4 #define OK 0 #define VALID 1 // define procedure prototypes void report_version(); #if defined MASTER || defined MERGE // void claim_link_buffer(int); // void release_link_buffer(int); #else // void claim_link_buffer(void); // void release_link_buffer(void); #endif #ifdef LINK int obtain_data_buffer(int); int queue_data_buffer(int, int); int release_data_buffer(int, int); #endif #ifdef MERGE int release_data_buffer(int, int); #endif void * alloc_data_area(int, int); // id , size (bytes) int wakeup_merge(); int wakeup_master(); int wait_for_wakeup(); void wait_for_master(); void wakeup(int); void sig_init(); #endif