X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=include%2Fipc.h;h=a77439737aea46066961114f32464ce54e5eb7f5;hp=a1caea827fb7a549cbcde1a3c5c973e14e1ab987;hb=54e7a3156810e654812dd2a5fba1ca1bd9670ff3;hpb=cf375927f0822540515230d5eb69e08e9edc2dda diff --git a/include/ipc.h b/include/ipc.h index a1caea82..a7743973 100644 --- a/include/ipc.h +++ b/include/ipc.h @@ -35,7 +35,8 @@ typedef struct ipc_client { * event has been sent by i3. */ bool first_tick_sent; - struct ev_io *callback; + struct ev_io *read_callback; + struct ev_io *write_callback; struct ev_timer *timeout; uint8_t *buffer; size_t buffer_size; @@ -54,12 +55,12 @@ typedef struct ipc_client { * message_type is the type of the message as the sender specified it. * */ -typedef void (*handler_t)(int, uint8_t *, int, uint32_t, uint32_t); +typedef void (*handler_t)(ipc_client *, uint8_t *, int, uint32_t, uint32_t); /* Macro to declare a callback */ -#define IPC_HANDLER(name) \ - static void handle_##name(int fd, uint8_t *message, \ - int size, uint32_t message_size, \ +#define IPC_HANDLER(name) \ + static void handle_##name(ipc_client *client, uint8_t *message, \ + int size, uint32_t message_size, \ uint32_t message_type) /**