You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1071 lines
36 KiB
1071 lines
36 KiB
/* |
|
* 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; |
|
|
|
import ISupplicantNetwork; |
|
import ISupplicantStaNetworkCallback; |
|
|
|
/** |
|
* Interface exposed by the supplicant for each station mode network |
|
* configuration it controls. |
|
*/ |
|
interface ISupplicantStaNetwork extends ISupplicantNetwork { |
|
/** |
|
* Size limits for some of the params used in this interface. |
|
*/ |
|
enum ParamSizeLimits : uint32_t { |
|
/** Max length of SSID param. */ |
|
SSID_MAX_LEN_IN_BYTES = 32, |
|
|
|
/** Min length of PSK passphrase param. */ |
|
PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8, |
|
|
|
/** Max length of PSK passphrase param. */ |
|
PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63, |
|
|
|
/** Max number of WEP keys param. */ |
|
WEP_KEYS_MAX_NUM = 4, |
|
|
|
/** Length of each WEP40 keys param. */ |
|
WEP40_KEY_LEN_IN_BYTES = 5, |
|
/** Length of each WEP104 keys param. */ |
|
WEP104_KEY_LEN_IN_BYTES = 13, |
|
}; |
|
|
|
/** Possble mask of values for KeyMgmt param. */ |
|
enum KeyMgmtMask : uint32_t { |
|
WPA_EAP = 1 << 0, |
|
WPA_PSK = 1 << 1, |
|
NONE = 1 << 2, |
|
IEEE8021X = 1 << 3, |
|
FT_EAP = 1 << 5, |
|
FT_PSK = 1 << 6, |
|
OSEN = 1 << 15 |
|
}; |
|
|
|
/** Possble mask of values for Proto param. */ |
|
enum ProtoMask : uint32_t { |
|
WPA = 1 << 0, |
|
RSN = 1 << 1, |
|
/** Unused 1 << 2 */ |
|
OSEN = 1 << 3 |
|
}; |
|
|
|
/** Possble mask of values for AuthAlg param. */ |
|
enum AuthAlgMask : uint32_t { |
|
OPEN = 1 << 0, |
|
SHARED = 1 << 1, |
|
LEAP = 1 << 2 |
|
}; |
|
|
|
/** Possble mask of values for GroupCipher param. */ |
|
enum GroupCipherMask : uint32_t { |
|
WEP40 = 1 << 1, |
|
WEP104 = 1 << 2, |
|
TKIP = 1 << 3, |
|
CCMP = 1 << 4, |
|
GTK_NOT_USED = 1 << 14 |
|
}; |
|
|
|
/** Possble mask of values for PairwiseCipher param. */ |
|
enum PairwiseCipherMask : uint32_t { |
|
NONE = 1 << 0, |
|
TKIP = 1 << 3, |
|
CCMP = 1 << 4 |
|
}; |
|
|
|
/** Possble values for EapMethod param. */ |
|
enum EapMethod : uint32_t { |
|
PEAP = 0, |
|
TLS = 1, |
|
TTLS = 2, |
|
PWD = 3, |
|
SIM = 4, |
|
AKA = 5, |
|
AKA_PRIME = 6, |
|
WFA_UNAUTH_TLS = 7 |
|
}; |
|
|
|
/** Possble values for Phase2Method param. */ |
|
enum EapPhase2Method : uint32_t { |
|
NONE = 0, |
|
PAP = 1, |
|
MSPAP = 2, |
|
MSPAPV2 = 3, |
|
GTC = 4, |
|
SIM = 5, |
|
AKA = 6, |
|
AKA_PRIME = 7 |
|
}; |
|
|
|
/** Params of |sendNetworkEapSimGsmAuthResponse| request. (Refer RFC 4186) */ |
|
struct NetworkResponseEapSimGsmAuthParams { |
|
uint8_t[8] kc; |
|
uint8_t[4] sres; |
|
}; |
|
|
|
/** Params of |sendNetworkEapSimUmtsAuthResponse| request. (Refer RFC 4187) */ |
|
struct NetworkResponseEapSimUmtsAuthParams { |
|
vec<uint8_t> res; |
|
uint8_t[16] ik; |
|
uint8_t[16] ck; |
|
}; |
|
|
|
/** |
|
* Register for callbacks from this network. |
|
* |
|
* These callbacks are invoked for events that are specific to this network. |
|
* Registration of multiple callback objects is supported. These objects must |
|
* be automatically deleted when the corresponding client process is dead or |
|
* if this network is removed. |
|
* |
|
* @param callback An instance of the |ISupplicantStaNetworkCallback| HIDL |
|
* interface object. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
registerCallback(ISupplicantStaNetworkCallback callback) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Setters for the various network params. |
|
* These correspond to elements of |wpa_sssid| struct used internally by |
|
* the supplicant to represent each network. |
|
*/ |
|
/** |
|
* Set SSID for this network. |
|
* |
|
* @param ssid value to set. |
|
* Max length of |ParamSizeLimits.SSID_MAX_LEN_IN_BYTES|. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setSsid(Ssid ssid) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set the network to only connect to an AP with provided BSSID. |
|
* |
|
* @param bssid value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setBssid(Bssid bssid) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set whether to send probe requests for this network (hidden). |
|
* |
|
* @param enable true to set, false otherwise. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setScanSsid(bool enable) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set key management mask for the network. |
|
* |
|
* @param keyMgmtMask value to set. |
|
* Combination of |KeyMgmtMask| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setKeyMgmt(bitfield<KeyMgmtMask> keyMgmtMask) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set proto mask for the network. |
|
* |
|
* @param protoMask value to set. |
|
* Combination of |ProtoMask| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setProto(bitfield<ProtoMask> protoMask) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set auth alg mask for the network. |
|
* |
|
* @param authAlgMask value to set. |
|
* Combination of |ProtoMask| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setAuthAlg(bitfield<AuthAlgMask> authAlgMask) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set group cipher mask for the network. |
|
* |
|
* @param groupCipherMask value to set. |
|
* Combination of |ProtoMask| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setGroupCipher(bitfield<GroupCipherMask> groupCipherMask) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set pairwise cipher mask for the network. |
|
* |
|
* @param pairwiseCipherMask value to set. |
|
* Combination of |ProtoMask| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setPairwiseCipher(bitfield<PairwiseCipherMask> pairwiseCipherMask) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set passphrase for WPA_PSK network. |
|
* |
|
* @param psk value to set. |
|
* Length of value must be between |
|
* |ParamSizeLimits.PSK_PASSPHRASE_MIN_LEN_IN_BYTES| and |
|
* |ParamSizeLimits.PSK_PASSPHRASE_MAX_LEN_IN_BYTES|. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setPskPassphrase(string psk) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set raw psk for WPA_PSK network. |
|
* |
|
* @param psk value to set as specified in IEEE 802.11i-2004 standard. |
|
* This is the calculated using 'wpa_passphrase <ssid> [passphrase]' |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setPsk(uint8_t[32] psk) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set WEP key for WEP network. |
|
* |
|
* @param keyIdx Index of wep key to set. |
|
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|. |
|
* @param wepKey value to set. |
|
* Length of each key must be either |
|
* |ParamSizeLimits.WEP40_KEY_LEN_IN_BYTES| or |
|
* |ParamSizeLimits.WEP104_KEY_LEN_IN_BYTES|. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setWepKey(uint32_t keyIdx, vec<uint8_t> wepKey) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set default Tx key index for WEP network. |
|
* |
|
* @param KeyIdx value to set. |
|
* Max of |ParamSizeLimits.WEP_KEYS_MAX_NUM|. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setWepTxKeyIdx(uint32_t keyIdx) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set whether RequirePmf is enabled for this network. |
|
* |
|
* @param enable true to set, false otherwise. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setRequirePmf(bool enable) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Method for this network. |
|
* |
|
* @param method value to be set. |
|
* Must be one of |EapMethod| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapMethod(EapMethod method) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Phase2 Method for this network. |
|
* |
|
* EAP method needs to be set for this to work. |
|
* |
|
* @param method value to set. |
|
* Must be one of |EapPhase2Method| values. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapPhase2Method(EapPhase2Method method) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Identity for this network. |
|
* |
|
* @param identity value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapIdentity(vec<uint8_t> identity) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Anonymous Identity for this network. |
|
* |
|
* @param identity value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapAnonymousIdentity(vec<uint8_t> identity) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Password for this network. |
|
* |
|
* @param password value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapPassword(vec<uint8_t> password) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP CA certificate file path for this network. |
|
* |
|
* @param path value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapCACert(string path) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP CA certificate directory path for this network. |
|
* |
|
* @param path value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapCAPath(string path) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Client certificate file path for this network. |
|
* |
|
* @param path value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapClientCert(string path) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP private key Id for this network. |
|
* This is used if private key operations for EAP-TLS are performed |
|
* using a smartcard. |
|
* |
|
* @param id value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapPrivateKeyId(string id) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP subject match for this network. |
|
* |
|
* @param match value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapSubjectMatch(string match) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Alt subject match for this network. |
|
* |
|
* @param match value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapAltSubjectMatch(string match) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Enable EAP Open SSL Engine for this network. |
|
* |
|
* @param enable true to set, false otherwise. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapEngine(bool enable) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Open SSL Engine ID for this network. |
|
* |
|
* @param id value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapEngineID(string id) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set EAP Domain suffix match for this network. |
|
* |
|
* @param match value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setEapDomainSuffixMatch(string match) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* This field can be used to enable proactive key caching which is also |
|
* known as opportunistic PMKSA caching for WPA2. This is disabled (0) |
|
* by default unless default value is changed with the global okc=1 |
|
* parameter. |
|
* |
|
* Proactive key caching is used to make supplicant assume that the APs |
|
* are using the same PMK and generate PMKSA cache entries without |
|
* doing RSN pre-authentication. This requires support from the AP side |
|
* and is normally used with wireless switches that co-locate the |
|
* authenticator. |
|
* |
|
* @param enable true to set, false otherwise. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setProactiveKeyCaching(bool enable) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set ID string for this network. |
|
* Network identifier string for external scripts. |
|
* |
|
* @return idStr ID string value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setIdStr(string idStr) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Set PPS MO ID for this network. |
|
* (Hotspot 2.0 PerProviderSubscription/UpdateIdentifier) |
|
* |
|
* @return id ID value to set. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
setUpdateIdentifier(uint32_t id) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Getters for the various network params. |
|
*/ |
|
/** |
|
* Get SSID for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return ssid value set. |
|
*/ |
|
getSsid() generates (SupplicantStatus status, Ssid ssid); |
|
|
|
/** |
|
* Get the BSSID set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return bssid value set. |
|
*/ |
|
getBssid() generates (SupplicantStatus status, Bssid bssid); |
|
|
|
/** |
|
* Get whether Probe Requests are being sent for this network (hidden). |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return enabled true if set, false otherwise. |
|
*/ |
|
getScanSsid() generates (SupplicantStatus status, bool enabled); |
|
|
|
/** |
|
* Get the key mgmt mask set for the network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return keyMgmtMask Combination of |KeyMgmtMask| values. |
|
*/ |
|
getKeyMgmt() |
|
generates (SupplicantStatus status, bitfield<KeyMgmtMask> keyMgmtMask); |
|
|
|
/** |
|
* Get the proto mask set for the network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return protoMask Combination of |ProtoMask| values. |
|
*/ |
|
getProto() generates (SupplicantStatus status, bitfield<ProtoMask> protoMask); |
|
|
|
/** |
|
* Get the auth alg mask set for the network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return authAlgMask Combination of |AuthAlgMask| values. |
|
*/ |
|
getAuthAlg() |
|
generates (SupplicantStatus status, bitfield<AuthAlgMask> authAlgMask); |
|
|
|
/** |
|
* Get the group cipher mask set for the network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return groupCipherMask Combination of |GroupCipherMask| values. |
|
*/ |
|
getGroupCipher() |
|
generates (SupplicantStatus status, |
|
bitfield<GroupCipherMask> groupCipherMask); |
|
|
|
/** |
|
* Get the pairwise cipher mask set for the network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return pairwiseCipherMask Combination of |PairwiseCipherMask| values. |
|
*/ |
|
getPairwiseCipher() |
|
generates (SupplicantStatus status, |
|
bitfield<PairwiseCipherMask> pairwiseCipherMask); |
|
|
|
/** |
|
* Get passphrase for WPA_PSK network. |
|
* Must return a failure if network has no passphrase set (use |getPsk| if |
|
* network was configured with raw psk instead). |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return psk value set. |
|
*/ |
|
getPskPassphrase() generates (SupplicantStatus status, string psk); |
|
|
|
/** |
|
* Get raw psk for WPA_PSK network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @param psk value set. |
|
*/ |
|
getPsk() generates (SupplicantStatus status, uint8_t[32] psk); |
|
|
|
/** |
|
* Get WEP key for WEP network. |
|
* |
|
* @param keyIdx Index of wep key to be fetched. |
|
* Max of |WEP_KEYS_MAX_NUM|. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return wepKey value set. |
|
*/ |
|
getWepKey(uint32_t keyIdx) |
|
generates (SupplicantStatus status, vec<uint8_t> wepKey); |
|
|
|
/** |
|
* Get default Tx key index for WEP network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return keyIdx value set. |
|
*/ |
|
getWepTxKeyIdx() |
|
generates (SupplicantStatus status, uint32_t keyIdx); |
|
|
|
/** |
|
* Get whether RequirePmf is enabled for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return enabled true if set, false otherwise. |
|
*/ |
|
getRequirePmf() generates (SupplicantStatus status, bool enabled); |
|
|
|
/** |
|
* Get EAP Method set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return method value set. |
|
* Must be one of |EapMethod| values. |
|
*/ |
|
getEapMethod() |
|
generates (SupplicantStatus status, EapMethod method); |
|
|
|
/** |
|
* Get EAP Phase2 Method set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return method value set. |
|
* Must be one of |EapPhase2Method| values. |
|
*/ |
|
getEapPhase2Method() |
|
generates (SupplicantStatus status, EapPhase2Method method); |
|
|
|
/** |
|
* Get EAP Identity set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return identity value set. |
|
*/ |
|
getEapIdentity() |
|
generates (SupplicantStatus status, vec<uint8_t> identity); |
|
|
|
/** |
|
* Get EAP Anonymous Identity set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return identity value set. |
|
*/ |
|
getEapAnonymousIdentity() |
|
generates (SupplicantStatus status, vec<uint8_t> identity); |
|
|
|
/** |
|
* Get EAP Password set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return password value set. |
|
*/ |
|
getEapPassword() |
|
generates (SupplicantStatus status, vec<uint8_t> password); |
|
|
|
/** |
|
* Get EAP CA certificate file path set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return path value set. |
|
*/ |
|
getEapCACert() generates (SupplicantStatus status, string path); |
|
|
|
/** |
|
* Get EAP CA certificate directory path set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return path value set. |
|
*/ |
|
getEapCAPath() generates (SupplicantStatus status, string path); |
|
|
|
/** |
|
* Get EAP Client certificate file path set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return path value set. |
|
*/ |
|
getEapClientCert() generates (SupplicantStatus status, string path); |
|
|
|
/** |
|
* Get EAP private key Id set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return id value set. |
|
*/ |
|
getEapPrivateKeyId() generates (SupplicantStatus status, string id); |
|
|
|
/** |
|
* Get EAP subject match set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return match value set. |
|
*/ |
|
getEapSubjectMatch() generates (SupplicantStatus status, string match); |
|
|
|
/** |
|
* Get EAP Alt subject match set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return match value set. |
|
*/ |
|
getEapAltSubjectMatch() |
|
generates (SupplicantStatus status, string match); |
|
|
|
/** |
|
* Get if EAP Open SSL Engine is enabled for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return enabled true if set, false otherwise. |
|
*/ |
|
getEapEngine() generates (SupplicantStatus status, bool enabled); |
|
|
|
/** |
|
* Get EAP Open SSL Engine ID set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return id value set. |
|
*/ |
|
getEapEngineID() generates (SupplicantStatus status, string id); |
|
|
|
/** |
|
* Get EAP Domain suffix match set for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return match value set. |
|
*/ |
|
getEapDomainSuffixMatch() |
|
generates (SupplicantStatus status, string match); |
|
|
|
/** |
|
* Get ID string set for this network. |
|
* Network identifier string for external scripts. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return idStr ID string set. |
|
*/ |
|
getIdStr() generates (SupplicantStatus status, string idStr); |
|
|
|
/** |
|
* Retrieves a WPS-NFC configuration token for this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
* @return token Bytes representing WPS-NFC configuration token. |
|
* This is a dump of all the WPS atrributes of the AP configuration |
|
* as specified in the Wi-Fi Protected Setup Specification. |
|
*/ |
|
getWpsNfcConfigurationToken() |
|
generates (SupplicantStatus status, vec<uint8_t> token); |
|
|
|
/** |
|
* Enable the network for connection purposes. |
|
* |
|
* This must trigger a connection to the network if: |
|
* a) |noConnect| is false, and |
|
* b) This is the only network configured, and |
|
* c) Is visible in the current scan results. |
|
* |
|
* @param noConnect Only enable the network, dont trigger a connect. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
enable(bool noConnect) generates (SupplicantStatus status); |
|
|
|
/** |
|
* Disable the network for connection purposes. |
|
* |
|
* This must trigger a disconnection from the network, if currently |
|
* connected to this one. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
disable() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Initiate connection to this network. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
select() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapSimGsmAuthRequest| request. |
|
* |
|
* @param params Params to be used for EAP GSM authentication. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapSimGsmAuthResponse(vec<NetworkResponseEapSimGsmAuthParams> params) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapSimGsmAuthRequest| request. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapSimGsmAuthFailure() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request. |
|
* |
|
* @param params Params to be used for EAP UMTS authentication. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapSimUmtsAuthResponse(NetworkResponseEapSimUmtsAuthParams params) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request. |
|
* |
|
* @param auts Params to be used for EAP UMTS authentication. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapSimUmtsAutsResponse(uint8_t[14] auts) |
|
generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request. |
|
* |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapSimUmtsAuthFailure() generates (SupplicantStatus status); |
|
|
|
/** |
|
* Used to send a response to the |
|
* |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request. |
|
* |
|
* @param identity Identity to be used for the network. |
|
* @return status Status of the operation. |
|
* Possible status codes: |
|
* |SupplicantStatusCode.SUCCESS|, |
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|, |
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| |
|
*/ |
|
sendNetworkEapIdentityResponse(vec<uint8_t> identity) |
|
generates (SupplicantStatus status); |
|
};
|
|
|