prelude-timer

prelude-timer

Synopsis

                    prelude_timer_t;
#define             prelude_timer_get_expire            (timer)
#define             prelude_timer_get_data              (timer)
#define             prelude_timer_get_callback          (timer)
#define             prelude_timer_set_expire            (timer, x)
#define             prelude_timer_set_data              (timer, x)
#define             prelude_timer_set_callback          (timer, x)
void                prelude_timer_init                  (prelude_timer_t *timer);
void                prelude_timer_init_list             (prelude_timer_t *timer);
void                prelude_timer_reset                 (prelude_timer_t *timer);
void                prelude_timer_destroy               (prelude_timer_t *timer);
int                 prelude_timer_wake_up               (void);
void                prelude_timer_flush                 (void);
void                prelude_timer_lock_critical_region  (void);
void                prelude_timer_unlock_critical_region
                                                        (void);

Description

Details

prelude_timer_t

typedef struct {
        prelude_list_t list;

        int expire;
        time_t start_time;

        void *data;
        void (*function)(void *data);
} prelude_timer_t;


prelude_timer_get_expire()

#define prelude_timer_get_expire(timer) (timer)->expire

timer :


prelude_timer_get_data()

#define prelude_timer_get_data(timer) (timer)->data

timer :


prelude_timer_get_callback()

#define prelude_timer_get_callback(timer) (timer)->function

timer :


prelude_timer_set_expire()

#define prelude_timer_set_expire(timer, x) prelude_timer_get_expire((timer)) = (x)

timer :

x :


prelude_timer_set_data()

#define prelude_timer_set_data(timer, x) prelude_timer_get_data((timer)) = (x)

timer :

x :


prelude_timer_set_callback()

#define prelude_timer_set_callback(timer, x) prelude_timer_get_callback((timer)) = (x)

timer :

x :


prelude_timer_init ()

void                prelude_timer_init                  (prelude_timer_t *timer);

Initialize a timer (add it to the timer list).

timer :

timer to initialize.

prelude_timer_init_list ()

void                prelude_timer_init_list             (prelude_timer_t *timer);

Initialize timer list member. This is useful if you're going to call prelude_timer_destroy() on timer for which prelude_timer_init() was never called.

timer :

Pointer to a prelude_timer_t object.

prelude_timer_reset ()

void                prelude_timer_reset                 (prelude_timer_t *timer);

Reset timer 'timer', as if it was just started.

timer :

the timer to reset.

prelude_timer_destroy ()

void                prelude_timer_destroy               (prelude_timer_t *timer);

Destroy the timer 'timer', this remove it from the active timer list.

timer :

the timer to destroy.

prelude_timer_wake_up ()

int                 prelude_timer_wake_up               (void);

Wake up timer that need it. This function should be called every second to work properly.

Returns :

Number of second in which prelude_timer_wake_up() should be called again.

prelude_timer_flush ()

void                prelude_timer_flush                 (void);

Expire every timer.


prelude_timer_lock_critical_region ()

void                prelude_timer_lock_critical_region  (void);

Deactivate timer wake-up until timer_unlock_critical_region() is called.


prelude_timer_unlock_critical_region ()

void                prelude_timer_unlock_critical_region
                                                        (void);

Reactivate timer wake-up after timer_lock_critical_regions() has been called.