sme.h revision 1.1.1.6 1 1.1 christos /*
2 1.1 christos * wpa_supplicant - SME
3 1.1 christos * Copyright (c) 2009-2010, Jouni Malinen <j (at) w1.fi>
4 1.1 christos *
5 1.1.1.3 christos * This software may be distributed under the terms of the BSD license.
6 1.1.1.3 christos * See README for more details.
7 1.1 christos */
8 1.1 christos
9 1.1 christos #ifndef SME_H
10 1.1 christos #define SME_H
11 1.1 christos
12 1.1 christos #ifdef CONFIG_SME
13 1.1 christos
14 1.1 christos void sme_authenticate(struct wpa_supplicant *wpa_s,
15 1.1 christos struct wpa_bss *bss, struct wpa_ssid *ssid);
16 1.1 christos void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode,
17 1.1 christos const u8 *bssid, u16 auth_type);
18 1.1 christos void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data);
19 1.1 christos int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
20 1.1 christos const u8 *ies, size_t ies_len);
21 1.1 christos void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
22 1.1 christos union wpa_event_data *data);
23 1.1 christos void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
24 1.1 christos union wpa_event_data *data);
25 1.1 christos void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
26 1.1 christos union wpa_event_data *data);
27 1.1 christos void sme_event_disassoc(struct wpa_supplicant *wpa_s,
28 1.1.1.4 christos struct disassoc_info *info);
29 1.1.1.2 christos void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
30 1.1.1.2 christos const u8 *da, u16 reason_code);
31 1.1.1.2 christos void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *sa,
32 1.1.1.2 christos const u8 *data, size_t len);
33 1.1.1.2 christos void sme_state_changed(struct wpa_supplicant *wpa_s);
34 1.1.1.2 christos void sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
35 1.1.1.2 christos const u8 *prev_pending_bssid);
36 1.1.1.5 christos void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s);
37 1.1.1.2 christos void sme_deinit(struct wpa_supplicant *wpa_s);
38 1.1 christos
39 1.1.1.3 christos int sme_proc_obss_scan(struct wpa_supplicant *wpa_s);
40 1.1.1.3 christos void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable);
41 1.1.1.6 christos void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
42 1.1.1.6 christos union wpa_event_data *data);
43 1.1.1.6 christos void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
44 1.1.1.6 christos const u8 *auth_frame, size_t len);
45 1.1.1.3 christos
46 1.1 christos #else /* CONFIG_SME */
47 1.1 christos
48 1.1 christos static inline void sme_authenticate(struct wpa_supplicant *wpa_s,
49 1.1 christos struct wpa_bss *bss,
50 1.1 christos struct wpa_ssid *ssid)
51 1.1 christos {
52 1.1 christos }
53 1.1 christos
54 1.1 christos static inline void sme_event_auth(struct wpa_supplicant *wpa_s,
55 1.1 christos union wpa_event_data *data)
56 1.1 christos {
57 1.1 christos }
58 1.1 christos
59 1.1 christos static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
60 1.1 christos const u8 *ies, size_t ies_len)
61 1.1 christos {
62 1.1 christos return -1;
63 1.1 christos }
64 1.1 christos
65 1.1 christos
66 1.1 christos static inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
67 1.1 christos union wpa_event_data *data)
68 1.1 christos {
69 1.1 christos }
70 1.1 christos
71 1.1 christos static inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
72 1.1 christos union wpa_event_data *data)
73 1.1 christos {
74 1.1 christos }
75 1.1 christos
76 1.1 christos static inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
77 1.1 christos union wpa_event_data *data)
78 1.1 christos {
79 1.1 christos }
80 1.1 christos
81 1.1 christos static inline void sme_event_disassoc(struct wpa_supplicant *wpa_s,
82 1.1.1.4 christos struct disassoc_info *info)
83 1.1 christos {
84 1.1 christos }
85 1.1 christos
86 1.1.1.2 christos static inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,
87 1.1.1.2 christos const u8 *sa, const u8 *da,
88 1.1.1.2 christos u16 reason_code)
89 1.1.1.2 christos {
90 1.1.1.2 christos }
91 1.1.1.2 christos
92 1.1.1.2 christos static inline void sme_state_changed(struct wpa_supplicant *wpa_s)
93 1.1.1.2 christos {
94 1.1.1.2 christos }
95 1.1.1.2 christos
96 1.1.1.2 christos static inline void
97 1.1.1.2 christos sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
98 1.1.1.2 christos const u8 *prev_pending_bssid)
99 1.1.1.2 christos {
100 1.1.1.2 christos }
101 1.1.1.2 christos
102 1.1.1.5 christos static inline void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
103 1.1.1.5 christos {
104 1.1.1.5 christos }
105 1.1.1.5 christos
106 1.1.1.2 christos static inline void sme_deinit(struct wpa_supplicant *wpa_s)
107 1.1.1.2 christos {
108 1.1.1.2 christos }
109 1.1.1.2 christos
110 1.1.1.3 christos static inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
111 1.1.1.3 christos {
112 1.1.1.3 christos return 0;
113 1.1.1.3 christos }
114 1.1.1.3 christos
115 1.1.1.3 christos static inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,
116 1.1.1.3 christos int enable)
117 1.1.1.3 christos {
118 1.1.1.3 christos }
119 1.1.1.3 christos
120 1.1.1.6 christos static inline void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
121 1.1.1.6 christos union wpa_event_data *data)
122 1.1.1.6 christos {
123 1.1.1.6 christos }
124 1.1.1.6 christos
125 1.1.1.6 christos static inline void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
126 1.1.1.6 christos const u8 *auth_frame, size_t len)
127 1.1.1.6 christos {
128 1.1.1.6 christos }
129 1.1.1.6 christos
130 1.1 christos #endif /* CONFIG_SME */
131 1.1 christos
132 1.1 christos #endif /* SME_H */
133