blob: 10cf483c266035cc60813d21d3af650a8d621c70 [file] [log] [blame]
/*
* 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
};