summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-02-16 02:24:05 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-02-16 02:24:05 +0000
commit2036aa2e85d942007df7332f66d4dfc29472d529 (patch)
tree3e892a4129db607cc1e16ef81aa5c7b39fd674b9
parent69579b6d87c0987396d018b0a7ba2048fe35a9a9 (diff)
parentb469837ed336a619c7869ebbf61d98ff264154cb (diff)
downloadlibhardware_legacy-2036aa2e85d942007df7332f66d4dfc29472d529.tar.gz
Snap for 9613524 from b469837ed336a619c7869ebbf61d98ff264154cb to udc-release
Change-Id: Id135b9ce2382790e7f1ed106007e09589c106d96
-rw-r--r--include/hardware_legacy/wifi_hal.h8
-rw-r--r--include/hardware_legacy/wifi_nan.h67
2 files changed, 68 insertions, 7 deletions
diff --git a/include/hardware_legacy/wifi_hal.h b/include/hardware_legacy/wifi_hal.h
index 494d653..5a3148a 100644
--- a/include/hardware_legacy/wifi_hal.h
+++ b/include/hardware_legacy/wifi_hal.h
@@ -287,6 +287,10 @@ typedef struct {
typedef struct {
/**
+ * Maximum number of links supported by the chip for MLO association.
+ */
+ u32 max_mlo_association_link_count;
+ /**
* Maximum number of Simultaneous Transmit and Receive (STR) links used
* in Multi-Link Operation. The maximum number of STR links used can be
* different from the maximum number of radios supported by the chip.
@@ -1228,6 +1232,10 @@ typedef struct {
*/
wifi_error (*wifi_set_scan_mode)(const char * ifname, bool enable);
+ wifi_error (*wifi_nan_pairing_end)(transaction_id id,
+ wifi_interface_handle iface,
+ NanPairingEndRequest *msg);
+
/*
* when adding new functions make sure to add stubs in
* wifi_legacy_hal_stubs.cpp::initHalFuncTableWithStubs
diff --git a/include/hardware_legacy/wifi_nan.h b/include/hardware_legacy/wifi_nan.h
index 9c7397c..e0b93d8 100644
--- a/include/hardware_legacy/wifi_nan.h
+++ b/include/hardware_legacy/wifi_nan.h
@@ -94,7 +94,8 @@ typedef enum {
NAN_PAIRING_INITIATOR_RESPONSE = 18,
NAN_PAIRING_RESPONDER_RESPONSE = 19,
NAN_BOOTSTRAPPING_INITIATOR_RESPONSE = 20,
- NAN_BOOTSTRAPPING_RESPONDER_RESPONSE = 21
+ NAN_BOOTSTRAPPING_RESPONDER_RESPONSE = 21,
+ NAN_PAIRING_END = 22
} NanResponseType;
/* NAN Publish Types */
@@ -150,11 +151,11 @@ typedef enum {
NAN_PAIRING_VERIFICATION = 1
} NanPairingRequestType;
-/* AKM type */
+/* Nan AKM type */
typedef enum {
SAE = 0,
PASN = 1
-} Akm;
+} NanAkm;
/* NAN Channel Info */
typedef struct {
@@ -275,7 +276,8 @@ typedef enum {
/* Pairing bootstrapping Responder's response */
typedef enum {
NAN_BOOTSTRAPPING_REQUEST_ACCEPT = 0,
- NAN_BOOTSTRAPPING_REQUEST_REJECT = 1
+ NAN_BOOTSTRAPPING_REQUEST_REJECT = 1,
+ NAN_BOOTSTRAPPING_REQUEST_COMEBACK = 2
} NanBootstrappingResponseCode;
/* NAN DP channel config options */
@@ -2666,7 +2668,7 @@ typedef struct {
/*
AKM used for the pairing verification
*/
- Akm akm;
+ NanAkm akm;
/*
Whether should cache the negotiated NIK/NPK for future verification
@@ -2678,6 +2680,11 @@ typedef struct {
*/
u8 nan_identity_key[NAN_IDENTITY_KEY_LEN];
+ /*
+ NAN Cipher Suite Type
+ */
+ u32 cipher_type;
+
} NanPairingRequest;
/*
@@ -2713,7 +2720,7 @@ typedef struct {
/*
AKM used for the pairing verification
*/
- Akm akm;
+ NanAkm akm;
/*
Whether should cache the negotiated NIK/NPK for future verification
@@ -2724,8 +2731,21 @@ typedef struct {
The Identity key for pairing, can be used for pairing verification
*/
u8 nan_identity_key[NAN_IDENTITY_KEY_LEN];
+
+ /*
+ NAN Cipher Suite Type
+ */
+ u32 cipher_type;
} NanPairingIndicationResponse;
+typedef struct {
+ /*
+ Unique token Id generated on the initiator/responder side
+ used for a pairing session between two NAN devices
+ */
+ u32 pairing_instance_id;
+} NanPairingEndRequest;
+
/*
Event indication received on the responder side when a Nan pairing session is initiated on the
Initiator side
@@ -2765,7 +2785,9 @@ typedef struct {
/* The PMK excahnge between two devices*/
NanSecurityPmk npk;
/* The AKM used during the key exchange*/
- Akm akm;
+ NanAkm akm;
+ /* NAN Cipher Suite Type */
+ u32 cipher_type;
} NpkSecurityAssociation;
/*
@@ -2816,6 +2838,12 @@ typedef struct {
/* Proposed bootstrapping method */
u16 request_bootstrapping_method;
+ /* The length of cookie. */
+ u32 cookie_length;
+
+ /* Cookie for the follow up request */
+ u8 cookie[];
+
} NanBootstrappingRequest;
/*
NAN pairing bootstrapping response from responder to a initate request
@@ -2877,6 +2905,14 @@ typedef struct {
expected reason codes.
*/
NanStatusType reason_code;
+ /* The delay of bootstrapping in seconds */
+ u32 come_back_delay;
+
+ /* The length of cookie. */
+ u32 cookie_length;
+
+ /* Cookie received from the comeback response */
+ u8 cookie[];
} NanBootstrappingConfirmInd;
@@ -3248,6 +3284,23 @@ wifi_error nan_pairing_request(transaction_id id, wifi_interface_handle iface,
wifi_error nan_pairing_indication_response(transaction_id id, wifi_interface_handle iface,
NanPairingIndicationResponse* msg);
+/**@brief nan_pairing_end
+ * Cancel and remove the existing Pairing setups
+ *
+ * @param transaction_id:
+ * @param wifi_interface_handle:
+ * @param NanPairingEndRequest:
+ * @return Synchronous wifi_error
+ * @return Asynchronous NotifyResponse CB return
+ * NAN_STATUS_SUCCESS
+ * NAN_STATUS_INVALID_PARAM
+ * NAN_STATUS_INTERNAL_FAILURE
+ * NAN_STATUS_PROTOCOL_FAILURE
+ * NAN_STATUS_INVALID_PAIRING_ID
+ */
+wifi_error nan_pairing_end(transaction_id id, wifi_interface_handle iface,
+ NanPairingEndRequest* msg);
+
/**@brief nan_bootstrapping_request
* Initiate a NAN Bootstrapping session.
*