123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379 |
- /*
- * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
- /**
- * DOC: This file contains centralized definitions of converged configuration.
- */
- #ifndef __CFG_MLME_IBSS_H
- #define __CFG_MLME_IBSS_H
- /*
- * <ini>
- * g_IBSS_AUTO_BSSID - Control IBSS Auto BSSID setup
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * Control IBSS Auto BSSID enable / disable
- * Usage: External
- *
- * </ini>
- */
- #define CFG_IBSS_AUTO_BSSID CFG_BOOL( \
- "gIbssAutoBssid", \
- 1, \
- "Enable Auto BSSID for IBSS")
- /*
- * <ini>
- * gAdHocChannel5G - Default 5Ghz IBSS channel if channel is not
- * provided by supplicant.
- * @Min: 36
- * @Max: 165
- * @Default: 44
- *
- * This ini is used to set default 5Ghz IBSS channel
- * if channel is not provided by supplicant and band is 5Ghz
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_ADHOC_CHANNEL_5GHZ CFG_INI_UINT( \
- "gAdHocChannel5G", \
- 36, \
- 165, \
- 44, \
- CFG_VALUE_OR_DEFAULT, \
- "Default 5Ghz IBSS channel if not provided by supplicant")
- /*
- * <ini>
- * gAdHocChannel24G - Default 2.4Ghz IBSS channel if channel is not
- * provided by supplicant.
- * @Min: 1
- * @Max: 14
- * @Default: 6
- *
- * This ini is used to set default 2.4Ghz IBSS channel
- * if channel is not provided by supplicant and band is 2.4Ghz
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_ADHOC_CHANNEL_24GHZ CFG_INI_UINT( \
- "gAdHocChannel24G", \
- 1, \
- 14, \
- 6, \
- CFG_VALUE_OR_DEFAULT, \
- "Default 2.4Ghz IBSS channel if not provided by supplicant")
- /*
- * <ini>
- * gCoalesingInIBSS - If IBSS coalesing is enabled.
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to set IBSS coalesing
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_COALESING CFG_INI_BOOL( \
- "gCoalesingInIBSS", \
- 0, \
- "IBSS coalesing control param")
- /*
- * <ini>
- * gIbssATIMWinSize - Set IBSS ATIM window size
- * @Min: 0
- * @Max: 50
- * @Default: 0
- *
- * This ini is used to set IBSS ATIM window size
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_ATIM_WIN_SIZE CFG_INI_UINT( \
- "gIbssATIMWinSize", \
- 0, \
- 50, \
- 0, \
- CFG_VALUE_OR_DEFAULT, \
- "Set IBSS ATIM window size")
- /*
- * <ini>
- * gIbssIsPowerSaveAllowed - Indicates if IBSS Power Save is
- * supported or not
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to Indicates if IBSS Power Save is
- * supported or not. When not allowed,IBSS station has
- * to stay awake all the time and should never set PM=1
- * in its transmitted frames.
- *
- * Related: valid only when gIbssATIMWinSize is non-zero
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_IS_POWER_SAVE_ALLOWED CFG_INI_BOOL( \
- "gIbssIsPowerSaveAllowed", \
- 1, \
- "IBSS Power Save control")
- /*
- * <ini>
- * gIbssIsPowerCollapseAllowed - Indicates if IBSS Power Collapse
- * is allowed
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to indicates if IBSS Power Collapse
- * is allowed
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED CFG_INI_BOOL( \
- "gIbssIsPowerCollapseAllowed", \
- 1, \
- "Indicates if IBSS Power Collapse is allowed")
- /*
- * <ini>
- * gIbssAwakeOnTxRx - Indicates whether IBSS station
- * can exit power save mode and enter power active
- * state whenever there is a TX/RX activity.
- *
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to ndicates whether IBSS station
- * can exit power save mode and enter power active
- * state whenever there is a TX/RX activity.
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_AWAKE_ON_TX_RX CFG_INI_BOOL( \
- "gIbssAwakeOnTxRx", \
- 0, \
- "IBSS sta power save mode on TX/RX activity")
- /*
- * <ini>
- * gIbssInactivityTime - Indicates the data
- * inactivity time in number of beacon intervals
- * after which IBSS station re-inters power save
- *
- * @Min: 1
- * @Max: 10
- * @Default: 1
- *
- * In IBSS mode if Awake on TX/RX activity is enabled
- * Ibss Inactivity parameter indicates the data
- * inactivity time in number of beacon intervals
- * after which IBSS station re-inters power save
- * by sending Null frame with PM=1
- *
- * Related: Aplicable if gIbssAwakeOnTxRx is enabled
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_INACTIVITY_TIME CFG_INI_UINT( \
- "gIbssInactivityTime", \
- 1, \
- 10, \
- 1, \
- CFG_VALUE_OR_DEFAULT, \
- "No of Beacons intervals of data inactivity for power save")
- /*
- * <ini>
- * gIbssTxSpEndInactivityTime - Indicates the time after
- * which TX Service Period is terminated by
- * sending a Qos Null frame with EOSP.
- *
- * @Min: 0
- * @Max: 100
- * @Default: 0
- *
- * In IBSS mode Tx Service Period Inactivity
- * time in msecs indicates the time after
- * which TX Service Period is terminated by
- * sending a Qos Null frame with EOSP.
- * If value is 0, TX SP is terminated with the
- * last buffered packet itself instead of waiting
- * for the inactivity.
- *
- * Related: None
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_TXSP_END_INACTIVITY CFG_INI_UINT( \
- "gIbssTxSpEndInactivityTime", \
- 0, \
- 100, \
- 0, \
- CFG_VALUE_OR_DEFAULT, \
- "TX service period inactivity timeout")
- /*
- * <ini>
- * gIbssPsWarmupTime - PS-supporting device
- * does not enter protocol sleep state during first
- * gIbssPsWarmupTime seconds.
- *
- * @Min: 0
- * @Max: 65535
- * @Default: 0
- *
- * When IBSS network is initialized, PS-supporting device
- * does not enter protocol sleep state during first
- * gIbssPsWarmupTime seconds.
- *
- * Related: valid if gIbssIsPowerSaveAllowed is set
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_PS_WARMUP_TIME CFG_INI_UINT( \
- "gIbssPsWarmupTime", \
- 0, \
- 65535, \
- 0, \
- CFG_VALUE_OR_DEFAULT, \
- "IBSS Power save skip time")
- /*
- * <ini>
- * gIbssPs1RxChainInAtim - IBSS Power Save Enable/Disable 1 RX
- * chain usage during the ATIM window
- *
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * IBSS Power Save Enable/Disable 1 RX
- * chain usage during the ATIM window
- *
- * Related: Depend on gIbssIsPowerSaveAllowed
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW CFG_INI_BOOL( \
- "gIbssPs1RxChainInAtim", \
- 0, \
- "Control IBSS Power save in 1RX chain during ATIM")
- /*
- * <ini>
- * gIbssBssid - Default IBSS BSSID if BSSID is not provided by supplicant
- * @Min: "000000000000"
- * @Max: "ffffffffffff"
- * @Default: "000AF5040506"
- *
- * This ini is used to set Default IBSS BSSID if BSSID
- * is not provided by supplicant and Coalesing is disabled
- *
- * Related: Only applicable if gCoalesingInIBSS is 0
- *
- * Supported Feature: IBSS
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define IBSS_BSSID_DEFAULT { .bytes = { 0x00, 0x0a, 0xf5, 0x04, 0x05, 0x06 } }
- #define CFG_IBSS_BSSID CFG_INI_MAC("gIbssBssid", \
- IBSS_BSSID_DEFAULT, \
- "IBSS BSSID if not provided by supplicant")
- #define CFG_IBSS_ALL \
- CFG(CFG_IBSS_ADHOC_CHANNEL_5GHZ) \
- CFG(CFG_IBSS_ADHOC_CHANNEL_24GHZ) \
- CFG(CFG_IBSS_ATIM_WIN_SIZE) \
- CFG(CFG_IBSS_AUTO_BSSID) \
- CFG(CFG_IBSS_AWAKE_ON_TX_RX) \
- CFG(CFG_IBSS_BSSID) \
- CFG(CFG_IBSS_COALESING) \
- CFG(CFG_IBSS_INACTIVITY_TIME) \
- CFG(CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED) \
- CFG(CFG_IBSS_IS_POWER_SAVE_ALLOWED) \
- CFG(CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW) \
- CFG(CFG_IBSS_PS_WARMUP_TIME) \
- CFG(CFG_IBSS_TXSP_END_INACTIVITY)
- #endif
|