| /* |
| * Copyright 2016 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.0; |
| /** |
| * Enum values indicating the status of any supplicant operation. |
| */ |
| enum SupplicantStatusCode : uint32_t { |
| /** No errors. */ |
| SUCCESS, |
| /** Unknown failure occured. */ |
| FAILURE_UNKNOWN, |
| /** One of the incoming args is invalid. */ |
| FAILURE_ARGS_INVALID, |
| /** |ISupplicantIface| HIDL interface object is no longer valid. */ |
| FAILURE_IFACE_INVALID, |
| /** Iface with the provided name does not exist. */ |
| FAILURE_IFACE_UNKNOWN, |
| /** Iface with the provided name already exists. */ |
| FAILURE_IFACE_EXISTS, |
| /** Iface is disabled and cannot be used. */ |
| FAILURE_IFACE_DISABLED, |
| /** Iface is not currently disconnected, so cannot reconnect. */ |
| FAILURE_IFACE_NOT_DISCONNECTED, |
| /** |ISupplicantNetwork| HIDL interface object is no longer valid. */ |
| FAILURE_NETWORK_INVALID, |
| /** Network with the provided id does not exist. */ |
| FAILURE_NETWORK_UNKNOWN |
| }; |
| |
| /** |
| * 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; |
| }; |
| |
| /** SSID type. Max of 32 octets representing service identifier of a network. */ |
| typedef vec<uint8_t> Ssid; |
| |
| /** MAC Address type. 6 octets representing physical address of a device. */ |
| typedef uint8_t[6] MacAddress; |
| |
| /** BSSID type. 6 octets representing the physical address of an AP. */ |
| typedef MacAddress Bssid; |
| |
| /** Supplicant network ID type. */ |
| typedef uint32_t SupplicantNetworkId; |
| |
| /** |
| * List of Iface types supported. |
| */ |
| enum IfaceType : uint32_t { |
| STA, |
| P2P |
| }; |
| |
| /** |
| * P2P group capability. |
| */ |
| enum P2pGroupCapabilityMask : uint32_t { |
| GROUP_OWNER = 1 << 0, |
| PERSISTENT_GROUP = 1 << 1, |
| GROUP_LIMIT = 1 << 2, |
| INTRA_BSS_DIST = 1 << 3, |
| CROSS_CONN = 1 << 4, |
| PERSISTENT_RECONN = 1 << 5, |
| GROUP_FORMATION = 1 << 6 |
| }; |
| |
| /** |
| * WPS config methods. |
| * Refer to section 3 of IBSS with Wi-Fi Protected Setup |
| * Technical Specification Version 1.0.0. |
| */ |
| enum WpsConfigMethods : uint16_t { |
| USBA = 0x0001, |
| ETHERNET = 0x0002, |
| LABEL = 0x0004, |
| DISPLAY = 0x0008, |
| EXT_NFC_TOKEN = 0x0010, |
| INT_NFC_TOKEN = 0x0020, |
| NFC_INTERFACE = 0x0040, |
| PUSHBUTTON = 0x0080, |
| KEYPAD = 0x0100, |
| VIRT_PUSHBUTTON = 0x0280, |
| PHY_PUSHBUTTON = 0x0480, |
| P2PS = 0x1000, |
| VIRT_DISPLAY = 0x2008, |
| PHY_DISPLAY = 0x4008 |
| }; |