summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoshan Pius2017-01-25 15:26:22 -0600
committerandroid-build-merger2017-01-25 15:26:22 -0600
commitc91e7fb95e7cff9baf9a37b534d90b3d87fd26fa (patch)
treed4bcd35e7a1edcb7aacaf4c42278608c13d81d50
parent5985dedba2cba70ea85e82c246d88be8d9f37ec3 (diff)
parentaf58817b1d68778141597a2c425b972d294a9e27 (diff)
downloadplatform-hardware-interfaces-c91e7fb95e7cff9baf9a37b534d90b3d87fd26fa.tar.gz
platform-hardware-interfaces-c91e7fb95e7cff9baf9a37b534d90b3d87fd26fa.tar.xz
platform-hardware-interfaces-c91e7fb95e7cff9baf9a37b534d90b3d87fd26fa.zip
Merge "supplicant(interface): Add the new radio work methods" am: 4aceb63bc7 am: c637017b66 am: 538cbc9a29
am: af58817b1d Change-Id: I8437ef232d576fa13132d4fa8e8f0d7a19a156e1
-rw-r--r--wifi/supplicant/1.0/ISupplicantIface.hal13
-rw-r--r--wifi/supplicant/1.0/ISupplicantStaIface.hal55
-rw-r--r--wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal14
-rw-r--r--wifi/supplicant/1.0/ISupplicantStaNetwork.hal78
4 files changed, 158 insertions, 2 deletions
diff --git a/wifi/supplicant/1.0/ISupplicantIface.hal b/wifi/supplicant/1.0/ISupplicantIface.hal
index c0058a01..8bb8c970 100644
--- a/wifi/supplicant/1.0/ISupplicantIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantIface.hal
@@ -138,6 +138,19 @@ interface ISupplicantIface {
138 setWpsDeviceName(string name) generates (SupplicantStatus status); 138 setWpsDeviceName(string name) generates (SupplicantStatus status);
139 139
140 /** 140 /**
141 * Set the device type for WPS operations.
142 *
143 * @parm type Type of device. Refer to section B.1 of Wifi P2P
144 * Technical specification v1.2.
145 * @return status Status of the operation.
146 * Possible status codes:
147 * |SupplicantStatusCode.SUCCESS|,
148 * |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
149 * |SupplicantStatusCode.FAILURE_UNKNOWN|
150 */
151 setWpsDeviceType(uint8_t[8] type) generates (SupplicantStatus status);
152
153 /**
141 * Set the manufacturer for WPS operations. 154 * Set the manufacturer for WPS operations.
142 * The manufacturer of the device (up to |WPS_MANUFACTURER_MAX_LEN| ASCII 155 * The manufacturer of the device (up to |WPS_MANUFACTURER_MAX_LEN| ASCII
143 * characters). 156 * characters).
diff --git a/wifi/supplicant/1.0/ISupplicantStaIface.hal b/wifi/supplicant/1.0/ISupplicantStaIface.hal
index c9d9ee61..68eb179e 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIface.hal
@@ -67,6 +67,10 @@ interface ISupplicantStaIface extends ISupplicantIface {
67 SENSE = 2 67 SENSE = 2
68 }; 68 };
69 69
70 enum ExtRadioWorkDefaults : uint32_t {
71 TIMEOUT_IN_SECS = 10
72 };
73
70 /** 74 /**
71 * Register for callbacks from this interface. 75 * Register for callbacks from this interface.
72 * 76 *
@@ -405,4 +409,55 @@ interface ISupplicantStaIface extends ISupplicantIface {
405 * |SupplicantStatusCode.FAILURE_IFACE_INVALID| 409 * |SupplicantStatusCode.FAILURE_IFACE_INVALID|
406 */ 410 */
407 setExternalSim(bool useExternalSim) generates (SupplicantStatus status); 411 setExternalSim(bool useExternalSim) generates (SupplicantStatus status);
412
413 /**
414 * External programs can request supplicant to not start offchannel
415 * operations during other tasks that may need exclusive control of the
416 * radio.
417 *
418 * This method can be used to reserve a slot for radio access. If freq is
419 * specified, other radio work items on the same channel can be completed in
420 * parallel. Otherwise, all other radio work items are blocked during
421 * execution. Timeout must be set to |ExtRadioWorkDefaults.TIMEOUT_IN_SECS|
422 * seconds by default to avoid blocking supplicant operations on the iface
423 * for excessive time. If a longer (or shorter) safety timeout is needed,
424 * that may be specified with the optional timeout parameter. This command
425 * returns an identifier for the radio work item.
426 *
427 * Once the radio work item has been started,
428 * |ISupplicant.onExtRadioWorkStart| callback is indicated that the external
429 * processing can start.
430 *
431 * @param name Name for the radio work being added.
432 * @param freqInMhz Frequency to specify. Set to 0 for all channels.
433 * @param timeoutInSec Timeout tospecify. Set to 0 for default timeout.
434 * @return status Status of the operation.
435 * Possible status codes:
436 * |SupplicantStatusCode.SUCCESS|,
437 * |SupplicantStatusCode.FAILURE_UNKNOWN|
438 * @return id Identifier for this radio work.
439 */
440 addExtRadioWork(string name, uint32_t freqInMhz, uint32_t timeoutInSec)
441 generates (SupplicantStatus status, uint32_t id);
442
443 /**
444 * Indicates to supplicant that the external radio work has completed.
445 * This allows other radio works to be performed. If this method is not
446 * invoked (e.g., due to the external program terminating), supplicant
447 * must time out the radio work item on the iface and send
448 * |ISupplicantCallback.onExtRadioWorkTimeout| event to indicate
449 * that this has happened.
450 *
451 * This method may also be used to cancel items that have been scheduled
452 * via |addExtRadioWork|, but have not yet been started (notified via
453 * |ISupplicantCallback.onExtRadioWorkStart|).
454 *
455 * @return id Identifier generated for the radio work addition
456 * (using |addExtRadioWork|).
457 * @return status Status of the operation.
458 * Possible status codes:
459 * |SupplicantStatusCode.SUCCESS|,
460 * |SupplicantStatusCode.FAILURE_UNKNOWN|
461 */
462 removeExtRadioWork(uint32_t id) generates (SupplicantStatus status);
408}; 463};
diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
index 4b201d41..c3ec0600 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
@@ -326,4 +326,18 @@ interface ISupplicantStaIfaceCallback {
326 * Used to indicate the overlap of a WPS PBC connection attempt. 326 * Used to indicate the overlap of a WPS PBC connection attempt.
327 */ 327 */
328 oneway onWpsEventPbcOverlap(); 328 oneway onWpsEventPbcOverlap();
329
330 /**
331 * Used to indicate that the external radio work can start now.
332 *
333 * @return id Identifier generated for the radio work request.
334 */
335 oneway onExtRadioWorkStart(uint32_t id);
336
337 /**
338 * Used to indicate that the external radio work request has timed out.
339 *
340 * @return id Identifier generated for the radio work request.
341 */
342 oneway onExtRadioWorkTimeout(uint32_t id);
329}; 343};
diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
index b347c1dc..deaad5d8 100644
--- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
@@ -508,8 +508,30 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
508 */ 508 */
509 setEapDomainSuffixMatch(string match) 509 setEapDomainSuffixMatch(string match)
510 generates (SupplicantStatus status); 510 generates (SupplicantStatus status);
511
511 /** 512 /**
512 * Get ID string set for this network. 513 * This field can be used to enable proactive key caching which is also
514 * known as opportunistic PMKSA caching for WPA2. This is disabled (0)
515 * by default unless default value is changed with the global okc=1
516 * parameter.
517 *
518 * Proactive key caching is used to make supplicant assume that the APs
519 * are using the same PMK and generate PMKSA cache entries without
520 * doing RSN pre-authentication. This requires support from the AP side
521 * and is normally used with wireless switches that co-locate the
522 * authenticator.
523 *
524 * @param enable true to set, false otherwise.
525 * @return status Status of the operation.
526 * Possible status codes:
527 * |SupplicantStatusCode.SUCCESS|,
528 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
529 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
530 */
531 setProactiveKeyCaching(bool enable) generates (SupplicantStatus status);
532
533 /**
534 * Set ID string for this network.
513 * Network identifier string for external scripts. 535 * Network identifier string for external scripts.
514 * 536 *
515 * @return idStr ID string value to set. 537 * @return idStr ID string value to set.
@@ -523,6 +545,20 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
523 setIdStr(string idStr) generates (SupplicantStatus status); 545 setIdStr(string idStr) generates (SupplicantStatus status);
524 546
525 /** 547 /**
548 * Set PPS MO ID for this network.
549 * (Hotspot 2.0 PerProviderSubscription/UpdateIdentifier)
550 *
551 * @return id ID value to set.
552 * @return status Status of the operation.
553 * Possible status codes:
554 * |SupplicantStatusCode.SUCCESS|,
555 * |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
556 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
557 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
558 */
559 setUpdateIdentifier(uint32_t id) generates (SupplicantStatus status);
560
561 /**
526 * Getters for the various network params. 562 * Getters for the various network params.
527 */ 563 */
528 /** 564 /**
@@ -912,11 +948,23 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
912 * |SupplicantStatusCode.FAILURE_UNKNOWN|, 948 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
913 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| 949 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
914 */ 950 */
915 sendNetworkEapSimGsmAuthResponse(NetworkResponseEapSimGsmAuthParams params) 951 sendNetworkEapSimGsmAuthResponse(vec<NetworkResponseEapSimGsmAuthParams> params)
916 generates (SupplicantStatus status); 952 generates (SupplicantStatus status);
917 953
918 /** 954 /**
919 * Used to send a response to the 955 * Used to send a response to the
956 * |ISupplicantNetworkCallback.onNetworkEapSimGsmAuthRequest| request.
957 *
958 * @return status Status of the operation.
959 * Possible status codes:
960 * |SupplicantStatusCode.SUCCESS|,
961 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
962 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
963 */
964 sendNetworkEapSimGsmAuthFailure() generates (SupplicantStatus status);
965
966 /**
967 * Used to send a response to the
920 * |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request. 968 * |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
921 * 969 *
922 * @param params Params to be used for EAP UMTS authentication. 970 * @param params Params to be used for EAP UMTS authentication.
@@ -931,6 +979,32 @@ interface ISupplicantStaNetwork extends ISupplicantNetwork {
931 979
932 /** 980 /**
933 * Used to send a response to the 981 * Used to send a response to the
982 * |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
983 *
984 * @param auts Params to be used for EAP UMTS authentication.
985 * @return status Status of the operation.
986 * Possible status codes:
987 * |SupplicantStatusCode.SUCCESS|,
988 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
989 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
990 */
991 sendNetworkEapSimUmtsAutsResponse(uint8_t[14] auts)
992 generates (SupplicantStatus status);
993
994 /**
995 * Used to send a response to the
996 * |ISupplicantNetworkCallback.onNetworkEapSimUmtsAuthRequest| request.
997 *
998 * @return status Status of the operation.
999 * Possible status codes:
1000 * |SupplicantStatusCode.SUCCESS|,
1001 * |SupplicantStatusCode.FAILURE_UNKNOWN|,
1002 * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
1003 */
1004 sendNetworkEapSimUmtsAuthFailure() generates (SupplicantStatus status);
1005
1006 /**
1007 * Used to send a response to the
934 * |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request. 1008 * |ISupplicantNetworkCallback.onNetworkEapIdentityRequest| request.
935 * 1009 *
936 * @param identity Identity to be used for the network. 1010 * @param identity Identity to be used for the network.