X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FIOHandler%2FIOTimer.h;h=e67ee6faec59d3b178d277a5f8299e1a0d8e535a;hb=2487ad21511a08b1b29c28aeb893155cb779a8f8;hp=c173282bb3d1eb7904e86853461debbd7395d130;hpb=9e6045c7b6d7afc774eeb59fa5f5c4e02fe1f037;p=NextIRCd.git diff --git a/src/IOHandler/IOTimer.h b/src/IOHandler/IOTimer.h index c173282..e67ee6f 100644 --- a/src/IOHandler/IOTimer.h +++ b/src/IOHandler/IOTimer.h @@ -27,19 +27,20 @@ #define IOTIMERFLAG_IN_LIST 0x04 #define IOTIMERFLAG_PARENT_PUBLIC 0x08 #define IOTIMERFLAG_PARENT_SOCKET 0x10 +#define IOTIMERFLAG_PERSISTENT 0x20 struct _IOTimerDescriptor; extern struct _IOTimerDescriptor *iotimer_sorted_descriptors; struct _IOTimerDescriptor { - unsigned int flags : 8; - void *parent; - - struct timeval timeout; - struct timeval autoreload; - - struct _IOTimerDescriptor *prev, *next; + unsigned int flags : 8; + void *parent; + + struct timeval timeout; + struct timeval autoreload; + + struct _IOTimerDescriptor *prev, *next; }; void _init_timers(); @@ -55,16 +56,22 @@ struct IOTimerDescriptor; typedef IOTIMER_CALLBACK(iotimer_callback); struct IOTimerDescriptor { - void *iotimer; /* struct _IOTimerDescriptor */ - - iotimer_callback *callback; - void *data; + void *iotimer; /* struct _IOTimerDescriptor */ + + iotimer_callback *callback; + void *data; }; struct IOTimerDescriptor *iotimer_create(struct timeval *timeout); void iotimer_start(struct IOTimerDescriptor *iotimer); +void iotimer_stop(struct IOTimerDescriptor *iotimer); +int iotimer_state(struct IOTimerDescriptor *iotimer); void iotimer_set_autoreload(struct IOTimerDescriptor *iotimer, struct timeval *autoreload); +struct timeval iotimer_get_autoreload(struct IOTimerDescriptor *iotimer); +void iotimer_set_timeout(struct IOTimerDescriptor *iotimer, struct timeval *timeout); +struct timeval iotimer_get_timeout(struct IOTimerDescriptor *iotimer); void iotimer_set_callback(struct IOTimerDescriptor *iotimer, iotimer_callback *callback); +void iotimer_set_persistent(struct IOTimerDescriptor *iotimer, int persistent); void iotimer_destroy(struct IOTimerDescriptor *iotimer); #endif