blob: db9a35b28df6c6085c6a2c9fd21b83886fe20f7f [file] [log] [blame]
Kai Shi5118e4f2020-08-12 18:56:43 -07001/*
2 * Copyright 2020 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.wifi.supplicant@1.4;
18
Hai Shalom349bc582020-10-30 15:25:40 -070019import @1.0::SupplicantStatus;
20import @1.0::ISupplicantStaIface;
21import @1.0::MacAddress;
Hai Shalom1cc3ba22020-10-28 18:09:26 -070022import ISupplicantStaIfaceCallback;
Kai Shi5118e4f2020-08-12 18:56:43 -070023import @1.3::ISupplicantStaIface;
24
25/**
26 * Interface exposed by the supplicant for each station mode network
27 * interface (e.g wlan0) it controls.
28 */
29interface ISupplicantStaIface extends @1.3::ISupplicantStaIface {
Kai Shi5118e4f2020-08-12 18:56:43 -070030 /**
31 * Get Connection capabilities
32 *
33 * @return status Status of the operation, and connection capabilities.
34 * Possible status codes:
35 * |SupplicantStatusCode.SUCCESS|,
36 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
37 */
38 getConnectionCapabilities_1_4()
39 generates (SupplicantStatus status, ConnectionCapabilities capabilities);
40
Hai Shalom1cc3ba22020-10-28 18:09:26 -070041 /**
42 * Register for callbacks from this interface.
43 *
44 * These callbacks are invoked for events that are specific to this interface.
45 * Registration of multiple callback objects is supported. These objects must
46 * be automatically deleted when the corresponding client process is dead or
47 * if this interface is removed.
48 *
49 * @param callback An instance of the |ISupplicantStaIfaceCallback| HIDL
50 * interface object.
51 * @return status Status of the operation.
52 * Possible status codes:
53 * |SupplicantStatusCode.SUCCESS|,
54 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
55 * |SupplicantStatusCode.FAILURE_IFACE_INVALID|
56 */
57 registerCallback_1_4(ISupplicantStaIfaceCallback callback)
58 generates (SupplicantStatus status);
Hai Shalom349bc582020-10-30 15:25:40 -070059
60 /**
61 * Initiate Venue URL ANQP (for IEEE 802.11u Interworking/Hotspot 2.0) query with the
62 * specified access point. This specific query can be used only post connection, once security
63 * is established and PMF is enabled, to avoid spoofing preassociation ANQP responses.
64 * The ANQP data fetched must be returned in the
65 * |ISupplicantStaIfaceCallback.onAnqpQueryDone| callback.
66 *
67 * @param macAddress MAC address of the access point.
68 * @return status Status of the operation.
69 * Possible status codes:
70 * |SupplicantStatusCode.SUCCESS|,
71 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
72 * |SupplicantStatusCode.FAILURE_IFACE_INVALID|
73 */
74 initiateVenueUrlAnqpQuery(MacAddress macAddress)
75 generates (SupplicantStatus status);
Kai Shi5118e4f2020-08-12 18:56:43 -070076};