/* * IEEE 802.11 driver (80211.o) -- hostapd interface * Copyright 2002-2004, Instant802 Networks, Inc. * * 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. */ #ifndef IEEE80211_COMMON_H #define IEEE80211_COMMON_H #include <linux/types.h> /* * This is common header information with user space. It is used on all * frames sent to wlan#ap interface. */ #define IEEE80211_FI_VERSION 0x80211001 struct ieee80211_frame_info { __be32 version; __be32 length; __be64 mactime; __be64 hosttime; __be32 phytype; __be32 channel; __be32 datarate; __be32 antenna; __be32 priority; __be32 ssi_type; __be32 ssi_signal; __be32 ssi_noise; __be32 preamble; __be32 encoding; /* Note: this structure is otherwise identical to capture format used * in linux-wlan-ng, but this additional field is used to provide meta * data about the frame to hostapd. This was the easiest method for * providing this information, but this might change in the future. */ __be32 msg_type; } __attribute__ ((packed)); enum ieee80211_msg_type { ieee80211_msg_normal = 0, ieee80211_msg_tx_callback_ack = 1, ieee80211_msg_tx_callback_fail = 2, /* hole at 3, was ieee80211_msg_passive_scan but unused */ /* hole at 4, was ieee80211_msg_wep_frame_unknown_key but now unused */ ieee80211_msg_michael_mic_failure = 5, /* hole at 6, was monitor but never sent to userspace */ ieee80211_msg_sta_not_assoc = 7, /* 8 was ieee80211_msg_set_aid_for_sta */ /* 9 was ieee80211_msg_key_threshold_notification */ /* 11 was ieee80211_msg_radar */ }; struct ieee80211_msg_key_notification { int tx_rx_count; char ifname[IFNAMSIZ]; u8 addr[ETH_ALEN]; /* ff:ff:ff:ff:ff:ff for broadcast keys */ }; enum ieee80211_phytype { ieee80211_phytype_fhss_dot11_97 = 1, ieee80211_phytype_dsss_dot11_97 = 2, ieee80211_phytype_irbaseband = 3, ieee80211_phytype_dsss_dot11_b = 4, ieee80211_phytype_pbcc_dot11_b = 5, ieee80211_phytype_ofdm_dot11_g = 6, ieee80211_phytype_pbcc_dot11_g = 7, ieee80211_phytype_ofdm_dot11_a = 8, }; enum ieee80211_ssi_type { ieee80211_ssi_none = 0, ieee80211_ssi_norm = 1, /* normalized, 0-1000 */ ieee80211_ssi_dbm = 2, ieee80211_ssi_raw = 3, /* raw SSI */ }; struct ieee80211_radar_info { int channel; int radar; int radar_type; }; #endif /* IEEE80211_COMMON_H */