bt_target.h revision b7f64bc45dec7f7fec74ceb04874f322b9434bbf
15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
341d4a266ceca77bb09ab1bf5c04c30d15f3ded3aHemant Gupta *  Copyright (c) 2014 The Android Open Source Project
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 1999-2012 Broadcom Corporation
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_TARGET_H
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_TARGET_H
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BUILDCFG
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BUILDCFG
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if !defined(HAS_BDROID_BUILDCFG) && !defined(HAS_NO_BDROID_BUILDCFG)
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#error "An Android.mk file did not include bdroid_CFLAGS and possibly not bdorid_C_INCLUDES"
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef HAS_BDROID_BUILDCFG
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bdroid_buildcfg.h"
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3524ff5af9e40aaebc236bb6a16849c63bff0f23baSharvil Nanavati#include "bt_types.h"   /* This must be defined AFTER buildcfg.h */
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include common GKI definitions used by this platform */
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "dyn_mem.h"    /* defines static and/or dynamic memory for components */
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
407f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie//------------------Added from bdroid_buildcfg.h---------------------
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_EXTFEA_SUPPORTED_MASK
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS)
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTUI_OPS_FORMATS
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTUI_OPS_FORMATS (BTA_OP_VCARD21_MASK | BTA_OP_ANY_MASK)
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_RFC_MTU_SIZE
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_RFC_MTU_SIZE (L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SBC_NO_PCM_CPY_OPTION
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SBC_NO_PCM_CPY_OPTION FALSE
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_INCLUDED
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_INCLUDED TRUE
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_PAN_INCLUDED
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_PAN_INCLUDED TRUE
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HH_INCLUDED
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HH_INCLUDED TRUE
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HH_ROLE
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HH_ROLE BTA_MASTER_ROLE_PREF
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
732e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#ifndef BTA_HH_LE_INCLUDED
742e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#define BTA_HH_LE_INCLUDED TRUE
752e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#endif
762e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AR_INCLUDED
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AR_INCLUDED TRUE
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_INCLUDED
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_INCLUDED TRUE
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BTA_GATT_INCLUDED
867fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BTA_GATT_INCLUDED TRUE
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
896718c6d9fcfe373a679a529aca003d32062f81dclungtsai_lin#ifndef BTA_AV_SINK_INCLUDED
90e273daa4af2aa49ed23c172387ada70938c2130eAndre Eisenbach#define BTA_AV_SINK_INCLUDED FALSE
916718c6d9fcfe373a679a529aca003d32062f81dclungtsai_lin#endif
92f7dd9f5779680da37dc89e5df2b26d436487818cHemant Gupta
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DISABLE_DELAY
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DISABLE_DELAY 200 /* in milliseconds */
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SBC_FOR_EMBEDDED_LINUX
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SBC_FOR_EMBEDDED_LINUX TRUE
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_VERSION
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_VERSION  0x0102
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_AT_MAX_LEN
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_AT_MAX_LEN  512
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AVRCP_FF_RW_SUPPORT
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AVRCP_FF_RW_SUPPORT TRUE
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_SCO_PKT_TYPES
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#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)
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_RET_TOUT
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RET_TOUT 15
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_CO_CP_SCMS_T
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_CO_CP_SCMS_T  FALSE
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12547b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#ifndef BTIF_A2DP_SRC_SAMPLING_RATE
12647b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#define BTIF_A2DP_SRC_SAMPLING_RATE 44100
12747b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#endif
12847b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule
12947b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#ifndef BTIF_A2DP_SRC_BIT_DEPTH
13047b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#define BTIF_A2DP_SRC_BIT_DEPTH 16
13147b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#endif
13247b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule
13347b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#ifndef BTIF_A2DP_SRC_NUM_CHANNELS
13447b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#define BTIF_A2DP_SRC_NUM_CHANNELS 2
13547b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule#endif
13647b4310e6aa9a508b47e6cd4631327c53b464440Abhijit Adsule
1376fd198eefa3d99205cc888467f05e7985a8c3b7ePavlin Radoslavov/* This feature is used to enable interleaved scan */
1387f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#ifndef BTA_HOST_INTERLEAVE_SEARCH
1397f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#define BTA_HOST_INTERLEAVE_SEARCH FALSE
1407f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#endif
1417f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_USE_TRACES
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_USE_TRACES  TRUE
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_TRACE_VERBOSE
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_TRACE_VERBOSE  FALSE
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_SDP_DB_SIZE  8000
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HL_INCLUDED
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HL_INCLUDED  TRUE
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AG_VOICE_SETTINGS
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AG_VOICE_SETTINGS  HCI_DEFAULT_VOICE_SETTINGS
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTIF_DM_OOB_TEST
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTIF_DM_OOB_TEST  TRUE
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1657f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie
1660963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana// How long to wait before activating sniff mode after entering the
1670963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana// idle state for FTS, OPS connections
1680963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#ifndef BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS
1690963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#define BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS 7000
1700963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#endif
1710963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana
1727f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie//------------------End added from bdroid_buildcfg.h---------------------
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
17770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov** Buffer sizes
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
18170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef BT_DEFAULT_BUFFER_SIZE
18270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BT_DEFAULT_BUFFER_SIZE          (4096 + 16)
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
18570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef BT_SMALL_BUFFER_SIZE
18670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BT_SMALL_BUFFER_SIZE            660
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
18970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Receives HCI events from the lower-layer. */
19070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef HCI_CMD_BUF_SIZE
19170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define HCI_CMD_BUF_SIZE                BT_SMALL_BUFFER_SIZE
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends SDP data packets. */
1952e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef SDP_DATA_BUF_SIZE
19670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define SDP_DATA_BUF_SIZE               BT_DEFAULT_BUFFER_SIZE
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends RFCOMM command packets. */
2002e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef RFCOMM_CMD_BUF_SIZE
20170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define RFCOMM_CMD_BUF_SIZE             BT_SMALL_BUFFER_SIZE
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends RFCOMM data packets. */
2052e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef RFCOMM_DATA_BUF_SIZE
20670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define RFCOMM_DATA_BUF_SIZE            BT_DEFAULT_BUFFER_SIZE
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends L2CAP packets to the peer and HCI messages to the controller. */
2102e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef L2CAP_CMD_BUF_SIZE
21170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define L2CAP_CMD_BUF_SIZE              BT_SMALL_BUFFER_SIZE
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2141d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_USER_TX_BUF_SIZE
21570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define L2CAP_USER_TX_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
2161d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
2171d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
2181d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_USER_RX_BUF_SIZE
21970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define L2CAP_USER_RX_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
2201d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
2211d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends L2CAP segmented packets in ERTM mode */
2231d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_FCR_TX_BUF_SIZE
22470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define L2CAP_FCR_TX_BUF_SIZE           BT_DEFAULT_BUFFER_SIZE
2251d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
2261d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Receives L2CAP segmented packets in ERTM mode */
22870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef L2CAP_FCR_RX_BUF_SIZE
22970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define L2CAP_FCR_RX_BUF_SIZE           BT_DEFAULT_BUFFER_SIZE
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2322e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef L2CAP_FCR_ERTM_BUF_SIZE
2332e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#define L2CAP_FCR_ERTM_BUF_SIZE         (10240 + 24)
2342e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2352e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
23670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Number of ACL buffers to assign to LE */
23770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
23870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * TODO: Do we need this?
23970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It was used when the HCI buffers were shared with BR/EDR.
24070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
24112c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach#ifndef L2C_DEF_NUM_BLE_BUF_SHARED
24212c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach#define L2C_DEF_NUM_BLE_BUF_SHARED      1
24312c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach#endif
24412c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used by BTM when it sends HCI commands to the controller. */
2462e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BTM_CMD_BUF_SIZE
24770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BTM_CMD_BUF_SIZE                BT_SMALL_BUFFER_SIZE
2488372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
2498372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
25070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_LRG_DATA_BUF_SIZE
25170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define OBX_LRG_DATA_BUF_SIZE           (8080 + 26)
2528372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
2532e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used to send data to L2CAP. */
2552e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GAP_DATA_BUF_SIZE
25670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define GAP_DATA_BUF_SIZE               BT_DEFAULT_BUFFER_SIZE
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BNEP data and protocol messages. */
2602e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BNEP_BUF_SIZE
26170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BNEP_BUF_SIZE                   BT_DEFAULT_BUFFER_SIZE
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2642e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVDTP buffer size for protocol messages */
2652e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVDT_CMD_BUF_SIZE
26670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define AVDT_CMD_BUF_SIZE               BT_SMALL_BUFFER_SIZE
2672e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2682e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
26970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* AVDTP buffer size for media packets in case of fragmentation */
27070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef AVDT_DATA_BUF_SIZE
27170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define AVDT_DATA_BUF_SIZE              BT_DEFAULT_BUFFER_SIZE
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2742e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef PAN_BUF_SIZE
27570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define PAN_BUF_SIZE                    BT_DEFAULT_BUFFER_SIZE
2762e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2772e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
27870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Maximum number of buffers to allocate for PAN */
27970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef PAN_BUF_MAX
28070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define PAN_BUF_MAX                     100
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2832e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVCTP buffer size for protocol messages */
2842e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVCT_CMD_BUF_SIZE
28570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define AVCT_CMD_BUF_SIZE               288
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2882e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVRCP buffer size for protocol messages */
2892e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVRC_CMD_BUF_SIZE
29070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define AVRC_CMD_BUF_SIZE               288
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2932e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVRCP Metadata buffer size for protocol messages */
2942e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVRC_META_CMD_BUF_SIZE
29570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define AVRC_META_CMD_BUF_SIZE          BT_SMALL_BUFFER_SIZE
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2982e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BTA_HL_LRG_DATA_BUF_SIZE
2991d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#define BTA_HL_LRG_DATA_BUF_SIZE        (10240 + 24)
3002e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
3012e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
3022e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* GATT Server Database buffer size */
3032e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GATT_DB_BUF_SIZE
3042e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#define GATT_DB_BUF_SIZE                128
3052e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
3062e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
30770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* GATT Data sending buffer size */
3082e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GATT_DATA_BUF_SIZE
30970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define GATT_DATA_BUF_SIZE              BT_DEFAULT_BUFFER_SIZE
31017b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#endif
31117b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTM
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Cancel Inquiry on incoming SSP */
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_NO_SSP_ON_INQUIRY
32070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BTM_NO_SSP_ON_INQUIRY   FALSE
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Includes SCO if TRUE */
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_INCLUDED
32570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BTM_SCO_INCLUDED        TRUE    /* TRUE includes SCO code */
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Includes SCO if TRUE */
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_HCI_INCLUDED
33070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BTM_SCO_HCI_INCLUDED    FALSE   /* TRUE includes SCO over HCI code */
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Includes WBS if TRUE */
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_WBS_INCLUDED
33570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define BTM_WBS_INCLUDED        FALSE   /* TRUE includes WBS code */
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*  This is used to work around a controller bug that doesn't like Disconnect
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  issued while there is a role switch in progress
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DISC_DURING_RS
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DISC_DURING_RS TRUE
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/**************************
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Initial SCO TX credit
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*************************/
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* max TX SCO data packet size */
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_DATA_SIZE_MAX
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SCO_DATA_SIZE_MAX       240
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The size in bytes of the BTM inquiry database. */
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_INQ_DB_SIZE
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_INQ_DB_SIZE             40
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default scan mode */
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCAN_TYPE
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_SCAN_TYPE       BTM_SCAN_TYPE_INTERLACED
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Should connections to unknown devices be allowed when not discoverable? */
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_ALLOW_CONN_IF_NONDISCOVER
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_ALLOW_CONN_IF_NONDISCOVER   TRUE
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sets the Page_Scan_Window:  the length of time that the device is performing a page scan. */
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_WINDOW
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_CONN_WINDOW     0x0012
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sets the Page_Scan_Activity:  the interval between the start of two consecutive page scans. */
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_INTERVAL
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_CONN_INTERVAL   0x0800
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* When automatic inquiry scan is enabled, this sets the inquiry scan window. */
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_WINDOW
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_DISC_WINDOW     0x0012
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* When automatic inquiry scan is enabled, this sets the inquiry scan interval. */
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_INTERVAL
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_DISC_INTERVAL   0x0800
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default class of device
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony)
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MAJOR_CLASS:0x02 - PHONE
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MINOR_CLASS:0x0C - SMART_PHONE
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_COD
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_COD {0x5A, 0x02, 0x0C}
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of SCO links. */
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_SCO_LINKS
40290a32530e8b9908f2af64ce98931684fa20c061bNitin Srivastava#define BTM_MAX_SCO_LINKS           3
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The preferred type of SCO links (2-eSCO, 0-SCO). */
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCO_MODE
4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_SCO_MODE        2
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for peer devices. */
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_DEVICE_RECORDS
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_MAX_DEVICE_RECORDS  100
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for services. */
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_SERVICE_RECORDS
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_MAX_SERVICE_RECORDS 32
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* If True, force a retrieval of remote device name for each bond in case it's changed */
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_FORCE_RNR_FOR_DBOND
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_FORCE_RNR_FOR_DBOND  FALSE
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum device name length used in btm database. */
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_REM_BD_NAME_LEN
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_MAX_REM_BD_NAME_LEN     248
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum local device name length stored btm database.
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  '0' disables storage of the local name in BTM */
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_LOC_BD_NAME_LEN
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_MAX_LOC_BD_NAME_LEN     248
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4361e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie/* Fixed Default String. When this is defined as null string, the device's
4371e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie * product model name is used as the default local name.
4381e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie */
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEF_LOCAL_NAME
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEF_LOCAL_NAME      ""
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum service name stored with security authorization (0 if not needed) */
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_SERVICE_NAME_LEN
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_SERVICE_NAME_LEN    BT_MAX_SERVICE_NAME_LEN
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum length of the service name. */
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_MAX_SERVICE_NAME_LEN
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BT_MAX_SERVICE_NAME_LEN     21
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of clients that can register with the power manager. */
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_PM_RECORDS
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_MAX_PM_RECORDS          2
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to show debug trace messages for the power manager. */
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_PM_DEBUG
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_PM_DEBUG                FALSE
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_WAKE_PARKED_LINK
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SCO_WAKE_PARKED_LINK    TRUE
4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* If the user does not respond to security process requests within this many seconds,
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * a negative response would be sent automatically.
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 30 is LMP response timeout value */
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_TIMEOUT_VALUE
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_TIMEOUT_VALUE           35
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of callbacks that can be registered using BTM_RegisterForVSEvents */
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_VSE_CALLBACKS
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_MAX_VSE_CALLBACKS           3
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**    Lisbon Features
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************/
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if the FEC is required for EIR packet. */
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_EIR_DEFAULT_FEC_REQUIRED
4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_EIR_DEFAULT_FEC_REQUIRED    TRUE
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The IO capability of the local device (for Simple Pairing) */
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_LOCAL_IO_CAPS
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_LOCAL_IO_CAPS               BTM_IO_CAP_IO
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
49326fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#ifndef BTM_LOCAL_IO_CAPS_BLE
49426fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#define BTM_LOCAL_IO_CAPS_BLE           BTM_IO_CAP_KBDISP
49526fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#endif
49626fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default MITM Protection Requirement (for Simple Pairing)
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_AUTH_REQ
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_AUTH_REQ            BTM_AUTH_SP_NO
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default MITM Protection Requirement for dedicated bonding using Simple Pairing
5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */
5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DD_AUTH_REQ
5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DEFAULT_DD_AUTH_REQ            BTM_AUTH_AP_YES
5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* TRUE to include Sniff Subrating */
5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SSR_INCLUDED
5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SSR_INCLUDED                TRUE
5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** End of Lisbon Features
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**************************/
5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
518b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach/* 4.1/4.2 secure connections feature */
519b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#ifndef SC_MODE_INCLUDED
520b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#define SC_MODE_INCLUDED                TRUE
521b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#endif
522b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach
5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONFORMANCE_TESTING
5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONFORMANCE_TESTING           FALSE
5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** L2CAP
5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous links that L2CAP can support. */
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_L2CAP_LINKS             7
5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_L2CAP_LINKS             MAX_ACL_CONNECTIONS
5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous channels that L2CAP can support. */
5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CHANNELS
543ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define MAX_L2CAP_CHANNELS          16
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous applications that can register with L2CAP. */
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CLIENTS
5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_L2CAP_CLIENTS           15
5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of seconds of link inactivity before a link is disconnected. */
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_INACTIVITY_TOUT
5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_LINK_INACTIVITY_TOUT  4
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of seconds of link inactivity after bonding before a link is disconnected. */
5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_BONDING_TIMEOUT
5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_BONDING_TIMEOUT       3
5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The time from the HCI connection complete to disconnect if no channel is established. */
5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_STARTUP_TOUT
5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_LINK_STARTUP_TOUT     60
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
56670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* The L2CAP MTU; must be in accord with the HCI ACL buffer size. */
5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MTU_SIZE
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_MTU_SIZE              1691
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
57170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
57270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The L2CAP MPS over Bluetooth; must be in accord with the FCR tx buffer size
57370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * and ACL down buffer size.
57470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MPS_OVER_BR_EDR
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_MPS_OVER_BR_EDR       1010
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* If host flow control enabled, this is the number of buffers the controller can have unacknowledged. */
5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HOST_FC_ACL_BUFS
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_HOST_FC_ACL_BUFS      20
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to enable L2CAP to  take the ACL link out of park mode when ACL data is to be sent. */
5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_WAKE_PARKED_LINK
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_WAKE_PARKED_LINK      TRUE
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Whether link wants to be the master or the slave. */
5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_DESIRED_LINK_ROLE
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_DESIRED_LINK_ROLE     HCI_ROLE_SLAVE
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include Non-Flushable Packet Boundary Flag feature of Lisbon */
5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_NON_FLUSHABLE_PB_INCLUDED     TRUE
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum number of ACL credit for high priority link */
6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA
601689d66b6559dcb3a0ad7f6cc33b6129e50910253The Android Open Source Project#define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA       5
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring HCI ACL credit management */
6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_HCI_FLOW_CONTROL_DEBUG        TRUE
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data */
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_INCLUDED
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_UCD_INCLUDED                  FALSE
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data MTU */
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_MTU
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_UCD_MTU                       L2CAP_MTU_SIZE
6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_IDLE_TIMEOUT
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_UCD_IDLE_TIMEOUT              2
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_CH_PRIORITY
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_UCD_CH_PRIORITY               L2CAP_CHNL_PRIORITY_MEDIUM
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for features using fixed channels; set to zero if no fixed channels supported (BLE, etc.) */
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Excluding L2CAP signaling channel and UCD */
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NUM_FIXED_CHNLS
6328372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define L2CAP_NUM_FIXED_CHNLS               32
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* First fixed channel supported */
6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_FIRST_FIXED_CHNL
637444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#define L2CAP_FIRST_FIXED_CHNL              4
6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LAST_FIXED_CHNL
6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_LAST_FIXED_CHNL           (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Round Robin service channels in link */
6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE
6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE   TRUE
6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring eL2CAP data flow */
6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ERTM_STATS
6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_ERTM_STATS                    FALSE
6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY:  When TRUE lets scriptwrapper overwrite info response */
6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_CONFORMANCE_TESTING
6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define L2CAP_CONFORMANCE_TESTING           FALSE
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6598372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/*
6608372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * Max bytes per connection to buffer locally before dropping the
6618372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * connection if local client does not receive it  - default is 1MB
6628372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
6638372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef L2CAP_MAX_RX_BUFFER
6648372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define L2CAP_MAX_RX_BUFFER                 0x100000
6658372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
6668372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
6678372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BLE
6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6744af5f3e8f77e3719fac425134b7a14e527d1523cGanesh Ganapathi Batta#ifndef BLE_INCLUDED
675ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BLE_INCLUDED            TRUE
6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
678b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#ifndef BLE_ANDROID_CONTROLLER_SCAN_FILTER
679b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#define BLE_ANDROID_CONTROLLER_SCAN_FILTER            TRUE
680b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
681b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef LOCAL_BLE_CONTROLLER_ID
6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define LOCAL_BLE_CONTROLLER_ID         (1)
6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6863e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6873e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for general LE privacy features such as remote address
6883e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * resolution, local address rotation etc.
6893e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6907fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_PRIVACY_SPT
6910aee331900424ed23857ee2390fbb03338a60d91Chris Manton#define BLE_PRIVACY_SPT         TRUE
6928b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu#endif
6938b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu
6943e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6953e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Enables or disables support for local privacy (ex. address rotation)
6963e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6973e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#ifndef BLE_LOCAL_PRIVACY_ENABLED
6983e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#define BLE_LOCAL_PRIVACY_ENABLED         TRUE
6993e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#endif
7003e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach
7013e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
7023e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for vendor specific extensions such as RPA offloading,
7033e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * feature discovery, multi-adv etc.
7043e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
705ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#ifndef BLE_VND_INCLUDED
70616fe0822ccd3eb6f66d3afd9965d25a0a0cb4c30Prerepa Viswanadham#define BLE_VND_INCLUDED        FALSE
707ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#endif
708d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
709d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#ifndef BTM_BLE_ADV_TX_POWER
710d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#define BTM_BLE_ADV_TX_POWER {-21, -15, -7, 1, 9}
711d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#endif
712d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
7136721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar/* The maximum number of simultaneous applications that can register with LE L2CAP. */
7146721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#ifndef BLE_MAX_L2CAP_CLIENTS
7156721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#define BLE_MAX_L2CAP_CLIENTS           15
7166721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#endif
717d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** ATT/GATT Protocol/Profile Settings
7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
723597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#ifndef BTA_GATT_INCLUDED
724597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#if BLE_INCLUDED == TRUE
725597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#define BTA_GATT_INCLUDED TRUE
726597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#else
727597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#define BTA_GATT_INCLUDED FALSE
728597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#endif
729597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#endif
730597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen
731597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#if BTA_GATT_INCLUDED == TRUE && BLE_INCLUDED == FALSE
732597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#error "can't have GATT without BLE"
733597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen#endif
734597c5778ca69fec26c96bda48b83935c1a90660dMike J. Chen
7357fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_LLT_INCLUDED
7367fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BLE_LLT_INCLUDED    TRUE
7377fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
738e97508ef05277f7e2299793b51cd3df080a58527Chris Manton
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_INCLUDED
740ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define ATT_INCLUDED         TRUE
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_DEBUG
744ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define ATT_DEBUG           TRUE
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
747602162a13c6ed8abae53aee6deeda48b79f30911Zhihai Xu#ifndef BLE_PERIPHERAL_MODE_SUPPORT
7487fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#define BLE_PERIPHERAL_MODE_SUPPORT  TRUE
749602162a13c6ed8abae53aee6deeda48b79f30911Zhihai Xu#endif
750602162a13c6ed8abae53aee6deeda48b79f30911Zhihai Xu
7515702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#ifndef BLE_DELAY_REQUEST_ENC
7525702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu/* This flag is to work around IPHONE problem, We need to wait for iPhone ready
7535702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu   before send encryption request to iPhone */
7545702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#define BLE_DELAY_REQUEST_ENC        FALSE
7555702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#endif
7565702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu
757a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GAP_TRANSPORT_SUPPORTED
758a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#define GAP_TRANSPORT_SUPPORTED      GATT_TRANSPORT_LE_BR_EDR
759a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
760a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
761a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GATTP_TRANSPORT_SUPPORTED
762a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#define GATTP_TRANSPORT_SUPPORTED    GATT_TRANSPORT_LE_BR_EDR
763a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
764a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_SR_PROFILES
7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define GATT_MAX_SR_PROFILES        32 /* max is 32 */
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_APPS
770845961f2f710e5fdf1c08c0c1ccc1368eeb0f6c0Wei Wang#define GATT_MAX_APPS            32 /* note: 2 apps used internally GATT and GAP */
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_PHY_CHANNEL
7748dc42c603f5571047878640705eee18fa5396f11Andre Eisenbach#define GATT_MAX_PHY_CHANNEL        7
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_CONFORMANCE_TESTING
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define GATT_CONFORMANCE_TESTING           FALSE
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* number of background connection device allowence, ideally to be the same as WL size
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_BG_CONN_DEV
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define GATT_MAX_BG_CONN_DEV        32
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** SMP
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_INCLUDED
794a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#if BLE_INCLUDED == TRUE
795ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define SMP_INCLUDED         TRUE
796a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#else
797a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#define SMP_INCLUDED         FALSE
798a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#endif
799a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#endif
800a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen
801a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#if SMP_INCLUDED == TRUE && BLE_INCLUDED == FALSE
802a2c51a74369b0d88365abccfac59db754a28cbb7Mike J. Chen#error "can't have SMP without BLE"
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEBUG
806a7246ca21d7570a725a9b7781649d194357e474cAndre Eisenbach#define SMP_DEBUG            FALSE
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEFAULT_AUTH_REQ
8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SMP_DEFAULT_AUTH_REQ    SMP_AUTH_NB_ENC_ONLY
8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_MAX_ENC_KEY_SIZE
8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SMP_MAX_ENC_KEY_SIZE    16
8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
817444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji/* minimum link timeout after SMP pairing is done, leave room for key exchange
818444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   and racing condition for the following service connection.
819444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   Prefer greater than 0 second, and no less than default inactivity link idle
820444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   timer(L2CAP_LINK_INACTIVITY_TOUT) in l2cap) */
821444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#ifndef SMP_LINK_TOUT_MIN
822444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#if (L2CAP_LINK_INACTIVITY_TOUT > 0)
823444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#define SMP_LINK_TOUT_MIN               L2CAP_LINK_INACTIVITY_TOUT
824444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#else
825444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#define SMP_LINK_TOUT_MIN               2
826444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#endif
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** SDP
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to enable SDP server functionality. */
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVER_ENABLED
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_SERVER_ENABLED          TRUE
8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of SDP records the server can support. */
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_RECORDS
8418372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define SDP_MAX_RECORDS             30
8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attributes in each record. */
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_REC_ATTR
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_REC_ATTR            25
8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PAD_LEN
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_PAD_LEN             600
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum length, in bytes, of an attribute. */
8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_LEN
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_ATTR_LEN            400
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attribute filters supported by SDP databases. */
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_FILTERS
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_ATTR_FILTERS        15
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of UUID filters supported by SDP databases. */
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_UUID_FILTERS
8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_UUID_FILTERS        3
8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to enable SDP client functionality. */
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_CLIENT_ENABLED
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_CLIENT_ENABLED          TRUE
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of record handles retrieved in a search. */
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_DISC_SERVER_RECS
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_DISC_SERVER_RECS    21
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The size of a scratchpad buffer, in bytes, for storing the response to an attribute request. */
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_LIST_BYTE_COUNT
8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_LIST_BYTE_COUNT     4096
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of parameters in an SDP protocol element. */
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PROTOCOL_PARAMS
8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_PROTOCOL_PARAMS     2
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous client and server connections. */
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_CONNECTIONS
8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_MAX_CONNECTIONS         4
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The MTU size for the L2CAP configuration. */
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MTU_SIZE
895f8d46a639d847795bbe7b0a7878383da6318c064Matthew Xie#define SDP_MTU_SIZE                672
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The flush timeout for the L2CAP configuration. */
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_FLUSH_TO
9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_FLUSH_TO                0xFFFF
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The name for security authorization. */
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVICE_NAME
9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_SERVICE_NAME            "Service Discovery"
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The security level for BTM. */
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SECURITY_LEVEL
9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_SECURITY_LEVEL          BTM_SEC_NONE
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** RFCOMM
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of ports supported. */
9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_RFC_PORTS
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_RFC_PORTS               30
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum simultaneous links to different devices. */
9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_BD_CONNECTIONS          7
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_BD_CONNECTIONS          MAX_ACL_CONNECTIONS
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in bytes. */
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_LOW_WM
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_LOW_WM              (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM)
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in bytes. */
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_HIGH_WM
9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_HIGH_WM             (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM)
9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in bytes. */
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_CRITICAL_WM
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_CRITICAL_WM         (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM)
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in number of buffers. */
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_LOW_WM
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_BUF_LOW_WM          4
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in number of buffers. */
9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_HIGH_WM
9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_BUF_HIGH_WM         10
9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in number of buffers. */
9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_CRITICAL_WM
9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_RX_BUF_CRITICAL_WM     15
9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in bytes. */
9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_HIGH_WM
9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_TX_HIGH_WM             (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM)
9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue critical watermark level, in bytes. */
9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_CRITICAL_WM
9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_TX_CRITICAL_WM         (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM)
9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_HIGH_WM
9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_TX_BUF_HIGH_WM         10
9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_CRITICAL_WM
9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_TX_BUF_CRITICAL_WM     15
9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The RFCOMM multiplexer preferred flow control mechanism. */
9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_FC_DEFAULT
9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_FC_DEFAULT             PORT_FC_CREDIT
9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of credits receiver sends to peer when using credit-based flow control. */
9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_MAX
9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_CREDIT_RX_MAX          16
9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The credit low watermark level. */
9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_LOW
9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PORT_CREDIT_RX_LOW          8
9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
9988372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz** OBEX
9998372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz**
10008372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz******************************************************************************/
1001d232721ae5e5b6949a5249f0d116408b8a3c5f1dCasper Bonde
100270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
100370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to reassemble the SDU.
100470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
100570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
100670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_RX_BUF_SIZE
100770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define OBX_USER_RX_BUF_SIZE    OBX_LRG_DATA_BUF_SIZE
10088372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10098372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
101070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
101170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to hold the SDU.
101270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
101370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
101470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_TX_BUF_SIZE
101570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define OBX_USER_TX_BUF_SIZE    OBX_LRG_DATA_BUF_SIZE
10168372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10178372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
101870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size used to hold MPS segments during SDU reassembly. */
101970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_RX_BUF_SIZE
102070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define OBX_FCR_RX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
10218372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10228372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
102370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
102470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments used in (re)transmissions.
102570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
102670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) +
102770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
102870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
102970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_TX_BUF_SIZE
103070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define OBX_FCR_TX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
10318372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10328372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
103370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
103470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Size of the transmission window when using enhanced retransmission mode.
103570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Not used in basic and streaming modes. Range: 1 - 63
103670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10378372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR
10388372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR       20
10398372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10408372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
104170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
104270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Number of transmission attempts for a single I-Frame before taking
104370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Down the connection. Used In ERTM mode only. Value is Ignored in basic and
104470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Streaming modes.
104570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 0, 1-0xFF
104670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 0 - infinite retransmissions
104770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 1 - single transmission
104870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10498372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT
10508372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define OBX_FCR_OPT_MAX_TX_B4_DISCNT    20
10518372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10528372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
105370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
105470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Retransmission Timeout
105570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF.
10568372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
10578372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_RETX_TOUT
10588372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define OBX_FCR_OPT_RETX_TOUT           2000
10598372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10608372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
106170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
106270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Monitor Timeout
106370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF.
106470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10658372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MONITOR_TOUT
10668372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define OBX_FCR_OPT_MONITOR_TOUT        12000
10678372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10688372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
106970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
107070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Maximum PDU payload size.
107170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Suggestion: The maximum amount of data that will fit into a 3-DH5 packet.
107270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 2 octets
107370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10748372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_PDU_SIZE
10758372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define OBX_FCR_OPT_MAX_PDU_SIZE        L2CAP_MPS_OVER_BR_EDR
10768372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10778372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
10788372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
10798372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/******************************************************************************
10808372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz**
10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BNEP
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_INCLUDED
10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_INCLUDED               TRUE
10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BNEP status API call is used mainly to get the L2CAP handle */
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_SUPPORTS_STATUS_API
10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_SUPPORTS_STATUS_API            TRUE
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** When BNEP connection changes roles after the connection is established
10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** we will do an authentication check again on the new role
10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_DO_AUTH_FOR_ROLE_SWITCH        TRUE
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of protocol filters supported. */
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_PROT_FILTERS
11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MAX_PROT_FILTERS       5
11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of multicast filters supported. */
11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_MULTI_FILTERS
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MAX_MULTI_FILTERS      5
11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum MTU size. */
11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MIN_MTU_SIZE
11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MIN_MTU_SIZE           L2CAP_MTU_SIZE
11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Preferred MTU size. */
11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MTU_SIZE
11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MTU_SIZE               BNEP_MIN_MTU_SIZE
11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of buffers allowed in transmit data queue. */
11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_XMITQ_DEPTH
11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MAX_XMITQ_DEPTH        20
11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number BNEP of connections supported. */
11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_CONNECTIONS
11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BNEP_MAX_CONNECTIONS        7
11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** AVDTP
11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_INCLUDED
11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_INCLUDED               TRUE
11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include reporting capability in AVDTP */
11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_REPORTING
11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_REPORTING              TRUE
11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include multiplexing capability in AVDTP */
11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_MULTIPLEXING
11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_MULTIPLEXING           TRUE
11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous links to different peer devices. */
11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_LINKS
11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_NUM_LINKS              2
11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous stream endpoints. */
11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_SEPS
11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_NUM_SEPS               3
11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11646fd198eefa3d99205cc888467f05e7985a8c3b7ePavlin Radoslavov/* Number of transport channels setup by AVDT for all media streams */
11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_TC_TBL
11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_NUM_TC_TBL             6
11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum size in bytes of the codec capabilities information element. */
11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_CODEC_SIZE
11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_CODEC_SIZE             10
11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum size in bytes of the content protection information element. */
11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_PROTECT_SIZE
11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_PROTECT_SIZE           90
11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
117970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Maximum number of buffers in the fragment queue (for video frames). */
11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_MAX_FRAG_COUNT
11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVDT_MAX_FRAG_COUNT         15
11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** PAN
11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_INCLUDED
11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_INCLUDED                     TRUE
11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1194b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PAN_NAP_DISABLED
1195b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#define PAN_NAP_DISABLED                 FALSE
1196b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1197b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
1198b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PANU_DISABLED
1199b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#define PANU_DISABLED                    FALSE
1200b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1201b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the PANU role */
12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_PANU
12045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_SUPPORTS_ROLE_PANU              TRUE
12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the GN role */
12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_GN
12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_SUPPORTS_ROLE_GN                TRUE
12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the NAP role */
12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_NAP
12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_SUPPORTS_ROLE_NAP               TRUE
12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is just for debugging purposes */
12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_DEBUG_DUMP
12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_SUPPORTS_DEBUG_DUMP             TRUE
12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of PAN connections allowed */
12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_PAN_CONNS
12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MAX_PAN_CONNS                    7
12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for NAP role */
12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_SERVICE_NAME
12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_NAP_DEFAULT_SERVICE_NAME    "Network Access Point Service"
12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for GN role */
12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_SERVICE_NAME
12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_GN_DEFAULT_SERVICE_NAME     "Group Network Service"
12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for PANU role */
12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_SERVICE_NAME
12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_PANU_DEFAULT_SERVICE_NAME   "PAN User Service"
12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for NAP role service */
12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_DESCRIPTION
12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_NAP_DEFAULT_DESCRIPTION     "NAP"
12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for GN role service */
12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_DESCRIPTION
12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_GN_DEFAULT_DESCRIPTION      "GN"
12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for PANU role service */
12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_DESCRIPTION
12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_PANU_DEFAULT_DESCRIPTION    "PANU"
12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for PANU role. */
12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_SECURITY_LEVEL
12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_PANU_SECURITY_LEVEL          0
12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for GN role. */
12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_SECURITY_LEVEL
12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_GN_SECURITY_LEVEL            0
12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for NAP role. */
12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_SECURITY_LEVEL
12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define PAN_NAP_SECURITY_LEVEL           0
12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** GAP
12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12788372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_INCLUDED
12798372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define GAP_INCLUDED                TRUE
12808372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12818372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12828372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* This is set to enable use of GAP L2CAP connections. */
12838372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_CONN_INCLUDED
12848372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define GAP_CONN_INCLUDED           TRUE
12858372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12868372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12878372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* This is set to enable posting event for data write */
12888372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_CONN_POST_EVT_INCLUDED
12898372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define GAP_CONN_POST_EVT_INCLUDED  FALSE
12908372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12918372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12928372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* The maximum number of simultaneous GAP L2CAP connections. */
12938372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_MAX_CONNECTIONS
12948372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#define GAP_MAX_CONNECTIONS         30
12958372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12968372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* keep the raw data received from SDP server in database. */
12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_RAW_DATA_INCLUDED
12995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_RAW_DATA_INCLUDED       TRUE
13005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Inquiry duration in 1.28 second units. */
13035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_DEBUG
13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_DEBUG                   TRUE
13055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** HID
13105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13132e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_CONTROL_BUF_SIZE
131470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define HID_CONTROL_BUF_SIZE            BT_DEFAULT_BUFFER_SIZE
13155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13172e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_INTERRUPT_BUF_SIZE
131870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define HID_INTERRUPT_BUF_SIZE          BT_DEFAULT_BUFFER_SIZE
13195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Definitions for Both HID-Host & Device
13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_NAME_LEN
13255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_SVC_NAME_LEN  32
13265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_DESCR_LEN
13295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_SVC_DESCR_LEN 32
13305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_PROV_NAME_LEN
13335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_PROV_NAME_LEN 32
13345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
13375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Definitions for HID-Host
13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
13395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef  HID_HOST_INCLUDED
13405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_HOST_INCLUDED           TRUE
13415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_DEVICES
13445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_HOST_MAX_DEVICES        7
13455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MTU
13485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_HOST_MTU                640
13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_FLUSH_TO
13525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_HOST_FLUSH_TO                 0xffff
13535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_CONN_RETRY
1356b7d4613b3c1fae825b4c7ba94907c75513feb1c7Hemant Gupta#define HID_HOST_MAX_CONN_RETRY     (1)
13575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_REPAGE_WIN
13605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_HOST_REPAGE_WIN          (2)
13615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * A2DP Definitions
13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef A2D_INCLUDED
13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define A2D_INCLUDED            TRUE
13685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
13715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** AVCTP
13735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
13755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous ACL links to different peer devices. */
13775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_LINKS
13785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVCT_NUM_LINKS              2
13795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous AVCTP connections. */
13825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_CONN
13835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AVCT_NUM_CONN               3
13845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
13875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** AVRCP
13895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
13905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
13915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13929adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#ifndef AVRC_METADATA_INCLUDED
13939adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#define AVRC_METADATA_INCLUDED      TRUE
13949adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#endif
13959adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan
1396247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#ifndef AVRC_ADV_CTRL_INCLUDED
1397247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#define AVRC_ADV_CTRL_INCLUDED      TRUE
1398247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#endif
1399247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji
1400c6d93ada03e6f99421c4a8d6372b5c875ea7c040Marie Janssen#ifndef AVRC_CTRL_INCLUDED
1401c6d93ada03e6f99421c4a8d6372b5c875ea7c040Marie Janssen#define AVRC_CTRL_INCLUDED          TRUE
140293912473fde12ab5ab4b1be8774bbf43d47c7ddcMike Lockwood#endif
140393912473fde12ab5ab4b1be8774bbf43d47c7ddcMike Lockwood
1404b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef DUMP_PCM_DATA
1405b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#define DUMP_PCM_DATA               FALSE
1406b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1407b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
14085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
14095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** MCAP
14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
14125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_INCLUDED
14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_INCLUDED                FALSE
14155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The MTU size for the L2CAP configuration on control channel. 48 is the minimal */
14185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_CTRL_MTU
14195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_CTRL_MTU    60
14205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of registered MCAP instances. */
14235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_REGS
1424f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera#define MCA_NUM_REGS    12
14255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of control channels (to difference devices) per registered MCAP instances. */
14285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_LINKS
14295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_NUM_LINKS   3
14305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of MDEP (including HDP echo) per registered MCAP instances. */
14335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_DEPS
1434f8f30c2cecf221b2c3983b72d5a849d799c39dd7Priti Aghera#define MCA_NUM_DEPS    13
14355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of MDL link per control channel. */
14385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_MDLS
14395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_NUM_MDLS    4
14405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
144270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to reassemble the SDU. */
14431d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_RX_BUF_SIZE
144470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define MCA_USER_RX_BUF_SIZE    BT_DEFAULT_BUFFER_SIZE
14451d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
14461d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
144770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to hold the SDU. */
14481d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_TX_BUF_SIZE
144970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define MCA_USER_TX_BUF_SIZE    BT_DEFAULT_BUFFER_SIZE
14501d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
14511d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
14525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
145370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments during SDU reassembly
145470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
14551d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_FCR_RX_BUF_SIZE
145670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define MCA_FCR_RX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
14571d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
14581d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
14595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
146070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Default buffer size used to hold MPS segments used in (re)transmissions.
146170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
146270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) +
146370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
146470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
146570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef MCA_FCR_TX_BUF_SIZE
146670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#define MCA_FCR_TX_BUF_SIZE     BT_DEFAULT_BUFFER_SIZE
14675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
14705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectSize of the transmission window when using enhanced retransmission mode.
14715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 is defined by HDP specification for control channel.
14725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_TX_WINDOW_SIZE
14745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_FCR_OPT_TX_WINDOW_SIZE      1
14755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
14785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectNumber of transmission attempts for a single I-Frame before taking
14795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectDown the connection. Used In ERTM mode only. Value is Ignored in basic and
14805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectStreaming modes.
14815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: 0, 1-0xFF
14825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project0 - infinite retransmissions
14835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 - single transmission
14845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT
14865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_FCR_OPT_MAX_TX_B4_DISCNT    20
14875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Retransmission Timeout
14905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
14915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectTimeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode.
14925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 2000 (2 secs) when supporting PBF.
14935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
14945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_RETX_TOUT
14955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_FCR_OPT_RETX_TOUT           2000
14965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Monitor Timeout
14995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
15005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectTimeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode.
15015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 12000 (12 secs) when supporting PBF.
15025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
15035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MONITOR_TOUT
15045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_FCR_OPT_MONITOR_TOUT        12000
15055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Maximum PDU payload size.
15085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe maximum number of payload octets that the local device can receive in a single PDU.
15095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
15105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MPS_SIZE
15115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define MCA_FCR_OPT_MPS_SIZE            1000
15125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
15155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Sleep Mode (Low Power Mode)
15175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
15195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HCILP_INCLUDED
15215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HCILP_INCLUDED                  TRUE
15225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
15255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTA
15275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
15295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTA EIR canned UUID list (default is dynamic) */
15305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_CANNED_UUID_LIST
15315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_EIR_CANNED_UUID_LIST FALSE
15325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of supported customer UUID in EIR */
15355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID
15365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_EIR_SERVER_NUM_CUSTOM_UUID     8
15375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1539b7a077b6aa2af20e9505a7baf0b1d6dfa2ad24e6Andre Eisenbach/* CHLD override */
15405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL_ECC
15415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CHLD_VAL_ECC  "(0,1,1x,2,2x,3)"
15425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL
15455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AG_CHLD_VAL  "(0,1,2,3)"
15465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Set the CIND to match HFP 1.5 */
15495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CIND_INFO
15505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#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))"
15515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
15525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15539647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#ifndef BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY
15549647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#define BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY TRUE
15559647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#endif
15565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
15585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Tracing:  Include trace header file here.
15605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
15615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project******************************************************************************/
15625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15631bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach/* Enable/disable BTSnoop memory logging */
15641bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#ifndef BTSNOOP_MEM
15651bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#define BTSNOOP_MEM TRUE
15661bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#endif
15671bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach
15685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_trace.h"
15695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BT_TARGET_H */
1571