aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/sme.h
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2009-03-20 20:26:41 (GMT)
committerJouni Malinen <j@w1.fi>2009-03-20 20:26:41 (GMT)
commitc2a04078513bffce2e3c2968fbb1e1381ab72059 (patch)
tree3051dda247540732ef2bd009834a609e4fa3a62e /wpa_supplicant/sme.h
parentb21fab69fd6b1b0297534ac42ea54142e0e380de (diff)
downloadhostap-c2a04078513bffce2e3c2968fbb1e1381ab72059.zip
hostap-c2a04078513bffce2e3c2968fbb1e1381ab72059.tar.gz
hostap-c2a04078513bffce2e3c2968fbb1e1381ab72059.tar.bz2
Add SME support (separate authentication and association)
This can be used, e.g., with mac80211-based Linux drivers with nl80211. This allows over-the-air FT protocol to be used (IEEE 802.11r). Since the nl80211 interface needed for this is very recent (added today into wireless-testing.git), driver_nl80211.c has backwards compatibility code that uses WEXT for association if the kernel does not support the new commands. This compatibility code can be disabled by defining NO_WEXT_COMPAT. That code will also be removed at some point to clean up driver_nl80211.c.
Diffstat (limited to 'wpa_supplicant/sme.h')
-rw-r--r--wpa_supplicant/sme.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/wpa_supplicant/sme.h b/wpa_supplicant/sme.h
new file mode 100644
index 0000000..ce1b2dc
--- /dev/null
+++ b/wpa_supplicant/sme.h
@@ -0,0 +1,46 @@
+/*
+ * wpa_supplicant - SME
+ * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+#ifndef SME_H
+#define SME_H
+
+#ifdef CONFIG_SME
+
+void sme_authenticate(struct wpa_supplicant *wpa_s,
+ struct wpa_scan_res *bss, struct wpa_ssid *ssid);
+void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data);
+int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
+ const u8 *ies, size_t ies_len);
+
+#else /* CONFIG_SME */
+
+static inline void sme_authenticate(struct wpa_supplicant *wpa_s,
+ struct wpa_scan_res *bss,
+ struct wpa_ssid *ssid)
+{
+}
+
+static inline void sme_event_auth(struct wpa_supplicant *wpa_s,
+ union wpa_event_data *data)
+{
+}
+
+static inline int sme_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
+ const u8 *ies, size_t ies_len)
+{
+ return -1;
+}
+#endif /* CONFIG_SME */
+
+#endif /* SME_H */