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