]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/rtl8723au/include/wifi.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivi...
[karo-tx-linux.git] / drivers / staging / rtl8723au / include / wifi.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  ******************************************************************************/
15 #ifndef _WIFI_H_
16 #define _WIFI_H_
17
18 #define P80211CAPTURE_VERSION   0x80211001
19
20 /*  This value is tested by WiFi 11n Test Plan 5.2.3.
21  *  This test verifies the WLAN NIC can update the NAV through sending
22  *  the CTS with large duration.
23  */
24 #define WiFiNavUpperUs          30000   /*  30 ms */
25
26 #define _ASOCREQ_IE_OFFSET_             4       /*  excluding wlan_hdr */
27 #define _ASOCRSP_IE_OFFSET_             6
28 #define _REASOCREQ_IE_OFFSET_           10
29 #define _REASOCRSP_IE_OFFSET_           6
30 #define _PROBEREQ_IE_OFFSET_            0
31 #define _PROBERSP_IE_OFFSET_            12
32 #define _AUTH_IE_OFFSET_                6
33 #define _DEAUTH_IE_OFFSET_              0
34 #define _BEACON_IE_OFFSET_              12
35 #define _PUBLIC_ACTION_IE_OFFSET_       8
36
37 #define _FIXED_IE_LENGTH_               _BEACON_IE_OFFSET_
38
39
40 #define EID_BSSIntolerantChlReport      73
41
42 /* ---------------------------------------------------------------------------
43                                         Below is the fixed elements...
44 -----------------------------------------------------------------------------*/
45 #define _AUTH_ALGM_NUM_         2
46 #define _AUTH_SEQ_NUM_          2
47 #define _BEACON_ITERVAL_        2
48 #define _CAPABILITY_            2
49 #define _CURRENT_APADDR_        6
50 #define _LISTEN_INTERVAL_       2
51 #define _ASOC_ID_               2
52 #define _STATUS_CODE_           2
53 #define _TIMESTAMP_             8
54
55 /*-----------------------------------------------------------------------------
56                                 Below is the definition for WMM
57 ------------------------------------------------------------------------------*/
58 #define _WMM_IE_Length_                         7  /*  for WMM STA */
59 #define _WMM_Para_Element_Length_               24
60
61
62 /*-----------------------------------------------------------------------------
63                                 Below is the definition for 802.11n
64 ------------------------------------------------------------------------------*/
65
66 /* struct rtw_ieee80211_ht_cap - HT additional information
67  *
68  * This structure refers to "HT information element" as
69  * described in 802.11n draft section 7.3.2.53
70  */
71 struct ieee80211_ht_addt_info {
72         unsigned char   control_chan;
73         unsigned char   ht_param;
74         unsigned short  operation_mode;
75         unsigned short  stbc_param;
76         unsigned char   basic_set[16];
77 } __packed;
78
79 struct HT_caps_element {
80         union {
81                 struct {
82                         unsigned short  HT_caps_info;
83                         unsigned char   AMPDU_para;
84                         unsigned char   MCS_rate[16];
85                         unsigned short  HT_ext_caps;
86                         unsigned int    Beamforming_caps;
87                         unsigned char   ASEL_caps;
88                 } HT_cap_element;
89                 unsigned char HT_cap[26];
90         } u;
91 } __packed;
92
93 struct HT_info_element {
94         unsigned char   primary_channel;
95         unsigned char   infos[5];
96         unsigned char   MCS_rate[16];
97 }  __packed;
98
99 struct AC_param {
100         unsigned char           ACI_AIFSN;
101         unsigned char           CW;
102         unsigned short  TXOP_limit;
103 }  __packed;
104
105 struct WMM_para_element {
106         unsigned char           QoS_info;
107         unsigned char           reserved;
108         struct AC_param ac_param[4];
109 }  __packed;
110
111 struct ADDBA_request {
112         unsigned char           dialog_token;
113         unsigned short  BA_para_set;
114         unsigned short  BA_timeout_value;
115         unsigned short  BA_starting_seqctrl;
116 }  __packed;
117
118
119 /*      ===============WPS Section=============== */
120 /*      WPS attribute ID */
121 #define WPS_ATTR_VER1                           0x104A
122 #define WPS_ATTR_SIMPLE_CONF_STATE              0x1044
123 #define WPS_ATTR_RESP_TYPE                      0x103B
124 #define WPS_ATTR_UUID_E                         0x1047
125 #define WPS_ATTR_MANUFACTURER                   0x1021
126 #define WPS_ATTR_MODEL_NAME                     0x1023
127 #define WPS_ATTR_MODEL_NUMBER                   0x1024
128 #define WPS_ATTR_SERIAL_NUMBER                  0x1042
129 #define WPS_ATTR_PRIMARY_DEV_TYPE               0x1054
130 #define WPS_ATTR_SEC_DEV_TYPE_LIST              0x1055
131 #define WPS_ATTR_DEVICE_NAME                    0x1011
132 #define WPS_ATTR_CONF_METHOD                    0x1008
133 #define WPS_ATTR_RF_BANDS                       0x103C
134 #define WPS_ATTR_DEVICE_PWID                    0x1012
135 #define WPS_ATTR_REQUEST_TYPE                   0x103A
136 #define WPS_ATTR_ASSOCIATION_STATE              0x1002
137 #define WPS_ATTR_CONFIG_ERROR                   0x1009
138 #define WPS_ATTR_VENDOR_EXT                     0x1049
139 #define WPS_ATTR_SELECTED_REGISTRAR             0x1041
140
141 /*      WPS Configuration Method */
142 #define WPS_CM_NONE                                     0x0000
143 #define WPS_CM_LABEL                                    0x0004
144 #define WPS_CM_DISPLYA                                  0x0008
145 #define WPS_CM_EXTERNAL_NFC_TOKEN                       0x0010
146 #define WPS_CM_INTEGRATED_NFC_TOKEN                     0x0020
147 #define WPS_CM_NFC_INTERFACE                            0x0040
148 #define WPS_CM_PUSH_BUTTON                              0x0080
149 #define WPS_CM_KEYPAD                                   0x0100
150 #define WPS_CM_SW_PUHS_BUTTON                           0x0280
151 #define WPS_CM_HW_PUHS_BUTTON                           0x0480
152 #define WPS_CM_SW_DISPLAY_PIN                           0x2008
153 #define WPS_CM_LCD_DISPLAY_PIN                          0x4008
154
155 #endif /*  _WIFI_H_ */