1/*
2 * wpa_supplicant - SME
3 * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
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,
22			    union wpa_event_data *data);
23void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
24			      union wpa_event_data *data);
25void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
26			       union wpa_event_data *data);
27void sme_event_disassoc(struct wpa_supplicant *wpa_s,
28			struct disassoc_info *info);
29void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s, const u8 *sa,
30				 const u8 *da, u16 reason_code);
31void sme_sa_query_rx(struct wpa_supplicant *wpa_s, const u8 *sa,
32		     const u8 *data, size_t len);
33void sme_state_changed(struct wpa_supplicant *wpa_s);
34void sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
35				       const u8 *prev_pending_bssid);
36void sme_deinit(struct wpa_supplicant *wpa_s);
37
38int sme_proc_obss_scan(struct wpa_supplicant *wpa_s);
39void sme_sched_obss_scan(struct wpa_supplicant *wpa_s, int enable);
40
41#else /* CONFIG_SME */
42
43static inline void sme_authenticate(struct wpa_supplicant *wpa_s,
44				    struct wpa_bss *bss,
45				    struct wpa_ssid *ssid)
46{
47}
48
49static inline void sme_event_auth(struct wpa_supplicant *wpa_s,
50				  union wpa_event_data *data)
51{
52}
53
54static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
55				    const u8 *ies, size_t ies_len)
56{
57	return -1;
58}
59
60
61static inline void sme_event_assoc_reject(struct wpa_supplicant *wpa_s,
62					  union wpa_event_data *data)
63{
64}
65
66static inline void sme_event_auth_timed_out(struct wpa_supplicant *wpa_s,
67					    union wpa_event_data *data)
68{
69}
70
71static inline void sme_event_assoc_timed_out(struct wpa_supplicant *wpa_s,
72					     union wpa_event_data *data)
73{
74}
75
76static inline void sme_event_disassoc(struct wpa_supplicant *wpa_s,
77				      struct disassoc_info *info)
78{
79}
80
81static inline void sme_event_unprot_disconnect(struct wpa_supplicant *wpa_s,
82					       const u8 *sa, const u8 *da,
83					       u16 reason_code)
84{
85}
86
87static inline void sme_state_changed(struct wpa_supplicant *wpa_s)
88{
89}
90
91static inline void
92sme_disassoc_while_authenticating(struct wpa_supplicant *wpa_s,
93				  const u8 *prev_pending_bssid)
94{
95}
96
97static inline void sme_deinit(struct wpa_supplicant *wpa_s)
98{
99}
100
101static inline int sme_proc_obss_scan(struct wpa_supplicant *wpa_s)
102{
103	return 0;
104}
105
106static inline void sme_sched_obss_scan(struct wpa_supplicant *wpa_s,
107				       int enable)
108{
109}
110
111#endif /* CONFIG_SME */
112
113#endif /* SME_H */
114