improve dependency handling, fix some package makefile bugs
[10.03/openwrt.git] / target / linux / package / ieee80211-dscape / src / include / net / ieee80211_common.h
1 /*
2  * IEEE 802.11 driver (80211.o) -- hostapd interface
3  * Copyright 2002-2004, Instant802 Networks, Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  */
9
10 #ifndef IEEE80211_COMMON_H
11 #define IEEE80211_COMMON_H
12
13 /*
14  * This is common header information with user space. It is used on all
15  * frames sent to wlan#ap interface.
16  */
17
18 #define IEEE80211_FI_VERSION 0x80211001
19
20 struct ieee80211_frame_info {
21         u32 version;
22         u32 length;
23         u64 mactime;
24         u64 hosttime;
25         u32 phytype;
26         u32 channel;
27         u32 datarate;
28         u32 antenna;
29         u32 priority;
30         u32 ssi_type;
31         u32 ssi_signal;
32         u32 ssi_noise;
33         u32 preamble;
34         u32 encoding;
35
36         /* Note: this structure is otherwise identical to capture format used
37          * in linux-wlan-ng, but this additional field is used to provide meta
38          * data about the frame to hostapd. This was the easiest method for
39          * providing this information, but this might change in the future. */
40         u32 msg_type;
41 } __attribute__ ((packed));
42
43
44 enum ieee80211_msg_type {
45         ieee80211_msg_normal = 0,
46         ieee80211_msg_tx_callback_ack = 1,
47         ieee80211_msg_tx_callback_fail = 2,
48         ieee80211_msg_passive_scan = 3,
49         ieee80211_msg_wep_frame_unknown_key = 4,
50         ieee80211_msg_michael_mic_failure = 5,
51         ieee80211_msg_monitor = 6,
52         ieee80211_msg_sta_not_assoc = 7,
53         ieee80211_msg_set_aid_for_sta = 8 /* used by Intersil MVC driver */,
54         ieee80211_msg_key_threshold_notification = 9,
55         ieee80211_msg_radar = 11,
56 };
57
58 struct ieee80211_msg_set_aid_for_sta {
59         char    sta_address[ETH_ALEN];
60         u16     aid;
61 };
62
63 struct ieee80211_msg_key_notification {
64         int tx_rx_count;
65         char ifname[IFNAMSIZ];
66         u8 addr[ETH_ALEN]; /* ff:ff:ff:ff:ff:ff for broadcast keys */
67 };
68
69
70 enum ieee80211_phytype {
71         ieee80211_phytype_fhss_dot11_97  = 1,
72         ieee80211_phytype_dsss_dot11_97  = 2,
73         ieee80211_phytype_irbaseband     = 3,
74         ieee80211_phytype_dsss_dot11_b   = 4,
75         ieee80211_phytype_pbcc_dot11_b   = 5,
76         ieee80211_phytype_ofdm_dot11_g   = 6,
77         ieee80211_phytype_pbcc_dot11_g   = 7,
78         ieee80211_phytype_ofdm_dot11_a   = 8,
79         ieee80211_phytype_dsss_dot11_turbog = 255,
80         ieee80211_phytype_dsss_dot11_turbo = 256,
81 };
82
83 enum ieee80211_ssi_type {
84         ieee80211_ssi_none = 0,
85         ieee80211_ssi_norm = 1, /* normalized, 0-1000 */
86         ieee80211_ssi_dbm = 2,
87         ieee80211_ssi_raw = 3, /* raw SSI */
88 };
89
90 struct ieee80211_radar_info {
91                 int channel;
92                 int radar;
93                 int radar_type;
94 };
95
96 #endif /* IEEE80211_COMMON_H */