add devicescape 802.11 stack
[openwrt/staging/mkresin.git] / openwrt / target / linux / package / ieee80211-dscape / src / include / net / ieee80211_shared.h
1 /*
2 * IEEE 802.11 -- shared defines for low-level drivers, 80211.o, and hostapd
3 * Copyright 2002-2004, Instant802 Networks, Inc.
4 * Copyright 2005, Devicescape Software, Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11 #ifndef IEEE80211_SHARED_H
12 #define IEEE80211_SHARED_H
13
14 /* 802.11g is backwards-compatible with 802.11b, so a wlan card can
15 * actually be both in 11b and 11g modes at the same time. */
16 enum {
17 MODE_IEEE80211A = 0 /* IEEE 802.11a */,
18 MODE_IEEE80211B = 1 /* IEEE 802.11b only */,
19 MODE_ATHEROS_TURBO = 2 /* Atheros Turbo mode (2x.11a at 5 GHz) */,
20 MODE_IEEE80211G = 3 /* IEEE 802.11g (and 802.11b compatibility) */,
21 MODE_ATHEROS_TURBOG = 4 /* Atheros Turbo mode (2x.11g at 2.4 GHz) */,
22 MODE_ATHEROS_PRIME = 5 /* Atheros Dynamic Turbo mode */,
23 MODE_ATHEROS_PRIMEG = 6 /* Atheros Dynamic Turbo mode G */,
24 MODE_ATHEROS_XR = 7 /* Atheros XR mode */,
25 NUM_IEEE80211_MODES = 8
26 };
27
28 #define IEEE80211_CHAN_W_SCAN 0x00000001
29 #define IEEE80211_CHAN_W_ACTIVE_SCAN 0x00000002
30 #define IEEE80211_CHAN_W_IBSS 0x00000004
31
32 /* Low-level driver should set PREAMBLE2, OFDM, CCK, and TURBO flags.
33 * BASIC, SUPPORTED, ERP, and MANDATORY flags are set in 80211.o based on the
34 * configuration. */
35 #define IEEE80211_RATE_ERP 0x00000001
36 #define IEEE80211_RATE_BASIC 0x00000002
37 #define IEEE80211_RATE_PREAMBLE2 0x00000004
38 #define IEEE80211_RATE_SUPPORTED 0x00000010
39 #define IEEE80211_RATE_OFDM 0x00000020
40 #define IEEE80211_RATE_CCK 0x00000040
41 #define IEEE80211_RATE_TURBO 0x00000080
42 #define IEEE80211_RATE_MANDATORY 0x00000100
43 #define IEEE80211_RATE_XR 0x00000200
44
45 #define IEEE80211_RATE_CCK_2 (IEEE80211_RATE_CCK | IEEE80211_RATE_PREAMBLE2)
46 #define IEEE80211_RATE_MODULATION(f) \
47 (f & (IEEE80211_RATE_CCK | IEEE80211_RATE_OFDM))
48
49
50 #endif /* IEEE80211_SHARED_H */