X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=nethook.c;h=838099012e732d2bc966361ab3904f3940c1a898;hb=96741adac56ee52d9154a80988219c73f6aec3b9;hp=089074f94332c7601a65755ca00d8fb0e5ebac30;hpb=f2655d1d639228f78071f77010a70935375591e5;p=cascardo%2Frnetproxy.git diff --git a/nethook.c b/nethook.c index 089074f..8380990 100644 --- a/nethook.c +++ b/nethook.c @@ -17,25 +17,25 @@ ** */ -#include #include "nethook.h" -void nethook_event (GConn* conn, GConnEvent* event, gpointer data) +void +nethook_event (HCConn* conn, HCEvent event, gpointer data) { + char buffer[4096]; + int r; net_hook_t* hook; hook = (net_hook_t*) data; - switch (event->type) + switch (event) { - case GNET_CONN_CONNECT: + case HC_EVENT_CONNECT: hook->connect (hook); break; - case GNET_CONN_READ: - hook->read (hook, event->buffer, event->length); + case HC_EVENT_READ: + while ((r = hc_conn_read (conn, buffer, sizeof (buffer))) > 0) + hook->read (hook, buffer, r); break; - case GNET_CONN_WRITE: - hook->write (hook); - break; - case GNET_CONN_CLOSE: + case HC_EVENT_CLOSE: hook->close (hook); break; default: