1 #ifndef __GAM_CONNECTION_H__ 2 #define __GAM_CONNECTION_H__ 1 3 4 #include <glib.h> 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /** 11 * Data associated to connections in the gamin server 12 */ 13 typedef struct GamConnData GamConnData; 14 typedef GamConnData *GamConnDataPtr; 15 16 /** 17 * the different states the connection can be in 18 */ 19 typedef enum { 20 GAM_STATE_ERROR = -1, /* error condition */ 21 GAM_STATE_AUTH, /* authenthication needed */ 22 GAM_STATE_OKAY, /* normal state */ 23 GAM_STATE_CLOSED /* the connection was closed by server */ 24 } GamConnState; 25 26 int gam_connections_init (void); 27 int gam_connections_close (void); 28 void gam_schedule_server_timeout (void); 29 30 GamConnDataPtr gam_connection_new (GMainLoop *loop, 31 GIOChannel *source); 32 int gam_connection_set_pid (GamConnDataPtr conn, 33 int pid); 34 int gam_connection_exists (GamConnDataPtr conn); 35 int gam_connection_close (GamConnDataPtr conn); 36 37 int gam_connection_get_fd (GamConnDataPtr conn); 38 int gam_connection_get_pid (GamConnDataPtr conn); 39 gchar * gam_connection_get_pidname (GamConnDataPtr conn); 40 GamConnState gam_connection_get_state(GamConnDataPtr conn); 41 int gam_connection_get_data (GamConnDataPtr conn, 42 char **data, 43 int *size); 44 int gam_connection_data (GamConnDataPtr conn, 45 int len); 46 int gam_send_event (GamConnDataPtr conn, 47 int reqno, 48 int event, 49 const char *path, 50 int len); 51 void gam_queue_event (GamConnDataPtr conn, 52 int reqno, 53 int event, 54 const char *path, 55 int len); 56 int gam_send_ack (GamConnDataPtr conn, 57 int reqno, 58 const char *path, 59 int len); 60 void gam_connections_debug (void); 61 #ifdef __cplusplus 62 } 63 #endif 64 65 #endif /* __GAM_CONNECTION_H__ */ 66