blob: f8fd06b95f5a38d5dc5e1c40fb1d586add1bef07 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001/*
2 * wpa_supplicant - SME
3 * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
4 *
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -08005 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07007 */
8
9#ifndef SME_H
10#define SME_H
11
12#ifdef CONFIG_SME
13
14void sme_authenticate(struct wpa_supplicant *wpa_s,
15 struct wpa_bss *bss, struct wpa_ssid *ssid);
16void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode,
17 const u8 *bssid, u16 auth_type);
18void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data);
19int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
20 const u8 *ies, size_t ies_len);
21void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
Sunil Ravib0ac25f2024-07-12 01:42:03 +000022 union wpa_event_data *data,
23 const u8 **link_bssids);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070024void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
25 union wpa_event_data *data);
26void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
27 union wpa_event_data *data);
28void sme_event_disassoc(struct wpa_supplicant *wpa_s,
Dmitry Shmidtc2ebb4b2013-07-24 12:57:51 -070029 struct disassoc_info *info);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070030void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
31 const u8 *da, u16 reason_code);
Hai Shalom74f70d42019-02-11 14:42:39 -080032void sme_event_ch_switch(struct wpa_supplicant *wpa_s);
Hai Shaloma20dcd72022-02-04 13:43:00 -080033void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *da, const u8 *sa,
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070034 const u8 *data, size_t len);
35void sme_state_changed(struct wpa_supplicant *wpa_s);
Dmitry Shmidtfb45fd52015-01-05 13:08:17 -080036void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s);
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070037void sme_deinit(struct wpa_supplicant *wpa_s);
38
Hai Shaloma20dcd72022-02-04 13:43:00 -080039int sme_proc_obss_scan(struct wpa_supplicant *wpa_s);
Dmitry Shmidt04949592012-07-19 12:16:46 -070040void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable);
Roshan Pius3a1667e2018-07-03 15:17:14 -070041void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
42 union wpa_event_data *data);
43void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
44 const u8 *auth_frame, size_t len);
Dmitry Shmidt04949592012-07-19 12:16:46 -070045
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070046#else /* CONFIG_SME */
47
48static inline void sme_authenticate(struct wpa_supplicant *wpa_s,
49 struct wpa_bss *bss,
50 struct wpa_ssid *ssid)
51{
52}
53
54static inline void sme_event_auth(struct wpa_supplicant *wpa_s,
55 union wpa_event_data *data)
56{
57}
58
59static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
60 const u8 *ies, size_t ies_len)
61{
62 return -1;
63}
64
65
66static inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
Sunil Ravib0ac25f2024-07-12 01:42:03 +000067 union wpa_event_data *data,
68 const u8 **link_bssids)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070069{
70}
71
72static inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
73 union wpa_event_data *data)
74{
75}
76
77static inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
78 union wpa_event_data *data)
79{
80}
81
82static inline void sme_event_disassoc(struct wpa_supplicant *wpa_s,
Dmitry Shmidtc2ebb4b2013-07-24 12:57:51 -070083 struct disassoc_info *info)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070084{
85}
86
87static inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,
88 const u8 *sa, const u8 *da,
89 u16 reason_code)
90{
91}
92
Hai Shalom74f70d42019-02-11 14:42:39 -080093static inline void sme_event_ch_switch(struct wpa_supplicant *wpa_s)
94{
95}
96
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070097static inline void sme_state_changed(struct wpa_supplicant *wpa_s)
98{
99}
100
Dmitry Shmidtfb45fd52015-01-05 13:08:17 -0800101static inline void sme_clear_on_disassoc(struct wpa_supplicant *wpa_s)
102{
103}
104
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700105static inline void sme_deinit(struct wpa_supplicant *wpa_s)
106{
107}
108
Hai Shaloma20dcd72022-02-04 13:43:00 -0800109static inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
Dmitry Shmidt04949592012-07-19 12:16:46 -0700110{
111 return 0;
112}
113
114static inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,
115 int enable)
116{
117}
118
Roshan Pius3a1667e2018-07-03 15:17:14 -0700119static inline void sme_external_auth_trigger(struct wpa_supplicant *wpa_s,
120 union wpa_event_data *data)
121{
122}
123
124static inline void sme_external_auth_mgmt_rx(struct wpa_supplicant *wpa_s,
125 const u8 *auth_frame, size_t len)
126{
127}
128
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700129#endif /* CONFIG_SME */
130
131#endif /* SME_H */