/* * 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.0::SupplicantStatus; import @1.2::ISupplicantStaIface; import ISupplicantStaNetwork; import ISupplicantStaIfaceCallback; import @1.0::MacAddress; /** * Interface exposed by the supplicant for each station mode network * interface (e.g wlan0) it controls. */ interface ISupplicantStaIface extends @1.2::ISupplicantStaIface { /** * Register for callbacks from this interface. * * These callbacks are invoked for events that are specific to this interface. * Registration of multiple callback objects is supported. These objects must * be automatically deleted when the corresponding client process is dead or * if this interface is removed. * * @param callback An instance of the |ISupplicantStaIfaceCallback| HIDL * interface object. * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ registerCallback_1_3(ISupplicantStaIfaceCallback callback) generates (SupplicantStatus status); /** * Get Connection capabilities * * @return status Status of the operation, and connection capabilities. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, */ getConnectionCapabilities() generates (SupplicantStatus status, ConnectionCapabilities capabilities); /** * Get wpa driver capabilities. * * @return status Status of the operation, and a bitmap of wpa driver features. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, */ getWpaDriverCapabilities() generates (SupplicantStatus status, bitfield driverCapabilitiesMask); /** * Set Wi-Fi Alliance Agile Multiband (MBO) cellular data status. * * @param available true means cellular data available, false otherwise. * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN| */ setMboCellularDataStatus(bool available) generates (SupplicantStatus status); /** * Get Key management capabilities of the device * * @return status Status of the operation, and a bitmap of key management mask. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|, * |SupplicantStatusCode.FAILURE_UNKNOWN| */ getKeyMgmtCapabilities_1_3() generates (SupplicantStatus status, bitfield keyMgmtMask); /** * Flush fast initial link setup (IEEE 802.11ai FILS) HLP packets. * Use this to flush all the higher layer protocol (HLP) packets added in * wpa_supplicant to send in FILS (Re)Association Request frame * (Eg: DHCP discover packet). * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| */ filsHlpFlushRequest() generates (SupplicantStatus status); /** * Add fast initial link setup (IEEE 802.11ai FILS) HLP packets. * Use this to add higher layer protocol (HLP) packet in FILS (Re)Association Request frame * (Eg: DHCP discover packet). * * @param dst_mac MAC address of the destination * @param pkt The contents of the HLP packet starting from ethertype * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_IFACE_INVALID|, * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| */ filsHlpAddRequest(MacAddress dst_mac, vec pkt) generates (SupplicantStatus status); };