blob: f3ec0fc0fc1a4e65dd8f34aa46cc857fcdfd0b44 [file] [log] [blame]
Roshan Piusa6489732017-09-25 14:57:43 -07001/*
2 * Copyright 2016 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.1;
18
19import @1.0::ISupplicant;
Roshan Pius781d1832017-12-08 11:22:34 -080020import @1.0::ISupplicantIface;
21import @1.0::SupplicantStatus;
Roshan Piusa6489732017-09-25 14:57:43 -070022
23/**
24 * Interface exposed by the supplicant HIDL service registered
25 * with the hardware service manager.
26 * This is the root level object for any the supplicant interactions.
27 */
28interface ISupplicant extends @1.0::ISupplicant {
Roshan Pius781d1832017-12-08 11:22:34 -080029 /**
30 * Registers a wireless interface in supplicant.
31 *
32 * @param ifaceInfo Combination of the interface type and name(e.g wlan0).
33 * @return status Status of the operation.
34 * Possible status codes:
35 * |SupplicantStatusCode.SUCCESS|,
36 * |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
37 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
38 * |SupplicantStatusCode.FAILURE_IFACE_EXISTS|
39 * @return iface HIDL interface object representing the interface if
40 * successful, null otherwise.
41 */
42 addInterface(IfaceInfo ifaceInfo)
43 generates (SupplicantStatus status, ISupplicantIface iface);
44
45 /**
46 * Deregisters a wireless interface from supplicant.
47 *
48 * @param ifaceInfo Combination of the interface type and name(e.g wlan0).
49 * @return status Status of the operation.
50 * Possible status codes:
51 * |SupplicantStatusCode.SUCCESS|,
52 * |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
53 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
54 * |SupplicantStatusCode.FAILURE_IFACE_UNKOWN|
55 */
56 removeInterface(IfaceInfo ifaceInfo) generates (SupplicantStatus status);
Roshan Piusd0b0bc32018-02-01 08:53:57 -080057
58 /**
59 * Terminate the service.
60 * This must de-register the service and clear all state. If this HAL
61 * supports the lazy HAL protocol, then this may trigger daemon to exit and
62 * wait to be restarted.
63 */
64 oneway terminate();
Roshan Piusa6489732017-09-25 14:57:43 -070065};