00001
00024 #ifndef ELOOP_H
00025 #define ELOOP_H
00026
00031 #define ELOOP_ALL_CTX (void *) -1
00032
00042 void eloop_init(void *user_data);
00043
00057 int eloop_register_read_sock(int sock,
00058 void (*handler)(int sock, void *eloop_ctx,
00059 void *sock_ctx),
00060 void *eloop_data, void *user_data);
00061
00070 void eloop_unregister_read_sock(int sock);
00071
00085 int eloop_register_timeout(unsigned int secs, unsigned int usecs,
00086 void (*handler)(void *eloop_ctx, void *timeout_ctx),
00087 void *eloop_data, void *user_data);
00088
00101 int eloop_cancel_timeout(void (*handler)(void *eloop_ctx, void *sock_ctx),
00102 void *eloop_data, void *user_data);
00103
00121 int eloop_register_signal(int sig,
00122 void (*handler)(int sig, void *eloop_ctx,
00123 void *signal_ctx),
00124 void *user_data);
00125
00134 void eloop_run(void);
00135
00143 void eloop_terminate(void);
00144
00152 void eloop_destroy(void);
00153
00164 int eloop_terminated(void);
00165
00166 #endif
00167