7 #define PERIODIC_EVENT_NO_UPDATE (-1) 11 #define PERIODIC_EVENT_ROLE_CLIENT (1U << 0) 12 #define PERIODIC_EVENT_ROLE_RELAY (1U << 1) 13 #define PERIODIC_EVENT_ROLE_BRIDGE (1U << 2) 14 #define PERIODIC_EVENT_ROLE_DIRAUTH (1U << 3) 15 #define PERIODIC_EVENT_ROLE_BRIDGEAUTH (1U << 4) 16 #define PERIODIC_EVENT_ROLE_HS_SERVICE (1U << 5) 17 #define PERIODIC_EVENT_ROLE_DIRSERVER (1U << 6) 23 #define PERIODIC_EVENT_ROLE_ROUTER \ 24 (PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_RELAY) 26 #define PERIODIC_EVENT_ROLE_AUTHORITIES \ 27 (PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_DIRAUTH) 29 #define PERIODIC_EVENT_ROLE_ALL \ 30 (PERIODIC_EVENT_ROLE_AUTHORITIES | PERIODIC_EVENT_ROLE_CLIENT | \ 31 PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_ROUTER) 40 #define PERIODIC_EVENT_FLAG_NEED_NET (1U << 0) 47 typedef int (*periodic_event_helper_t)(time_t now,
54 periodic_event_helper_t
fn;
65 unsigned int enabled : 1;
69 #define PERIODIC_EVENT(fn, r, f) { fn##_callback, 0, NULL, #fn, r, f, 0 } 70 #define END_OF_PERIODIC_EVENTS { NULL, 0, NULL, NULL, 0, 0, 0 }
void periodic_event_enable(periodic_event_item_t *event)
Definition: periodic.c:147
time_t last_action_time
Definition: periodic.h:55
void periodic_event_reschedule(periodic_event_item_t *event)
Definition: periodic.c:91
void periodic_event_disable(periodic_event_item_t *event)
Definition: periodic.c:162
const char * name
Definition: periodic.h:58
void periodic_event_setup(periodic_event_item_t *event)
Definition: periodic.c:101
Definition: periodic.h:53
void periodic_event_launch(periodic_event_item_t *event)
Definition: periodic.c:116
void periodic_event_destroy(periodic_event_item_t *event)
Definition: periodic.c:135
Definition: compat_libevent.c:310
struct mainloop_event_t * ev
Definition: periodic.h:56
periodic_event_helper_t fn
Definition: periodic.h:54