c8c0064e99
Added changes as per ANAPIC review to improve documentation of few hidl APIs. Bug: 148617258 Test: Not tested as there is no code change. Change-Id: I3f91c6b8aad3f34807534a3fbc3cf5a3c3233cd7
222 lines
7.5 KiB
Text
222 lines
7.5 KiB
Text
/*
|
|
* Copyright 2019 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.3;
|
|
|
|
import @1.2::ISupplicantStaIfaceCallback;
|
|
import @1.0::ISupplicantStaIfaceCallback.State;
|
|
import @1.0::Bssid;
|
|
import @1.0::SupplicantNetworkId;
|
|
import @1.0::Ssid;
|
|
|
|
/**
|
|
* Callback Interface exposed by the supplicant service
|
|
* for each station mode interface (ISupplicantStaIface).
|
|
*
|
|
* Clients need to host an instance of this HIDL interface object and
|
|
* pass a reference of the object to the supplicant via the
|
|
* corresponding |ISupplicantStaIface.registerCallback_1_3| method.
|
|
*/
|
|
interface ISupplicantStaIfaceCallback extends @1.2::ISupplicantStaIfaceCallback {
|
|
/**
|
|
* IEEE Std 802.11-2016 - Table 9-357.
|
|
* BTM status code filled in BSS transition management response frame.
|
|
*/
|
|
enum BssTmStatusCode : uint8_t {
|
|
ACCEPT = 0,
|
|
REJECT_UNSPECIFIED = 1,
|
|
REJECT_INSUFFICIENT_BEACON = 2,
|
|
REJECT_INSUFFICIENT_CAPABITY = 3,
|
|
REJECT_BSS_TERMINATION_UNDESIRED = 4,
|
|
REJECT_BSS_TERMINATION_DELAY_REQUEST = 5,
|
|
REJECT_STA_CANDIDATE_LIST_PROVIDED = 6,
|
|
REJECT_NO_SUITABLE_CANDIDATES = 7,
|
|
REJECT_LEAVING_ESS = 8,
|
|
};
|
|
|
|
/**
|
|
* Bitmask of various information retrieved from BSS transition management request frame.
|
|
*/
|
|
enum BssTmDataFlagsMask : uint32_t {
|
|
/**
|
|
* Preferred candidate list included.
|
|
*/
|
|
WNM_MODE_PREFERRED_CANDIDATE_LIST_INCLUDED = 1 << 0,
|
|
/**
|
|
* Abridged.
|
|
*/
|
|
WNM_MODE_ABRIDGED = 1 << 1,
|
|
/**
|
|
* Disassociation Imminent.
|
|
*/
|
|
WNM_MODE_DISASSOCIATION_IMMINENT = 1 << 2,
|
|
/**
|
|
* BSS termination included.
|
|
*/
|
|
WNM_MODE_BSS_TERMINATION_INCLUDED = 1 << 3,
|
|
/**
|
|
* ESS Disassociation Imminent.
|
|
*/
|
|
WNM_MODE_ESS_DISASSOCIATION_IMMINENT = 1 << 4,
|
|
/**
|
|
* MBO transition reason code included.
|
|
*/
|
|
MBO_TRANSITION_REASON_CODE_INCLUDED = 1 << 5,
|
|
/**
|
|
* MBO retry delay time included.
|
|
*/
|
|
MBO_ASSOC_RETRY_DELAY_INCLUDED = 1 << 6,
|
|
/**
|
|
* MBO cellular data connection preference value included.
|
|
*/
|
|
MBO_CELLULAR_DATA_CONNECTION_PREFERENCE_INCLUDED = 1 << 7,
|
|
};
|
|
|
|
/**
|
|
* MBO spec v1.2, 4.2.6 Table 18: MBO transition reason code attribute
|
|
* values.
|
|
*/
|
|
enum MboTransitionReasonCode : uint8_t {
|
|
UNSPECIFIED = 0,
|
|
EXCESSIVE_FRAME_LOSS = 1,
|
|
EXCESSIVE_TRAFFIC_DELAY = 2,
|
|
INSUFFICIENT_BANDWIDTH = 3,
|
|
LOAD_BALANCING = 4,
|
|
LOW_RSSI = 5,
|
|
RX_EXCESSIVE_RETRIES = 6,
|
|
HIGH_INTERFERENCE = 7,
|
|
GRAY_ZONE = 8,
|
|
TRANSITION_TO_PREMIUM_AP = 9,
|
|
};
|
|
|
|
/**
|
|
* MBO spec v1.2, 4.2.5 Table 16: MBO Cellular Data connection preference
|
|
* attribute values. AP use this to indicate STA, its preference for the
|
|
* STA to move from BSS to cellular network.
|
|
*/
|
|
enum MboCellularDataConnectionPrefValue : uint8_t {
|
|
EXCLUDED = 0,
|
|
NOT_PREFERRED = 1,
|
|
/*
|
|
* 2-254 Reserved.
|
|
*/
|
|
PREFERRED = 255,
|
|
};
|
|
|
|
/**
|
|
* Data retrieved from received BSS transition management request frame.
|
|
*/
|
|
struct BssTmData {
|
|
/*
|
|
* Status code filled in BSS transition management response frame
|
|
*/
|
|
BssTmStatusCode status;
|
|
|
|
/*
|
|
* Bitmask of BssTmDataFlagsMask
|
|
*/
|
|
bitfield<BssTmDataFlagsMask> flags;
|
|
|
|
/*
|
|
* Duration for which STA shouldn't try to re-associate.
|
|
*/
|
|
uint32_t assocRetryDelayMs;
|
|
|
|
/*
|
|
* Reason for BSS transition request.
|
|
*/
|
|
MboTransitionReasonCode mboTransitionReason;
|
|
|
|
/*
|
|
* Cellular Data Connection preference value.
|
|
*/
|
|
MboCellularDataConnectionPrefValue mboCellPreference;
|
|
};
|
|
|
|
/**
|
|
* Indicates pairwise master key (PMK) cache added event.
|
|
*
|
|
* @param expirationTimeInSec expiration time in seconds
|
|
* @param serializedEntry is serialized PMK cache entry, the content is
|
|
* opaque for the framework and depends on the native implementation.
|
|
*/
|
|
oneway onPmkCacheAdded(int64_t expirationTimeInSec, vec<uint8_t> serializedEntry);
|
|
|
|
/**
|
|
* Indicates a DPP success event.
|
|
*/
|
|
oneway onDppSuccess(DppSuccessCode code);
|
|
|
|
/**
|
|
* Indicates a DPP progress event.
|
|
*/
|
|
oneway onDppProgress_1_3(DppProgressCode code);
|
|
|
|
/**
|
|
* Indicates a DPP failure event.
|
|
*
|
|
* ssid: A string indicating the SSID for the AP that the Enrollee attempted to connect.
|
|
* channelList: A string containing a list of operating channels and operating classes
|
|
* indicating the channels that the Enrollee scanned in attempting to discover the AP.
|
|
* The list conforms to the following ABNF syntax:
|
|
* channel-list2 = class-and-channels *(“,” class-and-channels)
|
|
* class-and-channels = class “/” channel *(“,” channel)
|
|
* class = 1*3DIGIT
|
|
* channel = 1*3DIGIT
|
|
* bandList: A list of band parameters that are supported by the Enrollee expressed as the
|
|
* Operating Class.
|
|
*/
|
|
oneway onDppFailure_1_3(DppFailureCode code, string ssid, string channelList,
|
|
vec<uint16_t> bandList);
|
|
|
|
/**
|
|
* Indicates BTM request frame handling status.
|
|
*
|
|
* @param BssTmData Data retrieved from received BSS transition management
|
|
* request frame.
|
|
*/
|
|
oneway onBssTmHandlingDone(BssTmData tmData);
|
|
|
|
/**
|
|
* Indicates an EAP authentication failure.
|
|
* @param errorCode Error code for EAP authentication failure.
|
|
* Either standard error code (enum EapErrorCode) or
|
|
* private error code defined by network provider.
|
|
*/
|
|
oneway onEapFailure_1_3(uint32_t errorCode);
|
|
|
|
/**
|
|
* Used to indicate a state change event on this particular iface. If this
|
|
* event is triggered by a particular network, the |SupplicantNetworkId|,
|
|
* |ssid|, |bssid| parameters must indicate the parameters of the network/AP
|
|
* which caused this state transition.
|
|
*
|
|
* @param newState New State of the interface. This must be one of the |State|
|
|
* values above.
|
|
* @param bssid BSSID of the corresponding AP which caused this state
|
|
* change event. This must be zero'ed if this event is not
|
|
* specific to a particular network.
|
|
* @param id ID of the corresponding network which caused this
|
|
* state change event. This must be invalid (UINT32_MAX) if this
|
|
* event is not specific to a particular network.
|
|
* @param ssid SSID of the corresponding network which caused this state
|
|
* change event. This must be empty if this event is not specific
|
|
* to a particular network.
|
|
* @param filsHlpSent If FILS HLP IEs were included in this association.
|
|
*/
|
|
oneway onStateChanged_1_3(State newState, Bssid bssid, SupplicantNetworkId id, Ssid ssid,
|
|
bool filsHlpSent);
|
|
};
|