diff --git a/wifi/1.4/IWifiChip.hal b/wifi/1.4/IWifiChip.hal index de5a64e1b9..07f4a65955 100644 --- a/wifi/1.4/IWifiChip.hal +++ b/wifi/1.4/IWifiChip.hal @@ -39,8 +39,7 @@ interface IWifiChip extends @1.3::IWifiChip { * |WifiStatusCode.ERROR_NOT_SUPPORTED|, * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID| */ - registerEventCallback_1_4(IWifiChipEventCallback callback) - generates (WifiStatus status); + registerEventCallback_1_4(IWifiChipEventCallback callback) generates (WifiStatus status); /** * Create a RTTController instance. diff --git a/wifi/1.4/IWifiChipEventCallback.hal b/wifi/1.4/IWifiChipEventCallback.hal index ecd0a44b6f..9ead344bb4 100644 --- a/wifi/1.4/IWifiChipEventCallback.hal +++ b/wifi/1.4/IWifiChipEventCallback.hal @@ -33,6 +33,7 @@ interface IWifiChipEventCallback extends @1.2::IWifiChipEventCallback { * only for debugging purposes. */ uint32_t radioId; + /** * List of bands on which this radio chain is operating. * Can be one of: @@ -47,7 +48,10 @@ interface IWifiChipEventCallback extends @1.2::IWifiChipEventCallback { * time sharing across the 3 bands). */ WifiBand bandInfo; - /** List of interfaces on this radio chain (hardware MAC). */ + + /** + * List of interfaces on this radio chain (hardware MAC). + */ vec ifaceInfos; }; diff --git a/wifi/1.4/IWifiNanIface.hal b/wifi/1.4/IWifiNanIface.hal index 56e3c2d096..881d06c585 100644 --- a/wifi/1.4/IWifiNanIface.hal +++ b/wifi/1.4/IWifiNanIface.hal @@ -52,8 +52,7 @@ interface IWifiNanIface extends @1.2::IWifiNanIface { * |WifiStatusCode.ERROR_UNKNOWN| */ enableRequest_1_4(CommandIdShort cmdId, NanEnableRequest msg1, - NanConfigRequestSupplemental msg2) - generates (WifiStatus status); + NanConfigRequestSupplemental msg2) generates (WifiStatus status); /** * Configure NAN: configures an existing NAN functionality (i.e. assumes @@ -75,6 +74,5 @@ interface IWifiNanIface extends @1.2::IWifiNanIface { * |WifiStatusCode.ERROR_UNKNOWN| */ configRequest_1_4(CommandIdShort cmdId, NanConfigRequest msg1, - NanConfigRequestSupplemental msg2) - generates (WifiStatus status); + NanConfigRequestSupplemental msg2) generates (WifiStatus status); }; diff --git a/wifi/1.4/IWifiStaIface.hal b/wifi/1.4/IWifiStaIface.hal index fb658cd37c..8bb0de80cb 100644 --- a/wifi/1.4/IWifiStaIface.hal +++ b/wifi/1.4/IWifiStaIface.hal @@ -27,24 +27,22 @@ import @1.3::IWifiStaIface; * IWifiChip.createStaIface() may return a @1.4::IWifiStaIface when supported. */ interface IWifiStaIface extends @1.3::IWifiStaIface { - enum StaIfaceCapabilityMask : @1.0::IWifiStaIface.StaIfaceCapabilityMask { - STA_6G = 1 << 15 + STA_6G = 1 << 15, }; - /** - * Get the capabilities supported by this STA iface. - * - * @return status WifiStatus of the operation. - * Possible status codes: - * |WifiStatusCode.SUCCESS|, - * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, - * |WifiStatusCode.ERROR_NOT_AVAILABLE|, - * |WifiStatusCode.ERROR_NOT_SUPPORTED|, - * |WifiStatusCode.ERROR_UNKNOWN| - * @return capabilities Bitset of |StaIfaceCapabilityMask| values. - */ - getCapabilities_1_4() - generates (WifiStatus status, - bitfield capabilities); + /** + * Get the capabilities supported by this STA iface. + * + * @return status WifiStatus of the operation. + * Possible status codes: + * |WifiStatusCode.SUCCESS|, + * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, + * |WifiStatusCode.ERROR_NOT_AVAILABLE|, + * |WifiStatusCode.ERROR_NOT_SUPPORTED|, + * |WifiStatusCode.ERROR_UNKNOWN| + * @return capabilities Bitset of |StaIfaceCapabilityMask| values. + */ + getCapabilities_1_4() + generates (WifiStatus status, bitfield capabilities); }; diff --git a/wifi/1.4/types.hal b/wifi/1.4/types.hal index 07a298e336..4f1d22e407 100644 --- a/wifi/1.4/types.hal +++ b/wifi/1.4/types.hal @@ -40,32 +40,32 @@ import @1.0::WifiRatePreamble; * Wifi bands defined in 80211 spec. */ enum WifiBand : @1.0::WifiBand { - /** - * 6 GHz. - */ - BAND_6GHZ = 8, - /** - * 5 GHz no DFS + 6 GHz. - */ - BAND_5GHZ_6GHZ = 10, - /** - * 2.4 GHz + 5 GHz no DFS + 6 GHz. - */ - BAND_24GHZ_5GHZ_6GHZ = 11, - /** - * 2.4 GHz + 5 GHz with DFS + 6 GHz. - */ - BAND_24GHZ_5GHZ_WITH_DFS_6GHZ = 15 + /** + * 6 GHz. + */ + BAND_6GHZ = 8, + /** + * 5 GHz no DFS + 6 GHz. + */ + BAND_5GHZ_6GHZ = 10, + /** + * 2.4 GHz + 5 GHz no DFS + 6 GHz. + */ + BAND_24GHZ_5GHZ_6GHZ = 11, + /** + * 2.4 GHz + 5 GHz with DFS + 6 GHz. + */ + BAND_24GHZ_5GHZ_WITH_DFS_6GHZ = 15, }; /** * The discovery bands supported by NAN. */ enum NanBandIndex : @1.0::NanBandIndex { - /** - * Index for 6 GHz band. - */ - NAN_BAND_6GHZ = 2, + /** + * Index for 6 GHz band. + */ + NAN_BAND_6GHZ = 2, }; /** @@ -93,147 +93,176 @@ enum RttPreamble : @1.0::RttPreamble { * not intended for normal operational mode. */ struct NanDebugConfig { - /** - * Specification of the lower 2 bytes of the cluster ID. The cluster ID is 50-60-9a-01-00-00 to - * 50-60-9a-01-FF-FF. Configuration of the bottom and top values of the range (which defaults to - * 0x0000 and 0xFFFF respectively). - * Configuration is only used if |validClusterIdVals| is set to true. - */ - bool validClusterIdVals; - uint16_t clusterIdBottomRangeVal; - uint16_t clusterIdTopRangeVal; - /** - * NAN management interface address, if specified (|validIntfAddrVal| is true) then overrides any - * other configuration (specifically the default randomization configured by - * |NanConfigRequest.macAddressRandomizationIntervalSec|). - */ - bool validIntfAddrVal; - MacAddress intfAddrVal; - /** - * Combination of the 24 bit Organizationally Unique ID (OUI) and the 8 bit OUI Type. - * Used if |validOuiVal| is set to true. - */ - bool validOuiVal; - uint32_t ouiVal; - /** - * Force the Random Factor to the specified value for all transmitted Sync/Discovery beacons. - * Used if |validRandomFactorForceVal| is set to true. - * NAN Spec: Master Indication Attribute / Random Factor - */ - bool validRandomFactorForceVal; - uint8_t randomFactorForceVal; - /** - * Forces the hop-count for all transmitted Sync and Discovery Beacons NO matter the real - * hop-count being received over the air. Used if the |validHopCountForceVal}| flag is set to - * true. - * NAN Spec: Cluster Attribute / Anchor Master Information / Hop Count to Anchor Master - */ - bool validHopCountForceVal; - uint8_t hopCountForceVal; - /** - * Frequency in MHz to of the discovery channel in the specified band. Indexed by |NanBandIndex|. - * Used if the |validDiscoveryChannelVal| is set to true. - */ - bool validDiscoveryChannelVal; - WifiChannelInMhz[3] discoveryChannelMhzVal; - /** - * Specifies whether sync/discovery beacons are transmitted in the specified band. Indexed by - * |NanBandIndex|. Used if the |validUseBeaconsInBandVal| is set to true. - */ - bool validUseBeaconsInBandVal; - bool[3] useBeaconsInBandVal; - /** - * Specifies whether SDF (service discovery frames) are transmitted in the specified band. Indexed - * by |NanBandIndex|. Used if the |validUseSdfInBandVal| is set to true. - */ - bool validUseSdfInBandVal; - bool[3] useSdfInBandVal; + /** + * Specification of the lower 2 bytes of the cluster ID. The cluster ID is 50-60-9a-01-00-00 to + * 50-60-9a-01-FF-FF. Configuration of the bottom and top values of the range (which defaults to + * 0x0000 and 0xFFFF respectively). + * Configuration is only used if |validClusterIdVals| is set to true. + */ + bool validClusterIdVals; + + uint16_t clusterIdBottomRangeVal; + + uint16_t clusterIdTopRangeVal; + + /** + * NAN management interface address, if specified (|validIntfAddrVal| is true) then overrides any + * other configuration (specifically the default randomization configured by + * |NanConfigRequest.macAddressRandomizationIntervalSec|). + */ + bool validIntfAddrVal; + + MacAddress intfAddrVal; + + /** + * Combination of the 24 bit Organizationally Unique ID (OUI) and the 8 bit OUI Type. + * Used if |validOuiVal| is set to true. + */ + bool validOuiVal; + + uint32_t ouiVal; + + /** + * Force the Random Factor to the specified value for all transmitted Sync/Discovery beacons. + * Used if |validRandomFactorForceVal| is set to true. + * NAN Spec: Master Indication Attribute / Random Factor + */ + bool validRandomFactorForceVal; + + uint8_t randomFactorForceVal; + + /** + * Forces the hop-count for all transmitted Sync and Discovery Beacons NO matter the real + * hop-count being received over the air. Used if the |validHopCountForceVal}| flag is set to + * true. + * NAN Spec: Cluster Attribute / Anchor Master Information / Hop Count to Anchor Master + */ + bool validHopCountForceVal; + + uint8_t hopCountForceVal; + + /** + * Frequency in MHz to of the discovery channel in the specified band. Indexed by |NanBandIndex|. + * Used if the |validDiscoveryChannelVal| is set to true. + */ + bool validDiscoveryChannelVal; + + WifiChannelInMhz[3] discoveryChannelMhzVal; + + /** + * Specifies whether sync/discovery beacons are transmitted in the specified band. Indexed by + * |NanBandIndex|. Used if the |validUseBeaconsInBandVal| is set to true. + */ + bool validUseBeaconsInBandVal; + + bool[3] useBeaconsInBandVal; + + /** + * Specifies whether SDF (service discovery frames) are transmitted in the specified band. Indexed + * by |NanBandIndex|. Used if the |validUseSdfInBandVal| is set to true. + */ + bool validUseSdfInBandVal; + + bool[3] useSdfInBandVal; }; /** * Configuration parameters of NAN: used when enabling and re-configuring a NAN cluster. */ struct NanConfigRequest { - /** - * Master preference of this device. - * NAN Spec: Master Indication Attribute / Master Preference - */ - uint8_t masterPref; - /** - * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered - * for |NanClusterEventType.DISCOVERY_MAC_ADDRESS_CHANGED|. - */ - bool disableDiscoveryAddressChangeIndication; - /** - * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered - * for |NanClusterEventType.STARTED_CLUSTER|. - */ - bool disableStartedClusterIndication; - /** - * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered - * for |NanClusterEventType.JOINED_CLUSTER|. - */ - bool disableJoinedClusterIndication; - /** - * Control whether publish service IDs are included in Sync/Discovery beacons. - * NAN Spec: Service ID List Attribute - */ - bool includePublishServiceIdsInBeacon; - /** - * If |includePublishServiceIdsInBeacon| is true then specifies the number of publish service IDs - * to include in the Sync/Discovery beacons: - * Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size. - * Value must fit within 7 bits - i.e. <= 127. - */ - uint8_t numberOfPublishServiceIdsInBeacon; - /** - * Control whether subscribe service IDs are included in Sync/Discovery beacons. - * Spec: Subscribe Service ID List Attribute - */ - bool includeSubscribeServiceIdsInBeacon; - /** - * If |includeSubscribeServiceIdsInBeacon| is true then specifies the number of subscribe service - * IDs to include in the Sync/Discovery beacons: - * Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size. - * Value must fit within 7 bits - i.e. <= 127. - */ - uint8_t numberOfSubscribeServiceIdsInBeacon; - /** - * Number of samples used to calculate RSSI. - */ - uint16_t rssiWindowSize; - /** - * Specifies the interval in seconds that the NAN management interface MAC address is randomized. - * A value of 0 is used to disable the MAC address randomization - */ - uint32_t macAddressRandomizationIntervalSec; - /** - * Additional configuration provided per band: indexed by |NanBandIndex|. - */ - NanBandSpecificConfig[3] bandSpecificConfig; + /** + * Master preference of this device. + * NAN Spec: Master Indication Attribute / Master Preference + */ + uint8_t masterPref; + + /** + * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered + * for |NanClusterEventType.DISCOVERY_MAC_ADDRESS_CHANGED|. + */ + bool disableDiscoveryAddressChangeIndication; + + /** + * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered + * for |NanClusterEventType.STARTED_CLUSTER|. + */ + bool disableStartedClusterIndication; + + /** + * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered + * for |NanClusterEventType.JOINED_CLUSTER|. + */ + bool disableJoinedClusterIndication; + + /** + * Control whether publish service IDs are included in Sync/Discovery beacons. + * NAN Spec: Service ID List Attribute + */ + bool includePublishServiceIdsInBeacon; + + /** + * If |includePublishServiceIdsInBeacon| is true then specifies the number of publish service IDs + * to include in the Sync/Discovery beacons: + * Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size. + * Value must fit within 7 bits - i.e. <= 127. + */ + uint8_t numberOfPublishServiceIdsInBeacon; + + /** + * Control whether subscribe service IDs are included in Sync/Discovery beacons. + * Spec: Subscribe Service ID List Attribute + */ + bool includeSubscribeServiceIdsInBeacon; + + /** + * If |includeSubscribeServiceIdsInBeacon| is true then specifies the number of subscribe service + * IDs to include in the Sync/Discovery beacons: + * Value = 0: include as many service IDs as will fit into the maximum allowed beacon frame size. + * Value must fit within 7 bits - i.e. <= 127. + */ + uint8_t numberOfSubscribeServiceIdsInBeacon; + + /** + * Number of samples used to calculate RSSI. + */ + uint16_t rssiWindowSize; + + /** + * Specifies the interval in seconds that the NAN management interface MAC address is randomized. + * A value of 0 is used to disable the MAC address randomization + */ + uint32_t macAddressRandomizationIntervalSec; + + /** + * Additional configuration provided per band: indexed by |NanBandIndex|. + */ + NanBandSpecificConfig[3] bandSpecificConfig; }; /** * Enable requests for NAN: start-up configuration |IWifiNanIface.enableRequest|. */ struct NanEnableRequest { - /** - * Enable operation in a specific band: indexed by |NanBandIndex|. - */ - bool[3] operateInBand; - /** - * Specify extent of cluster by specifying the max hop count. - */ - uint8_t hopCountMax; - /** - * Configurations of NAN cluster operation. Can also be modified at run-time using - * |IWifiNanIface.configRequest|. - */ - NanConfigRequest configParams; - /** - * Non-standard configurations of NAN cluster operation - useful for debugging operations. - */ - NanDebugConfig debugConfigs; + /** + * Enable operation in a specific band: indexed by |NanBandIndex|. + */ + bool[3] operateInBand; + + /** + * Specify extent of cluster by specifying the max hop count. + */ + uint8_t hopCountMax; + + /** + * Configurations of NAN cluster operation. Can also be modified at run-time using + * |IWifiNanIface.configRequest|. + */ + NanConfigRequest configParams; + + /** + * Non-standard configurations of NAN cluster operation - useful for debugging operations. + */ + NanDebugConfig debugConfigs; }; /**