node: save created time for node
[project/usteer.git] / event.h
1 #ifndef __USTEER_EVENT_H
2 #define __USTEER_EVENT_H
3
4 enum uevent_type {
5 UEV_PROBE_REQ_ACCEPT,
6 UEV_PROBE_REQ_DENY,
7 UEV_AUTH_REQ_ACCEPT,
8 UEV_AUTH_REQ_DENY,
9 UEV_ASSOC_REQ_ACCEPT,
10 UEV_ASSOC_REQ_DENY,
11 UEV_LOAD_KICK_TRIGGER,
12 UEV_LOAD_KICK_RESET,
13 UEV_LOAD_KICK_MIN_CLIENTS,
14 UEV_LOAD_KICK_NO_CLIENT,
15 UEV_LOAD_KICK_CLIENT,
16 UEV_SIGNAL_KICK,
17 };
18
19 enum uevent_reason {
20 UEV_REASON_NONE,
21 UEV_REASON_RETRY_EXCEEDED,
22 UEV_REASON_LOW_SIGNAL,
23 UEV_REASON_CONNECT_DELAY,
24 UEV_REASON_BETTER_CANDIDATE,
25 };
26
27 enum uevent_select_reason {
28 UEV_SELECT_REASON_NUM_ASSOC,
29 UEV_SELECT_REASON_SIGNAL,
30 UEV_SELECT_REASON_LOAD,
31 };
32
33 struct uevent {
34 enum uevent_type type;
35 enum uevent_reason reason;
36 uint32_t select_reasons;
37
38 struct usteer_node *node_local;
39 struct sta *sta;
40
41 struct sta_info *si_cur;
42 struct sta_info *si_other;
43
44 struct usteer_node *node_cur;
45 struct usteer_node *node_other;
46
47 unsigned int count;
48
49 struct {
50 int cur;
51 int ref;
52 } threshold;
53 };
54
55 void usteer_event(struct uevent *ev);
56 void config_set_event_log_types(struct blob_attr *attr);
57 void config_get_event_log_types(struct blob_buf *buf);
58
59 #endif