mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-31 22:21:39 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1832 lines
		
	
	
		
			50 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			1832 lines
		
	
	
		
			50 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /******************************************************************************
 | |
|  *
 | |
|  *  Copyright (c) 2014 The Android Open Source Project
 | |
|  *  Copyright (C) 1999-2012 Broadcom Corporation
 | |
|  *
 | |
|  *  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.
 | |
|  *
 | |
|  ******************************************************************************/
 | |
| 
 | |
| #ifndef BT_TARGET_H
 | |
| #define BT_TARGET_H
 | |
| 
 | |
| #ifndef BUILDCFG
 | |
| #define BUILDCFG
 | |
| #endif
 | |
| 
 | |
| /*
 | |
| #if !defined(HAS_BDROID_BUILDCFG) && !defined(HAS_NO_BDROID_BUILDCFG)
 | |
| #error "An Android.mk file did not include bdroid_CFLAGS and possibly not bdorid_C_INCLUDES"
 | |
| #endif
 | |
| */
 | |
| 
 | |
| #ifdef HAS_BDROID_BUILDCFG
 | |
| #include "bdroid_buildcfg.h"
 | |
| #endif
 | |
| 
 | |
| #include "sdkconfig.h"
 | |
| #include "bt_types.h"   /* This must be defined AFTER buildcfg.h */
 | |
| 
 | |
| #include "dyn_mem.h"    /* defines static and/or dynamic memory for components */
 | |
| 
 | |
| #if CONFIG_CLASSIC_BT_ENABLED
 | |
| #define CLASSIC_BT_INCLUDED         TRUE
 | |
| #define BTA_SDP_INCLUDED            TRUE
 | |
| #define BTA_PAN_INCLUDED            FALSE
 | |
| #define BTA_HH_INCLUDED             FALSE
 | |
| #define BTA_AR_INCLUDED             TRUE
 | |
| #define BTA_AV_INCLUDED             TRUE
 | |
| #define BTA_AV_SINK_INCLUDED        TRUE
 | |
| #define SDP_INCLUDED                TRUE
 | |
| #define RFCOMM_INCLUDED             FALSE
 | |
| #define PAN_INCLUDED                FALSE
 | |
| #define HID_HOST_INCLUDED           FALSE
 | |
| #define AVDT_INCLUDED               TRUE
 | |
| #define A2D_INCLUDED                TRUE
 | |
| #define AVCT_INCLUDED               TRUE
 | |
| #define AVRC_INCLUDED               TRUE
 | |
| #define SBC_DEC_INCLUDED            TRUE
 | |
| #define SBC_ENC_INCLUDED            FALSE
 | |
| #define MCA_INCLUDED                FALSE
 | |
| #define BTC_SM_INCLUDED             TRUE
 | |
| #define BTC_PRF_QUEUE_INCLUDED      TRUE
 | |
| #define BTC_GAP_BT_INCLUDED         TRUE
 | |
| #define BTC_AV_INCLUDED             TRUE
 | |
| 
 | |
| #else /* #if CONFIG_CLASSIC_BT_ENABLED */
 | |
| #define CLASSIC_BT_INCLUDED         FALSE
 | |
| #define BTA_SDP_INCLUDED            FALSE
 | |
| #define BTA_PAN_INCLUDED            FALSE
 | |
| #define BTA_HH_INCLUDED             FALSE
 | |
| #define BTA_AR_INCLUDED             FALSE
 | |
| #define BTA_AV_INCLUDED             FALSE
 | |
| #define BTA_AV_SINK_INCLUDED        FALSE
 | |
| #define SDP_INCLUDED                FALSE
 | |
| #define RFCOMM_INCLUDED             FALSE
 | |
| #define PAN_INCLUDED                FALSE
 | |
| #define HID_HOST_INCLUDED           FALSE
 | |
| #define AVDT_INCLUDED               FALSE
 | |
| #define A2D_INCLUDED                FALSE
 | |
| #define AVCT_INCLUDED               FALSE
 | |
| #define AVRC_INCLUDED               FALSE
 | |
| #define SBC_DEC_INCLUDED            FALSE
 | |
| #define SBC_ENC_INCLUDED            FALSE
 | |
| #define MCA_INCLUDED                FALSE
 | |
| #define BTC_SM_INCLUDED             FALSE
 | |
| #define BTC_PRF_QUEUE_INCLUDED      FALSE
 | |
| #define BTC_GAP_BT_INCLUDED         FALSE
 | |
| #define BTC_AV_INCLUDED             FALSE
 | |
| 
 | |
| #endif /* #if CONFIG_CLASSIC_BT_ENABLED */
 | |
| 
 | |
| #if (CONFIG_GATTS_ENABLE)
 | |
| #define GATTS_INCLUDED              TRUE
 | |
| #else
 | |
| #define GATTS_INCLUDED              FALSE
 | |
| #endif /* CONFIG_GATTS_ENABLE */
 | |
| 
 | |
| #if (CONFIG_GATTC_ENABLE)
 | |
| #define GATTC_INCLUDED              TRUE
 | |
| #else
 | |
| #define GATTC_INCLUDED              FALSE
 | |
| #endif  /* CONFIG_GATTC_ENABLE */
 | |
| 
 | |
| #if (CONFIG_SMP_ENABLE)
 | |
| #define SMP_INCLUDED              TRUE
 | |
| #define BLE_PRIVACY_SPT           TRUE
 | |
| #else
 | |
| #define SMP_INCLUDED              FALSE
 | |
| #define BLE_PRIVACY_SPT           FALSE
 | |
| #endif  /* CONFIG_GATTC_ENABLE */
 | |
| 
 | |
| #if (CONFIG_BT_ACL_CONNECTIONS)
 | |
| #define MAX_ACL_CONNECTIONS  CONFIG_BT_ACL_CONNECTIONS
 | |
| #define GATT_MAX_PHY_CHANNEL CONFIG_BT_ACL_CONNECTIONS
 | |
| #endif  /* CONFIG_BT_ACL_CONNECTIONS */
 | |
| 
 | |
| //------------------Added from bdroid_buildcfg.h---------------------
 | |
| #ifndef L2CAP_EXTFEA_SUPPORTED_MASK
 | |
| #define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS)
 | |
| #endif
 | |
| 
 | |
| #ifndef BTUI_OPS_FORMATS
 | |
| #define BTUI_OPS_FORMATS (BTA_OP_VCARD21_MASK | BTA_OP_ANY_MASK)
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_RFC_MTU_SIZE
 | |
| #define BTA_RFC_MTU_SIZE (L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)
 | |
| #endif
 | |
| 
 | |
| #ifndef SBC_NO_PCM_CPY_OPTION
 | |
| #define SBC_NO_PCM_CPY_OPTION FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BT_APP_DEMO
 | |
| #define BT_APP_DEMO TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTIF_INCLUDED
 | |
| #define BTIF_INCLUDED FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_INCLUDED
 | |
| #define BTA_INCLUDED TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_PAN_INCLUDED
 | |
| #define BTA_PAN_INCLUDED FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_HH_INCLUDED
 | |
| #define BTA_HH_INCLUDED FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_HH_ROLE
 | |
| #define BTA_HH_ROLE BTA_MASTER_ROLE_PREF
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_HH_LE_INCLUDED
 | |
| #define BTA_HH_LE_INCLUDED FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AR_INCLUDED
 | |
| #define BTA_AR_INCLUDED TRUE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AV_INCLUDED
 | |
| #define BTA_AV_INCLUDED TRUE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AV_SINK_INCLUDED
 | |
| #define BTA_AV_SINK_INCLUDED TRUE//FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_DISABLE_DELAY
 | |
| #define BTA_DISABLE_DELAY 200 /* in milliseconds */
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_SYS_TIMER_PERIOD
 | |
| #define BTA_SYS_TIMER_PERIOD  100
 | |
| #endif
 | |
| 
 | |
| #ifndef SBC_FOR_EMBEDDED_LINUX
 | |
| #define SBC_FOR_EMBEDDED_LINUX TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef AVDT_VERSION
 | |
| #define AVDT_VERSION  0x0102
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AG_AT_MAX_LEN
 | |
| #define BTA_AG_AT_MAX_LEN  512
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AVRCP_FF_RW_SUPPORT
 | |
| #define BTA_AVRCP_FF_RW_SUPPORT FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AG_SCO_PKT_TYPES
 | |
| #define BTA_AG_SCO_PKT_TYPES  (BTM_SCO_LINK_ONLY_MASK | BTM_SCO_PKT_TYPES_MASK_EV3 |  BTM_SCO_PKT_TYPES_MASK_NO_3_EV3 | BTM_SCO_PKT_TYPES_MASK_NO_2_EV5 | BTM_SCO_PKT_TYPES_MASK_NO_3_EV5)
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AV_RET_TOUT
 | |
| #define BTA_AV_RET_TOUT 15
 | |
| #endif
 | |
| 
 | |
| #ifndef PORCHE_PAIRING_CONFLICT
 | |
| #define PORCHE_PAIRING_CONFLICT  TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AV_CO_CP_SCMS_T
 | |
| #define BTA_AV_CO_CP_SCMS_T  FALSE//FALSE
 | |
| #endif
 | |
| 
 | |
| /* This feature is used to eanble interleaved scan*/
 | |
| #ifndef BTA_HOST_INTERLEAVE_SEARCH
 | |
| #define BTA_HOST_INTERLEAVE_SEARCH FALSE//FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BT_USE_TRACES
 | |
| #define BT_USE_TRACES  FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BT_TRACE_BTIF
 | |
| #define BT_TRACE_BTIF  TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BT_TRACE_VERBOSE
 | |
| #define BT_TRACE_VERBOSE  FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_DM_SDP_DB_SIZE
 | |
| #define BTA_DM_SDP_DB_SIZE  8000
 | |
| #endif
 | |
| 
 | |
| #ifndef HL_INCLUDED
 | |
| #define HL_INCLUDED  TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef AG_VOICE_SETTINGS
 | |
| #define AG_VOICE_SETTINGS  HCI_DEFAULT_VOICE_SETTINGS
 | |
| #endif
 | |
| 
 | |
| #ifndef BTIF_DM_OOB_TEST
 | |
| #define BTIF_DM_OOB_TEST  FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| // How long to wait before activating sniff mode after entering the
 | |
| // idle state for FTS, OPS connections
 | |
| #ifndef BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS
 | |
| #define BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS 7000
 | |
| #endif
 | |
| 
 | |
| //------------------End added from bdroid_buildcfg.h---------------------
 | |
| 
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** Buffer Size
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef BT_DEFAULT_BUFFER_SIZE
 | |
| #define BT_DEFAULT_BUFFER_SIZE          (4096 + 16)
 | |
| #endif
 | |
| 
 | |
| #ifndef BT_SMALL_BUFFER_SIZE
 | |
| #define BT_SMALL_BUFFER_SIZE            660
 | |
| #endif
 | |
| 
 | |
| /* Receives HCI events from the lower-layer. */
 | |
| #ifndef HCI_CMD_BUF_SIZE
 | |
| #define HCI_CMD_BUF_SIZE                BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Sends SDP data packets. */
 | |
| #ifndef SDP_DATA_BUF_SIZE
 | |
| #define SDP_DATA_BUF_SIZE               BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Sends RFCOMM command packets. */
 | |
| #ifndef RFCOMM_CMD_BUF_SIZE
 | |
| #define RFCOMM_CMD_BUF_SIZE             BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Sends RFCOMM data packets. */
 | |
| #ifndef RFCOMM_DATA_BUF_SIZE
 | |
| #define RFCOMM_DATA_BUF_SIZE            BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Sends L2CAP packets to the peer and HCI messages to the controller. */
 | |
| #ifndef L2CAP_CMD_BUF_SIZE
 | |
| #define L2CAP_CMD_BUF_SIZE              BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef L2CAP_USER_TX_BUF_SIZE
 | |
| #define L2CAP_USER_TX_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef L2CAP_USER_RX_BUF_SIZE
 | |
| #define L2CAP_USER_RX_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Sends L2CAP segmented packets in ERTM mode */
 | |
| #ifndef L2CAP_FCR_TX_BUF_SIZE
 | |
| #define L2CAP_FCR_TX_BUF_SIZE           BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Receives L2CAP segmented packets in ERTM mode */
 | |
| #ifndef L2CAP_FCR_RX_BUF_SIZE
 | |
| #define L2CAP_FCR_RX_BUF_SIZE           BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef L2CAP_FCR_ERTM_BUF_SIZE
 | |
| #define L2CAP_FCR_ERTM_BUF_SIZE         (10240 + 24)
 | |
| #endif
 | |
| 
 | |
| /* Number of ACL buffers to assign to LE
 | |
|    if the HCI buffer pool is shared with BR/EDR */
 | |
| #ifndef L2C_DEF_NUM_BLE_BUF_SHARED
 | |
| #define L2C_DEF_NUM_BLE_BUF_SHARED      1
 | |
| #endif
 | |
| 
 | |
| /* Used by BTM when it sends HCI commands to the controller. */
 | |
| #ifndef BTM_CMD_BUF_SIZE
 | |
| #define BTM_CMD_BUF_SIZE                BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef OBX_LRG_DATA_BUF_SIZE
 | |
| #define OBX_LRG_DATA_BUF_SIZE           (8080 + 26)
 | |
| #endif
 | |
| 
 | |
| /* Used to send data to L2CAP. */
 | |
| #ifndef GAP_DATA_BUF_SIZE
 | |
| #define GAP_DATA_BUF_SIZE               BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* BNEP data and protocol messages. */
 | |
| #ifndef BNEP_BUF_SIZE
 | |
| #define BNEP_BUF_SIZE                   BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* AVDTP buffer size for protocol messages */
 | |
| #ifndef AVDT_CMD_BUF_SIZE
 | |
| #define AVDT_CMD_BUF_SIZE               BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* AVDTP buffer size for media packets in case of fragmentation */
 | |
| #ifndef AVDT_DATA_BUF_SIZE
 | |
| #define AVDT_DATA_BUF_SIZE              BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef PAN_BUF_SIZE
 | |
| #define PAN_BUF_SIZE                    BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of buffers to allocate for PAN */
 | |
| #ifndef PAN_BUF_MAX
 | |
| #define PAN_BUF_MAX                     100
 | |
| #endif
 | |
| 
 | |
| /* AVCTP buffer size for protocol messages */
 | |
| #ifndef AVCT_CMD_BUF_SIZE
 | |
| #define AVCT_CMD_BUF_SIZE               288
 | |
| #endif
 | |
| 
 | |
| /* AVRCP buffer size for protocol messages */
 | |
| #ifndef AVRC_CMD_BUF_SIZE
 | |
| #define AVRC_CMD_BUF_SIZE               288
 | |
| #endif
 | |
| 
 | |
| /* AVRCP Metadata buffer size for protocol messages */
 | |
| #ifndef AVRC_META_CMD_BUF_SIZE
 | |
| #define AVRC_META_CMD_BUF_SIZE          BT_SMALL_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_HL_LRG_DATA_BUF_SIZE
 | |
| #define BTA_HL_LRG_DATA_BUF_SIZE        (10240 + 24)
 | |
| #endif
 | |
| 
 | |
| /* GATT Server Database buffer size */
 | |
| #ifndef GATT_DB_BUF_SIZE
 | |
| #define GATT_DB_BUF_SIZE                128
 | |
| #endif
 | |
| 
 | |
| /* GATT Data sending buffer size */
 | |
| #ifndef GATT_DATA_BUF_SIZE
 | |
| #define GATT_DATA_BUF_SIZE              BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** HCI Services (H4)
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| /* Use 2 second for low-resolution systems, override to 1 for high-resolution systems */
 | |
| #ifndef BT_1SEC_TIMEOUT
 | |
| #define BT_1SEC_TIMEOUT             (2)
 | |
| #endif
 | |
| 
 | |
| /* Quick Timer */
 | |
| /* if L2CAP_FCR_INCLUDED is TRUE then it should have 100 millisecond resolution */
 | |
| /* if none of them is included then QUICK_TIMER_TICKS_PER_SEC is set to 0 to exclude quick timer */
 | |
| #ifndef QUICK_TIMER_TICKS_PER_SEC
 | |
| #define QUICK_TIMER_TICKS_PER_SEC   10       /* 100ms timer */
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** BTM
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| /* Cancel Inquiry on incoming SSP */
 | |
| #ifndef BTM_NO_SSP_ON_INQUIRY
 | |
| #define BTM_NO_SSP_ON_INQUIRY       FALSE
 | |
| #endif
 | |
| 
 | |
| /* Includes SCO if TRUE */
 | |
| #ifndef BTM_SCO_INCLUDED
 | |
| #define BTM_SCO_INCLUDED            FALSE	//TRUE       /* TRUE includes SCO code */
 | |
| #endif
 | |
| 
 | |
| /* Includes SCO if TRUE */
 | |
| #ifndef BTM_SCO_HCI_INCLUDED
 | |
| #define BTM_SCO_HCI_INCLUDED            FALSE       /* TRUE includes SCO over HCI code */
 | |
| #endif
 | |
| 
 | |
| /* Includes WBS if TRUE */
 | |
| #ifndef BTM_WBS_INCLUDED
 | |
| #define BTM_WBS_INCLUDED            FALSE       /* TRUE includes WBS code */
 | |
| #endif
 | |
| 
 | |
| /*  This is used to work around a controller bug that doesn't like Disconnect
 | |
| **  issued while there is a role switch in progress
 | |
| */
 | |
| #ifndef BTM_DISC_DURING_RS
 | |
| #define BTM_DISC_DURING_RS TRUE
 | |
| #endif
 | |
| 
 | |
| /**************************
 | |
| ** Initial SCO TX credit
 | |
| *************************/
 | |
| /* max TX SCO data packet size */
 | |
| #ifndef BTM_SCO_DATA_SIZE_MAX
 | |
| #define BTM_SCO_DATA_SIZE_MAX       240
 | |
| #endif
 | |
| 
 | |
| /* The size in bytes of the BTM inquiry database. 5 As Default */
 | |
| #ifndef BTM_INQ_DB_SIZE
 | |
| #define BTM_INQ_DB_SIZE             5
 | |
| #endif
 | |
| 
 | |
| /* The default scan mode */
 | |
| #ifndef BTM_DEFAULT_SCAN_TYPE
 | |
| #define BTM_DEFAULT_SCAN_TYPE       BTM_SCAN_TYPE_INTERLACED
 | |
| #endif
 | |
| 
 | |
| /* Should connections to unknown devices be allowed when not discoverable? */
 | |
| #ifndef BTM_ALLOW_CONN_IF_NONDISCOVER
 | |
| #define BTM_ALLOW_CONN_IF_NONDISCOVER   TRUE
 | |
| #endif
 | |
| 
 | |
| /* Sets the Page_Scan_Window:  the length of time that the device is performing a page scan. */
 | |
| #ifndef BTM_DEFAULT_CONN_WINDOW
 | |
| #define BTM_DEFAULT_CONN_WINDOW     0x0012
 | |
| #endif
 | |
| 
 | |
| /* Sets the Page_Scan_Activity:  the interval between the start of two consecutive page scans. */
 | |
| #ifndef BTM_DEFAULT_CONN_INTERVAL
 | |
| #define BTM_DEFAULT_CONN_INTERVAL   0x0800
 | |
| #endif
 | |
| 
 | |
| /* When automatic inquiry scan is enabled, this sets the inquiry scan window. */
 | |
| #ifndef BTM_DEFAULT_DISC_WINDOW
 | |
| #define BTM_DEFAULT_DISC_WINDOW     0x0012
 | |
| #endif
 | |
| 
 | |
| /* When automatic inquiry scan is enabled, this sets the inquiry scan interval. */
 | |
| #ifndef BTM_DEFAULT_DISC_INTERVAL
 | |
| #define BTM_DEFAULT_DISC_INTERVAL   0x0800
 | |
| #endif
 | |
| 
 | |
| /* 
 | |
| * {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}
 | |
| *
 | |
| * SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony)
 | |
| * MAJOR_CLASS:0x02 - PHONE
 | |
| * MINOR_CLASS:0x0C - SMART_PHONE
 | |
| *
 | |
| */
 | |
| #define BTA_DM_COD_SMARTPHONE {0x5A, 0x02, 0x0C}
 | |
| 
 | |
| /*
 | |
| * {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}
 | |
| *
 | |
| * SERVICE_CLASS:0x2C (Bit21 - Audio, Bit19 - Capturing)
 | |
| * MAJOR_CLASS:0x04 - Audio/Video
 | |
| * MINOR_CLASS:0x05 - LoudSpeaker
 | |
| */
 | |
| #define BTA_DM_COD_LOUDSPEAKER {0x2C, 0x04, 0x14}
 | |
| 
 | |
| /* Default class of device */
 | |
| #ifndef BTA_DM_COD
 | |
| #define BTA_DM_COD BTA_DM_COD_LOUDSPEAKER
 | |
| #endif
 | |
| 
 | |
| /* The number of SCO links. */
 | |
| #ifndef BTM_MAX_SCO_LINKS
 | |
| #if (CLASSIC_BT_INCLUDED == TRUE)
 | |
| #define BTM_MAX_SCO_LINKS           1	//3
 | |
| #else   ///CLASSIC_BT_INCLUDED == TRUE
 | |
| #define BTM_MAX_SCO_LINKS           0
 | |
| #endif  ///CLASSIC_BT_INCLUDED == TRUE
 | |
| #endif
 | |
| 
 | |
| /* The preferred type of SCO links (2-eSCO, 0-SCO). */
 | |
| #ifndef BTM_DEFAULT_SCO_MODE
 | |
| #define BTM_DEFAULT_SCO_MODE        2
 | |
| #endif
 | |
| 
 | |
| /* The number of security records for peer devices. 100 AS Default*/
 | |
| #ifndef BTM_SEC_MAX_DEVICE_RECORDS
 | |
| #if SMP_INCLUDED == TRUE
 | |
| #define BTM_SEC_MAX_DEVICE_RECORDS  15 // 100
 | |
| #else
 | |
| #define BTM_SEC_MAX_DEVICE_RECORDS  8
 | |
| #endif /* SMP_INCLUDED == TRUE */
 | |
| #endif
 | |
| 
 | |
| /* The number of security records for services. 32 AS Default*/
 | |
| #ifndef BTM_SEC_MAX_SERVICE_RECORDS
 | |
| #define BTM_SEC_MAX_SERVICE_RECORDS 8 // 32
 | |
| #endif
 | |
| 
 | |
| /* If True, force a retrieval of remote device name for each bond in case it's changed */
 | |
| #ifndef BTM_SEC_FORCE_RNR_FOR_DBOND
 | |
| #define BTM_SEC_FORCE_RNR_FOR_DBOND  FALSE
 | |
| #endif
 | |
| 
 | |
| /* Maximum device name length used in btm database. Up to 248*/
 | |
| #ifndef BTM_MAX_REM_BD_NAME_LEN
 | |
| #define BTM_MAX_REM_BD_NAME_LEN     64
 | |
| #endif
 | |
| 
 | |
| /* Maximum local device name length stored btm database.
 | |
|   '0' disables storage of the local name in BTM */
 | |
| #ifndef BTM_MAX_LOC_BD_NAME_LEN
 | |
| #define BTM_MAX_LOC_BD_NAME_LEN     64
 | |
| #endif
 | |
| 
 | |
| /* Fixed Default String. When this is defined as null string, the device's
 | |
|  * product model name is used as the default local name.
 | |
|  */
 | |
| #ifndef BTM_DEF_LOCAL_NAME
 | |
| #define BTM_DEF_LOCAL_NAME      ""
 | |
| #endif
 | |
| 
 | |
| /* Maximum service name stored with security authorization (0 if not needed) */
 | |
| #ifndef BTM_SEC_SERVICE_NAME_LEN
 | |
| #define BTM_SEC_SERVICE_NAME_LEN    BT_MAX_SERVICE_NAME_LEN
 | |
| #endif
 | |
| 
 | |
| /* Maximum length of the service name. */
 | |
| #ifndef BT_MAX_SERVICE_NAME_LEN
 | |
| #define BT_MAX_SERVICE_NAME_LEN     21
 | |
| #endif
 | |
| 
 | |
| /* ACL buffer size in HCI Host Buffer Size command. */
 | |
| #ifndef BTM_ACL_BUF_SIZE
 | |
| #define BTM_ACL_BUF_SIZE            0
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of clients that can register with the power manager. */
 | |
| #ifndef BTM_MAX_PM_RECORDS
 | |
| #define BTM_MAX_PM_RECORDS          2
 | |
| #endif
 | |
| 
 | |
| /* This is set to show debug trace messages for the power manager. */
 | |
| #ifndef BTM_PM_DEBUG
 | |
| #define BTM_PM_DEBUG                FALSE
 | |
| #endif
 | |
| 
 | |
| /* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */
 | |
| #ifndef BTM_SCO_WAKE_PARKED_LINK
 | |
| #define BTM_SCO_WAKE_PARKED_LINK    TRUE
 | |
| #endif
 | |
| 
 | |
| /* If the user does not respond to security process requests within this many seconds,
 | |
|  * a negative response would be sent automatically.
 | |
|  * 30 is LMP response timeout value */
 | |
| #ifndef BTM_SEC_TIMEOUT_VALUE
 | |
| #define BTM_SEC_TIMEOUT_VALUE           35
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of callbacks that can be registered using BTM_RegisterForVSEvents */
 | |
| #ifndef BTM_MAX_VSE_CALLBACKS
 | |
| #define BTM_MAX_VSE_CALLBACKS           3
 | |
| #endif
 | |
| 
 | |
| /******************************************
 | |
| **    Lisbon Features
 | |
| *******************************************/
 | |
| /* This is set to TRUE if the FEC is required for EIR packet. */
 | |
| #ifndef BTM_EIR_DEFAULT_FEC_REQUIRED
 | |
| #define BTM_EIR_DEFAULT_FEC_REQUIRED    TRUE
 | |
| #endif
 | |
| 
 | |
| /* The IO capability of the local device (for Simple Pairing) */
 | |
| #ifndef BTM_LOCAL_IO_CAPS
 | |
| #define BTM_LOCAL_IO_CAPS               BTM_IO_CAP_NONE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTM_LOCAL_IO_CAPS_BLE
 | |
| #if (BLE_INCLUDED == TRUE && SMP_INCLUDED == TRUE)
 | |
| #define BTM_LOCAL_IO_CAPS_BLE           BTM_IO_CAP_KBDISP
 | |
| #else
 | |
| #define BTM_LOCAL_IO_CAPS_BLE           4
 | |
| #endif  ///BLE_INCLUDED == TRUE && SMP_INCLUDED == TRUE
 | |
| #endif
 | |
| 
 | |
| /* The default MITM Protection Requirement (for Simple Pairing)
 | |
|  * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */
 | |
| #ifndef BTM_DEFAULT_AUTH_REQ
 | |
| #define BTM_DEFAULT_AUTH_REQ            BTM_AUTH_SP_NO
 | |
| #endif
 | |
| 
 | |
| /* The default MITM Protection Requirement for dedicated bonding using Simple Pairing
 | |
|  * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */
 | |
| #ifndef BTM_DEFAULT_DD_AUTH_REQ
 | |
| #define BTM_DEFAULT_DD_AUTH_REQ            BTM_AUTH_AP_YES
 | |
| #endif
 | |
| 
 | |
| /* Include Out-of-Band implementation for Simple Pairing */
 | |
| #ifndef BTM_OOB_INCLUDED
 | |
| #define BTM_OOB_INCLUDED                TRUE
 | |
| #endif
 | |
| 
 | |
| /* TRUE to include Sniff Subrating */
 | |
| #ifndef BTM_SSR_INCLUDED
 | |
| #define BTM_SSR_INCLUDED                FALSE
 | |
| #endif
 | |
| 
 | |
| /*************************
 | |
| ** End of Lisbon Features
 | |
| **************************/
 | |
| 
 | |
| /* 4.1/4.2 secure connections feature */
 | |
| #ifndef SC_MODE_INCLUDED
 | |
| #define SC_MODE_INCLUDED                TRUE
 | |
| #endif
 | |
| 
 | |
| /* Used for conformance testing ONLY */
 | |
| #ifndef BTM_BLE_CONFORMANCE_TESTING
 | |
| #define BTM_BLE_CONFORMANCE_TESTING           FALSE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** L2CAP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef L2CAP_CLIENT_INCLUDED
 | |
| #define L2CAP_CLIENT_INCLUDED FALSE
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of simultaneous applications that can register with LE L2CAP. */
 | |
| #ifndef BLE_MAX_L2CAP_CLIENTS
 | |
| #define BLE_MAX_L2CAP_CLIENTS           15
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /* The maximum number of simultaneous links that L2CAP can support. Up to 7*/
 | |
| #ifndef MAX_ACL_CONNECTIONS
 | |
| #define MAX_L2CAP_LINKS             5
 | |
| #else
 | |
| #define MAX_L2CAP_LINKS             MAX_ACL_CONNECTIONS
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of simultaneous channels that L2CAP can support. Up to 16*/
 | |
| #ifndef MAX_L2CAP_CHANNELS
 | |
| #if (CLASSIC_BT_INCLUDED == TRUE)
 | |
| #define MAX_L2CAP_CHANNELS          8
 | |
| #else
 | |
| #define MAX_L2CAP_CHANNELS          MAX_ACL_CONNECTIONS  //This is used in the BLE client when start connected with the peer device
 | |
| #endif   ///CLASSIC_BT_INCLUDED == TRUE
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of simultaneous applications that can register with L2CAP. */
 | |
| #ifndef MAX_L2CAP_CLIENTS
 | |
| #if (CLASSIC_BT_INCLUDED == TRUE)
 | |
| #define MAX_L2CAP_CLIENTS           8
 | |
| #else
 | |
| #define MAX_L2CAP_CLIENTS           1  //Not support to allocate a channel control block in BLE only mode
 | |
| #endif  ///CLASSIC_BT_INCLUDED == TRUE
 | |
| #endif
 | |
| 
 | |
| /* The number of seconds of link inactivity before a link is disconnected. */
 | |
| #ifndef L2CAP_LINK_INACTIVITY_TOUT
 | |
| #define L2CAP_LINK_INACTIVITY_TOUT  4
 | |
| #endif
 | |
| 
 | |
| /* The number of seconds of link inactivity after bonding before a link is disconnected. */
 | |
| #ifndef L2CAP_BONDING_TIMEOUT
 | |
| #define L2CAP_BONDING_TIMEOUT       3
 | |
| #endif
 | |
| 
 | |
| /* The time from the HCI connection complete to disconnect if no channel is established. */
 | |
| #ifndef L2CAP_LINK_STARTUP_TOUT
 | |
| #define L2CAP_LINK_STARTUP_TOUT     60
 | |
| #endif
 | |
| 
 | |
| /* The L2CAP MTU; must be in accord with the HCI ACL pool size. */
 | |
| #ifndef L2CAP_MTU_SIZE
 | |
| #define L2CAP_MTU_SIZE              1691
 | |
| #endif
 | |
| 
 | |
| /* The L2CAP MPS over Bluetooth; must be in accord with the FCR tx pool size and ACL down buffer size. */
 | |
| #ifndef L2CAP_MPS_OVER_BR_EDR
 | |
| #define L2CAP_MPS_OVER_BR_EDR       1010
 | |
| #endif
 | |
| 
 | |
| /* If host flow control enabled, this is the number of buffers the controller can have unacknowledged. */
 | |
| #ifndef L2CAP_HOST_FC_ACL_BUFS
 | |
| #define L2CAP_HOST_FC_ACL_BUFS      20
 | |
| #endif
 | |
| 
 | |
| /* This is set to enable L2CAP to  take the ACL link out of park mode when ACL data is to be sent. */
 | |
| #ifndef L2CAP_WAKE_PARKED_LINK
 | |
| #define L2CAP_WAKE_PARKED_LINK      TRUE
 | |
| #endif
 | |
| 
 | |
| /* Whether link wants to be the master or the slave. */
 | |
| #ifndef L2CAP_DESIRED_LINK_ROLE
 | |
| #define L2CAP_DESIRED_LINK_ROLE     HCI_ROLE_SLAVE
 | |
| #endif
 | |
| 
 | |
| /* Include Non-Flushable Packet Boundary Flag feature of Lisbon */
 | |
| #ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED
 | |
| #define L2CAP_NON_FLUSHABLE_PB_INCLUDED     TRUE
 | |
| #endif
 | |
| 
 | |
| /* Minimum number of ACL credit for high priority link */
 | |
| #ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA
 | |
| #define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA       5
 | |
| #endif
 | |
| 
 | |
| /* used for monitoring HCI ACL credit management */
 | |
| #ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG
 | |
| #define L2CAP_HCI_FLOW_CONTROL_DEBUG        TRUE
 | |
| #endif
 | |
| 
 | |
| /* Used for calculating transmit buffers off of */
 | |
| #ifndef L2CAP_NUM_XMIT_BUFFS
 | |
| #define L2CAP_NUM_XMIT_BUFFS                HCI_ACL_BUF_MAX
 | |
| #endif
 | |
| 
 | |
| /* Unicast Connectionless Data */
 | |
| #ifndef L2CAP_UCD_INCLUDED
 | |
| #define L2CAP_UCD_INCLUDED                  FALSE
 | |
| #endif
 | |
| 
 | |
| /* Unicast Connectionless Data MTU */
 | |
| #ifndef L2CAP_UCD_MTU
 | |
| #define L2CAP_UCD_MTU                       L2CAP_MTU_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Unicast Connectionless Data Idle Timeout */
 | |
| #ifndef L2CAP_UCD_IDLE_TIMEOUT
 | |
| #define L2CAP_UCD_IDLE_TIMEOUT              2
 | |
| #endif
 | |
| 
 | |
| /* Unicast Connectionless Data Idle Timeout */
 | |
| #ifndef L2CAP_UCD_CH_PRIORITY
 | |
| #define L2CAP_UCD_CH_PRIORITY               L2CAP_CHNL_PRIORITY_MEDIUM
 | |
| #endif
 | |
| 
 | |
| /* Used for features using fixed channels; set to zero if no fixed channels supported (BLE, etc.) */
 | |
| /* Excluding L2CAP signaling channel and UCD */
 | |
| #ifndef L2CAP_NUM_FIXED_CHNLS
 | |
| #if (CLASSIC_BT_INCLUDED == TRUE)
 | |
| #define L2CAP_NUM_FIXED_CHNLS               32
 | |
| #else
 | |
| #define L2CAP_NUM_FIXED_CHNLS               3   //There are just three fix channel in the BLE only mode(gatt,signal,smp)
 | |
| #endif  ///CLASSIC_BT_INCLUDED == TRUE
 | |
| #endif
 | |
| 
 | |
| /* First fixed channel supported */
 | |
| #ifndef L2CAP_FIRST_FIXED_CHNL
 | |
| #define L2CAP_FIRST_FIXED_CHNL              4
 | |
| #endif
 | |
| 
 | |
| #ifndef L2CAP_LAST_FIXED_CHNL
 | |
| #define L2CAP_LAST_FIXED_CHNL           (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
 | |
| #endif
 | |
| 
 | |
| /* Round Robin service channels in link */
 | |
| #ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE
 | |
| #define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE   TRUE
 | |
| #endif
 | |
| 
 | |
| /* Used for calculating transmit buffers off of */
 | |
| #ifndef L2CAP_NUM_XMIT_BUFFS
 | |
| #define L2CAP_NUM_XMIT_BUFFS                HCI_ACL_BUF_MAX
 | |
| #endif
 | |
| 
 | |
| /* used for monitoring eL2CAP data flow */
 | |
| #ifndef L2CAP_ERTM_STATS
 | |
| #define L2CAP_ERTM_STATS                    FALSE
 | |
| #endif
 | |
| 
 | |
| /* Used for conformance testing ONLY:  When TRUE lets scriptwrapper overwrite info response */
 | |
| #ifndef L2CAP_CONFORMANCE_TESTING
 | |
| #define L2CAP_CONFORMANCE_TESTING           FALSE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Max bytes per connection to buffer locally before dropping the
 | |
|  * connection if local client does not receive it  - default is 1MB
 | |
|  */
 | |
| #ifndef L2CAP_MAX_RX_BUFFER
 | |
| #define L2CAP_MAX_RX_BUFFER                 0x100000
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #ifndef TIMER_PARAM_TYPE
 | |
| #define TIMER_PARAM_TYPE    UINT32
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** BLE
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef BLE_INCLUDED
 | |
| #define BLE_INCLUDED            TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BLE_ANDROID_CONTROLLER_SCAN_FILTER
 | |
| #define BLE_ANDROID_CONTROLLER_SCAN_FILTER            TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef LOCAL_BLE_CONTROLLER_ID
 | |
| #define LOCAL_BLE_CONTROLLER_ID         (1)
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Toggles support for general LE privacy features such as remote address
 | |
|  * resolution, local address rotation etc.
 | |
|  */
 | |
| #ifndef BLE_PRIVACY_SPT
 | |
| #define BLE_PRIVACY_SPT         FALSE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Enables or disables support for local privacy (ex. address rotation)
 | |
|  */
 | |
| #ifndef BLE_LOCAL_PRIVACY_ENABLED
 | |
| #define BLE_LOCAL_PRIVACY_ENABLED         TRUE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Toggles support for vendor specific extensions such as RPA offloading,
 | |
|  * feature discovery, multi-adv etc.
 | |
|  */
 | |
| #ifndef BLE_VND_INCLUDED
 | |
| #define BLE_VND_INCLUDED        FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef BTM_BLE_ADV_TX_POWER
 | |
| #define BTM_BLE_ADV_TX_POWER {-21, -15, -7, 1, 9}
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #ifndef BLE_BATCH_SCAN_INCLUDED
 | |
| #define BLE_BATCH_SCAN_INCLUDED  TRUE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** ATT/GATT Protocol/Profile Settings
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef GATT_INCLUDED
 | |
| #if BLE_INCLUDED == TRUE
 | |
| #define GATT_INCLUDED TRUE
 | |
| #else
 | |
| #define GATT_INCLUDED FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_GATT_INCLUDED
 | |
| #if BLE_INCLUDED == TRUE
 | |
| #define BTA_GATT_INCLUDED TRUE
 | |
| #else
 | |
| #define BTA_GATT_INCLUDED FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #if BTA_GATT_INCLUDED == TRUE && BLE_INCLUDED == FALSE
 | |
| #error "can't have GATT without BLE"
 | |
| #endif
 | |
| 
 | |
| #ifndef BLE_LLT_INCLUDED
 | |
| #define BLE_LLT_INCLUDED    TRUE
 | |
| #endif
 | |
| 
 | |
| /* Added this marco to fixed the android 7.0 will lead to update connection parameters
 | |
|    collision when the slave sent the HCI_BLE_UPD_LL_CONN_PARAMS comment to the controller
 | |
|    request the master to update connection parameters directly. */
 | |
| #ifndef BLE_SLAVE_UPD_CONN_PARAMS
 | |
| #define BLE_SLAVE_UPD_CONN_PARAMS FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef ATT_INCLUDED
 | |
| #define ATT_INCLUDED         TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef ATT_DEBUG
 | |
| #define ATT_DEBUG           FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BLE_PERIPHERAL_MODE_SUPPORT
 | |
| #define BLE_PERIPHERAL_MODE_SUPPORT  TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef BLE_DELAY_REQUEST_ENC
 | |
| /* This flag is to work around IPHONE problem, We need to wait for iPhone ready
 | |
|    before send encryption request to iPhone */
 | |
| #define BLE_DELAY_REQUEST_ENC        FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef GAP_TRANSPORT_SUPPORTED
 | |
| #define GAP_TRANSPORT_SUPPORTED      GATT_TRANSPORT_LE_BR_EDR
 | |
| #endif
 | |
| 
 | |
| #ifndef GATTP_TRANSPORT_SUPPORTED
 | |
| #define GATTP_TRANSPORT_SUPPORTED    GATT_TRANSPORT_LE_BR_EDR
 | |
| #endif
 | |
| 
 | |
| #ifndef GATT_MAX_SR_PROFILES
 | |
| #define GATT_MAX_SR_PROFILES        8 /* max is 32 */
 | |
| #endif
 | |
| 
 | |
| #ifndef GATT_MAX_APPS
 | |
| #define GATT_MAX_APPS            8 /* MAX is 32 note: 2 apps used internally GATT and GAP */
 | |
| #endif
 | |
| 
 | |
| #ifndef GATT_MAX_PHY_CHANNEL
 | |
| #define GATT_MAX_PHY_CHANNEL        7
 | |
| #endif
 | |
| 
 | |
| /* Used for conformance testing ONLY */
 | |
| #ifndef GATT_CONFORMANCE_TESTING
 | |
| #define GATT_CONFORMANCE_TESTING           FALSE
 | |
| #endif
 | |
| 
 | |
| /* number of background connection device allowence, ideally to be the same as WL size
 | |
| */
 | |
| #ifndef GATT_MAX_BG_CONN_DEV
 | |
| #define GATT_MAX_BG_CONN_DEV        8 /*MAX is 32*/
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** GATT
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef GATTC_INCLUDED
 | |
| #if BLE_INCLUDED == TRUE
 | |
| #define GATTC_INCLUDED         FALSE
 | |
| #else
 | |
| #define GATTC_INCLUDED         FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifndef GATTS_INCLUDED
 | |
| #if BLE_INCLUDED == TRUE
 | |
| #define GATTS_INCLUDED         TRUE
 | |
| #else
 | |
| #define GATTS_INCLUDED         FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #if SMP_INCLUDED == TRUE && BLE_INCLUDED == FALSE
 | |
| #error "can't have SMP without BLE"
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** SMP
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef SMP_INCLUDED
 | |
| #if BLE_INCLUDED == TRUE
 | |
| #define SMP_INCLUDED         FALSE
 | |
| #else
 | |
| #define SMP_INCLUDED         FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #if SMP_INCLUDED == TRUE && BLE_INCLUDED == FALSE
 | |
| #error "can't have SMP without BLE"
 | |
| #endif
 | |
| 
 | |
| #ifndef SMP_DEBUG
 | |
| #define SMP_DEBUG            FALSE
 | |
| #endif
 | |
| 
 | |
| #ifndef SMP_DEFAULT_AUTH_REQ
 | |
| #define SMP_DEFAULT_AUTH_REQ    SMP_AUTH_NB_ENC_ONLY
 | |
| #endif
 | |
| 
 | |
| #ifndef SMP_MAX_ENC_KEY_SIZE
 | |
| #define SMP_MAX_ENC_KEY_SIZE    16
 | |
| #endif
 | |
| 
 | |
| #ifndef SMP_MIN_ENC_KEY_SIZE
 | |
| #define SMP_MIN_ENC_KEY_SIZE    7
 | |
| #endif
 | |
| 
 | |
| /* minimum link timeout after SMP pairing is done, leave room for key exchange
 | |
|    and racing condition for the following service connection.
 | |
|    Prefer greater than 0 second, and no less than default inactivity link idle
 | |
|    timer(L2CAP_LINK_INACTIVITY_TOUT) in l2cap) */
 | |
| #ifndef SMP_LINK_TOUT_MIN
 | |
| #if (L2CAP_LINK_INACTIVITY_TOUT > 0)
 | |
| #define SMP_LINK_TOUT_MIN               L2CAP_LINK_INACTIVITY_TOUT
 | |
| #else
 | |
| #define SMP_LINK_TOUT_MIN               2
 | |
| #endif
 | |
| #endif
 | |
| /******************************************************************************
 | |
| **
 | |
| ** SDP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef SDP_INCLUDED
 | |
| #define SDP_INCLUDED                FALSE //TRUE
 | |
| #endif
 | |
| 
 | |
| /* This is set to enable SDP server functionality. */
 | |
| #ifndef SDP_SERVER_ENABLED
 | |
| #if SDP_INCLUDED == TRUE
 | |
| #define SDP_SERVER_ENABLED          TRUE
 | |
| #else
 | |
| #define SDP_SERVER_ENABLED          FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| /* This is set to enable SDP client functionality. */
 | |
| #ifndef SDP_CLIENT_ENABLED
 | |
| #if SDP_INCLUDED == TRUE
 | |
| #define SDP_CLIENT_ENABLED          TRUE
 | |
| #else
 | |
| #define SDP_CLIENT_ENABLED          FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of SDP records the server can support. */
 | |
| #ifndef SDP_MAX_RECORDS
 | |
| #define SDP_MAX_RECORDS             6  /*max is 30*/
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of attributes in each record. */
 | |
| #ifndef SDP_MAX_REC_ATTR
 | |
| #define SDP_MAX_REC_ATTR            8
 | |
| #endif
 | |
| 
 | |
| #ifndef SDP_MAX_PAD_LEN
 | |
| #define SDP_MAX_PAD_LEN             300
 | |
| #endif
 | |
| 
 | |
| /* The maximum length, in bytes, of an attribute. */
 | |
| #ifndef SDP_MAX_ATTR_LEN
 | |
| #define SDP_MAX_ATTR_LEN            400
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of attribute filters supported by SDP databases. */
 | |
| #ifndef SDP_MAX_ATTR_FILTERS
 | |
| #define SDP_MAX_ATTR_FILTERS        15
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of UUID filters supported by SDP databases. */
 | |
| #ifndef SDP_MAX_UUID_FILTERS
 | |
| #define SDP_MAX_UUID_FILTERS        3
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of record handles retrieved in a search. */
 | |
| #ifndef SDP_MAX_DISC_SERVER_RECS
 | |
| #define SDP_MAX_DISC_SERVER_RECS    21
 | |
| #endif
 | |
| 
 | |
| /* The size of a scratchpad buffer, in bytes, for storing the response to an attribute request. */
 | |
| #ifndef SDP_MAX_LIST_BYTE_COUNT
 | |
| #define SDP_MAX_LIST_BYTE_COUNT     4096
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of parameters in an SDP protocol element. */
 | |
| #ifndef SDP_MAX_PROTOCOL_PARAMS
 | |
| #define SDP_MAX_PROTOCOL_PARAMS     2
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of simultaneous client and server connections. */
 | |
| #ifndef SDP_MAX_CONNECTIONS
 | |
| #define SDP_MAX_CONNECTIONS         2 // 4
 | |
| #endif
 | |
| 
 | |
| /* The MTU size for the L2CAP configuration. */
 | |
| #ifndef SDP_MTU_SIZE
 | |
| #define SDP_MTU_SIZE                672
 | |
| #endif
 | |
| 
 | |
| /* The flush timeout for the L2CAP configuration. */
 | |
| #ifndef SDP_FLUSH_TO
 | |
| #define SDP_FLUSH_TO                0xFFFF
 | |
| #endif
 | |
| 
 | |
| /* The name for security authorization. */
 | |
| #ifndef SDP_SERVICE_NAME
 | |
| #define SDP_SERVICE_NAME            "Service Discovery"
 | |
| #endif
 | |
| 
 | |
| /* The security level for BTM. */
 | |
| #ifndef SDP_SECURITY_LEVEL
 | |
| #define SDP_SECURITY_LEVEL          BTM_SEC_NONE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** RFCOMM
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef RFCOMM_INCLUDED
 | |
| #define RFCOMM_INCLUDED             FALSE
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of ports supported. */
 | |
| #ifndef MAX_RFC_PORTS
 | |
| #define MAX_RFC_PORTS               16 /*max is 30*/
 | |
| #endif
 | |
| 
 | |
| /* The maximum simultaneous links to different devices. */
 | |
| #ifndef MAX_ACL_CONNECTIONS
 | |
| #define MAX_BD_CONNECTIONS          3 /*max is 7*/
 | |
| #else
 | |
| #define MAX_BD_CONNECTIONS          MAX_ACL_CONNECTIONS
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue low watermark level, in bytes. */
 | |
| #ifndef PORT_RX_LOW_WM
 | |
| #define PORT_RX_LOW_WM              (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM)
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue high watermark level, in bytes. */
 | |
| #ifndef PORT_RX_HIGH_WM
 | |
| #define PORT_RX_HIGH_WM             (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM)
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue critical watermark level, in bytes. */
 | |
| #ifndef PORT_RX_CRITICAL_WM
 | |
| #define PORT_RX_CRITICAL_WM         (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM)
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue low watermark level, in number of buffers. */
 | |
| #ifndef PORT_RX_BUF_LOW_WM
 | |
| #define PORT_RX_BUF_LOW_WM          4
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue high watermark level, in number of buffers. */
 | |
| #ifndef PORT_RX_BUF_HIGH_WM
 | |
| #define PORT_RX_BUF_HIGH_WM         10
 | |
| #endif
 | |
| 
 | |
| /* The port receive queue critical watermark level, in number of buffers. */
 | |
| #ifndef PORT_RX_BUF_CRITICAL_WM
 | |
| #define PORT_RX_BUF_CRITICAL_WM     15
 | |
| #endif
 | |
| 
 | |
| /* The port transmit queue high watermark level, in bytes. */
 | |
| #ifndef PORT_TX_HIGH_WM
 | |
| #define PORT_TX_HIGH_WM             (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM)
 | |
| #endif
 | |
| 
 | |
| /* The port transmit queue critical watermark level, in bytes. */
 | |
| #ifndef PORT_TX_CRITICAL_WM
 | |
| #define PORT_TX_CRITICAL_WM         (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM)
 | |
| #endif
 | |
| 
 | |
| /* The port transmit queue high watermark level, in number of buffers. */
 | |
| #ifndef PORT_TX_BUF_HIGH_WM
 | |
| #define PORT_TX_BUF_HIGH_WM         10
 | |
| #endif
 | |
| 
 | |
| /* The port transmit queue high watermark level, in number of buffers. */
 | |
| #ifndef PORT_TX_BUF_CRITICAL_WM
 | |
| #define PORT_TX_BUF_CRITICAL_WM     15
 | |
| #endif
 | |
| 
 | |
| /* The RFCOMM multiplexer preferred flow control mechanism. */
 | |
| #ifndef PORT_FC_DEFAULT
 | |
| #define PORT_FC_DEFAULT             PORT_FC_CREDIT
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of credits receiver sends to peer when using credit-based flow control. */
 | |
| #ifndef PORT_CREDIT_RX_MAX
 | |
| #define PORT_CREDIT_RX_MAX          16
 | |
| #endif
 | |
| 
 | |
| /* The credit low watermark level. */
 | |
| #ifndef PORT_CREDIT_RX_LOW
 | |
| #define PORT_CREDIT_RX_LOW          8
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** OBEX
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| /*
 | |
|  * Buffer size to reassemble the SDU.
 | |
|  * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
 | |
|  */
 | |
| #ifndef OBX_USER_RX_BUF_SIZE
 | |
| #define OBX_USER_RX_BUF_SIZE    OBX_LRG_DATA_BUF_SIZE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Buffer size to hold the SDU.
 | |
|  * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
 | |
|  */
 | |
| #ifndef OBX_USER_TX_BUF_SIZE
 | |
| #define OBX_USER_TX_BUF_SIZE    OBX_LRG_DATA_BUF_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Buffer size used to hold MPS segments during SDU reassembly. */
 | |
| #ifndef OBX_FCR_RX_BUF_SIZE
 | |
| #define OBX_FCR_RX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Buffer size used to hold MPS segments used in (re)transmissions.
 | |
|  * The size of each buffer must be able to hold the maximum MPS segment size
 | |
|  * passed in L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) +
 | |
|  * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
 | |
|  */
 | |
| #ifndef OBX_FCR_TX_BUF_SIZE
 | |
| #define OBX_FCR_TX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* This option is application when OBX_14_INCLUDED=TRUE
 | |
| Size of the transmission window when using enhanced retransmission mode. Not used
 | |
| in basic and streaming modes. Range: 1 - 63
 | |
| */
 | |
| #ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR
 | |
| #define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR       20
 | |
| #endif
 | |
| 
 | |
| /* This option is application when OBX_14_INCLUDED=TRUE
 | |
| Number of transmission attempts for a single I-Frame before taking
 | |
| Down the connection. Used In ERTM mode only. Value is Ignored in basic and
 | |
| Streaming modes.
 | |
| Range: 0, 1-0xFF
 | |
| 0 - infinite retransmissions
 | |
| 1 - single transmission
 | |
| */
 | |
| #ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT
 | |
| #define OBX_FCR_OPT_MAX_TX_B4_DISCNT    20
 | |
| #endif
 | |
| 
 | |
| /* This option is application when OBX_14_INCLUDED=TRUE
 | |
| Retransmission Timeout
 | |
| Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF.
 | |
|  */
 | |
| #ifndef OBX_FCR_OPT_RETX_TOUT
 | |
| #define OBX_FCR_OPT_RETX_TOUT           2000
 | |
| #endif
 | |
| 
 | |
| /* This option is application when OBX_14_INCLUDED=TRUE
 | |
| Monitor Timeout
 | |
| Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF.
 | |
| */
 | |
| #ifndef OBX_FCR_OPT_MONITOR_TOUT
 | |
| #define OBX_FCR_OPT_MONITOR_TOUT        12000
 | |
| #endif
 | |
| 
 | |
| /* This option is application when OBX_14_INCLUDED=TRUE
 | |
| Maximum PDU payload size.
 | |
| Suggestion: The maximum amount of data that will fit into a 3-DH5 packet.
 | |
| Range: 2 octets
 | |
| */
 | |
| #ifndef OBX_FCR_OPT_MAX_PDU_SIZE
 | |
| #define OBX_FCR_OPT_MAX_PDU_SIZE        L2CAP_MPS_OVER_BR_EDR
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** BNEP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef BNEP_INCLUDED
 | |
| #define BNEP_INCLUDED               FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* BNEP status API call is used mainly to get the L2CAP handle */
 | |
| #ifndef BNEP_SUPPORTS_STATUS_API
 | |
| #define BNEP_SUPPORTS_STATUS_API            FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
| ** When BNEP connection changes roles after the connection is established
 | |
| ** we will do an authentication check again on the new role
 | |
| */
 | |
| #ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH
 | |
| #define BNEP_DO_AUTH_FOR_ROLE_SWITCH        FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /* Maximum number of protocol filters supported. */
 | |
| #ifndef BNEP_MAX_PROT_FILTERS
 | |
| #define BNEP_MAX_PROT_FILTERS       5
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of multicast filters supported. */
 | |
| #ifndef BNEP_MAX_MULTI_FILTERS
 | |
| #define BNEP_MAX_MULTI_FILTERS      5
 | |
| #endif
 | |
| 
 | |
| /* Minimum MTU size. */
 | |
| #ifndef BNEP_MIN_MTU_SIZE
 | |
| #define BNEP_MIN_MTU_SIZE           L2CAP_MTU_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Preferred MTU size. */
 | |
| #ifndef BNEP_MTU_SIZE
 | |
| #define BNEP_MTU_SIZE               BNEP_MIN_MTU_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of buffers allowed in transmit data queue. */
 | |
| #ifndef BNEP_MAX_XMITQ_DEPTH
 | |
| #define BNEP_MAX_XMITQ_DEPTH        20
 | |
| #endif
 | |
| 
 | |
| /* Maximum number BNEP of connections supported. */
 | |
| #ifndef BNEP_MAX_CONNECTIONS
 | |
| #define BNEP_MAX_CONNECTIONS        7
 | |
| #endif
 | |
| 
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** AVDTP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef AVDT_INCLUDED
 | |
| #define AVDT_INCLUDED               TRUE
 | |
| #endif
 | |
| 
 | |
| /* Include reporting capability in AVDTP */
 | |
| #ifndef AVDT_REPORTING
 | |
| #define AVDT_REPORTING              TRUE
 | |
| #endif
 | |
| 
 | |
| /* Include multiplexing capability in AVDTP */
 | |
| #ifndef AVDT_MULTIPLEXING
 | |
| #define AVDT_MULTIPLEXING           TRUE
 | |
| #endif
 | |
| 
 | |
| /* Number of simultaneous links to different peer devices. */
 | |
| #ifndef AVDT_NUM_LINKS
 | |
| #define AVDT_NUM_LINKS              2
 | |
| #endif
 | |
| 
 | |
| /* Number of simultaneous stream endpoints. */
 | |
| #ifndef AVDT_NUM_SEPS
 | |
| #define AVDT_NUM_SEPS               3
 | |
| #endif
 | |
| 
 | |
| /* Number of transport channels setup per media stream(audio or video) */
 | |
| #ifndef AVDT_NUM_CHANNELS
 | |
| 
 | |
| #if AVDT_REPORTING == TRUE
 | |
| /* signaling, media and reporting channels */
 | |
| #define AVDT_NUM_CHANNELS   3
 | |
| #else
 | |
| /* signaling and media channels */
 | |
| #define AVDT_NUM_CHANNELS   2
 | |
| #endif  // AVDT_REPORTING
 | |
| 
 | |
| #endif  // AVDT_NUM_CHANNELS
 | |
| 
 | |
| /* Number of transport channels setup by AVDT for all media streams
 | |
|  * AVDT_NUM_CHANNELS * Number of simultaneous streams.
 | |
|  */
 | |
| #ifndef AVDT_NUM_TC_TBL
 | |
| #define AVDT_NUM_TC_TBL             6
 | |
| #endif
 | |
| 
 | |
| /* Maximum size in bytes of the codec capabilities information element. */
 | |
| #ifndef AVDT_CODEC_SIZE
 | |
| #define AVDT_CODEC_SIZE             10
 | |
| #endif
 | |
| 
 | |
| /* Maximum size in bytes of the content protection information element. */
 | |
| #ifndef AVDT_PROTECT_SIZE
 | |
| #define AVDT_PROTECT_SIZE           90
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of GKI buffers in the fragment queue (for video frames).
 | |
|  * Must be less than the number of buffers in the buffer pool of size AVDT_DATA_POOL_SIZE */
 | |
| #ifndef AVDT_MAX_FRAG_COUNT
 | |
| #define AVDT_MAX_FRAG_COUNT         15
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** PAN
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef PAN_INCLUDED
 | |
| #define PAN_INCLUDED                     FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* This will enable the PANU role */
 | |
| #ifndef PAN_SUPPORTS_ROLE_PANU
 | |
| #define PAN_SUPPORTS_ROLE_PANU              FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* This will enable the GN role */
 | |
| #ifndef PAN_SUPPORTS_ROLE_GN
 | |
| #define PAN_SUPPORTS_ROLE_GN                FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* This will enable the NAP role */
 | |
| #ifndef PAN_SUPPORTS_ROLE_NAP
 | |
| #define PAN_SUPPORTS_ROLE_NAP               FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* This is just for debugging purposes */
 | |
| #ifndef PAN_SUPPORTS_DEBUG_DUMP
 | |
| #define PAN_SUPPORTS_DEBUG_DUMP             FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /* Maximum number of PAN connections allowed */
 | |
| #ifndef MAX_PAN_CONNS
 | |
| #define MAX_PAN_CONNS                    7
 | |
| #endif
 | |
| 
 | |
| /* Default service name for NAP role */
 | |
| #ifndef PAN_NAP_DEFAULT_SERVICE_NAME
 | |
| #define PAN_NAP_DEFAULT_SERVICE_NAME    "Network Access Point Service"
 | |
| #endif
 | |
| 
 | |
| /* Default service name for GN role */
 | |
| #ifndef PAN_GN_DEFAULT_SERVICE_NAME
 | |
| #define PAN_GN_DEFAULT_SERVICE_NAME     "Group Network Service"
 | |
| #endif
 | |
| 
 | |
| /* Default service name for PANU role */
 | |
| #ifndef PAN_PANU_DEFAULT_SERVICE_NAME
 | |
| #define PAN_PANU_DEFAULT_SERVICE_NAME   "PAN User Service"
 | |
| #endif
 | |
| 
 | |
| /* Default description for NAP role service */
 | |
| #ifndef PAN_NAP_DEFAULT_DESCRIPTION
 | |
| #define PAN_NAP_DEFAULT_DESCRIPTION     "NAP"
 | |
| #endif
 | |
| 
 | |
| /* Default description for GN role service */
 | |
| #ifndef PAN_GN_DEFAULT_DESCRIPTION
 | |
| #define PAN_GN_DEFAULT_DESCRIPTION      "GN"
 | |
| #endif
 | |
| 
 | |
| /* Default description for PANU role service */
 | |
| #ifndef PAN_PANU_DEFAULT_DESCRIPTION
 | |
| #define PAN_PANU_DEFAULT_DESCRIPTION    "PANU"
 | |
| #endif
 | |
| 
 | |
| /* Default Security level for PANU role. */
 | |
| #ifndef PAN_PANU_SECURITY_LEVEL
 | |
| #define PAN_PANU_SECURITY_LEVEL          0
 | |
| #endif
 | |
| 
 | |
| /* Default Security level for GN role. */
 | |
| #ifndef PAN_GN_SECURITY_LEVEL
 | |
| #define PAN_GN_SECURITY_LEVEL            0
 | |
| #endif
 | |
| 
 | |
| /* Default Security level for NAP role. */
 | |
| #ifndef PAN_NAP_SECURITY_LEVEL
 | |
| #define PAN_NAP_SECURITY_LEVEL           0
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** GAP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef GAP_INCLUDED
 | |
| #define GAP_INCLUDED                TRUE
 | |
| #endif
 | |
| 
 | |
| /* This is set to enable use of GAP L2CAP connections. */
 | |
| #ifndef GAP_CONN_INCLUDED
 | |
| #if (GAP_INCLUDED == TRUE && CLASSIC_BT_INCLUDED == TRUE)
 | |
| #define GAP_CONN_INCLUDED           TRUE
 | |
| #else
 | |
| #define GAP_CONN_INCLUDED           FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| /* This is set to enable posting event for data write */
 | |
| #ifndef GAP_CONN_POST_EVT_INCLUDED
 | |
| #define GAP_CONN_POST_EVT_INCLUDED  FALSE
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of simultaneous GAP L2CAP connections. */
 | |
| #ifndef GAP_MAX_CONNECTIONS
 | |
| #define GAP_MAX_CONNECTIONS         10 // 30
 | |
| #endif
 | |
| 
 | |
| /* keep the raw data received from SDP server in database. */
 | |
| #ifndef SDP_RAW_DATA_INCLUDED
 | |
| #define SDP_RAW_DATA_INCLUDED       TRUE
 | |
| #endif
 | |
| 
 | |
| /* Inquiry duration in 1.28 second units. */
 | |
| #ifndef SDP_DEBUG
 | |
| #define SDP_DEBUG                   TRUE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** HID
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef HID_CONTROL_BUF_SIZE
 | |
| #define HID_CONTROL_BUF_SIZE            BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_INTERRUPT_BUF_SIZE
 | |
| #define HID_INTERRUPT_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /*************************************************************************
 | |
| ** Definitions for Both HID-Host & Device
 | |
| */
 | |
| #ifndef HID_MAX_SVC_NAME_LEN
 | |
| #define HID_MAX_SVC_NAME_LEN  32
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_MAX_SVC_DESCR_LEN
 | |
| #define HID_MAX_SVC_DESCR_LEN 32
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_MAX_PROV_NAME_LEN
 | |
| #define HID_MAX_PROV_NAME_LEN 32
 | |
| #endif
 | |
| 
 | |
| /*************************************************************************
 | |
| ** Definitions for HID-Host
 | |
| */
 | |
| #ifndef  HID_HOST_INCLUDED
 | |
| #define HID_HOST_INCLUDED           FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_HOST_MAX_DEVICES
 | |
| #define HID_HOST_MAX_DEVICES        7
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_HOST_MTU
 | |
| #define HID_HOST_MTU                640
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_HOST_FLUSH_TO
 | |
| #define HID_HOST_FLUSH_TO                 0xffff
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_HOST_MAX_CONN_RETRY
 | |
| #define HID_HOST_MAX_CONN_RETRY     (3)
 | |
| #endif
 | |
| 
 | |
| #ifndef HID_HOST_REPAGE_WIN
 | |
| #define HID_HOST_REPAGE_WIN          (2)
 | |
| #endif
 | |
| 
 | |
| /*************************************************************************
 | |
|  * A2DP Definitions
 | |
|  */
 | |
| #ifndef A2D_INCLUDED
 | |
| #define A2D_INCLUDED            FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** AVCTP
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| /* Number of simultaneous ACL links to different peer devices. */
 | |
| #ifndef AVCT_NUM_LINKS
 | |
| #define AVCT_NUM_LINKS              2
 | |
| #endif
 | |
| 
 | |
| /* Number of simultaneous AVCTP connections. */
 | |
| #ifndef AVCT_NUM_CONN
 | |
| #define AVCT_NUM_CONN               3
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** AVRCP
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef AVRC_INCLUDED
 | |
| #define AVRC_INCLUDED               TRUE
 | |
| #endif
 | |
| 
 | |
| #ifndef AVRC_METADATA_INCLUDED
 | |
| #if AVRC_INCLUDED == TRUE
 | |
| #define AVRC_METADATA_INCLUDED      TRUE
 | |
| #else
 | |
| #define AVRC_METADATA_INCLUDED      FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifndef AVRC_ADV_CTRL_INCLUDED
 | |
| #if AVRC_INCLUDED == TRUE
 | |
| #define AVRC_ADV_CTRL_INCLUDED      TRUE
 | |
| #else
 | |
| #define AVRC_ADV_CTRL_INCLUDED      FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifndef AVRC_CTLR_INCLUDED
 | |
| #if AVRC_INCLUDED == TRUE
 | |
| #define AVRC_CTLR_INCLUDED          TRUE
 | |
| #else
 | |
| #define AVRC_CTLR_INCLUDED          FALSE
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** MCAP
 | |
| **
 | |
| ******************************************************************************/
 | |
| #ifndef MCA_INCLUDED
 | |
| #define MCA_INCLUDED                FALSE
 | |
| #endif
 | |
| 
 | |
| /* The MTU size for the L2CAP configuration on control channel. 48 is the minimal */
 | |
| #ifndef MCA_CTRL_MTU
 | |
| #define MCA_CTRL_MTU    60
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of registered MCAP instances. */
 | |
| #ifndef MCA_NUM_REGS
 | |
| #define MCA_NUM_REGS    12
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of control channels (to difference devices) per registered MCAP instances. */
 | |
| #ifndef MCA_NUM_LINKS
 | |
| #define MCA_NUM_LINKS   3
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of MDEP (including HDP echo) per registered MCAP instances. */
 | |
| #ifndef MCA_NUM_DEPS
 | |
| #define MCA_NUM_DEPS    13
 | |
| #endif
 | |
| 
 | |
| /* The maximum number of MDL link per control channel. */
 | |
| #ifndef MCA_NUM_MDLS
 | |
| #define MCA_NUM_MDLS    4
 | |
| #endif
 | |
| 
 | |
| /* Buffer size to reassemble the SDU. */
 | |
| #ifndef MCA_USER_RX_BUF_SIZE
 | |
| #define MCA_USER_RX_BUF_SIZE    BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* Buffer size to hold the SDU. */
 | |
| #ifndef MCA_USER_TX_BUF_SIZE
 | |
| #define MCA_USER_TX_BUF_SIZE    BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Buffer size used to hold MPS segments during SDU reassembly
 | |
|  */
 | |
| #ifndef MCA_FCR_RX_BUF_SIZE
 | |
| #define MCA_FCR_RX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Default buffer size used to hold MPS segments used in (re)transmissions.
 | |
|  * The size of each buffer must be able to hold the maximum MPS segment size
 | |
|  * passed in tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) +
 | |
|  * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
 | |
|  */
 | |
| #ifndef MCA_FCR_TX_BUF_SIZE
 | |
| #define MCA_FCR_TX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
 | |
| #endif
 | |
| 
 | |
| /* MCAP control channel FCR Option:
 | |
| Size of the transmission window when using enhanced retransmission mode.
 | |
| 1 is defined by HDP specification for control channel.
 | |
| */
 | |
| #ifndef MCA_FCR_OPT_TX_WINDOW_SIZE
 | |
| #define MCA_FCR_OPT_TX_WINDOW_SIZE      1
 | |
| #endif
 | |
| 
 | |
| /* MCAP control channel FCR Option:
 | |
| Number of transmission attempts for a single I-Frame before taking
 | |
| Down the connection. Used In ERTM mode only. Value is Ignored in basic and
 | |
| Streaming modes.
 | |
| Range: 0, 1-0xFF
 | |
| 0 - infinite retransmissions
 | |
| 1 - single transmission
 | |
| */
 | |
| #ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT
 | |
| #define MCA_FCR_OPT_MAX_TX_B4_DISCNT    20
 | |
| #endif
 | |
| 
 | |
| /* MCAP control channel FCR Option: Retransmission Timeout
 | |
| The AVRCP specification set a value in the range of 300 - 2000 ms
 | |
| Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode.
 | |
| Range: Minimum 2000 (2 secs) when supporting PBF.
 | |
|  */
 | |
| #ifndef MCA_FCR_OPT_RETX_TOUT
 | |
| #define MCA_FCR_OPT_RETX_TOUT           2000
 | |
| #endif
 | |
| 
 | |
| /* MCAP control channel FCR Option: Monitor Timeout
 | |
| The AVRCP specification set a value in the range of 300 - 2000 ms
 | |
| Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode.
 | |
| Range: Minimum 12000 (12 secs) when supporting PBF.
 | |
| */
 | |
| #ifndef MCA_FCR_OPT_MONITOR_TOUT
 | |
| #define MCA_FCR_OPT_MONITOR_TOUT        12000
 | |
| #endif
 | |
| 
 | |
| /* MCAP control channel FCR Option: Maximum PDU payload size.
 | |
| The maximum number of payload octets that the local device can receive in a single PDU.
 | |
| */
 | |
| #ifndef MCA_FCR_OPT_MPS_SIZE
 | |
| #define MCA_FCR_OPT_MPS_SIZE            1000
 | |
| #endif
 | |
| 
 | |
| /* Shared transport */
 | |
| #ifndef NFC_SHARED_TRANSPORT_ENABLED
 | |
| #define NFC_SHARED_TRANSPORT_ENABLED    FALSE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** Sleep Mode (Low Power Mode)
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #ifndef HCILP_INCLUDED
 | |
| #define HCILP_INCLUDED                  FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** APPL - Application Task
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| #define L2CAP_FEATURE_REQ_ID      73
 | |
| #define L2CAP_FEATURE_RSP_ID     173
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** BTA
 | |
| **
 | |
| ******************************************************************************/
 | |
| /* BTA EIR canned UUID list (default is dynamic) */
 | |
| #ifndef BTA_EIR_CANNED_UUID_LIST
 | |
| #define BTA_EIR_CANNED_UUID_LIST FALSE
 | |
| #endif
 | |
| 
 | |
| /* Number of supported customer UUID in EIR */
 | |
| #ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID
 | |
| #define BTA_EIR_SERVER_NUM_CUSTOM_UUID     8
 | |
| #endif
 | |
| 
 | |
| /* CHLD override for bluedroid */
 | |
| #ifndef BTA_AG_CHLD_VAL_ECC
 | |
| #define BTA_AG_CHLD_VAL_ECC  "(0,1,1x,2,2x,3)"
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_AG_CHLD_VAL
 | |
| #define BTA_AG_CHLD_VAL  "(0,1,2,3)"
 | |
| #endif
 | |
| 
 | |
| /* Set the CIND to match HFP 1.5 */
 | |
| #ifndef BTA_AG_CIND_INFO
 | |
| #define BTA_AG_CIND_INFO "(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"service\",(0-1)),(\"signal\",(0-5)),(\"roam\",(0,1)),(\"battchg\",(0-5)),(\"callheld\",(0-2))"
 | |
| #endif
 | |
| 
 | |
| #ifndef BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY
 | |
| #define BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| /******************************************************************************
 | |
| **
 | |
| ** Tracing:  Include trace header file here.
 | |
| **
 | |
| ******************************************************************************/
 | |
| 
 | |
| /* Enable/disable BTSnoop memory logging */
 | |
| #ifndef BTSNOOP_MEM
 | |
| #define BTSNOOP_MEM FALSE//TRUE
 | |
| #endif
 | |
| 
 | |
| #include "bt_trace.h"
 | |
| 
 | |
| #endif /* BT_TARGET_H */
 |