blob: 82a7b6e754cb542178eac230498b8126c9765a73 [file] [log] [blame]
/*
* 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;
}