1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* Copyright (c) 2017 J.R. Oldroyd, Open Advisors Limited
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $FreeBSD$
*/
#ifndef _NET80211_IEEE80211_WPS_H_
#define _NET80211_IEEE80211_WPS_H_
/*
* 802.11 WPS implementation definitions.
*/
#define IEEE80211_WPS_ATTR_AP_CHANNEL 0x1001
#define IEEE80211_WPS_ATTR_ASSOC_STATE 0x1002
#define IEEE80211_WPS_ATTR_AUTH_TYPE 0x1003
#define IEEE80211_WPS_ATTR_AUTH_TYPE_FLAGS 0x1004
#define IEEE80211_WPS_ATTR_AUTHENTICATOR 0x1005
#define IEEE80211_WPS_ATTR_CONFIG_METHODS 0x1008
#define IEEE80211_WPS_ATTR_CONFIG_ERROR 0x1009
#define IEEE80211_WPS_ATTR_CONFIRM_URL4 0x100a
#define IEEE80211_WPS_ATTR_CONFIRM_URL6 0x100b
#define IEEE80211_WPS_ATTR_CONN_TYPE 0x100c
#define IEEE80211_WPS_ATTR_CONN_TYPE_FLAGS 0x100d
#define IEEE80211_WPS_ATTR_CRED 0x100e
#define IEEE80211_WPS_ATTR_ENCR_TYPE 0x100f
#define IEEE80211_WPS_ATTR_ENCR_TYPE_FLAGS 0x1010
#define IEEE80211_WPS_ATTR_DEV_NAME 0x1011
#define IEEE80211_WPS_ATTR_DEV_PASSWORD_ID 0x1012
#define IEEE80211_WPS_ATTR_E_HASH1 0x1014
#define IEEE80211_WPS_ATTR_E_HASH2 0x1015
#define IEEE80211_WPS_ATTR_E_SNONCE1 0x1016
#define IEEE80211_WPS_ATTR_E_SNONCE2 0x1017
#define IEEE80211_WPS_ATTR_ENCR_SETTINGS 0x1018
#define IEEE80211_WPS_ATTR_ENROLLEE_NONCE 0x101a
#define IEEE80211_WPS_ATTR_FEATURE_ID 0x101b
#define IEEE80211_WPS_ATTR_IDENTITY 0x101c
#define IEEE80211_WPS_ATTR_IDENTITY_PROOF 0x101d
#define IEEE80211_WPS_ATTR_KEY_WRAP_AUTH 0x101e
#define IEEE80211_WPS_ATTR_KEY_ID 0x101f
#define IEEE80211_WPS_ATTR_MAC_ADDR 0x1020
#define IEEE80211_WPS_ATTR_MANUFACTURER 0x1021
#define IEEE80211_WPS_ATTR_MSG_TYPE 0x1022
#define IEEE80211_WPS_ATTR_MODEL_NAME 0x1023
#define IEEE80211_WPS_ATTR_MODEL_NUMBER 0x1024
#define IEEE80211_WPS_ATTR_NETWORK_INDEX 0x1026
#define IEEE80211_WPS_ATTR_NETWORK_KEY 0x1027
#define IEEE80211_WPS_ATTR_NETWORK_KEY_INDEX 0x1028
#define IEEE80211_WPS_ATTR_NEW_DEVICE_NAME 0x1029
#define IEEE80211_WPS_ATTR_NEW_PASSWORD 0x102a
#define IEEE80211_WPS_ATTR_OOB_DEVICE_PASSWORD 0x102c
#define IEEE80211_WPS_ATTR_OS_VERSION 0x102d
#define IEEE80211_WPS_ATTR_POWER_LEVEL 0x102f
#define IEEE80211_WPS_ATTR_PSK_CURRENT 0x1030
#define IEEE80211_WPS_ATTR_PSK_MAX 0x1031
#define IEEE80211_WPS_ATTR_PUBLIC_KEY 0x1032
#define IEEE80211_WPS_ATTR_RADIO_ENABLE 0x1033
#define IEEE80211_WPS_ATTR_REBOOT 0x1034
#define IEEE80211_WPS_ATTR_REGISTRAR_CURRENT 0x1035
#define IEEE80211_WPS_ATTR_REGISTRAR_ESTBLSHD 0x1036
#define IEEE80211_WPS_ATTR_REGISTRAR_LIST 0x1037
#define IEEE80211_WPS_ATTR_REGISTRAR_MAX 0x1038
#define IEEE80211_WPS_ATTR_REGISTRAR_NONCE 0x1039
#define IEEE80211_WPS_ATTR_REQUEST_TYPE 0x103a
#define IEEE80211_WPS_ATTR_RESPONSE_TYPE 0x103b
#define IEEE80211_WPS_ATTR_RF_BANDS 0x103c
#define IEEE80211_WPS_ATTR_R_HASH1 0x103d
#define IEEE80211_WPS_ATTR_R_HASH2 0x103e
#define IEEE80211_WPS_ATTR_R_SNONCE1 0x103f
#define IEEE80211_WPS_ATTR_R_SNONCE2 0x1040
#define IEEE80211_WPS_ATTR_SELECTED_REGISTRAR 0x1041
#define IEEE80211_WPS_ATTR_SERIAL_NUMBER 0x1042
#define IEEE80211_WPS_ATTR_WPS_STATE 0x1044
#define IEEE80211_WPS_ATTR_SSID 0x1045
#define IEEE80211_WPS_ATTR_TOTAL_NETWORKS 0x1046
#define IEEE80211_WPS_ATTR_UUID_E 0x1047
#define IEEE80211_WPS_ATTR_UUID_R 0x1048
#define IEEE80211_WPS_ATTR_VENDOR_EXT 0x1049
#define IEEE80211_WPS_ATTR_VERSION 0x104a
#define IEEE80211_WPS_ATTR_X509_CERT_REQ 0x104b
#define IEEE80211_WPS_ATTR_X509_CERT 0x104c
#define IEEE80211_WPS_ATTR_EAP_IDENTITY 0x104d
#define IEEE80211_WPS_ATTR_MSG_COUNTER 0x104e
#define IEEE80211_WPS_ATTR_PUBKEY_HASH 0x104f
#define IEEE80211_WPS_ATTR_REKEY_KEY 0x1050
#define IEEE80211_WPS_ATTR_KEY_LIFETIME 0x1051
#define IEEE80211_WPS_ATTR_PERMITTED_CONFIG_METHODS 0x1052
#define IEEE80211_WPS_ATTR_SELECTED_REGISTRAR_CONFIG_METHODS 0x1053
#define IEEE80211_WPS_ATTR_PRIMARY_DEV_TYPE 0x1054
#define IEEE80211_WPS_ATTR_SECONDARY_DEV_TYPE_LIST 0x1055
#define IEEE80211_WPS_ATTR_PORTABLE_DEV 0x1056
#define IEEE80211_WPS_ATTR_AP_SETUP_LOCKED 0x1057
#define IEEE80211_WPS_ATTR_APPLICATION_EXT 0x1058
#define IEEE80211_WPS_ATTR_EAP_TYPE 0x1059
#define IEEE80211_WPS_ATTR_IV 0x1060
#define IEEE80211_WPS_ATTR_KEY_PROVIDED_AUTO 0x1061
#define IEEE80211_WPS_ATTR_802_1X_ENABLED 0x1062
#define IEEE80211_WPS_ATTR_AP_SESSION_KEY 0x1063
#define IEEE80211_WPS_ATTR_WEP_TRANSMIT_KEY 0x1064
#define IEEE80211_WPS_ATTR_REQUESTED_DEV_TYPE 0x106a
#define IEEE80211_WPS_ATTR_EXTENSIBILITY_TEST 0x10fa /* _NOT_ defined in the spec */
/* RF bands bitmask */
#define IEEE80211_WPS_RF_BAND_24GHZ 0x01
#define IEEE80211_WPS_RF_BAND_50GHZ 0x02
#define IEEE80211_WPS_RF_BAND_600GHZ 0x04
/* Config methods bitmask */
#define IEEE80211_WPS_CONFIG_USBA 0x0001
#define IEEE80211_WPS_CONFIG_ETHERNET 0x0002
#define IEEE80211_WPS_CONFIG_LABEL 0x0004
#define IEEE80211_WPS_CONFIG_DISPLAY 0x0008
#define IEEE80211_WPS_CONFIG_EXT_NFC_TOKEN 0x0010
#define IEEE80211_WPS_CONFIG_INT_NFC_TOKEN 0x0020
#define IEEE80211_WPS_CONFIG_NFC_INTERFACE 0x0040
#define IEEE80211_WPS_CONFIG_PUSHBUTTON 0x0080
#define IEEE80211_WPS_CONFIG_KEYPAD 0x0100
#define IEEE80211_WPS_CONFIG_VIRT_PUSHBUTTON 0x0200
#define IEEE80211_WPS_CONFIG_PHY_PUSHBUTTON 0x0400
#define IEEE80211_WPS_CONFIG_P2PS 0x1000
#define IEEE80211_WPS_CONFIG_VIRT_DISPLAY 0x2000
#define IEEE80211_WPS_CONFIG_PHY_DISPLAY 0x4000
/* Wi-Fi Protected Setup state */
#define IEEE80211_WPS_STATE_NOT_CONFIGURED 0x01
#define IEEE80211_WPS_STATE_CONFIGURED 0x02
#endif /* _NET80211_IEEE80211_WPS_H_ */
|