diff options
Diffstat (limited to 'drivers/staging/rtl8712/ieee80211.h')
-rw-r--r-- | drivers/staging/rtl8712/ieee80211.h | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h index 1f4d147..3c0092b 100644 --- a/drivers/staging/rtl8712/ieee80211.h +++ b/drivers/staging/rtl8712/ieee80211.h @@ -1,9 +1,35 @@ +/****************************************************************************** + * + * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * Modifications for inclusion into the Linux staging tree are + * Copyright(c) 2010 Larry Finger. All rights reserved. + * + * Contact information: + * WLAN FAE <wlanfae@realtek.com> + * Larry Finger <Larry.Finger@lwfinger.net> + * + ******************************************************************************/ #ifndef __IEEE80211_H #define __IEEE80211_H #include "osdep_service.h" #include "drv_types.h" #include "wifi.h" +#include <linux/compiler.h> #include <linux/wireless.h> #define MGMT_QUEUE_NUM 5 @@ -111,7 +137,7 @@ struct ieee_ibss_seq { u8 mac[ETH_ALEN]; u16 seq_num; u16 frag_num; - unsigned int packet_time; + unsigned long packet_time; struct list_head list; }; @@ -123,7 +149,7 @@ struct ieee80211_hdr { u8 addr3[ETH_ALEN]; u16 seq_ctl; u8 addr4[ETH_ALEN]; -} __attribute__ ((packed)); +} __packed; struct ieee80211_hdr_3addr { u16 frame_ctl; @@ -132,7 +158,7 @@ struct ieee80211_hdr_3addr { u8 addr2[ETH_ALEN]; u8 addr3[ETH_ALEN]; u16 seq_ctl; -} __attribute__ ((packed)); +} __packed; struct ieee80211_hdr_qos { @@ -144,7 +170,7 @@ struct ieee80211_hdr_qos { u16 seq_ctl; u8 addr4[ETH_ALEN]; u16 qc; -} __attribute__ ((packed)); +} __packed; struct ieee80211_hdr_3addr_qos { u16 frame_ctl; @@ -154,7 +180,7 @@ struct ieee80211_hdr_3addr_qos { u8 addr3[ETH_ALEN]; u16 seq_ctl; u16 qc; -} __attribute__ ((packed)); +} __packed; struct eapol { u8 snap[6]; @@ -162,7 +188,7 @@ struct eapol { u8 version; u8 type; u16 length; -} __attribute__ ((packed)); +} __packed; enum eap_type { @@ -260,7 +286,7 @@ struct ieee80211_snap_hdr { u8 ssap; /* always 0xAA */ u8 ctrl; /* always 0x03 */ u8 oui[P80211_OUI_LEN]; /* organizational universal id */ -} __attribute__ ((packed)); +} __packed; #define SNAP_SIZE sizeof(struct ieee80211_snap_hdr) @@ -510,7 +536,7 @@ struct ieee80211_security { u8 keys[WEP_KEYS][WEP_KEY_LEN]; u8 level; u16 flags; -} __attribute__ ((packed)); +} __packed; /* @@ -555,13 +581,13 @@ struct ieee80211_header_data { struct ieee80211_info_element_hdr { u8 id; u8 len; -} __attribute__ ((packed)); +} __packed; struct ieee80211_info_element { u8 id; u8 len; u8 data[0]; -} __attribute__ ((packed)); +} __packed; /* * These are the data types that can make up management packets @@ -574,7 +600,7 @@ struct ieee80211_info_element { u16 listen_interval; struct { u16 association_id:14, reserved:2; - } __attribute__ ((packed)); + } __packed; u32 time_stamp[2]; u16 reason; u16 status; @@ -588,7 +614,7 @@ struct ieee80211_authentication { u16 algorithm; u16 transaction; u16 status; -} __attribute__ ((packed)); +} __packed; struct ieee80211_probe_response { struct ieee80211_header_data header; @@ -596,25 +622,25 @@ struct ieee80211_probe_response { u16 beacon_interval; u16 capability; struct ieee80211_info_element info_element; -} __attribute__ ((packed)); +} __packed; struct ieee80211_probe_request { struct ieee80211_header_data header; -} __attribute__ ((packed)); +} __packed; struct ieee80211_assoc_request_frame { struct ieee80211_hdr_3addr header; u16 capability; u16 listen_interval; struct ieee80211_info_element_hdr info_element; -} __attribute__ ((packed)); +} __packed; struct ieee80211_assoc_response_frame { struct ieee80211_hdr_3addr header; u16 capability; u16 status; u16 aid; -} __attribute__ ((packed)); +} __packed; struct ieee80211_txb { u8 nr_frags; @@ -643,7 +669,6 @@ struct ieee80211_txb { #define CRC_LENGTH 4U #define MAX_WPA_IE_LEN 128 -#define MAX_WPS_IE_LEN 512 #define NETWORK_EMPTY_ESSID (1<<0) #define NETWORK_HAS_OFDM (1<<1) @@ -763,8 +788,7 @@ int r8712_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int r8712_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len); int r8712_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen); -int r8712_generate_ie(struct registry_priv *pregistrypriv, - struct _adapter *padapter); +int r8712_generate_ie(struct registry_priv *pregistrypriv); uint r8712_is_cckrates_included(u8 *rate); uint r8712_is_cckratesonly_included(u8 *rate); |