]>
Commit | Line | Data |
---|---|---|
ad608ee2 | 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 | |
3 | @@ -29,7 +29,17 @@ | |
4 | #include <linux/kernel.h> /* ARRAY_SIZE */ | |
5 | #include <linux/wireless.h> | |
6 | ||
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 | |
14 | +#define _STRX(x) #x | |
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) | |
19 | ||
20 | #define IEEE80211_DATA_LEN 2304 | |
21 | /* Maximum size for the MA-UNITDATA primitive, 802.11 standard section | |
22 | @@ -104,6 +114,9 @@ | |
23 | #define IEEE80211_SCTL_FRAG 0x000F | |
24 | #define IEEE80211_SCTL_SEQ 0xFFF0 | |
25 | ||
26 | +/* QOS control */ | |
27 | +#define IEEE80211_QCTL_TID 0x000F | |
28 | + | |
29 | /* debug macros */ | |
30 | ||
31 | #ifdef CONFIG_IEEE80211_DEBUG | |
32 | @@ -237,6 +250,11 @@ | |
33 | #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) | |
34 | #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) | |
35 | ||
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) | |
40 | + | |
41 | /* Status codes */ | |
42 | enum ieee80211_statuscode { | |
43 | WLAN_STATUS_SUCCESS = 0, | |
44 | @@ -744,6 +762,8 @@ | |
45 | #define NETWORK_HAS_IBSS_DFS (1<<8) | |
46 | #define NETWORK_HAS_TPC_REPORT (1<<9) | |
47 | ||
48 | +#define NETWORK_HAS_ERP_VALUE (1<<10) | |
49 | + | |
50 | #define QOS_QUEUE_NUM 4 | |
51 | #define QOS_OUI_LEN 3 | |
52 | #define QOS_OUI_TYPE 2 | |
53 | @@ -965,6 +985,7 @@ | |
54 | ||
55 | enum { | |
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), | |
61 | @@ -973,10 +994,10 @@ | |
62 | }; | |
63 | ||
64 | struct ieee80211_channel { | |
65 | - u32 freq; | |
66 | + u32 freq; /* in MHz */ | |
67 | u8 channel; | |
68 | u8 flags; | |
69 | - u8 max_power; | |
70 | + u8 max_power; /* in dBm */ | |
71 | }; | |
72 | ||
73 | struct ieee80211_geo { | |
74 | @@ -1075,6 +1096,7 @@ | |
75 | ||
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); | |
79 | ||
80 | /* Typical STA methods */ | |
81 | int (*handle_auth) (struct net_device * dev, | |
82 | @@ -1233,6 +1255,8 @@ | |
83 | return 0; | |
84 | } | |
85 | ||
86 | +extern const int ieee80211_api_version; | |
87 | + | |
88 | /* ieee80211.c */ | |
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); | |
98 | ||
99 | /* ieee80211_rx.c */ | |
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 */ |