#ifndef __GAM_CONNECTION_H__ #define __GAM_CONNECTION_H__ 1 #include #ifdef __cplusplus extern "C" { #endif /** * Data associated to connections in the gamin server */ typedef struct GamConnData GamConnData; typedef GamConnData *GamConnDataPtr; /** * the different states the connection can be in */ typedef enum { GAM_STATE_ERROR = -1, /* error condition */ GAM_STATE_AUTH, /* authenthication needed */ GAM_STATE_OKAY, /* normal state */ GAM_STATE_CLOSED /* the connection was closed by server */ } GamConnState; int gam_connections_init (void); int gam_connections_close (void); void gam_schedule_server_timeout (void); GamConnDataPtr gam_connection_new (GMainLoop *loop, GIOChannel *source); int gam_connection_set_pid (GamConnDataPtr conn, int pid); int gam_connection_exists (GamConnDataPtr conn); int gam_connection_close (GamConnDataPtr conn); int gam_connection_get_fd (GamConnDataPtr conn); int gam_connection_get_pid (GamConnDataPtr conn); gchar * gam_connection_get_pidname (GamConnDataPtr conn); GamConnState gam_connection_get_state(GamConnDataPtr conn); int gam_connection_get_data (GamConnDataPtr conn, char **data, int *size); int gam_connection_data (GamConnDataPtr conn, int len); int gam_send_event (GamConnDataPtr conn, int reqno, int event, const char *path, int len); void gam_queue_event (GamConnDataPtr conn, int reqno, int event, const char *path, int len); int gam_send_ack (GamConnDataPtr conn, int reqno, const char *path, int len); void gam_connections_debug (void); #ifdef __cplusplus } #endif #endif /* __GAM_CONNECTION_H__ */