| /* |
| * Copyright (C) 2022 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.hardware.wifi; |
| |
| import android.hardware.wifi.NanBandSpecificConfig; |
| |
| /** |
| * Configuration parameters of NAN. Used when enabling and re-configuring a NAN cluster. |
| */ |
| @VintfStability |
| parcelable NanConfigRequest { |
| /** |
| * Master preference of this device. |
| * NAN Spec: Master Indication Attribute / Master Preference |
| */ |
| byte masterPref; |
| /** |
| * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered |
| * for |NanClusterEventType.DISCOVERY_MAC_ADDRESS_CHANGED|. |
| */ |
| boolean disableDiscoveryAddressChangeIndication; |
| /** |
| * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered |
| * for |NanClusterEventType.STARTED_CLUSTER|. |
| */ |
| boolean disableStartedClusterIndication; |
| /** |
| * Controls whether or not the |IWifiNanIfaceEventCallback.eventClusterEvent| will be delivered |
| * for |NanClusterEventType.JOINED_CLUSTER|. |
| */ |
| boolean disableJoinedClusterIndication; |
| /** |
| * Control whether publish service IDs are included in Sync/Discovery beacons. |
| * NAN Spec: Service ID List Attribute |
| */ |
| boolean 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. |
| */ |
| byte numberOfPublishServiceIdsInBeacon; |
| /** |
| * Control whether subscribe service IDs are included in Sync/Discovery beacons. |
| * Spec: Subscribe Service ID List Attribute |
| */ |
| boolean 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. |
| */ |
| byte numberOfSubscribeServiceIdsInBeacon; |
| /** |
| * Number of samples used to calculate RSSI. |
| */ |
| char 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. |
| */ |
| int macAddressRandomizationIntervalSec; |
| /** |
| * Additional configuration provided per band. Indexed by |NanBandIndex|. |
| */ |
| NanBandSpecificConfig[3] bandSpecificConfig; |
| } |