1 --- linux-2.6.17/include/net/ieee80211.h.org 2006-06-18 03:49:35.000000000 +0200
2 +++ linux-2.6.17/include/net/ieee80211.h 2006-08-18 05:25:46.000000000 +0200
4 #include <linux/kernel.h> /* ARRAY_SIZE */
5 #include <linux/wireless.h>
7 -#define IEEE80211_VERSION "git-1.1.7"
8 +#define IEEE80211_VERSION_MAJOR 1
9 +#define IEEE80211_VERSION_API 2
10 +#define IEEE80211_VERSION_MINOR 15
11 +#define IEEE80211_VERSION_CODE IEEE80211_VERSION_MAJOR * 65536 + \
12 + IEEE80211_VERSION_API * 256 + \
13 + IEEE80211_VERSION_MINOR
15 +#define _VERSION_STR(a,b,c) _STRX(a) "." _STRX(b) "." _STRX(c)
16 +#define IEEE80211_VERSION _VERSION_STR(IEEE80211_VERSION_MAJOR,\
17 + IEEE80211_VERSION_API, \
18 + IEEE80211_VERSION_MINOR)
20 #define IEEE80211_DATA_LEN 2304
21 /* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
23 #define IEEE80211_SCTL_FRAG 0x000F
24 #define IEEE80211_SCTL_SEQ 0xFFF0
27 +#define IEEE80211_QCTL_TID 0x000F
31 #ifdef CONFIG_IEEE80211_DEBUG
33 #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10)
34 #define WLAN_CAPABILITY_DSSS_OFDM (1<<13)
36 +/* 802.11g ERP information element */
37 +#define WLAN_ERP_NON_ERP_PRESENT (1<<0)
38 +#define WLAN_ERP_USE_PROTECTION (1<<1)
39 +#define WLAN_ERP_BARKER_PREAMBLE (1<<2)
42 enum ieee80211_statuscode {
43 WLAN_STATUS_SUCCESS = 0,
45 #define NETWORK_HAS_IBSS_DFS (1<<8)
46 #define NETWORK_HAS_TPC_REPORT (1<<9)
48 +#define NETWORK_HAS_ERP_VALUE (1<<10)
50 #define QOS_QUEUE_NUM 4
52 #define QOS_OUI_TYPE 2
56 IEEE80211_CH_PASSIVE_ONLY = (1 << 0),
57 + IEEE80211_CH_80211H_RULES = (1 << 1),
58 IEEE80211_CH_B_ONLY = (1 << 2),
59 IEEE80211_CH_NO_IBSS = (1 << 3),
60 IEEE80211_CH_UNIFORM_SPREADING = (1 << 4),
64 struct ieee80211_channel {
66 + u32 freq; /* in MHz */
70 + u8 max_power; /* in dBm */
73 struct ieee80211_geo {
76 int (*handle_management) (struct net_device * dev,
77 struct ieee80211_network * network, u16 type);
78 + int (*is_qos_active) (struct net_device *dev, struct sk_buff *skb);
80 /* Typical STA methods */
81 int (*handle_auth) (struct net_device * dev,
86 +extern const int ieee80211_api_version;
89 extern void free_ieee80211(struct net_device *dev);
90 extern struct net_device *alloc_ieee80211(int sizeof_priv);
91 @@ -1243,9 +1267,12 @@
92 extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev);
93 extern void ieee80211_txb_free(struct ieee80211_txb *);
94 extern int ieee80211_tx_frame(struct ieee80211_device *ieee,
95 - struct ieee80211_hdr *frame, int len);
96 + struct ieee80211_hdr *frame, int hdr_len,
97 + int total_len, int encrypt_mpdu);
100 +extern void ieee80211_rx_any(struct ieee80211_device *ieee,
101 + struct sk_buff *skb, struct ieee80211_rx_stats *stats);
102 extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
103 struct ieee80211_rx_stats *rx_stats);
104 /* make sure to set stats->len */