16d49e1aeSJan Lentfer /* 26d49e1aeSJan Lentfer * Wi-Fi Protected Setup - message definitions 36d49e1aeSJan Lentfer * Copyright (c) 2008, Jouni Malinen <j@w1.fi> 46d49e1aeSJan Lentfer * 53ff40c12SJohn Marino * This software may be distributed under the terms of the BSD license. 63ff40c12SJohn Marino * See README for more details. 76d49e1aeSJan Lentfer */ 86d49e1aeSJan Lentfer 96d49e1aeSJan Lentfer #ifndef WPS_DEFS_H 106d49e1aeSJan Lentfer #define WPS_DEFS_H 116d49e1aeSJan Lentfer 123ff40c12SJohn Marino #ifdef CONFIG_WPS_TESTING 133ff40c12SJohn Marino 143ff40c12SJohn Marino extern int wps_version_number; 153ff40c12SJohn Marino extern int wps_testing_dummy_cred; 163ff40c12SJohn Marino extern int wps_corrupt_pkhash; 17*a1157835SDaniel Fojt extern int wps_force_auth_types_in_use; 18*a1157835SDaniel Fojt extern u16 wps_force_auth_types; 19*a1157835SDaniel Fojt extern int wps_force_encr_types_in_use; 20*a1157835SDaniel Fojt extern u16 wps_force_encr_types; 213ff40c12SJohn Marino #define WPS_VERSION wps_version_number 223ff40c12SJohn Marino 233ff40c12SJohn Marino #else /* CONFIG_WPS_TESTING */ 243ff40c12SJohn Marino 253ff40c12SJohn Marino #define WPS_VERSION 0x20 263ff40c12SJohn Marino 273ff40c12SJohn Marino #endif /* CONFIG_WPS_TESTING */ 286d49e1aeSJan Lentfer 296d49e1aeSJan Lentfer /* Diffie-Hellman 1536-bit MODP Group; RFC 3526, Group 5 */ 306d49e1aeSJan Lentfer #define WPS_DH_GROUP 5 316d49e1aeSJan Lentfer 326d49e1aeSJan Lentfer #define WPS_UUID_LEN 16 336d49e1aeSJan Lentfer #define WPS_NONCE_LEN 16 346d49e1aeSJan Lentfer #define WPS_AUTHENTICATOR_LEN 8 356d49e1aeSJan Lentfer #define WPS_AUTHKEY_LEN 32 366d49e1aeSJan Lentfer #define WPS_KEYWRAPKEY_LEN 16 376d49e1aeSJan Lentfer #define WPS_EMSK_LEN 32 386d49e1aeSJan Lentfer #define WPS_PSK_LEN 16 396d49e1aeSJan Lentfer #define WPS_SECRET_NONCE_LEN 16 406d49e1aeSJan Lentfer #define WPS_HASH_LEN 32 416d49e1aeSJan Lentfer #define WPS_KWA_LEN 8 426d49e1aeSJan Lentfer #define WPS_MGMTAUTHKEY_LEN 32 436d49e1aeSJan Lentfer #define WPS_MGMTENCKEY_LEN 16 446d49e1aeSJan Lentfer #define WPS_MGMT_KEY_ID_LEN 16 453ff40c12SJohn Marino #define WPS_OOB_DEVICE_PASSWORD_MIN_LEN 16 463ff40c12SJohn Marino #define WPS_OOB_DEVICE_PASSWORD_LEN 32 473ff40c12SJohn Marino #define WPS_OOB_PUBKEY_HASH_LEN 20 48*a1157835SDaniel Fojt #define WPS_DEV_NAME_MAX_LEN 32 49*a1157835SDaniel Fojt #define WPS_MANUFACTURER_MAX_LEN 64 50*a1157835SDaniel Fojt #define WPS_MODEL_NAME_MAX_LEN 32 51*a1157835SDaniel Fojt #define WPS_MODEL_NUMBER_MAX_LEN 32 52*a1157835SDaniel Fojt #define WPS_SERIAL_NUMBER_MAX_LEN 32 536d49e1aeSJan Lentfer 546d49e1aeSJan Lentfer /* Attribute Types */ 556d49e1aeSJan Lentfer enum wps_attribute { 566d49e1aeSJan Lentfer ATTR_AP_CHANNEL = 0x1001, 576d49e1aeSJan Lentfer ATTR_ASSOC_STATE = 0x1002, 586d49e1aeSJan Lentfer ATTR_AUTH_TYPE = 0x1003, 596d49e1aeSJan Lentfer ATTR_AUTH_TYPE_FLAGS = 0x1004, 606d49e1aeSJan Lentfer ATTR_AUTHENTICATOR = 0x1005, 616d49e1aeSJan Lentfer ATTR_CONFIG_METHODS = 0x1008, 626d49e1aeSJan Lentfer ATTR_CONFIG_ERROR = 0x1009, 636d49e1aeSJan Lentfer ATTR_CONFIRM_URL4 = 0x100a, 646d49e1aeSJan Lentfer ATTR_CONFIRM_URL6 = 0x100b, 656d49e1aeSJan Lentfer ATTR_CONN_TYPE = 0x100c, 666d49e1aeSJan Lentfer ATTR_CONN_TYPE_FLAGS = 0x100d, 676d49e1aeSJan Lentfer ATTR_CRED = 0x100e, 686d49e1aeSJan Lentfer ATTR_ENCR_TYPE = 0x100f, 696d49e1aeSJan Lentfer ATTR_ENCR_TYPE_FLAGS = 0x1010, 706d49e1aeSJan Lentfer ATTR_DEV_NAME = 0x1011, 716d49e1aeSJan Lentfer ATTR_DEV_PASSWORD_ID = 0x1012, 726d49e1aeSJan Lentfer ATTR_E_HASH1 = 0x1014, 736d49e1aeSJan Lentfer ATTR_E_HASH2 = 0x1015, 746d49e1aeSJan Lentfer ATTR_E_SNONCE1 = 0x1016, 756d49e1aeSJan Lentfer ATTR_E_SNONCE2 = 0x1017, 766d49e1aeSJan Lentfer ATTR_ENCR_SETTINGS = 0x1018, 776d49e1aeSJan Lentfer ATTR_ENROLLEE_NONCE = 0x101a, 786d49e1aeSJan Lentfer ATTR_FEATURE_ID = 0x101b, 796d49e1aeSJan Lentfer ATTR_IDENTITY = 0x101c, 806d49e1aeSJan Lentfer ATTR_IDENTITY_PROOF = 0x101d, 816d49e1aeSJan Lentfer ATTR_KEY_WRAP_AUTH = 0x101e, 826d49e1aeSJan Lentfer ATTR_KEY_ID = 0x101f, 836d49e1aeSJan Lentfer ATTR_MAC_ADDR = 0x1020, 846d49e1aeSJan Lentfer ATTR_MANUFACTURER = 0x1021, 856d49e1aeSJan Lentfer ATTR_MSG_TYPE = 0x1022, 866d49e1aeSJan Lentfer ATTR_MODEL_NAME = 0x1023, 876d49e1aeSJan Lentfer ATTR_MODEL_NUMBER = 0x1024, 886d49e1aeSJan Lentfer ATTR_NETWORK_INDEX = 0x1026, 896d49e1aeSJan Lentfer ATTR_NETWORK_KEY = 0x1027, 906d49e1aeSJan Lentfer ATTR_NETWORK_KEY_INDEX = 0x1028, 916d49e1aeSJan Lentfer ATTR_NEW_DEVICE_NAME = 0x1029, 926d49e1aeSJan Lentfer ATTR_NEW_PASSWORD = 0x102a, 936d49e1aeSJan Lentfer ATTR_OOB_DEVICE_PASSWORD = 0x102c, 946d49e1aeSJan Lentfer ATTR_OS_VERSION = 0x102d, 956d49e1aeSJan Lentfer ATTR_POWER_LEVEL = 0x102f, 966d49e1aeSJan Lentfer ATTR_PSK_CURRENT = 0x1030, 976d49e1aeSJan Lentfer ATTR_PSK_MAX = 0x1031, 986d49e1aeSJan Lentfer ATTR_PUBLIC_KEY = 0x1032, 996d49e1aeSJan Lentfer ATTR_RADIO_ENABLE = 0x1033, 1006d49e1aeSJan Lentfer ATTR_REBOOT = 0x1034, 1016d49e1aeSJan Lentfer ATTR_REGISTRAR_CURRENT = 0x1035, 1026d49e1aeSJan Lentfer ATTR_REGISTRAR_ESTABLISHED = 0x1036, 1036d49e1aeSJan Lentfer ATTR_REGISTRAR_LIST = 0x1037, 1046d49e1aeSJan Lentfer ATTR_REGISTRAR_MAX = 0x1038, 1056d49e1aeSJan Lentfer ATTR_REGISTRAR_NONCE = 0x1039, 1066d49e1aeSJan Lentfer ATTR_REQUEST_TYPE = 0x103a, 1076d49e1aeSJan Lentfer ATTR_RESPONSE_TYPE = 0x103b, 1086d49e1aeSJan Lentfer ATTR_RF_BANDS = 0x103c, 1096d49e1aeSJan Lentfer ATTR_R_HASH1 = 0x103d, 1106d49e1aeSJan Lentfer ATTR_R_HASH2 = 0x103e, 1116d49e1aeSJan Lentfer ATTR_R_SNONCE1 = 0x103f, 1126d49e1aeSJan Lentfer ATTR_R_SNONCE2 = 0x1040, 1136d49e1aeSJan Lentfer ATTR_SELECTED_REGISTRAR = 0x1041, 1146d49e1aeSJan Lentfer ATTR_SERIAL_NUMBER = 0x1042, 1156d49e1aeSJan Lentfer ATTR_WPS_STATE = 0x1044, 1166d49e1aeSJan Lentfer ATTR_SSID = 0x1045, 1176d49e1aeSJan Lentfer ATTR_TOTAL_NETWORKS = 0x1046, 1186d49e1aeSJan Lentfer ATTR_UUID_E = 0x1047, 1196d49e1aeSJan Lentfer ATTR_UUID_R = 0x1048, 1206d49e1aeSJan Lentfer ATTR_VENDOR_EXT = 0x1049, 1216d49e1aeSJan Lentfer ATTR_VERSION = 0x104a, 1226d49e1aeSJan Lentfer ATTR_X509_CERT_REQ = 0x104b, 1236d49e1aeSJan Lentfer ATTR_X509_CERT = 0x104c, 1246d49e1aeSJan Lentfer ATTR_EAP_IDENTITY = 0x104d, 1256d49e1aeSJan Lentfer ATTR_MSG_COUNTER = 0x104e, 1266d49e1aeSJan Lentfer ATTR_PUBKEY_HASH = 0x104f, 1276d49e1aeSJan Lentfer ATTR_REKEY_KEY = 0x1050, 1286d49e1aeSJan Lentfer ATTR_KEY_LIFETIME = 0x1051, 1296d49e1aeSJan Lentfer ATTR_PERMITTED_CFG_METHODS = 0x1052, 1306d49e1aeSJan Lentfer ATTR_SELECTED_REGISTRAR_CONFIG_METHODS = 0x1053, 1316d49e1aeSJan Lentfer ATTR_PRIMARY_DEV_TYPE = 0x1054, 1323ff40c12SJohn Marino ATTR_SECONDARY_DEV_TYPE_LIST = 0x1055, 1336d49e1aeSJan Lentfer ATTR_PORTABLE_DEV = 0x1056, 1346d49e1aeSJan Lentfer ATTR_AP_SETUP_LOCKED = 0x1057, 1356d49e1aeSJan Lentfer ATTR_APPLICATION_EXT = 0x1058, 1366d49e1aeSJan Lentfer ATTR_EAP_TYPE = 0x1059, 1376d49e1aeSJan Lentfer ATTR_IV = 0x1060, 1386d49e1aeSJan Lentfer ATTR_KEY_PROVIDED_AUTO = 0x1061, 1396d49e1aeSJan Lentfer ATTR_802_1X_ENABLED = 0x1062, 1406d49e1aeSJan Lentfer ATTR_APPSESSIONKEY = 0x1063, 1413ff40c12SJohn Marino ATTR_WEPTRANSMITKEY = 0x1064, 1423ff40c12SJohn Marino ATTR_REQUESTED_DEV_TYPE = 0x106a, 1433ff40c12SJohn Marino ATTR_EXTENSIBILITY_TEST = 0x10fa /* _NOT_ defined in the spec */ 1443ff40c12SJohn Marino }; 1453ff40c12SJohn Marino 1463ff40c12SJohn Marino #define WPS_VENDOR_ID_WFA 14122 1473ff40c12SJohn Marino 1483ff40c12SJohn Marino /* WFA Vendor Extension subelements */ 1493ff40c12SJohn Marino enum { 1503ff40c12SJohn Marino WFA_ELEM_VERSION2 = 0x00, 1513ff40c12SJohn Marino WFA_ELEM_AUTHORIZEDMACS = 0x01, 1523ff40c12SJohn Marino WFA_ELEM_NETWORK_KEY_SHAREABLE = 0x02, 1533ff40c12SJohn Marino WFA_ELEM_REQUEST_TO_ENROLL = 0x03, 154*a1157835SDaniel Fojt WFA_ELEM_SETTINGS_DELAY_TIME = 0x04, 155*a1157835SDaniel Fojt WFA_ELEM_REGISTRAR_CONFIGURATION_METHODS = 0x05, 156*a1157835SDaniel Fojt WFA_ELEM_MULTI_AP = 0x06 1576d49e1aeSJan Lentfer }; 1586d49e1aeSJan Lentfer 1596d49e1aeSJan Lentfer /* Device Password ID */ 1606d49e1aeSJan Lentfer enum wps_dev_password_id { 1616d49e1aeSJan Lentfer DEV_PW_DEFAULT = 0x0000, 1626d49e1aeSJan Lentfer DEV_PW_USER_SPECIFIED = 0x0001, 1636d49e1aeSJan Lentfer DEV_PW_MACHINE_SPECIFIED = 0x0002, 1646d49e1aeSJan Lentfer DEV_PW_REKEY = 0x0003, 1656d49e1aeSJan Lentfer DEV_PW_PUSHBUTTON = 0x0004, 1663ff40c12SJohn Marino DEV_PW_REGISTRAR_SPECIFIED = 0x0005, 167*a1157835SDaniel Fojt DEV_PW_NFC_CONNECTION_HANDOVER = 0x0007, 168*a1157835SDaniel Fojt DEV_PW_P2PS_DEFAULT = 0x0008 1696d49e1aeSJan Lentfer }; 1706d49e1aeSJan Lentfer 1716d49e1aeSJan Lentfer /* Message Type */ 1726d49e1aeSJan Lentfer enum wps_msg_type { 1736d49e1aeSJan Lentfer WPS_Beacon = 0x01, 1746d49e1aeSJan Lentfer WPS_ProbeRequest = 0x02, 1756d49e1aeSJan Lentfer WPS_ProbeResponse = 0x03, 1766d49e1aeSJan Lentfer WPS_M1 = 0x04, 1776d49e1aeSJan Lentfer WPS_M2 = 0x05, 1786d49e1aeSJan Lentfer WPS_M2D = 0x06, 1796d49e1aeSJan Lentfer WPS_M3 = 0x07, 1806d49e1aeSJan Lentfer WPS_M4 = 0x08, 1816d49e1aeSJan Lentfer WPS_M5 = 0x09, 1826d49e1aeSJan Lentfer WPS_M6 = 0x0a, 1836d49e1aeSJan Lentfer WPS_M7 = 0x0b, 1846d49e1aeSJan Lentfer WPS_M8 = 0x0c, 1856d49e1aeSJan Lentfer WPS_WSC_ACK = 0x0d, 1866d49e1aeSJan Lentfer WPS_WSC_NACK = 0x0e, 1876d49e1aeSJan Lentfer WPS_WSC_DONE = 0x0f 1886d49e1aeSJan Lentfer }; 1896d49e1aeSJan Lentfer 1906d49e1aeSJan Lentfer /* Authentication Type Flags */ 1916d49e1aeSJan Lentfer #define WPS_AUTH_OPEN 0x0001 1926d49e1aeSJan Lentfer #define WPS_AUTH_WPAPSK 0x0002 193*a1157835SDaniel Fojt #define WPS_AUTH_SHARED 0x0004 /* deprecated */ 1946d49e1aeSJan Lentfer #define WPS_AUTH_WPA 0x0008 1956d49e1aeSJan Lentfer #define WPS_AUTH_WPA2 0x0010 1966d49e1aeSJan Lentfer #define WPS_AUTH_WPA2PSK 0x0020 1976d49e1aeSJan Lentfer #define WPS_AUTH_TYPES (WPS_AUTH_OPEN | WPS_AUTH_WPAPSK | WPS_AUTH_SHARED | \ 1986d49e1aeSJan Lentfer WPS_AUTH_WPA | WPS_AUTH_WPA2 | WPS_AUTH_WPA2PSK) 1996d49e1aeSJan Lentfer 2006d49e1aeSJan Lentfer /* Encryption Type Flags */ 2016d49e1aeSJan Lentfer #define WPS_ENCR_NONE 0x0001 202*a1157835SDaniel Fojt #define WPS_ENCR_WEP 0x0002 /* deprecated */ 2036d49e1aeSJan Lentfer #define WPS_ENCR_TKIP 0x0004 2046d49e1aeSJan Lentfer #define WPS_ENCR_AES 0x0008 2056d49e1aeSJan Lentfer #define WPS_ENCR_TYPES (WPS_ENCR_NONE | WPS_ENCR_WEP | WPS_ENCR_TKIP | \ 2066d49e1aeSJan Lentfer WPS_ENCR_AES) 2076d49e1aeSJan Lentfer 2086d49e1aeSJan Lentfer /* Configuration Error */ 2096d49e1aeSJan Lentfer enum wps_config_error { 2106d49e1aeSJan Lentfer WPS_CFG_NO_ERROR = 0, 2116d49e1aeSJan Lentfer WPS_CFG_OOB_IFACE_READ_ERROR = 1, 2126d49e1aeSJan Lentfer WPS_CFG_DECRYPTION_CRC_FAILURE = 2, 2136d49e1aeSJan Lentfer WPS_CFG_24_CHAN_NOT_SUPPORTED = 3, 2146d49e1aeSJan Lentfer WPS_CFG_50_CHAN_NOT_SUPPORTED = 4, 2156d49e1aeSJan Lentfer WPS_CFG_SIGNAL_TOO_WEAK = 5, 2166d49e1aeSJan Lentfer WPS_CFG_NETWORK_AUTH_FAILURE = 6, 2176d49e1aeSJan Lentfer WPS_CFG_NETWORK_ASSOC_FAILURE = 7, 2186d49e1aeSJan Lentfer WPS_CFG_NO_DHCP_RESPONSE = 8, 2196d49e1aeSJan Lentfer WPS_CFG_FAILED_DHCP_CONFIG = 9, 2206d49e1aeSJan Lentfer WPS_CFG_IP_ADDR_CONFLICT = 10, 2216d49e1aeSJan Lentfer WPS_CFG_NO_CONN_TO_REGISTRAR = 11, 2226d49e1aeSJan Lentfer WPS_CFG_MULTIPLE_PBC_DETECTED = 12, 2236d49e1aeSJan Lentfer WPS_CFG_ROGUE_SUSPECTED = 13, 2246d49e1aeSJan Lentfer WPS_CFG_DEVICE_BUSY = 14, 2256d49e1aeSJan Lentfer WPS_CFG_SETUP_LOCKED = 15, 2266d49e1aeSJan Lentfer WPS_CFG_MSG_TIMEOUT = 16, 2276d49e1aeSJan Lentfer WPS_CFG_REG_SESS_TIMEOUT = 17, 2283ff40c12SJohn Marino WPS_CFG_DEV_PASSWORD_AUTH_FAILURE = 18, 2293ff40c12SJohn Marino WPS_CFG_60G_CHAN_NOT_SUPPORTED = 19, 2303ff40c12SJohn Marino WPS_CFG_PUBLIC_KEY_HASH_MISMATCH = 20 2313ff40c12SJohn Marino }; 2323ff40c12SJohn Marino 2333ff40c12SJohn Marino /* Vendor specific Error Indication for WPS event messages */ 2343ff40c12SJohn Marino enum wps_error_indication { 2353ff40c12SJohn Marino WPS_EI_NO_ERROR, 2363ff40c12SJohn Marino WPS_EI_SECURITY_TKIP_ONLY_PROHIBITED, 2373ff40c12SJohn Marino WPS_EI_SECURITY_WEP_PROHIBITED, 2383ff40c12SJohn Marino WPS_EI_AUTH_FAILURE, 2393ff40c12SJohn Marino NUM_WPS_EI_VALUES 2406d49e1aeSJan Lentfer }; 2416d49e1aeSJan Lentfer 2426d49e1aeSJan Lentfer /* RF Bands */ 2436d49e1aeSJan Lentfer #define WPS_RF_24GHZ 0x01 2446d49e1aeSJan Lentfer #define WPS_RF_50GHZ 0x02 245*a1157835SDaniel Fojt #define WPS_RF_60GHZ 0x04 2466d49e1aeSJan Lentfer 2476d49e1aeSJan Lentfer /* Config Methods */ 2486d49e1aeSJan Lentfer #define WPS_CONFIG_USBA 0x0001 2496d49e1aeSJan Lentfer #define WPS_CONFIG_ETHERNET 0x0002 2506d49e1aeSJan Lentfer #define WPS_CONFIG_LABEL 0x0004 2516d49e1aeSJan Lentfer #define WPS_CONFIG_DISPLAY 0x0008 2526d49e1aeSJan Lentfer #define WPS_CONFIG_EXT_NFC_TOKEN 0x0010 2536d49e1aeSJan Lentfer #define WPS_CONFIG_INT_NFC_TOKEN 0x0020 2546d49e1aeSJan Lentfer #define WPS_CONFIG_NFC_INTERFACE 0x0040 2556d49e1aeSJan Lentfer #define WPS_CONFIG_PUSHBUTTON 0x0080 2566d49e1aeSJan Lentfer #define WPS_CONFIG_KEYPAD 0x0100 2573ff40c12SJohn Marino #define WPS_CONFIG_VIRT_PUSHBUTTON 0x0280 2583ff40c12SJohn Marino #define WPS_CONFIG_PHY_PUSHBUTTON 0x0480 259*a1157835SDaniel Fojt #define WPS_CONFIG_P2PS 0x1000 2603ff40c12SJohn Marino #define WPS_CONFIG_VIRT_DISPLAY 0x2008 2613ff40c12SJohn Marino #define WPS_CONFIG_PHY_DISPLAY 0x4008 2626d49e1aeSJan Lentfer 2636d49e1aeSJan Lentfer /* Connection Type Flags */ 2646d49e1aeSJan Lentfer #define WPS_CONN_ESS 0x01 2656d49e1aeSJan Lentfer #define WPS_CONN_IBSS 0x02 2666d49e1aeSJan Lentfer 2676d49e1aeSJan Lentfer /* Wi-Fi Protected Setup State */ 2686d49e1aeSJan Lentfer enum wps_state { 2696d49e1aeSJan Lentfer WPS_STATE_NOT_CONFIGURED = 1, 2706d49e1aeSJan Lentfer WPS_STATE_CONFIGURED = 2 2716d49e1aeSJan Lentfer }; 2726d49e1aeSJan Lentfer 2736d49e1aeSJan Lentfer /* Association State */ 2746d49e1aeSJan Lentfer enum wps_assoc_state { 2756d49e1aeSJan Lentfer WPS_ASSOC_NOT_ASSOC = 0, 2766d49e1aeSJan Lentfer WPS_ASSOC_CONN_SUCCESS = 1, 2776d49e1aeSJan Lentfer WPS_ASSOC_CFG_FAILURE = 2, 2786d49e1aeSJan Lentfer WPS_ASSOC_FAILURE = 3, 2796d49e1aeSJan Lentfer WPS_ASSOC_IP_FAILURE = 4 2806d49e1aeSJan Lentfer }; 2816d49e1aeSJan Lentfer 2826d49e1aeSJan Lentfer 2836d49e1aeSJan Lentfer #define WPS_DEV_OUI_WFA 0x0050f204 2846d49e1aeSJan Lentfer 2856d49e1aeSJan Lentfer enum wps_dev_categ { 2866d49e1aeSJan Lentfer WPS_DEV_COMPUTER = 1, 2876d49e1aeSJan Lentfer WPS_DEV_INPUT = 2, 2886d49e1aeSJan Lentfer WPS_DEV_PRINTER = 3, 2896d49e1aeSJan Lentfer WPS_DEV_CAMERA = 4, 2906d49e1aeSJan Lentfer WPS_DEV_STORAGE = 5, 2916d49e1aeSJan Lentfer WPS_DEV_NETWORK_INFRA = 6, 2926d49e1aeSJan Lentfer WPS_DEV_DISPLAY = 7, 2936d49e1aeSJan Lentfer WPS_DEV_MULTIMEDIA = 8, 2946d49e1aeSJan Lentfer WPS_DEV_GAMING = 9, 295*a1157835SDaniel Fojt WPS_DEV_PHONE = 10, 296*a1157835SDaniel Fojt WPS_DEV_AUDIO = 11, 2976d49e1aeSJan Lentfer }; 2986d49e1aeSJan Lentfer 2996d49e1aeSJan Lentfer enum wps_dev_subcateg { 3006d49e1aeSJan Lentfer WPS_DEV_COMPUTER_PC = 1, 3016d49e1aeSJan Lentfer WPS_DEV_COMPUTER_SERVER = 2, 3026d49e1aeSJan Lentfer WPS_DEV_COMPUTER_MEDIA_CENTER = 3, 303*a1157835SDaniel Fojt WPS_DEV_COMPUTER_ULTRA_MOBILE = 4, 304*a1157835SDaniel Fojt WPS_DEV_COMPUTER_NOTEBOOK = 5, 305*a1157835SDaniel Fojt WPS_DEV_COMPUTER_DESKTOP = 6, 306*a1157835SDaniel Fojt WPS_DEV_COMPUTER_MID = 7, 307*a1157835SDaniel Fojt WPS_DEV_COMPUTER_NETBOOK = 8, 308*a1157835SDaniel Fojt WPS_DEV_COMPUTER_TABLET = 9, 309*a1157835SDaniel Fojt WPS_DEV_INPUT_KEYBOARD = 1, 310*a1157835SDaniel Fojt WPS_DEV_INPUT_MOUSE = 2, 311*a1157835SDaniel Fojt WPS_DEV_INPUT_JOYSTICK = 3, 312*a1157835SDaniel Fojt WPS_DEV_INPUT_TRACKBALL = 4, 313*a1157835SDaniel Fojt WPS_DEV_INPUT_GAMING = 5, 314*a1157835SDaniel Fojt WPS_DEV_INPUT_REMOTE = 6, 315*a1157835SDaniel Fojt WPS_DEV_INPUT_TOUCHSCREEN = 7, 316*a1157835SDaniel Fojt WPS_DEV_INPUT_BIOMETRIC_READER = 8, 317*a1157835SDaniel Fojt WPS_DEV_INPUT_BARCODE_READER = 9, 3186d49e1aeSJan Lentfer WPS_DEV_PRINTER_PRINTER = 1, 3196d49e1aeSJan Lentfer WPS_DEV_PRINTER_SCANNER = 2, 320*a1157835SDaniel Fojt WPS_DEV_PRINTER_FAX = 3, 321*a1157835SDaniel Fojt WPS_DEV_PRINTER_COPIER = 4, 322*a1157835SDaniel Fojt WPS_DEV_PRINTER_ALL_IN_ONE = 5, 3236d49e1aeSJan Lentfer WPS_DEV_CAMERA_DIGITAL_STILL_CAMERA = 1, 324*a1157835SDaniel Fojt WPS_DEV_CAMERA_VIDEO = 2, 325*a1157835SDaniel Fojt WPS_DEV_CAMERA_WEB = 3, 326*a1157835SDaniel Fojt WPS_DEV_CAMERA_SECURITY = 4, 3276d49e1aeSJan Lentfer WPS_DEV_STORAGE_NAS = 1, 3286d49e1aeSJan Lentfer WPS_DEV_NETWORK_INFRA_AP = 1, 3296d49e1aeSJan Lentfer WPS_DEV_NETWORK_INFRA_ROUTER = 2, 3306d49e1aeSJan Lentfer WPS_DEV_NETWORK_INFRA_SWITCH = 3, 331*a1157835SDaniel Fojt WPS_DEV_NETWORK_INFRA_GATEWAY = 4, 332*a1157835SDaniel Fojt WPS_DEV_NETWORK_INFRA_BRIDGE = 5, 3336d49e1aeSJan Lentfer WPS_DEV_DISPLAY_TV = 1, 3346d49e1aeSJan Lentfer WPS_DEV_DISPLAY_PICTURE_FRAME = 2, 3356d49e1aeSJan Lentfer WPS_DEV_DISPLAY_PROJECTOR = 3, 336*a1157835SDaniel Fojt WPS_DEV_DISPLAY_MONITOR = 4, 3376d49e1aeSJan Lentfer WPS_DEV_MULTIMEDIA_DAR = 1, 3386d49e1aeSJan Lentfer WPS_DEV_MULTIMEDIA_PVR = 2, 3396d49e1aeSJan Lentfer WPS_DEV_MULTIMEDIA_MCX = 3, 340*a1157835SDaniel Fojt WPS_DEV_MULTIMEDIA_SET_TOP_BOX = 4, 341*a1157835SDaniel Fojt WPS_DEV_MULTIMEDIA_MEDIA_SERVER = 5, 342*a1157835SDaniel Fojt WPS_DEV_MULTIMEDIA_PORTABLE_VIDEO_PLAYER = 6, 3436d49e1aeSJan Lentfer WPS_DEV_GAMING_XBOX = 1, 3446d49e1aeSJan Lentfer WPS_DEV_GAMING_XBOX360 = 2, 3456d49e1aeSJan Lentfer WPS_DEV_GAMING_PLAYSTATION = 3, 346*a1157835SDaniel Fojt WPS_DEV_GAMING_GAME_CONSOLE = 4, 347*a1157835SDaniel Fojt WPS_DEV_GAMING_PORTABLE_DEVICE = 5, 348*a1157835SDaniel Fojt WPS_DEV_PHONE_WINDOWS_MOBILE = 1, 349*a1157835SDaniel Fojt WPS_DEV_PHONE_SINGLE_MODE = 2, 350*a1157835SDaniel Fojt WPS_DEV_PHONE_DUAL_MODE = 3, 351*a1157835SDaniel Fojt WPS_DEV_PHONE_SP_SINGLE_MODE = 4, 352*a1157835SDaniel Fojt WPS_DEV_PHONE_SP_DUAL_MODE = 5, 353*a1157835SDaniel Fojt WPS_DEV_AUDIO_TUNER_RECV = 1, 354*a1157835SDaniel Fojt WPS_DEV_AUDIO_SPEAKERS = 2, 355*a1157835SDaniel Fojt WPS_DEV_AUDIO_PMP = 3, 356*a1157835SDaniel Fojt WPS_DEV_AUDIO_HEADSET = 4, 357*a1157835SDaniel Fojt WPS_DEV_AUDIO_HEADPHONES = 5, 358*a1157835SDaniel Fojt WPS_DEV_AUDIO_MICROPHONE = 6, 359*a1157835SDaniel Fojt WPS_DEV_AUDIO_HOME_THEATRE = 7, 3606d49e1aeSJan Lentfer }; 3616d49e1aeSJan Lentfer 3626d49e1aeSJan Lentfer 3636d49e1aeSJan Lentfer /* Request Type */ 3646d49e1aeSJan Lentfer enum wps_request_type { 3656d49e1aeSJan Lentfer WPS_REQ_ENROLLEE_INFO = 0, 3666d49e1aeSJan Lentfer WPS_REQ_ENROLLEE = 1, 3676d49e1aeSJan Lentfer WPS_REQ_REGISTRAR = 2, 3686d49e1aeSJan Lentfer WPS_REQ_WLAN_MANAGER_REGISTRAR = 3 3696d49e1aeSJan Lentfer }; 3706d49e1aeSJan Lentfer 3716d49e1aeSJan Lentfer /* Response Type */ 3726d49e1aeSJan Lentfer enum wps_response_type { 3736d49e1aeSJan Lentfer WPS_RESP_ENROLLEE_INFO = 0, 3746d49e1aeSJan Lentfer WPS_RESP_ENROLLEE = 1, 3756d49e1aeSJan Lentfer WPS_RESP_REGISTRAR = 2, 3766d49e1aeSJan Lentfer WPS_RESP_AP = 3 3776d49e1aeSJan Lentfer }; 3786d49e1aeSJan Lentfer 3796d49e1aeSJan Lentfer /* Walk Time for push button configuration (in seconds) */ 3806d49e1aeSJan Lentfer #define WPS_PBC_WALK_TIME 120 3816d49e1aeSJan Lentfer 3823ff40c12SJohn Marino #define WPS_MAX_AUTHORIZED_MACS 5 3833ff40c12SJohn Marino 3846d49e1aeSJan Lentfer #endif /* WPS_DEFS_H */ 385