xref: /OK3568_Linux_fs/external/rkwifibt/drivers/infineon/include/wps.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * WPS IE definitions
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Portions of this code are copyright (c) 2021 Cypress Semiconductor Corporation
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * Copyright (C) 1999-2017, Broadcom Corporation
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  *      Unless you and Broadcom execute a separate written software license
9*4882a593Smuzhiyun  * agreement governing use of this software, this software is licensed to you
10*4882a593Smuzhiyun  * under the terms of the GNU General Public License version 2 (the "GPL"),
11*4882a593Smuzhiyun  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
12*4882a593Smuzhiyun  * following added to such license:
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *      As a special exception, the copyright holders of this software give you
15*4882a593Smuzhiyun  * permission to link this software with independent modules, and to copy and
16*4882a593Smuzhiyun  * distribute the resulting executable under terms of your choice, provided that
17*4882a593Smuzhiyun  * you also meet, for each linked independent module, the terms and conditions of
18*4882a593Smuzhiyun  * the license of that module.  An independent module is a module which is not
19*4882a593Smuzhiyun  * derived from this software.  The special exception does not apply to any
20*4882a593Smuzhiyun  * modifications of the software.
21*4882a593Smuzhiyun  *
22*4882a593Smuzhiyun  *      Notwithstanding the above, under no circumstances may you combine this
23*4882a593Smuzhiyun  * software in any way with any other Broadcom software provided under a license
24*4882a593Smuzhiyun  * other than the GPL, without Broadcom's express prior written consent.
25*4882a593Smuzhiyun  *
26*4882a593Smuzhiyun  *
27*4882a593Smuzhiyun  * <<Broadcom-WL-IPTag/Open:>>
28*4882a593Smuzhiyun  *
29*4882a593Smuzhiyun  * $Id$
30*4882a593Smuzhiyun  */
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun #ifndef _WPS_
33*4882a593Smuzhiyun #define _WPS_
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #ifdef __cplusplus
36*4882a593Smuzhiyun extern "C" {
37*4882a593Smuzhiyun #endif // endif
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun /* Data Element Definitions */
40*4882a593Smuzhiyun #define WPS_ID_AP_CHANNEL         0x1001
41*4882a593Smuzhiyun #define WPS_ID_ASSOC_STATE        0x1002
42*4882a593Smuzhiyun #define WPS_ID_AUTH_TYPE          0x1003
43*4882a593Smuzhiyun #define WPS_ID_AUTH_TYPE_FLAGS    0x1004
44*4882a593Smuzhiyun #define WPS_ID_AUTHENTICATOR      0x1005
45*4882a593Smuzhiyun #define WPS_ID_CONFIG_METHODS     0x1008
46*4882a593Smuzhiyun #define WPS_ID_CONFIG_ERROR       0x1009
47*4882a593Smuzhiyun #define WPS_ID_CONF_URL4          0x100A
48*4882a593Smuzhiyun #define WPS_ID_CONF_URL6          0x100B
49*4882a593Smuzhiyun #define WPS_ID_CONN_TYPE          0x100C
50*4882a593Smuzhiyun #define WPS_ID_CONN_TYPE_FLAGS    0x100D
51*4882a593Smuzhiyun #define WPS_ID_CREDENTIAL         0x100E
52*4882a593Smuzhiyun #define WPS_ID_DEVICE_NAME        0x1011
53*4882a593Smuzhiyun #define WPS_ID_DEVICE_PWD_ID      0x1012
54*4882a593Smuzhiyun #define WPS_ID_E_HASH1            0x1014
55*4882a593Smuzhiyun #define WPS_ID_E_HASH2            0x1015
56*4882a593Smuzhiyun #define WPS_ID_E_SNONCE1          0x1016
57*4882a593Smuzhiyun #define WPS_ID_E_SNONCE2          0x1017
58*4882a593Smuzhiyun #define WPS_ID_ENCR_SETTINGS      0x1018
59*4882a593Smuzhiyun #define WPS_ID_ENCR_TYPE          0x100F
60*4882a593Smuzhiyun #define WPS_ID_ENCR_TYPE_FLAGS    0x1010
61*4882a593Smuzhiyun #define WPS_ID_ENROLLEE_NONCE     0x101A
62*4882a593Smuzhiyun #define WPS_ID_FEATURE_ID         0x101B
63*4882a593Smuzhiyun #define WPS_ID_IDENTITY           0x101C
64*4882a593Smuzhiyun #define WPS_ID_IDENTITY_PROOF     0x101D
65*4882a593Smuzhiyun #define WPS_ID_KEY_WRAP_AUTH      0x101E
66*4882a593Smuzhiyun #define WPS_ID_KEY_IDENTIFIER     0x101F
67*4882a593Smuzhiyun #define WPS_ID_MAC_ADDR           0x1020
68*4882a593Smuzhiyun #define WPS_ID_MANUFACTURER       0x1021
69*4882a593Smuzhiyun #define WPS_ID_MSG_TYPE           0x1022
70*4882a593Smuzhiyun #define WPS_ID_MODEL_NAME         0x1023
71*4882a593Smuzhiyun #define WPS_ID_MODEL_NUMBER       0x1024
72*4882a593Smuzhiyun #define WPS_ID_NW_INDEX           0x1026
73*4882a593Smuzhiyun #define WPS_ID_NW_KEY             0x1027
74*4882a593Smuzhiyun #define WPS_ID_NW_KEY_INDEX       0x1028
75*4882a593Smuzhiyun #define WPS_ID_NEW_DEVICE_NAME    0x1029
76*4882a593Smuzhiyun #define WPS_ID_NEW_PWD            0x102A
77*4882a593Smuzhiyun #define WPS_ID_OOB_DEV_PWD        0x102C
78*4882a593Smuzhiyun #define WPS_ID_OS_VERSION         0x102D
79*4882a593Smuzhiyun #define WPS_ID_POWER_LEVEL        0x102F
80*4882a593Smuzhiyun #define WPS_ID_PSK_CURRENT        0x1030
81*4882a593Smuzhiyun #define WPS_ID_PSK_MAX            0x1031
82*4882a593Smuzhiyun #define WPS_ID_PUBLIC_KEY         0x1032
83*4882a593Smuzhiyun #define WPS_ID_RADIO_ENABLED      0x1033
84*4882a593Smuzhiyun #define WPS_ID_REBOOT             0x1034
85*4882a593Smuzhiyun #define WPS_ID_REGISTRAR_CURRENT  0x1035
86*4882a593Smuzhiyun #define WPS_ID_REGISTRAR_ESTBLSHD 0x1036
87*4882a593Smuzhiyun #define WPS_ID_REGISTRAR_LIST     0x1037
88*4882a593Smuzhiyun #define WPS_ID_REGISTRAR_MAX      0x1038
89*4882a593Smuzhiyun #define WPS_ID_REGISTRAR_NONCE    0x1039
90*4882a593Smuzhiyun #define WPS_ID_REQ_TYPE           0x103A
91*4882a593Smuzhiyun #define WPS_ID_RESP_TYPE          0x103B
92*4882a593Smuzhiyun #define WPS_ID_RF_BAND            0x103C
93*4882a593Smuzhiyun #define WPS_ID_R_HASH1            0x103D
94*4882a593Smuzhiyun #define WPS_ID_R_HASH2            0x103E
95*4882a593Smuzhiyun #define WPS_ID_R_SNONCE1          0x103F
96*4882a593Smuzhiyun #define WPS_ID_R_SNONCE2          0x1040
97*4882a593Smuzhiyun #define WPS_ID_SEL_REGISTRAR      0x1041
98*4882a593Smuzhiyun #define WPS_ID_SERIAL_NUM         0x1042
99*4882a593Smuzhiyun #define WPS_ID_SC_STATE           0x1044
100*4882a593Smuzhiyun #define WPS_ID_SSID               0x1045
101*4882a593Smuzhiyun #define WPS_ID_TOT_NETWORKS       0x1046
102*4882a593Smuzhiyun #define WPS_ID_UUID_E             0x1047
103*4882a593Smuzhiyun #define WPS_ID_UUID_R             0x1048
104*4882a593Smuzhiyun #define WPS_ID_VENDOR_EXT         0x1049
105*4882a593Smuzhiyun #define WPS_ID_VERSION            0x104A
106*4882a593Smuzhiyun #define WPS_ID_X509_CERT_REQ      0x104B
107*4882a593Smuzhiyun #define WPS_ID_X509_CERT          0x104C
108*4882a593Smuzhiyun #define WPS_ID_EAP_IDENTITY       0x104D
109*4882a593Smuzhiyun #define WPS_ID_MSG_COUNTER        0x104E
110*4882a593Smuzhiyun #define WPS_ID_PUBKEY_HASH        0x104F
111*4882a593Smuzhiyun #define WPS_ID_REKEY_KEY          0x1050
112*4882a593Smuzhiyun #define WPS_ID_KEY_LIFETIME       0x1051
113*4882a593Smuzhiyun #define WPS_ID_PERM_CFG_METHODS   0x1052
114*4882a593Smuzhiyun #define WPS_ID_SEL_REG_CFG_METHODS 0x1053
115*4882a593Smuzhiyun #define WPS_ID_PRIM_DEV_TYPE      0x1054
116*4882a593Smuzhiyun #define WPS_ID_SEC_DEV_TYPE_LIST  0x1055
117*4882a593Smuzhiyun #define WPS_ID_PORTABLE_DEVICE    0x1056
118*4882a593Smuzhiyun #define WPS_ID_AP_SETUP_LOCKED    0x1057
119*4882a593Smuzhiyun #define WPS_ID_APP_LIST           0x1058
120*4882a593Smuzhiyun #define WPS_ID_EAP_TYPE           0x1059
121*4882a593Smuzhiyun #define WPS_ID_INIT_VECTOR        0x1060
122*4882a593Smuzhiyun #define WPS_ID_KEY_PROVIDED_AUTO  0x1061
123*4882a593Smuzhiyun #define WPS_ID_8021X_ENABLED      0x1062
124*4882a593Smuzhiyun #define WPS_ID_WEP_TRANSMIT_KEY   0x1064
125*4882a593Smuzhiyun #define WPS_ID_REQ_DEV_TYPE       0x106A
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun /* WSC 2.0, WFA Vendor Extension Subelements */
128*4882a593Smuzhiyun #define WFA_VENDOR_EXT_ID                 "\x00\x37\x2A"
129*4882a593Smuzhiyun #define WPS_WFA_SUBID_VERSION2            0x00
130*4882a593Smuzhiyun #define WPS_WFA_SUBID_AUTHORIZED_MACS     0x01
131*4882a593Smuzhiyun #define WPS_WFA_SUBID_NW_KEY_SHAREABLE    0x02
132*4882a593Smuzhiyun #define WPS_WFA_SUBID_REQ_TO_ENROLL       0x03
133*4882a593Smuzhiyun #define WPS_WFA_SUBID_SETTINGS_DELAY_TIME 0x04
134*4882a593Smuzhiyun #define WPS_WFA_SUBID_REG_CFG_METHODS     0x05
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun /* WCN-NET Windows Rally Vertical Pairing Vendor Extensions */
137*4882a593Smuzhiyun #define MS_VENDOR_EXT_ID           "\x00\x01\x37"
138*4882a593Smuzhiyun #define WPS_MS_ID_VPI               0x1001	/* Vertical Pairing Identifier TLV */
139*4882a593Smuzhiyun #define WPS_MS_ID_TRANSPORT_UUID    0x1002      /* Transport UUID TLV */
140*4882a593Smuzhiyun 
141*4882a593Smuzhiyun /* Vertical Pairing Identifier TLV Definitions */
142*4882a593Smuzhiyun #define WPS_MS_VPI_TRANSPORT_NONE   0x00        /* None */
143*4882a593Smuzhiyun #define WPS_MS_VPI_TRANSPORT_DPWS   0x01        /* Devices Profile for Web Services */
144*4882a593Smuzhiyun #define WPS_MS_VPI_TRANSPORT_UPNP   0x02        /* uPnP */
145*4882a593Smuzhiyun #define WPS_MS_VPI_TRANSPORT_SDNWS  0x03        /* Secure Devices Profile for Web Services */
146*4882a593Smuzhiyun #define WPS_MS_VPI_NO_PROFILE_REQ   0x00        /* Wi-Fi profile not requested.
147*4882a593Smuzhiyun 						 * Not supported in Windows 7
148*4882a593Smuzhiyun 						 */
149*4882a593Smuzhiyun #define WPS_MS_VPI_PROFILE_REQ      0x01        /* Wi-Fi profile requested.  */
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun /* sizes of the fixed size elements */
152*4882a593Smuzhiyun #define WPS_ID_AP_CHANNEL_S       2
153*4882a593Smuzhiyun #define WPS_ID_ASSOC_STATE_S      2
154*4882a593Smuzhiyun #define WPS_ID_AUTH_TYPE_S        2
155*4882a593Smuzhiyun #define WPS_ID_AUTH_TYPE_FLAGS_S  2
156*4882a593Smuzhiyun #define WPS_ID_AUTHENTICATOR_S    8
157*4882a593Smuzhiyun #define WPS_ID_CONFIG_METHODS_S   2
158*4882a593Smuzhiyun #define WPS_ID_CONFIG_ERROR_S     2
159*4882a593Smuzhiyun #define WPS_ID_CONN_TYPE_S          1
160*4882a593Smuzhiyun #define WPS_ID_CONN_TYPE_FLAGS_S    1
161*4882a593Smuzhiyun #define WPS_ID_DEVICE_PWD_ID_S      2
162*4882a593Smuzhiyun #define WPS_ID_ENCR_TYPE_S          2
163*4882a593Smuzhiyun #define WPS_ID_ENCR_TYPE_FLAGS_S    2
164*4882a593Smuzhiyun #define WPS_ID_FEATURE_ID_S         4
165*4882a593Smuzhiyun #define WPS_ID_MAC_ADDR_S           6
166*4882a593Smuzhiyun #define WPS_ID_MSG_TYPE_S           1
167*4882a593Smuzhiyun #define WPS_ID_SC_STATE_S           1
168*4882a593Smuzhiyun #define WPS_ID_RF_BAND_S            1
169*4882a593Smuzhiyun #define WPS_ID_OS_VERSION_S         4
170*4882a593Smuzhiyun #define WPS_ID_VERSION_S            1
171*4882a593Smuzhiyun #define WPS_ID_SEL_REGISTRAR_S      1
172*4882a593Smuzhiyun #define WPS_ID_SEL_REG_CFG_METHODS_S 2
173*4882a593Smuzhiyun #define WPS_ID_REQ_TYPE_S           1
174*4882a593Smuzhiyun #define WPS_ID_RESP_TYPE_S          1
175*4882a593Smuzhiyun #define WPS_ID_AP_SETUP_LOCKED_S    1
176*4882a593Smuzhiyun 
177*4882a593Smuzhiyun /* WSC 2.0, WFA Vendor Extension Subelements */
178*4882a593Smuzhiyun #define WPS_WFA_SUBID_VERSION2_S            1
179*4882a593Smuzhiyun #define WPS_WFA_SUBID_NW_KEY_SHAREABLE_S    1
180*4882a593Smuzhiyun #define WPS_WFA_SUBID_REQ_TO_ENROLL_S       1
181*4882a593Smuzhiyun #define WPS_WFA_SUBID_SETTINGS_DELAY_TIME_S 1
182*4882a593Smuzhiyun #define WPS_WFA_SUBID_REG_CFG_METHODS_S     2
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun /* Association states */
185*4882a593Smuzhiyun #define WPS_ASSOC_NOT_ASSOCIATED  0
186*4882a593Smuzhiyun #define WPS_ASSOC_CONN_SUCCESS    1
187*4882a593Smuzhiyun #define WPS_ASSOC_CONFIG_FAIL     2
188*4882a593Smuzhiyun #define WPS_ASSOC_ASSOC_FAIL      3
189*4882a593Smuzhiyun #define WPS_ASSOC_IP_FAIL         4
190*4882a593Smuzhiyun 
191*4882a593Smuzhiyun /* Authentication types */
192*4882a593Smuzhiyun #define WPS_AUTHTYPE_OPEN        0x0001
193*4882a593Smuzhiyun #define WPS_AUTHTYPE_WPAPSK      0x0002	/* Deprecated in WSC 2.0 */
194*4882a593Smuzhiyun #define WPS_AUTHTYPE_SHARED      0x0004	/* Deprecated in WSC 2.0 */
195*4882a593Smuzhiyun #define WPS_AUTHTYPE_WPA         0x0008	/* Deprecated in WSC 2.0 */
196*4882a593Smuzhiyun #define WPS_AUTHTYPE_WPA2        0x0010
197*4882a593Smuzhiyun #define WPS_AUTHTYPE_WPA2PSK     0x0020
198*4882a593Smuzhiyun 
199*4882a593Smuzhiyun /* Config methods */
200*4882a593Smuzhiyun #define WPS_CONFMET_USBA            0x0001	/* Deprecated in WSC 2.0 */
201*4882a593Smuzhiyun #define WPS_CONFMET_ETHERNET        0x0002	/* Deprecated in WSC 2.0 */
202*4882a593Smuzhiyun #define WPS_CONFMET_LABEL           0x0004
203*4882a593Smuzhiyun #define WPS_CONFMET_DISPLAY         0x0008
204*4882a593Smuzhiyun #define WPS_CONFMET_EXT_NFC_TOK     0x0010
205*4882a593Smuzhiyun #define WPS_CONFMET_INT_NFC_TOK     0x0020
206*4882a593Smuzhiyun #define WPS_CONFMET_NFC_INTF        0x0040
207*4882a593Smuzhiyun #define WPS_CONFMET_PBC             0x0080
208*4882a593Smuzhiyun #define WPS_CONFMET_KEYPAD          0x0100
209*4882a593Smuzhiyun /* WSC 2.0 */
210*4882a593Smuzhiyun #define WPS_CONFMET_VIRT_PBC        0x0280
211*4882a593Smuzhiyun #define WPS_CONFMET_PHY_PBC         0x0480
212*4882a593Smuzhiyun #define WPS_CONFMET_VIRT_DISPLAY    0x2008
213*4882a593Smuzhiyun #define WPS_CONFMET_PHY_DISPLAY     0x4008
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun /* WPS error messages */
216*4882a593Smuzhiyun #define WPS_ERROR_NO_ERROR                0
217*4882a593Smuzhiyun #define WPS_ERROR_OOB_INT_READ_ERR        1
218*4882a593Smuzhiyun #define WPS_ERROR_DECRYPT_CRC_FAIL        2
219*4882a593Smuzhiyun #define WPS_ERROR_CHAN24_NOT_SUPP         3
220*4882a593Smuzhiyun #define WPS_ERROR_CHAN50_NOT_SUPP         4
221*4882a593Smuzhiyun #define WPS_ERROR_SIGNAL_WEAK             5	/* Deprecated in WSC 2.0 */
222*4882a593Smuzhiyun #define WPS_ERROR_NW_AUTH_FAIL            6	/* Deprecated in WSC 2.0 */
223*4882a593Smuzhiyun #define WPS_ERROR_NW_ASSOC_FAIL           7	/* Deprecated in WSC 2.0 */
224*4882a593Smuzhiyun #define WPS_ERROR_NO_DHCP_RESP            8	/* Deprecated in WSC 2.0 */
225*4882a593Smuzhiyun #define WPS_ERROR_FAILED_DHCP_CONF        9	/* Deprecated in WSC 2.0 */
226*4882a593Smuzhiyun #define WPS_ERROR_IP_ADDR_CONFLICT        10	/* Deprecated in WSC 2.0 */
227*4882a593Smuzhiyun #define WPS_ERROR_FAIL_CONN_REGISTRAR     11
228*4882a593Smuzhiyun #define WPS_ERROR_MULTI_PBC_DETECTED      12
229*4882a593Smuzhiyun #define WPS_ERROR_ROGUE_SUSPECTED         13
230*4882a593Smuzhiyun #define WPS_ERROR_DEVICE_BUSY             14
231*4882a593Smuzhiyun #define WPS_ERROR_SETUP_LOCKED            15
232*4882a593Smuzhiyun #define WPS_ERROR_MSG_TIMEOUT             16	/* Deprecated in WSC 2.0 */
233*4882a593Smuzhiyun #define WPS_ERROR_REG_SESSION_TIMEOUT     17	/* Deprecated in WSC 2.0 */
234*4882a593Smuzhiyun #define WPS_ERROR_DEV_PWD_AUTH_FAIL       18
235*4882a593Smuzhiyun #define WPS_ERROR_60GHZ_NOT_SUPPORT       19
236*4882a593Smuzhiyun #define WPS_ERROR_PKH_MISMATCH            20	/* Public Key Hash Mismatch */
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun /* Connection types */
239*4882a593Smuzhiyun #define WPS_CONNTYPE_ESS    0x01
240*4882a593Smuzhiyun #define WPS_CONNTYPE_IBSS   0x02
241*4882a593Smuzhiyun 
242*4882a593Smuzhiyun /* Device password ID */
243*4882a593Smuzhiyun #define WPS_DEVICEPWDID_DEFAULT          0x0000
244*4882a593Smuzhiyun #define WPS_DEVICEPWDID_USER_SPEC        0x0001
245*4882a593Smuzhiyun #define WPS_DEVICEPWDID_MACHINE_SPEC     0x0002
246*4882a593Smuzhiyun #define WPS_DEVICEPWDID_REKEY            0x0003
247*4882a593Smuzhiyun #define WPS_DEVICEPWDID_PUSH_BTN         0x0004
248*4882a593Smuzhiyun #define WPS_DEVICEPWDID_REG_SPEC         0x0005
249*4882a593Smuzhiyun #define WPS_DEVICEPWDID_IBSS             0x0006
250*4882a593Smuzhiyun #define WPS_DEVICEPWDID_NFC_CHO          0x0007	/* NFC-Connection-Handover */
251*4882a593Smuzhiyun #define WPS_DEVICEPWDID_WFDS             0x0008	/* Wi-Fi Direct Services Specification */
252*4882a593Smuzhiyun 
253*4882a593Smuzhiyun /* Encryption type */
254*4882a593Smuzhiyun #define WPS_ENCRTYPE_NONE    0x0001
255*4882a593Smuzhiyun #define WPS_ENCRTYPE_WEP     0x0002	/* Deprecated in WSC 2.0 */
256*4882a593Smuzhiyun #define WPS_ENCRTYPE_TKIP    0x0004	/* Deprecated in version 2.0. TKIP can only
257*4882a593Smuzhiyun 					  * be advertised on the AP when Mixed Mode
258*4882a593Smuzhiyun 					  * is enabled (Encryption Type is 0x000c).
259*4882a593Smuzhiyun 					  */
260*4882a593Smuzhiyun #define WPS_ENCRTYPE_AES     0x0008
261*4882a593Smuzhiyun 
262*4882a593Smuzhiyun /* WPS Message Types */
263*4882a593Smuzhiyun #define WPS_ID_BEACON            0x01
264*4882a593Smuzhiyun #define WPS_ID_PROBE_REQ         0x02
265*4882a593Smuzhiyun #define WPS_ID_PROBE_RESP        0x03
266*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M1        0x04
267*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M2        0x05
268*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M2D       0x06
269*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M3        0x07
270*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M4        0x08
271*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M5        0x09
272*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M6        0x0A
273*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M7        0x0B
274*4882a593Smuzhiyun #define WPS_ID_MESSAGE_M8        0x0C
275*4882a593Smuzhiyun #define WPS_ID_MESSAGE_ACK       0x0D
276*4882a593Smuzhiyun #define WPS_ID_MESSAGE_NACK      0x0E
277*4882a593Smuzhiyun #define WPS_ID_MESSAGE_DONE      0x0F
278*4882a593Smuzhiyun 
279*4882a593Smuzhiyun /* WSP private ID for local use */
280*4882a593Smuzhiyun #define WPS_PRIVATE_ID_IDENTITY		(WPS_ID_MESSAGE_DONE + 1)
281*4882a593Smuzhiyun #define WPS_PRIVATE_ID_WPS_START	(WPS_ID_MESSAGE_DONE + 2)
282*4882a593Smuzhiyun #define WPS_PRIVATE_ID_FAILURE		(WPS_ID_MESSAGE_DONE + 3)
283*4882a593Smuzhiyun #define WPS_PRIVATE_ID_FRAG		(WPS_ID_MESSAGE_DONE + 4)
284*4882a593Smuzhiyun #define WPS_PRIVATE_ID_FRAG_ACK		(WPS_ID_MESSAGE_DONE + 5)
285*4882a593Smuzhiyun #define WPS_PRIVATE_ID_EAPOL_START	(WPS_ID_MESSAGE_DONE + 6)
286*4882a593Smuzhiyun 
287*4882a593Smuzhiyun /* Device Type categories for primary and secondary device types */
288*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_COMPUTER        1
289*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_INPUT_DEVICE    2
290*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_PRINTER         3
291*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_CAMERA          4
292*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_STORAGE         5
293*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_NW_INFRA        6
294*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_DISPLAYS        7
295*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_MM_DEVICES      8
296*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_GAME_DEVICES    9
297*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_TELEPHONE       10
298*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_CAT_AUDIO_DEVICES   11	/* WSC 2.0 */
299*4882a593Smuzhiyun 
300*4882a593Smuzhiyun /* Device Type sub categories for primary and secondary device types */
301*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_PC         1
302*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_SERVER     2
303*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_MEDIA_CTR  3
304*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_UM_PC      4	/* WSC 2.0 */
305*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_NOTEBOOK   5	/* WSC 2.0 */
306*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_DESKTOP    6	/* WSC 2.0 */
307*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_MID        7	/* WSC 2.0 */
308*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_COMP_NETBOOK    8	/* WSC 2.0 */
309*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_Keyboard    1	/* WSC 2.0 */
310*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_MOUSE       2	/* WSC 2.0 */
311*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_JOYSTICK    3	/* WSC 2.0 */
312*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_TRACKBALL   4	/* WSC 2.0 */
313*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_GAM_CTRL    5	/* WSC 2.0 */
314*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_REMOTE      6	/* WSC 2.0 */
315*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_TOUCHSCREEN 7	/* WSC 2.0 */
316*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_BIO_READER  8	/* WSC 2.0 */
317*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_INP_BAR_READER  9	/* WSC 2.0 */
318*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PRTR_PRINTER    1
319*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PRTR_SCANNER    2
320*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PRTR_FAX        3	/* WSC 2.0 */
321*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PRTR_COPIER     4	/* WSC 2.0 */
322*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PRTR_ALLINONE   5	/* WSC 2.0 */
323*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_CAM_DGTL_STILL  1
324*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_CAM_VIDEO_CAM   2	/* WSC 2.0 */
325*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_CAM_WEB_CAM     3	/* WSC 2.0 */
326*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_CAM_SECU_CAM    4	/* WSC 2.0 */
327*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_STOR_NAS        1
328*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_NW_AP           1
329*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_NW_ROUTER       2
330*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_NW_SWITCH       3
331*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_NW_GATEWAY      4	/* WSC 2.0 */
332*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_NW_BRIDGE       5	/* WSC 2.0 */
333*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_DISP_TV         1
334*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_DISP_PIC_FRAME  2
335*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_DISP_PROJECTOR  3
336*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_DISP_MONITOR    4	/* WSC 2.0 */
337*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_DAR          1
338*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_PVR          2
339*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_MCX          3
340*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_STB          4	/* WSC 2.0 */
341*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_MS_ME        5	/* WSC 2.0 */
342*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_MM_PVP          6	/* WSC 2.0 */
343*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_GAM_XBOX        1
344*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_GAM_XBOX_360    2
345*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_GAM_PS          3
346*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_GAM_GC          4	/* WSC 2.0 */
347*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_GAM_PGD         5	/* WSC 2.0 */
348*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PHONE_WM        1
349*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PHONE_PSM       2	/* WSC 2.0 */
350*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PHONE_PDM       3	/* WSC 2.0 */
351*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PHONE_SSM       4	/* WSC 2.0 */
352*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_PHONE_SDM       5	/* WSC 2.0 */
353*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_TUNER     1	/* WSC 2.0 */
354*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_SPEAKERS  2	/* WSC 2.0 */
355*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_PMP       3	/* WSC 2.0 */
356*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_HEADSET   4	/* WSC 2.0 */
357*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_HPHONE    5	/* WSC 2.0 */
358*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_MPHONE    6	/* WSC 2.0 */
359*4882a593Smuzhiyun #define WPS_DEVICE_TYPE_SUB_CAT_AUDIO_HTS       7	/* WSC 2.0 */
360*4882a593Smuzhiyun 
361*4882a593Smuzhiyun /* Device request/response type */
362*4882a593Smuzhiyun #define WPS_MSGTYPE_ENROLLEE_INFO_ONLY    0x00
363*4882a593Smuzhiyun #define WPS_MSGTYPE_ENROLLEE_OPEN_8021X   0x01
364*4882a593Smuzhiyun #define WPS_MSGTYPE_REGISTRAR             0x02
365*4882a593Smuzhiyun #define WPS_MSGTYPE_AP_WLAN_MGR           0x03
366*4882a593Smuzhiyun 
367*4882a593Smuzhiyun /* RF Band */
368*4882a593Smuzhiyun #define WPS_RFBAND_24GHZ    0x01
369*4882a593Smuzhiyun #define WPS_RFBAND_50GHZ    0x02
370*4882a593Smuzhiyun 
371*4882a593Smuzhiyun /* Simple Config state */
372*4882a593Smuzhiyun #define WPS_SCSTATE_UNCONFIGURED    0x01
373*4882a593Smuzhiyun #define WPS_SCSTATE_CONFIGURED      0x02
374*4882a593Smuzhiyun #define WPS_SCSTATE_OFF 11
375*4882a593Smuzhiyun 
376*4882a593Smuzhiyun /* WPS Vendor extension key */
377*4882a593Smuzhiyun #define WPS_OUI_HEADER_LEN 2
378*4882a593Smuzhiyun #define WPS_OUI_HEADER_SIZE 4
379*4882a593Smuzhiyun #define WPS_OUI_FIXED_HEADER_OFF 16
380*4882a593Smuzhiyun #define WPS_WFA_SUBID_V2_OFF 3
381*4882a593Smuzhiyun #define WPS_WFA_V2_OFF 5
382*4882a593Smuzhiyun 
383*4882a593Smuzhiyun #ifdef __cplusplus
384*4882a593Smuzhiyun }
385*4882a593Smuzhiyun #endif // endif
386*4882a593Smuzhiyun 
387*4882a593Smuzhiyun #endif /* _WPS_ */
388