Query: iv_timer
OS: debian
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
iv_timer(3) ivykis programmer's manual iv_timer(3)NAMEiv_timer_register, iv_timer_unregister, iv_timer_registered - deal with ivykis timersSYNOPSIS#include <iv.h> struct iv_timer { struct timespec expires; void *cookie; void (*handler)(void *); }; void IV_TIMER_INIT(struct iv_timer *timer); void iv_timer_register(struct iv_timer *timer); void iv_timer_unregister(struct iv_timer *timer); int iv_timer_registered(struct iv_timer *timer);DESCRIPTIONThe functions iv_timer_register and iv_timer_unregister register, respectively unregister, a timer with the current thread's ivykis event loop. iv_timer_registered on a timer returns true if that timer is currently registered with ivykis. When a timer that is registered becomes 'ready', due to the current system clock value becoming greater than or equal to the timer's ->expires member field, the callback function specified by ->handler is called in the thread that the timer was registered in, with ->cookie as its first and sole argument. When this happens, the timer is transparently unregistered. The application is allowed to change the ->cookie and ->handler members at any time. The application is not allowed to change the ->expires member while the timer is registered. A given struct iv_timer can only be registered in one thread at a time, and a timer can only be unregistered in the thread that it was reg- istered from. There is no limit on the number of timers registered at once. See iv_examples(3) for programming examples.SEE ALSOivykis(3), iv_examples(3) ivykis 2010-08-15 iv_timer(3)