15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
341d4a266ceca77bb09ab1bf5c04c30d15f3ded3aHemant Gupta *  Copyright (c) 2014 The Android Open Source Project
4a408eb7227b7060aaa84b2dada7ddd9b6a955761Avish Shah *  Copyright (C) 1999-2016 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)
28c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#error \
29c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson    "An Android.mk file did not include bdroid_CFLAGS and possibly not bdroid_C_INCLUDES"
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef HAS_BDROID_BUILDCFG
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bdroid_buildcfg.h"
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
36c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#include "bt_types.h" /* This must be defined AFTER buildcfg.h */
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
387f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie//------------------Added from bdroid_buildcfg.h---------------------
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_EXTFEA_SUPPORTED_MASK
40c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_EXTFEA_SUPPORTED_MASK                                            \
41c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | \
42c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson   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
50c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_RFC_MTU_SIZE \
51c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  (L2CAP_MTU_SIZE - L2CAP_MIN_OFFSET - RFCOMM_DATA_OVERHEAD)
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_INCLUDED
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_INCLUDED TRUE
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_PAN_INCLUDED
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_PAN_INCLUDED TRUE
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef BTA_HD_INCLUDED
638843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define BTA_HD_INCLUDED TRUE
648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HH_INCLUDED
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HH_INCLUDED TRUE
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_HH_ROLE
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_HH_ROLE BTA_MASTER_ROLE_PREF
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
742e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#ifndef BTA_HH_LE_INCLUDED
752e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#define BTA_HH_LE_INCLUDED TRUE
762e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach#endif
772e7fa68bfd9723b7ec7b6b0b128d89f31a2e06eeAndre Eisenbach
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AR_INCLUDED
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AR_INCLUDED TRUE
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
826718c6d9fcfe373a679a529aca003d32062f81dclungtsai_lin#ifndef BTA_AV_SINK_INCLUDED
83e273daa4af2aa49ed23c172387ada70938c2130eAndre Eisenbach#define BTA_AV_SINK_INCLUDED FALSE
846718c6d9fcfe373a679a529aca003d32062f81dclungtsai_lin#endif
85f7dd9f5779680da37dc89e5df2b26d436487818cHemant Gupta
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DISABLE_DELAY
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DISABLE_DELAY 200 /* in milliseconds */
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SBC_FOR_EMBEDDED_LINUX
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SBC_FOR_EMBEDDED_LINUX TRUE
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_VERSION
95c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_VERSION 0x0102
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_AT_MAX_LEN
99c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_AT_MAX_LEN 512
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AVRCP_FF_RW_SUPPORT
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AVRCP_FF_RW_SUPPORT TRUE
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_SCO_PKT_TYPES
10757f6508cf7b22788fa2e7a739cec241b785718fbMudumba Ananth#define BTA_AG_SCO_PKT_TYPES                                     \
10857f6508cf7b22788fa2e7a739cec241b785718fbMudumba Ananth  (BTM_SCO_LINK_ONLY_MASK | ESCO_PKT_TYPES_MASK_EV3 |            \
10957f6508cf7b22788fa2e7a739cec241b785718fbMudumba Ananth   ESCO_PKT_TYPES_MASK_NO_3_EV3 | ESCO_PKT_TYPES_MASK_NO_2_EV5 | \
11057f6508cf7b22788fa2e7a739cec241b785718fbMudumba Ananth   ESCO_PKT_TYPES_MASK_NO_3_EV5)
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_RET_TOUT
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AV_RET_TOUT 15
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
117a62c5a302e54568a3d2c164a7dbef52f279512f2Pavlin Radoslavov/* TRUE to use SCMS-T content protection */
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AV_CO_CP_SCMS_T
119c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AV_CO_CP_SCMS_T FALSE
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1226fd198eefa3d99205cc888467f05e7985a8c3b7ePavlin Radoslavov/* This feature is used to enable interleaved scan */
1237f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#ifndef BTA_HOST_INTERLEAVE_SEARCH
1247f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#define BTA_HOST_INTERLEAVE_SEARCH FALSE
1257f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie#endif
1267f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE
128c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_DM_SDP_DB_SIZE 8000
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HL_INCLUDED
132c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HL_INCLUDED TRUE
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AG_VOICE_SETTINGS
136c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AG_VOICE_SETTINGS HCI_DEFAULT_VOICE_SETTINGS
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTIF_DM_OOB_TEST
140c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTIF_DM_OOB_TEST TRUE
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1427f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie
1430963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana// How long to wait before activating sniff mode after entering the
1440963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana// idle state for FTS, OPS connections
1450963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#ifndef BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS
1460963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#define BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS 7000
1470963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana#endif
1480963a67ffd53c8648ab61b0c8b0508391951ae7bFred Quintana
1497f3e42943b834ff0f556cd5c063a896f54d53167Matthew Xie//------------------End added from bdroid_buildcfg.h---------------------
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
152a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
153a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Buffer sizes
154a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
155a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef BT_DEFAULT_BUFFER_SIZE
158c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BT_DEFAULT_BUFFER_SIZE (4096 + 16)
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef BT_SMALL_BUFFER_SIZE
162c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BT_SMALL_BUFFER_SIZE 660
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
16570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Receives HCI events from the lower-layer. */
16670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef HCI_CMD_BUF_SIZE
167c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HCI_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends SDP data packets. */
1712e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef SDP_DATA_BUF_SIZE
172c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends RFCOMM command packets. */
1762e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef RFCOMM_CMD_BUF_SIZE
177c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define RFCOMM_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends RFCOMM data packets. */
1812e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef RFCOMM_DATA_BUF_SIZE
182c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define RFCOMM_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends L2CAP packets to the peer and HCI messages to the controller. */
1862e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef L2CAP_CMD_BUF_SIZE
187c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1901d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_USER_TX_BUF_SIZE
191c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_USER_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
1921d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
1931d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
1941d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_USER_RX_BUF_SIZE
195c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_USER_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
1961d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
1971d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Sends L2CAP segmented packets in ERTM mode */
1991d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef L2CAP_FCR_TX_BUF_SIZE
200c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
2011d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
2021d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Receives L2CAP segmented packets in ERTM mode */
20470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef L2CAP_FCR_RX_BUF_SIZE
205c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2082e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef L2CAP_FCR_ERTM_BUF_SIZE
209c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_FCR_ERTM_BUF_SIZE (10240 + 24)
2102e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2112e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
21270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Number of ACL buffers to assign to LE */
21370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
21470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * TODO: Do we need this?
21570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It was used when the HCI buffers were shared with BR/EDR.
21670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
21712c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach#ifndef L2C_DEF_NUM_BLE_BUF_SHARED
218c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2C_DEF_NUM_BLE_BUF_SHARED 1
21912c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach#endif
22012c3f496c3612472a22cbb0afd89812b154b4186Andre Eisenbach
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used by BTM when it sends HCI commands to the controller. */
2222e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BTM_CMD_BUF_SIZE
223c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
2248372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
2258372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
22670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_LRG_DATA_BUF_SIZE
227c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_LRG_DATA_BUF_SIZE (8080 + 26)
2288372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
2292e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used to send data to L2CAP. */
2312e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GAP_DATA_BUF_SIZE
232c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BNEP data and protocol messages. */
2362e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BNEP_BUF_SIZE
237c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2402e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVDTP buffer size for protocol messages */
2412e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVDT_CMD_BUF_SIZE
242c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
2432e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2442e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
2452e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef PAN_BUF_SIZE
246c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
2472e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2482e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
24970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Maximum number of buffers to allocate for PAN */
25070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef PAN_BUF_MAX
251c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_BUF_MAX 100
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2542e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVCTP buffer size for protocol messages */
2552e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVCT_CMD_BUF_SIZE
256c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVCT_CMD_BUF_SIZE 288
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2592e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVRCP buffer size for protocol messages */
2602e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVRC_CMD_BUF_SIZE
261c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_CMD_BUF_SIZE 288
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2642e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* AVRCP Metadata buffer size for protocol messages */
2652e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef AVRC_META_CMD_BUF_SIZE
266c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_META_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2692e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef BTA_HL_LRG_DATA_BUF_SIZE
270c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_HL_LRG_DATA_BUF_SIZE (10240 + 24)
2712e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2722e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
2732e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov/* GATT Server Database buffer size */
2742e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GATT_DB_BUF_SIZE
275c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_DB_BUF_SIZE 128
2762e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#endif
2772e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov
27870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* GATT Data sending buffer size */
2792e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef GATT_DATA_BUF_SIZE
280c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
28117b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach#endif
28217b04bd498405f2bb109a85562ebbdcb6bb06e95Andre Eisenbach
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
284a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
285a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BTM
286a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
287a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Cancel Inquiry on incoming SSP */
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_NO_SSP_ON_INQUIRY
291c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_NO_SSP_ON_INQUIRY FALSE
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Includes SCO if TRUE */
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_INCLUDED
296c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_INCLUDED TRUE /* TRUE includes SCO code */
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Includes SCO if TRUE */
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_HCI_INCLUDED
301c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_HCI_INCLUDED FALSE /* TRUE includes SCO over HCI code */
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*  This is used to work around a controller bug that doesn't like Disconnect
305a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *  issued while there is a role switch in progress
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DISC_DURING_RS
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DISC_DURING_RS TRUE
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/**************************
312a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Initial SCO TX credit
313a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson ************************/
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* max TX SCO data packet size */
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_DATA_SIZE_MAX
316c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_DATA_SIZE_MAX 240
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The size in bytes of the BTM inquiry database. */
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_INQ_DB_SIZE
321c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_INQ_DB_SIZE 40
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default scan mode */
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCAN_TYPE
326c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_SCAN_TYPE BTM_SCAN_TYPE_INTERLACED
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Should connections to unknown devices be allowed when not discoverable? */
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_ALLOW_CONN_IF_NONDISCOVER
331c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_ALLOW_CONN_IF_NONDISCOVER TRUE
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
334c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Sets the Page_Scan_Window:  the length of time that the device is performing
335c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * a page scan. */
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_WINDOW
337c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_CONN_WINDOW 0x0012
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
340c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Sets the Page_Scan_Activity:  the interval between the start of two
341c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * consecutive page scans. */
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_INTERVAL
343c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_CONN_INTERVAL 0x0800
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* When automatic inquiry scan is enabled, this sets the inquiry scan window. */
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_WINDOW
348c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DISC_WINDOW 0x0012
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
351c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* When automatic inquiry scan is enabled, this sets the inquiry scan interval.
352c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson */
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_INTERVAL
354c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DISC_INTERVAL 0x0800
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default class of device
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
360c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson* SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object
361c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson* Transfer,Bit22 -Telephony)
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MAJOR_CLASS:0x02 - PHONE
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MINOR_CLASS:0x0C - SMART_PHONE
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_COD
367c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_DM_COD \
368c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  { 0x5A, 0x02, 0x0C }
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of SCO links. */
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_SCO_LINKS
373c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_SCO_LINKS 3
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The preferred type of SCO links (2-eSCO, 0-SCO). */
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCO_MODE
378c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_SCO_MODE 2
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for peer devices. */
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_DEVICE_RECORDS
383c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_MAX_DEVICE_RECORDS 100
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for services. */
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_SERVICE_RECORDS
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_MAX_SERVICE_RECORDS 32
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
391c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If True, force a retrieval of remote device name for each bond in case it's
392c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * changed */
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_FORCE_RNR_FOR_DBOND
394c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_FORCE_RNR_FOR_DBOND FALSE
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum device name length used in btm database. */
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_REM_BD_NAME_LEN
399c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_REM_BD_NAME_LEN 248
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
402be43ee7658a5e6a5904da56e6735ffed5d4bf88fJakub Pawlowski/* Maximum local device name length stored btm database */
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_LOC_BD_NAME_LEN
404c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_LOC_BD_NAME_LEN 248
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4071e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie/* Fixed Default String. When this is defined as null string, the device's
4081e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie * product model name is used as the default local name.
4091e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie */
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEF_LOCAL_NAME
411c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEF_LOCAL_NAME ""
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum service name stored with security authorization (0 if not needed) */
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_SERVICE_NAME_LEN
416c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_SERVICE_NAME_LEN BT_MAX_SERVICE_NAME_LEN
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum length of the service name. */
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_MAX_SERVICE_NAME_LEN
421c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BT_MAX_SERVICE_NAME_LEN 21
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of clients that can register with the power manager. */
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_PM_RECORDS
426c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_PM_RECORDS 2
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to show debug trace messages for the power manager. */
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_PM_DEBUG
431c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_PM_DEBUG FALSE
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_WAKE_PARKED_LINK
436c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_WAKE_PARKED_LINK TRUE
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
439c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If the user does not respond to security process requests within this many
440c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * seconds,
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * a negative response would be sent automatically.
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 30 is LMP response timeout value */
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_TIMEOUT_VALUE
444c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_TIMEOUT_VALUE 35
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
447c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Maximum number of callbacks that can be registered using
448c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * BTM_RegisterForVSEvents */
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_VSE_CALLBACKS
450c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_VSE_CALLBACKS 3
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************
454a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *    Lisbon Features
455a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson ******************************************/
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if the FEC is required for EIR packet. */
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_EIR_DEFAULT_FEC_REQUIRED
458c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_EIR_DEFAULT_FEC_REQUIRED TRUE
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The IO capability of the local device (for Simple Pairing) */
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_LOCAL_IO_CAPS
463c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_LOCAL_IO_CAPS BTM_IO_CAP_IO
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
46626fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#ifndef BTM_LOCAL_IO_CAPS_BLE
467c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_LOCAL_IO_CAPS_BLE BTM_IO_CAP_KBDISP
46826fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#endif
46926fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default MITM Protection Requirement (for Simple Pairing)
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_AUTH_REQ
473c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_AUTH_REQ BTM_AUTH_SP_NO
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
476c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The default MITM Protection Requirement for dedicated bonding using Simple
477c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * Pairing
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DD_AUTH_REQ
480c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DD_AUTH_REQ BTM_AUTH_AP_YES
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* TRUE to include Sniff Subrating */
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SSR_INCLUDED
485c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SSR_INCLUDED TRUE
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************
489a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * End of Lisbon Features
490a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *************************/
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
492b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach/* 4.1/4.2 secure connections feature */
493b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#ifndef SC_MODE_INCLUDED
494c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SC_MODE_INCLUDED TRUE
495b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#endif
496b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONFORMANCE_TESTING
499c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_BLE_CONFORMANCE_TESTING FALSE
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
503a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
504a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * L2CAP
505a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
506a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous links that L2CAP can support. */
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
510c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_LINKS 7
5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
512c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_LINKS MAX_ACL_CONNECTIONS
5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous channels that L2CAP can support. */
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CHANNELS
517c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_CHANNELS 16
5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
520c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of simultaneous applications that can register with L2CAP.
521c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson */
5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CLIENTS
523c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_CLIENTS 15
5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of seconds of link inactivity before a link is disconnected. */
5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_INACTIVITY_TOUT
528c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LINK_INACTIVITY_TOUT 4
5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
531c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The number of seconds of link inactivity after bonding before a link is
532c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * disconnected. */
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_BONDING_TIMEOUT
534c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_BONDING_TIMEOUT 3
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
537c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The time from the HCI connection complete to disconnect if no channel is
538c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * established. */
5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_STARTUP_TOUT
540c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LINK_STARTUP_TOUT 60
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
54370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* The L2CAP MTU; must be in accord with the HCI ACL buffer size. */
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MTU_SIZE
545c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MTU_SIZE 1691
5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
54870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
54970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The L2CAP MPS over Bluetooth; must be in accord with the FCR tx buffer size
55070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * and ACL down buffer size.
55170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MPS_OVER_BR_EDR
553c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MPS_OVER_BR_EDR 1010
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
556c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If host flow control enabled, this is the number of buffers the controller
557c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * can have unacknowledged. */
5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HOST_FC_ACL_BUFS
559c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HOST_FC_ACL_BUFS 20
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
562c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* This is set to enable L2CAP to  take the ACL link out of park mode when ACL
563c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * data is to be sent. */
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_WAKE_PARKED_LINK
565c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_WAKE_PARKED_LINK TRUE
5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Whether link wants to be the master or the slave. */
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_DESIRED_LINK_ROLE
570c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_DESIRED_LINK_ROLE HCI_ROLE_SLAVE
5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include Non-Flushable Packet Boundary Flag feature of Lisbon */
5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED
575c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_NON_FLUSHABLE_PB_INCLUDED TRUE
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum number of ACL credit for high priority link */
5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA
580c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 5
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring HCI ACL credit management */
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG
585c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HCI_FLOW_CONTROL_DEBUG TRUE
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data */
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_INCLUDED
590c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_INCLUDED FALSE
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data MTU */
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_MTU
595c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_MTU L2CAP_MTU_SIZE
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_IDLE_TIMEOUT
600c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_IDLE_TIMEOUT 2
6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_CH_PRIORITY
605c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_CH_PRIORITY L2CAP_CHNL_PRIORITY_MEDIUM
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
608c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Used for features using fixed channels; set to zero if no fixed channels
609c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * supported (BLE, etc.) */
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Excluding L2CAP signaling channel and UCD */
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NUM_FIXED_CHNLS
612c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_NUM_FIXED_CHNLS 32
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* First fixed channel supported */
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_FIRST_FIXED_CHNL
617c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_FIRST_FIXED_CHNL 4
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LAST_FIXED_CHNL
621c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LAST_FIXED_CHNL \
622c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Round Robin service channels in link */
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE
627c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE TRUE
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring eL2CAP data flow */
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ERTM_STATS
632c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_ERTM_STATS FALSE
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
635c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Used for conformance testing ONLY:  When TRUE lets scriptwrapper overwrite
636c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * info response */
6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_CONFORMANCE_TESTING
638c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_CONFORMANCE_TESTING FALSE
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6418372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/*
6428372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * Max bytes per connection to buffer locally before dropping the
6438372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * connection if local client does not receive it  - default is 1MB
6448372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
6458372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef L2CAP_MAX_RX_BUFFER
646c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MAX_RX_BUFFER 0x100000
6478372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
6488372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
650a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
651a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BLE
652a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
653a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef LOCAL_BLE_CONTROLLER_ID
656c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define LOCAL_BLE_CONTROLLER_ID (1)
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6593e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6603e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for general LE privacy features such as remote address
6613e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * resolution, local address rotation etc.
6623e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6637fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_PRIVACY_SPT
664c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_PRIVACY_SPT TRUE
6658b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu#endif
6668b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu
6673e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6683e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Enables or disables support for local privacy (ex. address rotation)
6693e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6703e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#ifndef BLE_LOCAL_PRIVACY_ENABLED
671c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_LOCAL_PRIVACY_ENABLED TRUE
6723e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#endif
6733e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach
6743e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6753e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for vendor specific extensions such as RPA offloading,
6763e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * feature discovery, multi-adv etc.
6773e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
678ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#ifndef BLE_VND_INCLUDED
679c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_VND_INCLUDED FALSE
680ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#endif
681d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
682d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#ifndef BTM_BLE_ADV_TX_POWER
683c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_BLE_ADV_TX_POWER \
684c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  { -21, -15, -7, 1, 9 }
685d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#endif
686d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
687c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of simultaneous applications that can register with LE
688c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * L2CAP. */
6896721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#ifndef BLE_MAX_L2CAP_CLIENTS
690c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_MAX_L2CAP_CLIENTS 15
6916721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#endif
692d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
694a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
695a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * ATT/GATT Protocol/Profile Settings
696a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
697a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
6987fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_LLT_INCLUDED
699c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_LLT_INCLUDED TRUE
7007fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
701e97508ef05277f7e2299793b51cd3df080a58527Chris Manton
7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_INCLUDED
703c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define ATT_INCLUDED TRUE
7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_DEBUG
707c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define ATT_DEBUG TRUE
7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7105702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#ifndef BLE_DELAY_REQUEST_ENC
7115702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu/* This flag is to work around IPHONE problem, We need to wait for iPhone ready
7125702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu   before send encryption request to iPhone */
713c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_DELAY_REQUEST_ENC FALSE
7145702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#endif
7155702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu
716a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GAP_TRANSPORT_SUPPORTED
717c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR
718a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
719a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
720a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GATTP_TRANSPORT_SUPPORTED
721c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATTP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR
722a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
723a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_SR_PROFILES
725c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_SR_PROFILES 32 /* max is 32 */
7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_APPS
729c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_APPS 32 /* note: 2 apps used internally GATT and GAP */
7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_PHY_CHANNEL
733c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_PHY_CHANNEL 7
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_CONFORMANCE_TESTING
738c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_CONFORMANCE_TESTING FALSE
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
742a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
743a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * SMP
744a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
745a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEBUG
747c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_DEBUG FALSE
7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEFAULT_AUTH_REQ
751c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_DEFAULT_AUTH_REQ SMP_AUTH_NB_ENC_ONLY
7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_MAX_ENC_KEY_SIZE
755c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_MAX_ENC_KEY_SIZE 16
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
758444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji/* minimum link timeout after SMP pairing is done, leave room for key exchange
759444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   and racing condition for the following service connection.
760444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   Prefer greater than 0 second, and no less than default inactivity link idle
761444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   timer(L2CAP_LINK_INACTIVITY_TOUT) in l2cap) */
762444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#ifndef SMP_LINK_TOUT_MIN
763444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#if (L2CAP_LINK_INACTIVITY_TOUT > 0)
764c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_LINK_TOUT_MIN L2CAP_LINK_INACTIVITY_TOUT
765444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#else
766c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_LINK_TOUT_MIN 2
767444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#endif
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
770a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
771a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * SDP
772a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
773a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to enable SDP server functionality. */
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVER_ENABLED
777c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SERVER_ENABLED TRUE
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of SDP records the server can support. */
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_RECORDS
782c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_RECORDS 30
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attributes in each record. */
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_REC_ATTR
787c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_REC_ATTR 25
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PAD_LEN
791c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_PAD_LEN 600
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum length, in bytes, of an attribute. */
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_LEN
796c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_ATTR_LEN 400
7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attribute filters supported by SDP databases. */
8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_FILTERS
801c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_ATTR_FILTERS 15
8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of UUID filters supported by SDP databases. */
8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_UUID_FILTERS
806c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_UUID_FILTERS 3
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of record handles retrieved in a search. */
8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_DISC_SERVER_RECS
811c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_DISC_SERVER_RECS 21
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
814c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The size of a scratchpad buffer, in bytes, for storing the response to an
815c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * attribute request. */
8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_LIST_BYTE_COUNT
817c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_LIST_BYTE_COUNT 4096
8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of parameters in an SDP protocol element. */
8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PROTOCOL_PARAMS
822c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_PROTOCOL_PARAMS 2
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous client and server connections. */
8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_CONNECTIONS
827c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_CONNECTIONS 4
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The MTU size for the L2CAP configuration. */
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MTU_SIZE
832c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MTU_SIZE 672
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The flush timeout for the L2CAP configuration. */
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_FLUSH_TO
837c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_FLUSH_TO 0xFFFF
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The name for security authorization. */
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVICE_NAME
842c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SERVICE_NAME "Service Discovery"
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The security level for BTM. */
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SECURITY_LEVEL
847c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SECURITY_LEVEL BTM_SEC_NONE
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
851a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
852a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * RFCOMM
853a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
854a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of ports supported. */
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_RFC_PORTS
858c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_RFC_PORTS 30
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum simultaneous links to different devices. */
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
863c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_BD_CONNECTIONS 7
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
865c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_BD_CONNECTIONS MAX_ACL_CONNECTIONS
8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in bytes. */
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_LOW_WM
870c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_LOW_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM)
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in bytes. */
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_HIGH_WM
875c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM)
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in bytes. */
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_CRITICAL_WM
880c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM)
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in number of buffers. */
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_LOW_WM
885c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_LOW_WM 4
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in number of buffers. */
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_HIGH_WM
890c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_HIGH_WM 10
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in number of buffers. */
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_CRITICAL_WM
895c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_CRITICAL_WM 15
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in bytes. */
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_HIGH_WM
900c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM)
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue critical watermark level, in bytes. */
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_CRITICAL_WM
905c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM)
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_HIGH_WM
910c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_BUF_HIGH_WM 10
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_CRITICAL_WM
915c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_BUF_CRITICAL_WM 15
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The RFCOMM multiplexer preferred flow control mechanism. */
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_FC_DEFAULT
920c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_FC_DEFAULT PORT_FC_CREDIT
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
923c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of credits receiver sends to peer when using credit-based
924c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * flow control. */
9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_MAX
926c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_CREDIT_RX_MAX 16
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The credit low watermark level. */
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_LOW
931c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_CREDIT_RX_LOW 8
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
935a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
936a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * OBEX
937a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
938a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
939d232721ae5e5b6949a5249f0d116408b8a3c5f1dCasper Bonde
94070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
94170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to reassemble the SDU.
94270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
94370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
94470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_RX_BUF_SIZE
945c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_USER_RX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE
9468372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9478372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
94870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
94970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to hold the SDU.
95070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
95170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
95270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_TX_BUF_SIZE
953c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_USER_TX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE
9548372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9558372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
95670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size used to hold MPS segments during SDU reassembly. */
95770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_RX_BUF_SIZE
958c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
9598372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9608372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
96170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
96270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments used in (re)transmissions.
96370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
96470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) +
96570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
96670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
96770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_TX_BUF_SIZE
968c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
9698372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9708372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
97170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
97270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Size of the transmission window when using enhanced retransmission mode.
97370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Not used in basic and streaming modes. Range: 1 - 63
97470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
9758372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR
976c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 20
9778372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9788372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
97970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
98070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Number of transmission attempts for a single I-Frame before taking
98170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Down the connection. Used In ERTM mode only. Value is Ignored in basic and
98270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Streaming modes.
98370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 0, 1-0xFF
98470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 0 - infinite retransmissions
98570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 1 - single transmission
98670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
9878372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT
988c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MAX_TX_B4_DISCNT 20
9898372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9908372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
99170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
99270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Retransmission Timeout
99370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF.
9948372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
9958372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_RETX_TOUT
996c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_RETX_TOUT 2000
9978372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9988372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
99970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
100070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Monitor Timeout
100170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF.
100270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10038372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MONITOR_TOUT
1004c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MONITOR_TOUT 12000
10058372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10068372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
100770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
100870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Maximum PDU payload size.
100970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Suggestion: The maximum amount of data that will fit into a 3-DH5 packet.
101070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 2 octets
101170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10128372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_PDU_SIZE
1013c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MAX_PDU_SIZE L2CAP_MPS_OVER_BR_EDR
10148372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10158372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
10168372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/******************************************************************************
1017a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1018a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BNEP
1019a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1020a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_INCLUDED
1023c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_INCLUDED TRUE
10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BNEP status API call is used mainly to get the L2CAP handle */
10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_SUPPORTS_STATUS_API
1028c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_SUPPORTS_STATUS_API TRUE
10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
1032a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * When BNEP connection changes roles after the connection is established
1033a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * we will do an authentication check again on the new role
10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH
1036c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_DO_AUTH_FOR_ROLE_SWITCH TRUE
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of protocol filters supported. */
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_PROT_FILTERS
1041c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_PROT_FILTERS 5
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of multicast filters supported. */
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_MULTI_FILTERS
1046c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_MULTI_FILTERS 5
10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum MTU size. */
10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MIN_MTU_SIZE
1051c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MIN_MTU_SIZE L2CAP_MTU_SIZE
10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Preferred MTU size. */
10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MTU_SIZE
1056c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MTU_SIZE BNEP_MIN_MTU_SIZE
10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of buffers allowed in transmit data queue. */
10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_XMITQ_DEPTH
1061c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_XMITQ_DEPTH 20
10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number BNEP of connections supported. */
10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_CONNECTIONS
1066c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_CONNECTIONS 7
10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1070a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1071a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVDTP
1072a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1073a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_INCLUDED
1076c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_INCLUDED TRUE
10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include reporting capability in AVDTP */
10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_REPORTING
1081c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_REPORTING TRUE
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous links to different peer devices. */
10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_LINKS
1086c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_NUM_LINKS 2
10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous stream endpoints. */
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_SEPS
10918e419b13ecb1e33aeb785d0221bacc5744e51113Pavlin Radoslavov#define AVDT_NUM_SEPS 6
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10946fd198eefa3d99205cc888467f05e7985a8c3b7ePavlin Radoslavov/* Number of transport channels setup by AVDT for all media streams */
10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_TC_TBL
1096c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_NUM_TC_TBL 6
10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum size in bytes of the content protection information element. */
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_PROTECT_SIZE
1101c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_PROTECT_SIZE 90
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1105a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1106a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * PAN
1107a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1108a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_INCLUDED
1111c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_INCLUDED TRUE
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1114b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PAN_NAP_DISABLED
1115c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DISABLED FALSE
1116b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1117b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
1118b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PANU_DISABLED
1119c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PANU_DISABLED FALSE
1120b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1121b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the PANU role */
11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_PANU
1124c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_PANU TRUE
11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the GN role */
11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_GN
1129c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_GN TRUE
11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the NAP role */
11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_NAP
1134c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_NAP TRUE
11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is just for debugging purposes */
11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_DEBUG_DUMP
1139c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_DEBUG_DUMP TRUE
11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of PAN connections allowed */
11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_PAN_CONNS
1144c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_PAN_CONNS 7
11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for NAP role */
11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_SERVICE_NAME
1149c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DEFAULT_SERVICE_NAME "Network Access Point Service"
11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for GN role */
11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_SERVICE_NAME
1154c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_DEFAULT_SERVICE_NAME "Group Network Service"
11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for PANU role */
11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_SERVICE_NAME
1159c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_DEFAULT_SERVICE_NAME "PAN User Service"
11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for NAP role service */
11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_DESCRIPTION
1164c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DEFAULT_DESCRIPTION "NAP"
11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for GN role service */
11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_DESCRIPTION
1169c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_DEFAULT_DESCRIPTION "GN"
11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for PANU role service */
11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_DESCRIPTION
1174c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_DEFAULT_DESCRIPTION "PANU"
11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for PANU role. */
11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_SECURITY_LEVEL
1179c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_SECURITY_LEVEL 0
11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for GN role. */
11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_SECURITY_LEVEL
1184c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_SECURITY_LEVEL 0
11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for NAP role. */
11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_SECURITY_LEVEL
1189c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_SECURITY_LEVEL 0
11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1193a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1194a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * GAP
1195a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1196a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11988372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_INCLUDED
1199c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_INCLUDED TRUE
12008372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12018372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12028372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* The maximum number of simultaneous GAP L2CAP connections. */
12038372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_MAX_CONNECTIONS
1204c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_MAX_CONNECTIONS 30
12058372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12068372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* keep the raw data received from SDP server in database. */
12085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_RAW_DATA_INCLUDED
1209c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_RAW_DATA_INCLUDED TRUE
12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Inquiry duration in 1.28 second units. */
12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_DEBUG
1214c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_DEBUG TRUE
12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1218a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1219a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * HID
1220a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1221a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12238843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/* HID Device Role Included */
12248843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_INCLUDED
12258843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_INCLUDED TRUE
12268843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12278843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12288843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_SUBCLASS
12298843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_SUBCLASS COD_MINOR_POINTING
12308843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12318843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12322e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_CONTROL_BUF_SIZE
1233c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_CONTROL_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12362e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_INTERRUPT_BUF_SIZE
1237c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_INTERRUPT_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12408843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_MTU_SIZE
12418843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_MTU_SIZE 64
12428843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12448843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_FLUSH_TO
12458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_FLUSH_TO 0xffff
12468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
1249a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Definitions for Both HID-Host & Device
12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_NAME_LEN
1252c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_MAX_SVC_NAME_LEN 32
12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_DESCR_LEN
12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_SVC_DESCR_LEN 32
12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_PROV_NAME_LEN
12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_PROV_NAME_LEN 32
12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
1264a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Definitions for HID-Host
12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1266c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#ifndef HID_HOST_INCLUDED
1267c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_INCLUDED TRUE
12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_DEVICES
1271c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MAX_DEVICES 7
12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MTU
1275c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MTU 640
12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_FLUSH_TO
1279c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_FLUSH_TO 0xffff
12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_CONN_RETRY
1283c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MAX_CONN_RETRY (1)
12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_REPAGE_WIN
1287c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_REPAGE_WIN (2)
12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
12915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * A2DP Definitions
12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef A2D_INCLUDED
1294c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define A2D_INCLUDED TRUE
12955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1298a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1299a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVCTP
1300a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1301a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous ACL links to different peer devices. */
13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_LINKS
1305c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVCT_NUM_LINKS 2
13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous AVCTP connections. */
13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_CONN
1310c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVCT_NUM_CONN 3
13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1314a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1315a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVRCP
1316a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1317a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13199adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#ifndef AVRC_METADATA_INCLUDED
1320c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_METADATA_INCLUDED TRUE
13219adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#endif
13229adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan
1323247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#ifndef AVRC_ADV_CTRL_INCLUDED
1324c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_ADV_CTRL_INCLUDED TRUE
1325247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#endif
1326247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji
1327b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef DUMP_PCM_DATA
1328c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define DUMP_PCM_DATA FALSE
1329b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1330b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1332a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1333a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * MCAP
1334a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1335a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_INCLUDED
1337c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_INCLUDED FALSE
13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1340c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The MTU size for the L2CAP configuration on control channel. 48 is the
1341c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * minimal */
13425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_CTRL_MTU
1343c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_CTRL_MTU 60
13445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of registered MCAP instances. */
13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_REGS
1348c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_REGS 12
13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1351c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of control channels (to difference devices) per registered
1352c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * MCAP instances. */
13535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_LINKS
1354c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_LINKS 3
13555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1357c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of MDEP (including HDP echo) per registered MCAP
1358c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * instances. */
13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_DEPS
1360c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_DEPS 13
13615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of MDL link per control channel. */
13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_MDLS
1365c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_MDLS 4
13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
136870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to reassemble the SDU. */
13691d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_RX_BUF_SIZE
1370c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_USER_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13711d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
13721d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
137370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to hold the SDU. */
13741d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_TX_BUF_SIZE
1375c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_USER_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13761d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
13771d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
13785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
137970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments during SDU reassembly
138070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
13811d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_FCR_RX_BUF_SIZE
1382c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13831d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
13841d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
13855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
138670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Default buffer size used to hold MPS segments used in (re)transmissions.
138770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
138870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) +
138970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
139070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
139170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef MCA_FCR_TX_BUF_SIZE
1392c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
13965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectSize of the transmission window when using enhanced retransmission mode.
13975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 is defined by HDP specification for control channel.
13985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
13995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_TX_WINDOW_SIZE
1400c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_TX_WINDOW_SIZE 1
14015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
14045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectNumber of transmission attempts for a single I-Frame before taking
14055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectDown the connection. Used In ERTM mode only. Value is Ignored in basic and
14065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectStreaming modes.
14075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: 0, 1-0xFF
14085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project0 - infinite retransmissions
14095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 - single transmission
14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT
1412c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MAX_TX_B4_DISCNT 20
14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Retransmission Timeout
14165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
1417c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonTimeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission
1418c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonmode.
14195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 2000 (2 secs) when supporting PBF.
14205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
14215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_RETX_TOUT
1422c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_RETX_TOUT 2000
14235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Monitor Timeout
14265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
1427c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonTimeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission
1428c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonmode.
14295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 12000 (12 secs) when supporting PBF.
14305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MONITOR_TOUT
1432c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MONITOR_TOUT 12000
14335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Maximum PDU payload size.
1436c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonThe maximum number of payload octets that the local device can receive in a
1437c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonsingle PDU.
14385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MPS_SIZE
1440c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MPS_SIZE 1000
14415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1444a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1445a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BTA
1446a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1447a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
14485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTA EIR canned UUID list (default is dynamic) */
14495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_CANNED_UUID_LIST
14505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_EIR_CANNED_UUID_LIST FALSE
14515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of supported customer UUID in EIR */
14545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID
1455c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_EIR_SERVER_NUM_CUSTOM_UUID 8
14565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1458b7a077b6aa2af20e9505a7baf0b1d6dfa2ad24e6Andre Eisenbach/* CHLD override */
14595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL_ECC
1460c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CHLD_VAL_ECC "(0,1,1x,2,2x,3)"
14615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL
1464c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CHLD_VAL "(0,1,2,3)"
14655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Set the CIND to match HFP 1.5 */
14685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CIND_INFO
1469c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CIND_INFO                                                       \
1470c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  "(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"service\",(0-1)),(\"signal\",(0-" \
1471c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  "5)),(\"roam\",(0,1)),(\"battchg\",(0-5)),(\"callheld\",(0-2))"
14725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14749647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#ifndef BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY
14759647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#define BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY TRUE
14769647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#endif
14775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1479a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1480a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Tracing:  Include trace header file here.
1481a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1482a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
14835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14841bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach/* Enable/disable BTSnoop memory logging */
14851bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#ifndef BTSNOOP_MEM
14861bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#define BTSNOOP_MEM TRUE
14871bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#endif
14881bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach
14895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_trace.h"
14905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BT_TARGET_H */
1492