Merge "supplicant(interface): Add the new radio work methods"

am: 4aceb63bc7

Change-Id: If222b06393c5ea32b39cb8737a9cfd00a6e1cc3c
This commit is contained in:
Roshan Pius 2017-01-25 21:18:52 +00:00 committed by android-build-merger
commit c637017b66
4 changed files with 158 additions and 2 deletions

View file

@ -137,6 +137,19 @@ interface ISupplicantIface {
*/ */
setWpsDeviceName(string name) generates (SupplicantStatus status); setWpsDeviceName(string name) generates (SupplicantStatus status);
/**
* Set the device type for WPS operations.
*
* @parm type Type of device. Refer to section B.1 of Wifi P2P
* Technical specification v1.2.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
*/
setWpsDeviceType(uint8_t[8] type) generates (SupplicantStatus status);
/** /**
* Set the manufacturer for WPS operations. * Set the manufacturer for WPS operations.
* The manufacturer of the device (up to |WPS_MANUFACTURER_MAX_LEN| ASCII * The manufacturer of the device (up to |WPS_MANUFACTURER_MAX_LEN| ASCII

View file

@ -67,6 +67,10 @@ interface ISupplicantStaIface extends ISupplicantIface {
SENSE = 2 SENSE = 2
}; };
enum ExtRadioWorkDefaults : uint32_t {
TIMEOUT_IN_SECS = 10
};
/** /**
* Register for callbacks from this interface. * Register for callbacks from this interface.
* *
@ -405,4 +409,55 @@ interface ISupplicantStaIface extends ISupplicantIface {
* |SupplicantStatusCode.FAILURE_IFACE_INVALID| * |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/ */
setExternalSim(bool useExternalSim) generates (SupplicantStatus status); setExternalSim(bool useExternalSim) generates (SupplicantStatus status);
/**
* External programs can request supplicant to not start offchannel
* operations during other tasks that may need exclusive control of the
* radio.
*
* This method can be used to reserve a slot for radio access. If freq is
* specified, other radio work items on the same channel can be completed in
* parallel. Otherwise, all other radio work items are blocked during
* execution. Timeout must be set to |ExtRadioWorkDefaults.TIMEOUT_IN_SECS|
* seconds by default to avoid blocking supplicant operations on the iface
* for excessive time. If a longer (or shorter) safety timeout is needed,
* that may be specified with the optional timeout parameter. This command
* returns an identifier for the radio work item.
*
* Once the radio work item has been started,
* |ISupplicant.onExtRadioWorkStart| callback is indicated that the external
* processing can start.
*
* @param name Name for the radio work being added.
* @param freqInMhz Frequency to specify. Set to 0 for all channels.
* @param timeoutInSec Timeout tospecify. Set to 0 for default timeout.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return id Identifier for this radio work.
*/
addExtRadioWork(string name, uint32_t freqInMhz, uint32_t timeoutInSec)
generates (SupplicantStatus status, uint32_t id);
/**
* Indicates to supplicant that the external radio work has completed.
* This allows other radio works to be performed. If this method is not
* invoked (e.g., due to the external program terminating), supplicant
* must time out the radio work item on the iface and send
* |ISupplicantCallback.onExtRadioWorkTimeout| event to indicate
* that this has happened.
*
* This method may also be used to cancel items that have been scheduled
* via |addExtRadioWork|, but have not yet been started (notified via
* |ISupplicantCallback.onExtRadioWorkStart|).
*
* @return id Identifier generated for the radio work addition
* (using |addExtRadioWork|).
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
*/
removeExtRadioWork(uint32_t id) generates (SupplicantStatus status);
}; };

View file

@ -326,4 +326,18 @@ interface ISupplicantStaIfaceCallback {
* Used to indicate the overlap of a WPS PBC connection attempt. * Used to indicate the overlap of a WPS PBC connection attempt.
*/ */
oneway onWpsEventPbcOverlap(); oneway onWpsEventPbcOverlap();
/**
* Used to indicate that the external radio work can start now.
*
* @return id Identifier generated for the radio work request.
*/
oneway onExtRadioWorkStart(uint32_t id);
/**
* Used to indicate that the external radio work request has timed out.
*
* @return id Identifier generated for the radio work request.
*/
oneway onExtRadioWorkTimeout(uint32_t id);
}; };

View file

@ -508,8 +508,30 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
*/ */
setEapDomainSuffixMatch(string match) setEapDomainSuffixMatch(string match)
generates (SupplicantStatus status); generates (SupplicantStatus status);
/** /**
* Get ID string set for this network. * 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. * Network identifier string for external scripts.
* *
* @return idStr ID string value to set. * @return idStr ID string value to set.
@ -522,6 +544,20 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
*/ */
setIdStr(string idStr) generates (SupplicantStatus status); 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. * Getters for the various network params.
*/ */
@ -912,9 +948,21 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
* |SupplicantStatusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/ */
sendNetworkEapSimGsmAuthResponse(NetworkResponseEapSimGsmAuthParams params) sendNetworkEapSimGsmAuthResponse(vec<NetworkResponseEapSimGsmAuthParams> params)
generates (SupplicantStatus status); 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 * Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request. * |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
@ -929,6 +977,32 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
sendNetworkEapSimUmtsAuthResponse(NetworkResponseEapSimUmtsAuthParams params) sendNetworkEapSimUmtsAuthResponse(NetworkResponseEapSimUmtsAuthParams params)
generates (SupplicantStatus status); 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 * Used to send a response to the
* |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request. * |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request.