Changes in kernel/generic/include/time/timeout.h [a6e55886:111b9b9] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/time/timeout.h
ra6e55886 r111b9b9 42 42 typedef void (*timeout_handler_t)(void *arg); 43 43 44 typedef uint64_t deadline_t; 45 #define DEADLINE_NEVER ((deadline_t) UINT64_MAX) 46 44 47 typedef struct { 45 IRQ_SPINLOCK_DECLARE(lock); 46 47 /** Link to the list of active timeouts on CURRENT->cpu */ 48 /** Link to the list of active timeouts on timeout->cpu */ 48 49 link_t link; 49 /** Timeout will be activated in this amount of clock() ticks. */50 uint64_t ticks;50 /** Timeout will be activated when current clock tick reaches this value. */ 51 deadline_t deadline; 51 52 /** Function that will be called on timeout activation. */ 52 53 timeout_handler_t handler; … … 55 56 /** On which processor is this timeout registered. */ 56 57 cpu_t *cpu; 58 /** Used to synchronize with the handler callback. */ 59 atomic_bool finished; 57 60 } timeout_t; 58 61 59 62 #define us2ticks(us) ((uint64_t) (((uint32_t) (us) / (1000000 / HZ)))) 60 63 64 extern deadline_t timeout_deadline_in_usec(uint32_t us); 65 61 66 extern void timeout_init(void); 62 67 extern void timeout_initialize(timeout_t *); 63 extern void timeout_reinitialize(timeout_t *);64 68 extern void timeout_register(timeout_t *, uint64_t, timeout_handler_t, void *); 69 extern void timeout_register_deadline(timeout_t *, deadline_t, timeout_handler_t, void *); 65 70 extern bool timeout_unregister(timeout_t *); 66 71
Note:
See TracChangeset
for help on using the changeset viewer.