1214501Srpaulo/*
2214501Srpaulo * wpa_supplicant - SME
3214501Srpaulo * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
4214501Srpaulo *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7214501Srpaulo */
8214501Srpaulo
9214501Srpaulo#ifndef SME_H
10214501Srpaulo#define SME_H
11214501Srpaulo
12214501Srpaulo#ifdef CONFIG_SME
13214501Srpaulo
14214501Srpaulovoid sme_authenticate(struct wpa_supplicant *wpa_s,
15214501Srpaulo		      struct wpa_bss *bss, struct wpa_ssid *ssid);
16214501Srpaulovoid sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode,
17214501Srpaulo		   const u8 *bssid, u16 auth_type);
18214501Srpaulovoid sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data);
19214501Srpauloint sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
20214501Srpaulo		      const u8 *ies, size_t ies_len);
21214501Srpaulovoid sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
22214501Srpaulo			    union wpa_event_data *data);
23214501Srpaulovoid sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
24214501Srpaulo			      union wpa_event_data *data);
25214501Srpaulovoid sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
26214501Srpaulo			       union wpa_event_data *data);
27214501Srpaulovoid sme_event_disassoc(struct wpa_supplicant *wpa_s,
28214501Srpaulo			union wpa_event_data *data);
29252726Srpaulovoid sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
30252726Srpaulo				 const u8 *da, u16 reason_code);
31252726Srpaulovoid sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *sa,
32252726Srpaulo		     const u8 *data, size_t len);
33252726Srpaulovoid sme_state_changed(struct wpa_supplicant *wpa_s);
34252726Srpaulovoid sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
35252726Srpaulo				       const u8 *prev_pending_bssid);
36252726Srpaulovoid sme_deinit(struct wpa_supplicant *wpa_s);
37214501Srpaulo
38252726Srpauloint sme_proc_obss_scan(struct wpa_supplicant *wpa_s);
39252726Srpaulovoid sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable);
40252726Srpaulo
41214501Srpaulo#else /* CONFIG_SME */
42214501Srpaulo
43214501Srpaulostatic inline void sme_authenticate(struct wpa_supplicant *wpa_s,
44214501Srpaulo				    struct wpa_bss *bss,
45214501Srpaulo				    struct wpa_ssid *ssid)
46214501Srpaulo{
47214501Srpaulo}
48214501Srpaulo
49214501Srpaulostatic inline void sme_event_auth(struct wpa_supplicant *wpa_s,
50214501Srpaulo				  union wpa_event_data *data)
51214501Srpaulo{
52214501Srpaulo}
53214501Srpaulo
54214501Srpaulostatic inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
55214501Srpaulo				    const u8 *ies, size_t ies_len)
56214501Srpaulo{
57214501Srpaulo	return -1;
58214501Srpaulo}
59214501Srpaulo
60214501Srpaulo
61214501Srpaulostatic inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
62214501Srpaulo					  union wpa_event_data *data)
63214501Srpaulo{
64214501Srpaulo}
65214501Srpaulo
66214501Srpaulostatic inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
67214501Srpaulo					    union wpa_event_data *data)
68214501Srpaulo{
69214501Srpaulo}
70214501Srpaulo
71214501Srpaulostatic inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
72214501Srpaulo					     union wpa_event_data *data)
73214501Srpaulo{
74214501Srpaulo}
75214501Srpaulo
76214501Srpaulostatic inline void sme_event_disassoc(struct wpa_supplicant *wpa_s,
77214501Srpaulo				      union wpa_event_data *data)
78214501Srpaulo{
79214501Srpaulo}
80214501Srpaulo
81252726Srpaulostatic inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,
82252726Srpaulo					       const u8 *sa, const u8 *da,
83252726Srpaulo					       u16 reason_code)
84252726Srpaulo{
85252726Srpaulo}
86252726Srpaulo
87252726Srpaulostatic inline void sme_state_changed(struct wpa_supplicant *wpa_s)
88252726Srpaulo{
89252726Srpaulo}
90252726Srpaulo
91252726Srpaulostatic inline void
92252726Srpaulosme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
93252726Srpaulo				  const u8 *prev_pending_bssid)
94252726Srpaulo{
95252726Srpaulo}
96252726Srpaulo
97252726Srpaulostatic inline void sme_deinit(struct wpa_supplicant *wpa_s)
98252726Srpaulo{
99252726Srpaulo}
100252726Srpaulo
101252726Srpaulostatic inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
102252726Srpaulo{
103252726Srpaulo	return 0;
104252726Srpaulo}
105252726Srpaulo
106252726Srpaulostatic inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,
107252726Srpaulo				       int enable)
108252726Srpaulo{
109252726Srpaulo}
110252726Srpaulo
111214501Srpaulo#endif /* CONFIG_SME */
112214501Srpaulo
113214501Srpaulo#endif /* SME_H */
114