/* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.wifi.supplicant@1.4; import @1.0::SupplicantStatusCode; import @1.3::ConnectionCapabilities; import @1.3::DppFailureCode; import @1.3::WpaDriverCapabilitiesMask; /** * Detailed network mode for legacy network */ enum LegacyMode : uint32_t { UNKNOWN = 0, /** * For 802.11a */ A_MODE = 1, /** * For 802.11b */ B_MODE = 2, /** * For 802.11g */ G_MODE = 3, }; /** * DppFailureCode: Error codes for DPP (Easy Connect) */ enum DppFailureCode : @1.3::DppFailureCode { /** * Failure to generate a DPP URI. */ URI_GENERATION, }; /** * DppCurve: Elliptic curve cryptography type used to generate DPP * public/private key pair. */ enum DppCurve : uint32_t { PRIME256V1, SECP384R1, SECP521R1, BRAINPOOLP256R1, BRAINPOOLP384R1, BRAINPOOLP512R1, }; /** * Connection Capabilities supported by current network and device */ struct ConnectionCapabilities { /** * Baseline information as defined in HAL 1.3. */ @1.3::ConnectionCapabilities V1_3; /** * detailed network mode for legacy network */ LegacyMode legacyMode; }; /** * Enum values indicating the status of any supplicant operation. */ enum SupplicantStatusCode : @1.0::SupplicantStatusCode { FAILURE_UNSUPPORTED, }; /** * Generic structure to return the status of any supplicant operation. */ struct SupplicantStatus { SupplicantStatusCode code; /** * A vendor specific error message to provide more information beyond the * status code. * This will be used for debbuging purposes only. */ string debugMessage; }; /** * WPA Driver capability. */ enum WpaDriverCapabilitiesMask : @1.3::WpaDriverCapabilitiesMask { /** * WPA3 SAE Public-Key. */ SAE_PK = 1 << 2, /** * Wi-Fi Display R2 */ WFD_R2 = 1 << 3, }; /** * DPP bootstrap info generated for responder mode operation */ struct DppResponderBootstrapInfo { /** * Generated bootstrap identifier */ uint32_t bootstrapId; /** * The Wi-Fi channel that the DPP responder is listening on. */ uint32_t listenChannel; /** * Bootstrapping URI per DPP specification, "section 5.2 Bootstrapping * information", may contain listen channel, MAC address, public key, or other information. */ string uri; };