blob: c39de6ead6b48b158fb66a978f81e9dc89aaf490 [file] [log] [blame]
/*
* 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,
};
/**
* 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;
};