]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Move STA entry structure into sta_info.h and remove ap.h
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 25 Mar 2009 14:13:35 +0000 (16:13 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 25 Mar 2009 14:13:35 +0000 (16:13 +0200)
This cleans up some of the hostapd include file usage and only includes
the needed STA flags into driver wrappers.

13 files changed:
hostapd/accounting.c
hostapd/ap.h [deleted file]
hostapd/ap_list.c
hostapd/beacon.h
hostapd/config.c
hostapd/driver.h
hostapd/hostapd.c
hostapd/hostapd.h
hostapd/hw_features.c
hostapd/mlme.c
hostapd/pmksa_cache.c
hostapd/sta_flags.h [new file with mode: 0644]
hostapd/sta_info.h

index 10656f1238915896eaa725a2d465d93f6164ca1b..7fdcf1c06819c49297ba26fcde6aabece495f7b3 100644 (file)
@@ -21,6 +21,7 @@
 #include "accounting.h"
 #include "ieee802_1x.h"
 #include "driver_i.h"
+#include "sta_info.h"
 
 
 /* Default interval in seconds for polling TX/RX octets from the driver if
diff --git a/hostapd/ap.h b/hostapd/ap.h
deleted file mode 100644 (file)
index 2440fbd..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * hostapd / Station table data structures
- * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * 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 AP_H
-#define AP_H
-
-#ifdef CONFIG_IEEE80211N
-#include "ieee802_11_defs.h"
-#endif /* CONFIG_IEEE80211N */
-
-/* STA flags */
-#define WLAN_STA_AUTH BIT(0)
-#define WLAN_STA_ASSOC BIT(1)
-#define WLAN_STA_PS BIT(2)
-#define WLAN_STA_TIM BIT(3)
-#define WLAN_STA_PERM BIT(4)
-#define WLAN_STA_AUTHORIZED BIT(5)
-#define WLAN_STA_PENDING_POLL BIT(6) /* pending activity poll not ACKed */
-#define WLAN_STA_SHORT_PREAMBLE BIT(7)
-#define WLAN_STA_PREAUTH BIT(8)
-#define WLAN_STA_WMM BIT(9)
-#define WLAN_STA_MFP BIT(10)
-#define WLAN_STA_HT BIT(11)
-#define WLAN_STA_WPS BIT(12)
-#define WLAN_STA_MAYBE_WPS BIT(13)
-#define WLAN_STA_NONERP BIT(31)
-
-/* Maximum number of supported rates (from both Supported Rates and Extended
- * Supported Rates IEs). */
-#define WLAN_SUPP_RATES_MAX 32
-
-
-struct sta_info {
-       struct sta_info *next; /* next entry in sta list */
-       struct sta_info *hnext; /* next entry in hash table list */
-       u8 addr[6];
-       u16 aid; /* STA's unique AID (1 .. 2007) or 0 if not yet assigned */
-       u32 flags;
-       u16 capability;
-       u16 listen_interval; /* or beacon_int for APs */
-       u8 supported_rates[WLAN_SUPP_RATES_MAX];
-       int supported_rates_len;
-
-       unsigned int nonerp_set:1;
-       unsigned int no_short_slot_time_set:1;
-       unsigned int no_short_preamble_set:1;
-       unsigned int no_ht_gf_set:1;
-       unsigned int no_ht_set:1;
-       unsigned int ht_20mhz_set:1;
-
-       u16 auth_alg;
-       u8 previous_ap[6];
-
-       enum {
-               STA_NULLFUNC = 0, STA_DISASSOC, STA_DEAUTH, STA_REMOVE
-       } timeout_next;
-
-       /* IEEE 802.1X related data */
-       struct eapol_state_machine *eapol_sm;
-
-       /* IEEE 802.11f (IAPP) related data */
-       struct ieee80211_mgmt *last_assoc_req;
-
-       u32 acct_session_id_hi;
-       u32 acct_session_id_lo;
-       time_t acct_session_start;
-       int acct_session_started;
-       int acct_terminate_cause; /* Acct-Terminate-Cause */
-       int acct_interim_interval; /* Acct-Interim-Interval */
-
-       unsigned long last_rx_bytes;
-       unsigned long last_tx_bytes;
-       u32 acct_input_gigawords; /* Acct-Input-Gigawords */
-       u32 acct_output_gigawords; /* Acct-Output-Gigawords */
-
-       u8 *challenge; /* IEEE 802.11 Shared Key Authentication Challenge */
-
-       struct wpa_state_machine *wpa_sm;
-       struct rsn_preauth_interface *preauth_iface;
-
-       struct hostapd_ssid *ssid; /* SSID selection based on (Re)AssocReq */
-       struct hostapd_ssid *ssid_probe; /* SSID selection based on ProbeReq */
-
-       int vlan_id;
-
-#ifdef CONFIG_IEEE80211N
-       struct ht_cap_ie ht_capabilities; /* IEEE 802.11n capabilities */
-#endif /* CONFIG_IEEE80211N */
-
-#ifdef CONFIG_IEEE80211W
-       int sa_query_count; /* number of pending SA Query requests;
-                            * 0 = no SA Query in progress */
-       int sa_query_timed_out;
-       u8 *sa_query_trans_id; /* buffer of WLAN_SA_QUERY_TR_ID_LEN *
-                               * sa_query_count octets of pending SA Query
-                               * transaction identifiers */
-       struct os_time sa_query_start;
-#endif /* CONFIG_IEEE80211W */
-
-       struct wpabuf *wps_ie; /* WPS IE from (Re)Association Request */
-};
-
-
-/* Default value for maximum station inactivity. After AP_MAX_INACTIVITY has
- * passed since last received frame from the station, a nullfunc data frame is
- * sent to the station. If this frame is not acknowledged and no other frames
- * have been received, the station will be disassociated after
- * AP_DISASSOC_DELAY seconds. Similarily, the station will be deauthenticated
- * after AP_DEAUTH_DELAY seconds has passed after disassociation. */
-#define AP_MAX_INACTIVITY (5 * 60)
-#define AP_DISASSOC_DELAY (1)
-#define AP_DEAUTH_DELAY (1)
-/* Number of seconds to keep STA entry with Authenticated flag after it has
- * been disassociated. */
-#define AP_MAX_INACTIVITY_AFTER_DISASSOC (1 * 30)
-/* Number of seconds to keep STA entry after it has been deauthenticated. */
-#define AP_MAX_INACTIVITY_AFTER_DEAUTH (1 * 5)
-
-#endif /* AP_H */
index e5546092d6f16df415970fa16bc1c9e609c6b557..30c2d72043d302706d67fcbd541ad6239de10af4 100644 (file)
@@ -20,6 +20,7 @@
 #include "hostapd.h"
 #include "ieee802_11.h"
 #include "eloop.h"
+#include "sta_info.h"
 #include "ap_list.h"
 #include "hw_features.h"
 #include "beacon.h"
index 5cf06ca3822f7ddfc0f5c44b5b5f94151a1eea82..ba5095898726e6a6142ce1f8ec3970a61968f4b9 100644 (file)
@@ -16,6 +16,8 @@
 #ifndef BEACON_H
 #define BEACON_H
 
+struct ieee80211_mgmt *mgmt;
+
 void handle_probe_req(struct hostapd_data *hapd, struct ieee80211_mgmt *mgmt,
                      size_t len);
 #ifdef NEED_MLME
index a8c8ceae912a71c3581dd6acfe68ad3588c1fc50..78c33405c5a6d3ada1340a201233cddd1d87effd 100644 (file)
@@ -27,6 +27,7 @@
 #include "wpa.h"
 #include "uuid.h"
 #include "eap_common/eap_wsc_common.h"
+#include "sta_info.h"
 
 
 #define MAX_STA_COUNT 2007
index 3ea019e118bd532436fab9e0b22140d9662b4d6c..a79b91e95ea400dbb2ffd9eba993b16637378438 100644 (file)
@@ -16,6 +16,8 @@
 #ifndef DRIVER_H
 #define DRIVER_H
 
+#include "sta_flags.h"
+
 struct hostapd_data;
 
 struct hostap_sta_driver_data {
index 0007e92a198cba11c361961886a24a08bbfee7c1..0aefb310dcd4e57f0fe382625367ccf43c21fd63 100644 (file)
 #include "accounting.h"
 #include "eapol_sm.h"
 #include "iapp.h"
-#include "ap.h"
 #include "ieee802_11_defs.h"
 #include "ieee802_11_auth.h"
-#include "ap_list.h"
 #include "sta_info.h"
+#include "ap_list.h"
 #include "driver_i.h"
 #include "radius/radius_client.h"
 #include "radius/radius_server.h"
index 8bdd58c9470c8abec127b545acdb9889bdea8299..75dc0f3f542fa1583f6a4b7b25f983cabf84e884 100644 (file)
@@ -18,7 +18,6 @@
 #define HOSTAPD_H
 
 #include "common.h"
-#include "ap.h"
 #include "hostapd_defs.h"
 #include "config.h"
 
index 22e1d8382e1278b3d448c60b85e0cdf98b712157..843fb0cc6753356b2db7073f0c512fb5c7b0046f 100644 (file)
@@ -17,6 +17,7 @@
 #include "includes.h"
 
 #include "hostapd.h"
+#include "ieee802_11_defs.h"
 #include "hw_features.h"
 #include "driver_i.h"
 #include "config.h"
index 3945dfebca4c314bbe5648864cb221e43daa4a50..f9b143ae4d4533b714435224b48716930f2e4223 100644 (file)
@@ -19,6 +19,7 @@
 #include "hostapd.h"
 #include "ieee802_11.h"
 #include "wpa.h"
+#include "sta_info.h"
 #include "mlme.h"
 
 
index f330f98fee688cefe899ff1b8714eed1b704822e..b815e583c2bf8c0fa3e82ad4decb41c06173c675 100644 (file)
@@ -15,7 +15,7 @@
 #include "includes.h"
 
 #include "common.h"
-#include "ap.h"
+#include "sta_info.h"
 #include "config.h"
 #include "common.h"
 #include "eloop.h"
diff --git a/hostapd/sta_flags.h b/hostapd/sta_flags.h
new file mode 100644 (file)
index 0000000..a790039
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * hostapd - driver interface definition
+ * Copyright (c) 2002-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 STA_FLAGS_H
+#define STA_FLAGS_H
+
+/* STA flags */
+#define WLAN_STA_AUTH BIT(0)
+#define WLAN_STA_ASSOC BIT(1)
+#define WLAN_STA_PS BIT(2)
+#define WLAN_STA_TIM BIT(3)
+#define WLAN_STA_PERM BIT(4)
+#define WLAN_STA_AUTHORIZED BIT(5)
+#define WLAN_STA_PENDING_POLL BIT(6) /* pending activity poll not ACKed */
+#define WLAN_STA_SHORT_PREAMBLE BIT(7)
+#define WLAN_STA_PREAUTH BIT(8)
+#define WLAN_STA_WMM BIT(9)
+#define WLAN_STA_MFP BIT(10)
+#define WLAN_STA_HT BIT(11)
+#define WLAN_STA_WPS BIT(12)
+#define WLAN_STA_MAYBE_WPS BIT(13)
+#define WLAN_STA_NONERP BIT(31)
+
+#endif /* STA_FLAGS_H */
index e8359709238190f844aaae21ba9073fc145356a6..993f0877ab789a80b296c79639c22ab1fdd26072 100644 (file)
 #ifndef STA_INFO_H
 #define STA_INFO_H
 
+#include "sta_flags.h"
+
+#ifdef CONFIG_IEEE80211N
+#include "ieee802_11_defs.h"
+#endif /* CONFIG_IEEE80211N */
+
+/* Maximum number of supported rates (from both Supported Rates and Extended
+ * Supported Rates IEs). */
+#define WLAN_SUPP_RATES_MAX 32
+
+
+struct sta_info {
+       struct sta_info *next; /* next entry in sta list */
+       struct sta_info *hnext; /* next entry in hash table list */
+       u8 addr[6];
+       u16 aid; /* STA's unique AID (1 .. 2007) or 0 if not yet assigned */
+       u32 flags;
+       u16 capability;
+       u16 listen_interval; /* or beacon_int for APs */
+       u8 supported_rates[WLAN_SUPP_RATES_MAX];
+       int supported_rates_len;
+
+       unsigned int nonerp_set:1;
+       unsigned int no_short_slot_time_set:1;
+       unsigned int no_short_preamble_set:1;
+       unsigned int no_ht_gf_set:1;
+       unsigned int no_ht_set:1;
+       unsigned int ht_20mhz_set:1;
+
+       u16 auth_alg;
+       u8 previous_ap[6];
+
+       enum {
+               STA_NULLFUNC = 0, STA_DISASSOC, STA_DEAUTH, STA_REMOVE
+       } timeout_next;
+
+       /* IEEE 802.1X related data */
+       struct eapol_state_machine *eapol_sm;
+
+       /* IEEE 802.11f (IAPP) related data */
+       struct ieee80211_mgmt *last_assoc_req;
+
+       u32 acct_session_id_hi;
+       u32 acct_session_id_lo;
+       time_t acct_session_start;
+       int acct_session_started;
+       int acct_terminate_cause; /* Acct-Terminate-Cause */
+       int acct_interim_interval; /* Acct-Interim-Interval */
+
+       unsigned long last_rx_bytes;
+       unsigned long last_tx_bytes;
+       u32 acct_input_gigawords; /* Acct-Input-Gigawords */
+       u32 acct_output_gigawords; /* Acct-Output-Gigawords */
+
+       u8 *challenge; /* IEEE 802.11 Shared Key Authentication Challenge */
+
+       struct wpa_state_machine *wpa_sm;
+       struct rsn_preauth_interface *preauth_iface;
+
+       struct hostapd_ssid *ssid; /* SSID selection based on (Re)AssocReq */
+       struct hostapd_ssid *ssid_probe; /* SSID selection based on ProbeReq */
+
+       int vlan_id;
+
+#ifdef CONFIG_IEEE80211N
+       struct ht_cap_ie ht_capabilities; /* IEEE 802.11n capabilities */
+#endif /* CONFIG_IEEE80211N */
+
+#ifdef CONFIG_IEEE80211W
+       int sa_query_count; /* number of pending SA Query requests;
+                            * 0 = no SA Query in progress */
+       int sa_query_timed_out;
+       u8 *sa_query_trans_id; /* buffer of WLAN_SA_QUERY_TR_ID_LEN *
+                               * sa_query_count octets of pending SA Query
+                               * transaction identifiers */
+       struct os_time sa_query_start;
+#endif /* CONFIG_IEEE80211W */
+
+       struct wpabuf *wps_ie; /* WPS IE from (Re)Association Request */
+};
+
+
+/* Default value for maximum station inactivity. After AP_MAX_INACTIVITY has
+ * passed since last received frame from the station, a nullfunc data frame is
+ * sent to the station. If this frame is not acknowledged and no other frames
+ * have been received, the station will be disassociated after
+ * AP_DISASSOC_DELAY seconds. Similarily, the station will be deauthenticated
+ * after AP_DEAUTH_DELAY seconds has passed after disassociation. */
+#define AP_MAX_INACTIVITY (5 * 60)
+#define AP_DISASSOC_DELAY (1)
+#define AP_DEAUTH_DELAY (1)
+/* Number of seconds to keep STA entry with Authenticated flag after it has
+ * been disassociated. */
+#define AP_MAX_INACTIVITY_AFTER_DISASSOC (1 * 30)
+/* Number of seconds to keep STA entry after it has been deauthenticated. */
+#define AP_MAX_INACTIVITY_AFTER_DEAUTH (1 * 5)
+
+
+struct hostapd_data;
+
 int ap_for_each_sta(struct hostapd_data *hapd,
                    int (*cb)(struct hostapd_data *hapd, struct sta_info *sta,
                              void *ctx),