X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=iochannel.h;h=3fbbea70deda18eb06baf90b4ea6a55a039e2b88;hb=be0f9983c91a35d5b617303f1461eee8b02fb710;hp=daf0bc12aa7e67e59d809adcc3cfb7bc9a1e8573;hpb=e82a48ecf7514b90b01adcb3ad4d6b05066a2027;p=cascardo%2Frnetproxy.git diff --git a/iochannel.h b/iochannel.h index daf0bc1..3fbbea7 100644 --- a/iochannel.h +++ b/iochannel.h @@ -27,4 +27,22 @@ typedef void (*HCServerFunc) (int, struct sockaddr*, socklen_t, gpointer); void hc_server_add_watch (int, HCServerFunc, gpointer); +typedef struct _hc_conn_t HCConn; + +typedef enum +{ + HC_EVENT_NULL = 0, + HC_EVENT_CONNECT, + HC_EVENT_READ, + HC_EVENT_CLOSE +} HCEvent; + +typedef void (*HCClientFunc) (HCConn *, HCEvent, gpointer); + +HCConn * hc_conn_new (int, HCClientFunc, gpointer); +ssize_t hc_conn_read (HCConn *, char *, size_t); +void hc_conn_write (HCConn *, char *, size_t); +void hc_conn_close (HCConn *); +void hc_conn_set_callback (HCConn *, HCClientFunc, gpointer); + #endif