eloop.h

Go to the documentation of this file.
00001 
00024 #ifndef ELOOP_H
00025 #define ELOOP_H
00026 
00031 #define ELOOP_ALL_CTX (void *) -1
00032 
00040 typedef enum {
00041         EVENT_TYPE_READ = 0,
00042         EVENT_TYPE_WRITE,
00043         EVENT_TYPE_EXCEPTION
00044 } eloop_event_type;
00045 
00053 typedef void (*eloop_sock_handler)(int sock, void *eloop_ctx, void *sock_ctx);
00054 
00061 typedef void (*eloop_event_handler)(void *eloop_data, void *user_ctx);
00062 
00069 typedef void (*eloop_timeout_handler)(void *eloop_data, void *user_ctx);
00070 
00081 typedef void (*eloop_signal_handler)(int sig, void *eloop_ctx,
00082                                      void *signal_ctx);
00083 
00094 int eloop_init(void *user_data);
00095 
00111 int eloop_register_read_sock(int sock, eloop_sock_handler handler,
00112                              void *eloop_data, void *user_data);
00113 
00122 void eloop_unregister_read_sock(int sock);
00123 
00140 int eloop_register_sock(int sock, eloop_event_type type,
00141                         eloop_sock_handler handler,
00142                         void *eloop_data, void *user_data);
00143 
00153 void eloop_unregister_sock(int sock, eloop_event_type type);
00154 
00178 int eloop_register_event(void *event, size_t event_size,
00179                          eloop_event_handler handler,
00180                          void *eloop_data, void *user_data);
00181 
00191 void eloop_unregister_event(void *event, size_t event_size);
00192 
00206 int eloop_register_timeout(unsigned int secs, unsigned int usecs,
00207                            eloop_timeout_handler handler,
00208                            void *eloop_data, void *user_data);
00209 
00222 int eloop_cancel_timeout(eloop_timeout_handler handler,
00223                          void *eloop_data, void *user_data);
00224 
00243 int eloop_register_signal(int sig, eloop_signal_handler handler,
00244                           void *user_data);
00245 
00268 int eloop_register_signal_terminate(eloop_signal_handler handler,
00269                                     void *user_data);
00270 
00293 int eloop_register_signal_reconfig(eloop_signal_handler handler,
00294                                    void *user_data);
00295 
00304 void eloop_run(void);
00305 
00313 void eloop_terminate(void);
00314 
00322 void eloop_destroy(void);
00323 
00334 int eloop_terminated(void);
00335 
00343 void eloop_wait_for_read_sock(int sock);
00344 
00350 void * eloop_get_user_data(void);
00351 
00352 #endif /* ELOOP_H */
00353 

Generated on Sun Dec 31 13:43:27 2006 for hostapd by  doxygen 1.4.2