| /* |
| * Fundamental types and constants relating to 802.11u - |
| * "Interworking with External Networks" |
| * |
| * IW - InterWorking |
| * |
| * Copyright (C) 2024, Broadcom. |
| * |
| * Unless you and Broadcom execute a separate written software license |
| * agreement governing use of this software, this software is licensed to you |
| * under the terms of the GNU General Public License version 2 (the "GPL"), |
| * available at http://www.broadcom.com/licenses/GPLv2.php, with the |
| * following added to such license: |
| * |
| * As a special exception, the copyright holders of this software give you |
| * permission to link this software with independent modules, and to copy and |
| * distribute the resulting executable under terms of your choice, provided that |
| * you also meet, for each linked independent module, the terms and conditions of |
| * the license of that module. An independent module is a module which is not |
| * derived from this software. The special exception does not apply to any |
| * modifications of the software. |
| * |
| * |
| * <<Broadcom-WL-IPTag/Dual:>> |
| */ |
| |
| #ifndef _802_11u_h_ |
| #define _802_11u_h_ |
| |
| #ifndef _TYPEDEFS_H_ |
| #include <typedefs.h> |
| #endif |
| |
| /* This marks the start of a packed structure section. */ |
| #include <packed_section_start.h> |
| |
| /* 802.11u GAS action frames */ |
| #define GAS_REQUEST_ACTION_FRAME 10 |
| #define GAS_RESPONSE_ACTION_FRAME 11 |
| #define GAS_COMEBACK_REQUEST_ACTION_FRAME 12 |
| #define GAS_COMEBACK_RESPONSE_ACTION_FRAME 13 |
| |
| /* 802.11u interworking access network options */ |
| #define IW_ANT_MASK 0x0f |
| #define IW_INTERNET_MASK 0x10 |
| #define IW_ASRA_MASK 0x20 |
| #define IW_ESR_MASK 0x40 |
| #define IW_UESA_MASK 0x80 |
| |
| /* 802.11u interworking access network type */ |
| #define IW_ANT_PRIVATE_NETWORK 0 |
| #define IW_ANT_PRIVATE_NETWORK_WITH_GUEST 1 |
| #define IW_ANT_CHARGEABLE_PUBLIC_NETWORK 2 |
| #define IW_ANT_FREE_PUBLIC_NETWORK 3 |
| #define IW_ANT_PERSONAL_DEVICE_NETWORK 4 |
| #define IW_ANT_EMERGENCY_SERVICES_NETWORK 5 |
| #define IW_ANT_TEST_NETWORK 14 |
| #define IW_ANT_WILDCARD_NETWORK 15 |
| |
| #define IW_ANT_LEN 1 |
| #define IW_VENUE_LEN 2 |
| #define IW_HESSID_LEN 6 |
| #define IW_HESSID_OFF (IW_ANT_LEN + IW_VENUE_LEN) |
| #define IW_MAX_LEN (IW_ANT_LEN + IW_VENUE_LEN + IW_HESSID_LEN) |
| |
| /* 802.11u advertisement protocol */ |
| #define ADVP_ANQP_PROTOCOL_ID 0 |
| #define ADVP_MIH_PROTOCOL_ID 1 |
| |
| /* 802.11u advertisement protocol masks */ |
| #define ADVP_QRL_MASK 0x7f |
| #define ADVP_PAME_BI_MASK 0x80 |
| |
| /* 802.11u advertisement protocol values */ |
| #define ADVP_QRL_REQUEST 0x00 |
| #define ADVP_QRL_RESPONSE 0x7f |
| #define ADVP_PAME_BI_DEPENDENT 0x00 |
| #define ADVP_PAME_BI_INDEPENDENT ADVP_PAME_BI_MASK |
| |
| /* 802.11u ANQP information ID */ |
| #define ANQP_ID_QUERY_LIST 256 |
| #define ANQP_ID_CAPABILITY_LIST 257 |
| #define ANQP_ID_VENUE_NAME_INFO 258 |
| #define ANQP_ID_EMERGENCY_CALL_NUMBER_INFO 259 |
| #define ANQP_ID_NETWORK_AUTHENTICATION_TYPE_INFO 260 |
| #define ANQP_ID_ROAMING_CONSORTIUM_LIST 261 |
| #define ANQP_ID_IP_ADDRESS_TYPE_AVAILABILITY_INFO 262 |
| #define ANQP_ID_NAI_REALM_LIST 263 |
| #define ANQP_ID_G3PP_CELLULAR_NETWORK_INFO 264 |
| #define ANQP_ID_AP_GEOSPATIAL_LOCATION 265 |
| #define ANQP_ID_AP_CIVIC_LOCATION 266 |
| #define ANQP_ID_AP_LOCATION_PUBLIC_ID_URI 267 |
| #define ANQP_ID_DOMAIN_NAME_LIST 268 |
| #define ANQP_ID_EMERGENCY_ALERT_ID_URI 269 |
| #define ANQP_ID_EMERGENCY_NAI 271 |
| #define ANQP_ID_NEIGHBOR_REPORT 272 |
| #define ANQP_ID_VENDOR_SPECIFIC_LIST 56797 |
| |
| /* 802.11u ANQP ID len */ |
| #define ANQP_INFORMATION_ID_LEN 2 |
| |
| /* 802.11u ANQP OUI */ |
| #define ANQP_OUI_SUBTYPE 9 |
| |
| /* 802.11u venue name */ |
| #define VENUE_LANGUAGE_CODE_SIZE 3 |
| #define VENUE_NAME_SIZE 255 |
| |
| /* 802.11u venue groups */ |
| #define VENUE_UNSPECIFIED 0 |
| #define VENUE_ASSEMBLY 1 |
| #define VENUE_BUSINESS 2 |
| #define VENUE_EDUCATIONAL 3 |
| #define VENUE_FACTORY 4 |
| #define VENUE_INSTITUTIONAL 5 |
| #define VENUE_MERCANTILE 6 |
| #define VENUE_RESIDENTIAL 7 |
| #define VENUE_STORAGE 8 |
| #define VENUE_UTILITY 9 |
| #define VENUE_VEHICULAR 10 |
| #define VENUE_OUTDOOR 11 |
| |
| /* 802.11u network authentication type indicator */ |
| #define NATI_UNSPECIFIED -1 |
| #define NATI_ACCEPTANCE_OF_TERMS_CONDITIONS 0 |
| #define NATI_ONLINE_ENROLLMENT_SUPPORTED 1 |
| #define NATI_HTTP_HTTPS_REDIRECTION 2 |
| #define NATI_DNS_REDIRECTION 3 |
| |
| /* 802.11u IP address type availability - IPv6 */ |
| #define IPA_IPV6_SHIFT 0 |
| #define IPA_IPV6_MASK (0x03 << IPA_IPV6_SHIFT) |
| #define IPA_IPV6_NOT_AVAILABLE 0x00 |
| #define IPA_IPV6_AVAILABLE 0x01 |
| #define IPA_IPV6_UNKNOWN_AVAILABILITY 0x02 |
| |
| /* 802.11u IP address type availability - IPv4 */ |
| #define IPA_IPV4_SHIFT 2 |
| #define IPA_IPV4_MASK (0x3f << IPA_IPV4_SHIFT) |
| #define IPA_IPV4_NOT_AVAILABLE 0x00 |
| #define IPA_IPV4_PUBLIC 0x01 |
| #define IPA_IPV4_PORT_RESTRICT 0x02 |
| #define IPA_IPV4_SINGLE_NAT 0x03 |
| #define IPA_IPV4_DOUBLE_NAT 0x04 |
| #define IPA_IPV4_PORT_RESTRICT_SINGLE_NAT 0x05 |
| #define IPA_IPV4_PORT_RESTRICT_DOUBLE_NAT 0x06 |
| #define IPA_IPV4_UNKNOWN_AVAILABILITY 0x07 |
| |
| /* 802.11u NAI realm encoding */ |
| #define REALM_ENCODING_RFC4282 0 |
| #define REALM_ENCODING_UTF8 1 |
| |
| /* 802.11u IANA EAP method type numbers */ |
| #define REALM_EAP_TLS 13 |
| #define REALM_EAP_LEAP 17 |
| #define REALM_EAP_SIM 18 |
| #define REALM_EAP_TTLS 21 |
| #define REALM_EAP_AKA 23 |
| #define REALM_EAP_PEAP 25 |
| #define REALM_EAP_FAST 43 |
| #define REALM_EAP_PSK 47 |
| #define REALM_EAP_AKAP 50 |
| #define REALM_EAP_EXPANDED 254 |
| |
| /* 802.11u authentication ID */ |
| #define REALM_EXPANDED_EAP 1 |
| #define REALM_NON_EAP_INNER_AUTHENTICATION 2 |
| #define REALM_INNER_AUTHENTICATION_EAP 3 |
| #define REALM_EXPANDED_INNER_EAP 4 |
| #define REALM_CREDENTIAL 5 |
| #define REALM_TUNNELED_EAP_CREDENTIAL 6 |
| #define REALM_VENDOR_SPECIFIC_EAP 221 |
| |
| /* 802.11u non-EAP inner authentication type */ |
| #define REALM_RESERVED_AUTH 0 |
| #define REALM_PAP 1 |
| #define REALM_CHAP 2 |
| #define REALM_MSCHAP 3 |
| #define REALM_MSCHAPV2 4 |
| |
| /* 802.11u credential type */ |
| #define REALM_SIM 1 |
| #define REALM_USIM 2 |
| #define REALM_NFC 3 |
| #define REALM_HARDWARE_TOKEN 4 |
| #define REALM_SOFTOKEN 5 |
| #define REALM_CERTIFICATE 6 |
| #define REALM_USERNAME_PASSWORD 7 |
| #define REALM_SERVER_SIDE 8 |
| #define REALM_RESERVED_CRED 9 |
| #define REALM_VENDOR_SPECIFIC_CRED 10 |
| |
| /* 802.11u 3GPP PLMN */ |
| #define G3PP_GUD_VERSION 0 |
| #define G3PP_PLMN_LIST_IE 0 |
| |
| /* This marks the end of a packed structure section. */ |
| #include <packed_section_end.h> |
| |
| #endif /* _802_11u_h_ */ |