mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
[AWARE] Remove support for vendor-specific attributes
Vendor-specific attribute support API is not fully functional or thought out. The Tx portion is working but the Rx portion requires additional configuration to prevent spamming the framework with all vendor-specific attributes. Remove until full solution is designed. Bug: 35193235 Test: unit tests and integration (sl4a) tests. Change-Id: I31a601af3b2c1f9f736130ce00abf73c55ac086a
This commit is contained in:
@@ -73,44 +73,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanBeaconSdfPayloadInd)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanBeaconSdfPayloadRequest)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanCapabilities)
|
||||
#
|
||||
@@ -586,25 +548,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanVsaRxFrameMask)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanVsaRxFrameMask
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (RttBw)
|
||||
#
|
||||
@@ -1933,44 +1876,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanBeaconSdfPayloadInd)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanBeaconSdfPayloadRequest)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanCapabilities)
|
||||
#
|
||||
@@ -2446,25 +2351,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanVsaRxFrameMask)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.wifi@1.0::types.NanVsaRxFrameMask
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (RttBw)
|
||||
#
|
||||
|
||||
@@ -240,19 +240,4 @@ interface IWifiNanIface extends IWifiIface {
|
||||
*/
|
||||
terminateDataPathRequest(CommandIdShort cmdId, uint32_t ndpInstanceId)
|
||||
generates (WifiStatus status);
|
||||
|
||||
/**
|
||||
* Configure NAN Beacon or SDF payload to include vendor-specific payload.
|
||||
*
|
||||
* @param cmdId command Id to use for this invocation.
|
||||
* @param msg Instance of |NanBeaconSdfPayloadRequest|.
|
||||
* @return status WifiStatus of the operation.
|
||||
* Possible status codes:
|
||||
* |WifiStatusCode.SUCCESS|,
|
||||
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
|
||||
* |WifiStatusCode.ERROR_INVALID_ARGS|,
|
||||
* |WifiStatusCode.ERROR_UNKNOWN|
|
||||
*/
|
||||
beaconSdfPayloadRequest(CommandIdShort cmdId, NanBeaconSdfPayloadRequest msg)
|
||||
generates (WifiStatus status);
|
||||
};
|
||||
|
||||
@@ -194,18 +194,6 @@ interface IWifiNanIfaceEventCallback {
|
||||
*/
|
||||
oneway notifyTerminateDataPathResponse(CommandIdShort id, WifiNanStatus status);
|
||||
|
||||
/**
|
||||
* Callback invoked in response to a request to include vendor-specific payload in beacon or SDF
|
||||
* frames |beaconSdfPayloadRequest|.
|
||||
*
|
||||
* @param cmdId command Id corresponding to the original request.
|
||||
* @param status WifiNanStatus of the operation. Possible status codes are:
|
||||
* |NanStatusType.SUCCESS|
|
||||
* |NanStatusType.INVALID_ARGS|
|
||||
* |NanStatusType.INTERNAL_FAILURE|
|
||||
*/
|
||||
oneway notifyBeaconSdfPayloadResponse(CommandIdShort id, WifiNanStatus status);
|
||||
|
||||
/**
|
||||
* Callbacks for the various asynchornous NAN Events.
|
||||
*/
|
||||
@@ -303,11 +291,4 @@ interface IWifiNanIfaceEventCallback {
|
||||
* @param ndpInstanceId: data-path ID of the terminated data-path.
|
||||
*/
|
||||
oneway eventDataPathTerminated(uint32_t ndpInstanceId);
|
||||
|
||||
/**
|
||||
* Asynchronous callback indicating vendor-specific payload received in NAN beacon or SDF frame.
|
||||
*
|
||||
* @param event: NanBeaconSdfPayloadInd containing event details.
|
||||
*/
|
||||
oneway eventBeaconSdfPayload(NanBeaconSdfPayloadInd event);
|
||||
};
|
||||
|
||||
@@ -1177,30 +1177,6 @@ bool convertHidlNanConfigRequestToLegacy(
|
||||
return true;
|
||||
}
|
||||
|
||||
bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
|
||||
const NanBeaconSdfPayloadRequest& hidl_request,
|
||||
legacy_hal::NanBeaconSdfPayloadRequest* legacy_request) {
|
||||
if (!legacy_request) {
|
||||
LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: legacy_request is null";
|
||||
return false;
|
||||
}
|
||||
memset(legacy_request, 0, sizeof(legacy_hal::NanBeaconSdfPayloadRequest));
|
||||
|
||||
legacy_request->vsa.payload_transmit_flag = hidl_request.transmitInNext16dws ? 1 : 0;
|
||||
legacy_request->vsa.tx_in_discovery_beacon = hidl_request.transmitInDiscoveryBeacon;
|
||||
legacy_request->vsa.tx_in_sync_beacon = hidl_request.transmitInSyncBeacon;
|
||||
legacy_request->vsa.tx_in_service_discovery = hidl_request.transmitInServiceDiscoveryFrame;
|
||||
legacy_request->vsa.vendor_oui = hidl_request.vendorOui;
|
||||
legacy_request->vsa.vsa_len = hidl_request.vsa.size();
|
||||
if (legacy_request->vsa.vsa_len > NAN_MAX_VSA_DATA_LEN) {
|
||||
LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: vsa_len too long";
|
||||
return false;
|
||||
}
|
||||
memcpy(legacy_request->vsa.vsa, hidl_request.vsa.data(), legacy_request->vsa.vsa_len);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool convertHidlNanDataPathInitiatorRequestToLegacy(
|
||||
const NanInitiateDataPathRequest& hidl_request,
|
||||
legacy_hal::NanDataPathInitiatorRequest* legacy_request) {
|
||||
@@ -1352,26 +1328,6 @@ bool convertLegacyNanFollowupIndToHidl(
|
||||
return true;
|
||||
}
|
||||
|
||||
bool convertLegacyNanBeaconSdfPayloadIndToHidl(
|
||||
const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
|
||||
NanBeaconSdfPayloadInd* hidl_ind) {
|
||||
if (!hidl_ind) {
|
||||
LOG(ERROR) << "convertLegacyNanBeaconSdfPayloadIndToHidl: hidl_ind is null";
|
||||
return false;
|
||||
}
|
||||
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
|
||||
hidl_ind->isVsaReceived = legacy_ind.is_vsa_received == 1;
|
||||
hidl_ind->vsaReceivedOnFrames = legacy_ind.vsa.vsa_received_on;
|
||||
hidl_ind->vsaVendorOui = legacy_ind.vsa.vendor_oui;
|
||||
hidl_ind->vsa = std::vector<uint8_t>(legacy_ind.vsa.vsa,
|
||||
legacy_ind.vsa.vsa + legacy_ind.vsa.attr_len);
|
||||
hidl_ind->isBeaconSdfPayloadReceived = legacy_ind.is_beacon_sdf_payload_received == 1;
|
||||
hidl_ind->beaconSdfPayloadData = std::vector<uint8_t>(legacy_ind.data.frame_data,
|
||||
legacy_ind.data.frame_data + legacy_ind.data.frame_len);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool convertLegacyNanDataPathRequestIndToHidl(
|
||||
const legacy_hal::NanDataPathRequestInd& legacy_ind,
|
||||
NanDataPathRequestInd* hidl_ind) {
|
||||
|
||||
@@ -110,9 +110,6 @@ bool convertHidlNanSubscribeRequestToLegacy(
|
||||
bool convertHidlNanTransmitFollowupRequestToLegacy(
|
||||
const NanTransmitFollowupRequest& hidl_request,
|
||||
legacy_hal::NanTransmitFollowupRequest* legacy_request);
|
||||
bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
|
||||
const NanBeaconSdfPayloadRequest& hidl_request,
|
||||
legacy_hal::NanBeaconSdfPayloadRequest* legacy_request);
|
||||
bool convertHidlNanDataPathInitiatorRequestToLegacy(
|
||||
const NanInitiateDataPathRequest& hidl_request,
|
||||
legacy_hal::NanDataPathInitiatorRequest* legacy_request);
|
||||
@@ -135,9 +132,6 @@ bool convertLegacyNanDataPathRequestIndToHidl(
|
||||
bool convertLegacyNanDataPathConfirmIndToHidl(
|
||||
const legacy_hal::NanDataPathConfirmInd& legacy_ind,
|
||||
NanDataPathConfirmInd* hidl_ind);
|
||||
bool convertLegacyNanBeaconSdfPayloadIndToHidl(
|
||||
const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
|
||||
NanBeaconSdfPayloadInd* hidl_ind);
|
||||
|
||||
// RTT controller conversion methods.
|
||||
bool convertHidlVectorOfRttConfigToLegacy(
|
||||
|
||||
@@ -120,14 +120,6 @@ WifiNanIface::WifiNanIface(
|
||||
}
|
||||
break;
|
||||
}
|
||||
case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD: {
|
||||
for (const auto& callback : shared_ptr_this->event_callbacks_) {
|
||||
if (!callback->notifyBeaconSdfPayloadResponse(id, wifiNanStatus).isOk()) {
|
||||
LOG(ERROR) << "Failed to invoke the callback";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case legacy_hal::NAN_GET_CAPABILITIES: {
|
||||
NanCapabilities hidl_struct;
|
||||
if (!hidl_struct_util::convertLegacyNanCapabilitiesResponseToHidl(
|
||||
@@ -183,6 +175,8 @@ WifiNanIface::WifiNanIface(
|
||||
}
|
||||
break;
|
||||
}
|
||||
case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD:
|
||||
/* fall through */
|
||||
case legacy_hal::NAN_RESPONSE_TCA:
|
||||
/* fall through */
|
||||
case legacy_hal::NAN_RESPONSE_STATS:
|
||||
@@ -402,24 +396,8 @@ WifiNanIface::WifiNanIface(
|
||||
};
|
||||
|
||||
callback_handlers.on_event_beacon_sdf_payload = [weak_ptr_this](
|
||||
const legacy_hal::NanBeaconSdfPayloadInd& msg) {
|
||||
const auto shared_ptr_this = weak_ptr_this.promote();
|
||||
if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
|
||||
LOG(ERROR) << "Callback invoked on an invalid object";
|
||||
return;
|
||||
}
|
||||
NanBeaconSdfPayloadInd hidl_struct;
|
||||
if (!hidl_struct_util::convertLegacyNanBeaconSdfPayloadIndToHidl(
|
||||
msg, &hidl_struct)) {
|
||||
LOG(ERROR) << "Failed to convert nan capabilities response";
|
||||
return;
|
||||
}
|
||||
|
||||
for (const auto& callback : shared_ptr_this->event_callbacks_) {
|
||||
if (!callback->eventBeaconSdfPayload(hidl_struct).isOk()) {
|
||||
LOG(ERROR) << "Failed to invoke the callback";
|
||||
}
|
||||
}
|
||||
const legacy_hal::NanBeaconSdfPayloadInd& /* msg */) {
|
||||
LOG(ERROR) << "on_event_beacon_sdf_payload - should not be called";
|
||||
};
|
||||
|
||||
legacy_hal::wifi_error legacy_status =
|
||||
@@ -621,18 +599,6 @@ Return<void> WifiNanIface::terminateDataPathRequest(uint16_t cmd_id, uint32_t nd
|
||||
ndpInstanceId);
|
||||
}
|
||||
|
||||
Return<void> WifiNanIface::beaconSdfPayloadRequest(
|
||||
uint16_t cmd_id,
|
||||
const NanBeaconSdfPayloadRequest& msg,
|
||||
beaconSdfPayloadRequest_cb hidl_status_cb) {
|
||||
return validateAndCall(this,
|
||||
WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
|
||||
&WifiNanIface::beaconSdfPayloadRequestInternal,
|
||||
hidl_status_cb,
|
||||
cmd_id,
|
||||
msg);
|
||||
}
|
||||
|
||||
std::pair<WifiStatus, std::string> WifiNanIface::getNameInternal() {
|
||||
return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
|
||||
}
|
||||
@@ -783,16 +749,6 @@ WifiStatus WifiNanIface::terminateDataPathRequestInternal(
|
||||
free(legacy_msg);
|
||||
return createWifiStatusFromLegacyError(legacy_status);
|
||||
}
|
||||
WifiStatus WifiNanIface::beaconSdfPayloadRequestInternal(
|
||||
uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg) {
|
||||
legacy_hal::NanBeaconSdfPayloadRequest legacy_msg;
|
||||
if (!hidl_struct_util::convertHidlNanBeaconSdfPayloadRequestToLegacy(msg, &legacy_msg)) {
|
||||
return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
|
||||
}
|
||||
legacy_hal::wifi_error legacy_status =
|
||||
legacy_hal_.lock()->nanBeaconSdfPayloadRequest(cmd_id, legacy_msg);
|
||||
return createWifiStatusFromLegacyError(legacy_status);
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V1_0
|
||||
|
||||
@@ -87,9 +87,6 @@ class WifiNanIface : public IWifiNanIface {
|
||||
Return<void> terminateDataPathRequest(uint16_t cmd_id,
|
||||
uint32_t ndpInstanceId,
|
||||
terminateDataPathRequest_cb hidl_status_cb) override;
|
||||
Return<void> beaconSdfPayloadRequest(uint16_t cmd_id,
|
||||
const NanBeaconSdfPayloadRequest& msg,
|
||||
beaconSdfPayloadRequest_cb hidl_status_cb) override;
|
||||
|
||||
private:
|
||||
// Corresponding worker functions for the HIDL methods.
|
||||
@@ -121,8 +118,6 @@ class WifiNanIface : public IWifiNanIface {
|
||||
uint16_t cmd_id, const NanRespondToDataPathIndicationRequest& msg);
|
||||
WifiStatus terminateDataPathRequestInternal(
|
||||
uint16_t cmd_id, uint32_t ndpInstanceId);
|
||||
WifiStatus beaconSdfPayloadRequestInternal(
|
||||
uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg);
|
||||
|
||||
std::string ifname_;
|
||||
std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;
|
||||
|
||||
@@ -1158,31 +1158,6 @@ struct NanRespondToDataPathIndicationRequest {
|
||||
vec<uint8_t> pmk;
|
||||
};
|
||||
|
||||
/**
|
||||
* Specifies vendor-specific information fields to be included in NAN management frames.
|
||||
*/
|
||||
struct NanBeaconSdfPayloadRequest {
|
||||
/**
|
||||
* If true information is transmitted in next 16 DWs, else only in the next (1) DW.
|
||||
*/
|
||||
bool transmitInNext16dws;
|
||||
/**
|
||||
* Specify the management frames in which the vendor-specific information is included.
|
||||
*/
|
||||
bool transmitInDiscoveryBeacon;
|
||||
bool transmitInSyncBeacon;
|
||||
bool transmitInServiceDiscoveryFrame;
|
||||
/**
|
||||
* Organizationally Unique Identifier (OUI).
|
||||
*/
|
||||
uint32_t vendorOui;
|
||||
/**
|
||||
* Vendor specific attribute to be transmitted.
|
||||
* Max length: |NanCapabilities.maxVsaDataLen|.
|
||||
*/
|
||||
vec<uint8_t> vsa;
|
||||
};
|
||||
|
||||
/**
|
||||
* NDP Capabilities response.
|
||||
*/
|
||||
@@ -1393,54 +1368,6 @@ struct NanClusterEventInd {
|
||||
MacAddress addr;
|
||||
};
|
||||
|
||||
/**
|
||||
* Mask to determine on which frames the vendor-specific attribute (VSA) was received on.
|
||||
*/
|
||||
enum NanVsaRxFrameMask: uint32_t {
|
||||
DISCOVERY_BEACON_MASK = 1 << 0,
|
||||
SYNC_BEACON_MASK = 1 << 1,
|
||||
SERVICE_DISCOVERY_MASK = 1 << 2
|
||||
};
|
||||
|
||||
/**
|
||||
* NAN Beacon or SDF Payload Indication Message structure.
|
||||
* The BeaconSdfPayloadInd message indicates to the upper layers that information
|
||||
* elements were received either in a Beacon or SDF which needs to be delivered
|
||||
* outside of a Publish/Subscribe Handle.
|
||||
*/
|
||||
struct NanBeaconSdfPayloadInd {
|
||||
/**
|
||||
* The MAC address of the peer which sent the attributes.
|
||||
*/
|
||||
MacAddress addr;
|
||||
/**
|
||||
* A flag indicating whether a vendor-specific attribute (VSA) has been received.
|
||||
*/
|
||||
bool isVsaReceived;
|
||||
/**
|
||||
* Frames on which this vendor specific attribute was received.
|
||||
* Mask |NanVsaRxFrameMask| defined above.
|
||||
*/
|
||||
bitfield<NanVsaRxFrameMask> vsaReceivedOnFrames;
|
||||
/**
|
||||
* Organizationally Unique Identifier (OUI) of the vendor-specific attribute.
|
||||
*/
|
||||
uint32_t vsaVendorOui;
|
||||
/**
|
||||
* Contents of the vendor specific attribute.
|
||||
* Max length: |NanCapabilities.maxVsaDataLen|.
|
||||
*/
|
||||
vec<uint8_t> vsa;
|
||||
/**
|
||||
* A flag indicating whether a NAN beacon or SDF payload has been received.
|
||||
*/
|
||||
bool isBeaconSdfPayloadReceived;
|
||||
/**
|
||||
* The contents of the NAN beacon or SDF payload.
|
||||
*/
|
||||
vec<uint8_t> beaconSdfPayloadData;
|
||||
};
|
||||
|
||||
/**
|
||||
* NAN Data path request Indication Message structure.
|
||||
* Event indication received by an intended Responder when a Nan Data request initiated by an
|
||||
|
||||
@@ -259,20 +259,4 @@ interface: {
|
||||
}
|
||||
}
|
||||
|
||||
api: {
|
||||
name: "beaconSdfPayloadRequest"
|
||||
return_type_hidl: {
|
||||
type: TYPE_STRUCT
|
||||
predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
|
||||
}
|
||||
arg: {
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint16_t"
|
||||
}
|
||||
arg: {
|
||||
type: TYPE_STRUCT
|
||||
predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -191,18 +191,6 @@ interface: {
|
||||
}
|
||||
}
|
||||
|
||||
api: {
|
||||
name: "notifyBeaconSdfPayloadResponse"
|
||||
arg: {
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint16_t"
|
||||
}
|
||||
arg: {
|
||||
type: TYPE_STRUCT
|
||||
predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
|
||||
}
|
||||
}
|
||||
|
||||
api: {
|
||||
name: "eventClusterEvent"
|
||||
arg: {
|
||||
@@ -307,12 +295,4 @@ interface: {
|
||||
}
|
||||
}
|
||||
|
||||
api: {
|
||||
name: "eventBeaconSdfPayload"
|
||||
arg: {
|
||||
type: TYPE_STRUCT
|
||||
predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1512,44 +1512,6 @@ attribute: {
|
||||
}
|
||||
}
|
||||
|
||||
attribute: {
|
||||
name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
|
||||
type: TYPE_STRUCT
|
||||
struct_value: {
|
||||
name: "transmitInNext16dws"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "transmitInDiscoveryBeacon"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "transmitInSyncBeacon"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "transmitInServiceDiscoveryFrame"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "vendorOui"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint32_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "vsa"
|
||||
type: TYPE_VECTOR
|
||||
vector_value: {
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint8_t"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
attribute: {
|
||||
name: "::android::hardware::wifi::V1_0::NanCapabilities"
|
||||
type: TYPE_STRUCT
|
||||
@@ -1803,56 +1765,6 @@ attribute: {
|
||||
}
|
||||
}
|
||||
|
||||
attribute: {
|
||||
name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
|
||||
type: TYPE_STRUCT
|
||||
struct_value: {
|
||||
name: "addr"
|
||||
type: TYPE_ARRAY
|
||||
vector_value: {
|
||||
vector_size: 6
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint8_t"
|
||||
}
|
||||
}
|
||||
struct_value: {
|
||||
name: "isVsaReceived"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "vsaReceivedOnFrames"
|
||||
type: TYPE_MASK
|
||||
predefined_type: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask"
|
||||
}
|
||||
struct_value: {
|
||||
name: "vsaVendorOui"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint32_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "vsa"
|
||||
type: TYPE_VECTOR
|
||||
vector_value: {
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint8_t"
|
||||
}
|
||||
}
|
||||
struct_value: {
|
||||
name: "isBeaconSdfPayloadReceived"
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "bool_t"
|
||||
}
|
||||
struct_value: {
|
||||
name: "beaconSdfPayloadData"
|
||||
type: TYPE_VECTOR
|
||||
vector_value: {
|
||||
type: TYPE_SCALAR
|
||||
scalar_type: "uint8_t"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
attribute: {
|
||||
name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
|
||||
type: TYPE_STRUCT
|
||||
|
||||
Reference in New Issue
Block a user