async net init (dhewg)
[libogc.git] / libogc / lwp_watchdog.inl
blob5216e109965f7ae6c0164f094cb51f7facdb72b3
1 #ifndef __LWP_WATCHDOG_INL__
2 #define __LWP_WATCHDOG_INL__
4 static __inline__ void __lwp_wd_initialize(wd_cntrl *wd,wd_service_routine routine,u32 id,void *usr_data)
6         wd->state = LWP_WD_INACTIVE;
7         wd->id = id;
8         wd->routine = routine;
9         wd->usr_data = usr_data;
12 static __inline__ wd_cntrl* __lwp_wd_first(lwp_queue *queue)
14         return (wd_cntrl*)queue->first;
17 static __inline__ wd_cntrl* __lwp_wd_last(lwp_queue *queue)
19         return (wd_cntrl*)queue->last;
22 static __inline__ wd_cntrl* __lwp_wd_next(wd_cntrl *wd)
24         return (wd_cntrl*)wd->node.next;
27 static __inline__ wd_cntrl* __lwp_wd_prev(wd_cntrl *wd)
29         return (wd_cntrl*)wd->node.prev;
32 static __inline__ void __lwp_wd_activate(wd_cntrl *wd)
34         wd->state = LWP_WD_ACTIVE;
37 static __inline__ void __lwp_wd_deactivate(wd_cntrl *wd)
39         wd->state = LWP_WD_REMOVE;
42 static __inline__ u32 __lwp_wd_isactive(wd_cntrl *wd)
44         return (wd->state==LWP_WD_ACTIVE);
47 static __inline__ u64 __lwp_wd_calc_ticks(const struct timespec *time)
49         u64 ticks;
51         ticks = secs_to_ticks(time->tv_sec);
52         ticks += nanosecs_to_ticks(time->tv_nsec);
54         return ticks;
57 static __inline__ void __lwp_wd_tickle_ticks()
59         __lwp_wd_tickle(&_wd_ticks_queue);
62 static __inline__ void __lwp_wd_insert_ticks(wd_cntrl *wd,s64 interval)
64         wd->start = gettime();
65         wd->fire = (wd->start+LWP_WD_ABS(interval));
66         __lwp_wd_insert(&_wd_ticks_queue,wd);
69 static __inline__ void __lwp_wd_adjust_ticks(u32 dir,s64 interval)
71         __lwp_wd_adjust(&_wd_ticks_queue,dir,interval);
74 static __inline__ void __lwp_wd_remove_ticks(wd_cntrl *wd)
76         __lwp_wd_remove(&_wd_ticks_queue,wd);
79 static __inline__ void __lwp_wd_reset(wd_cntrl *wd)
81         __lwp_wd_remove(&_wd_ticks_queue,wd);
82         __lwp_wd_insert(&_wd_ticks_queue,wd);
84 #endif