bt_target.h revision 57f6508cf7b22788fa2e7a739cec241b785718fb
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/* Includes WBS if TRUE */
305f6d79c5d6c9cc829dcfa033d59bade4d83334df7Andre Eisenbach// TODO(eisenbch): Temporarily disable WBS; to be replaced with proper eSCO
306f6d79c5d6c9cc829dcfa033d59bade4d83334df7Andre Eisenbach// setup
307f6d79c5d6c9cc829dcfa033d59bade4d83334df7Andre Eisenbach#ifdef BTM_WBS_INCLUDED
308f6d79c5d6c9cc829dcfa033d59bade4d83334df7Andre Eisenbach#undef BTM_WBS_INCLUDED
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
310f6d79c5d6c9cc829dcfa033d59bade4d83334df7Andre Eisenbach#define BTM_WBS_INCLUDED FALSE /* TRUE includes WBS code */
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*  This is used to work around a controller bug that doesn't like Disconnect
313a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *  issued while there is a role switch in progress
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DISC_DURING_RS
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_DISC_DURING_RS TRUE
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/**************************
320a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Initial SCO TX credit
321a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson ************************/
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* max TX SCO data packet size */
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_DATA_SIZE_MAX
324c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_DATA_SIZE_MAX 240
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The size in bytes of the BTM inquiry database. */
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_INQ_DB_SIZE
329c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_INQ_DB_SIZE 40
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default scan mode */
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCAN_TYPE
334c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_SCAN_TYPE BTM_SCAN_TYPE_INTERLACED
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Should connections to unknown devices be allowed when not discoverable? */
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_ALLOW_CONN_IF_NONDISCOVER
339c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_ALLOW_CONN_IF_NONDISCOVER TRUE
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
342c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Sets the Page_Scan_Window:  the length of time that the device is performing
343c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * a page scan. */
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_WINDOW
345c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_CONN_WINDOW 0x0012
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
348c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Sets the Page_Scan_Activity:  the interval between the start of two
349c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * consecutive page scans. */
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_CONN_INTERVAL
351c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_CONN_INTERVAL 0x0800
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* When automatic inquiry scan is enabled, this sets the inquiry scan window. */
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_WINDOW
356c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DISC_WINDOW 0x0012
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
359c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* When automatic inquiry scan is enabled, this sets the inquiry scan interval.
360c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson */
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DISC_INTERVAL
362c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DISC_INTERVAL 0x0800
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default class of device
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS}
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
368c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson* SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object
369c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson* Transfer,Bit22 -Telephony)
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MAJOR_CLASS:0x02 - PHONE
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* MINOR_CLASS:0x0C - SMART_PHONE
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_COD
375c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_DM_COD \
376c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  { 0x5A, 0x02, 0x0C }
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of SCO links. */
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_SCO_LINKS
381c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_SCO_LINKS 3
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The preferred type of SCO links (2-eSCO, 0-SCO). */
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_SCO_MODE
386c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_SCO_MODE 2
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for peer devices. */
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_DEVICE_RECORDS
391c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_MAX_DEVICE_RECORDS 100
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of security records for services. */
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_MAX_SERVICE_RECORDS
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_SEC_MAX_SERVICE_RECORDS 32
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
399c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If True, force a retrieval of remote device name for each bond in case it's
400c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * changed */
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_FORCE_RNR_FOR_DBOND
402c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_FORCE_RNR_FOR_DBOND FALSE
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum device name length used in btm database. */
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_REM_BD_NAME_LEN
407c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_REM_BD_NAME_LEN 248
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
410be43ee7658a5e6a5904da56e6735ffed5d4bf88fJakub Pawlowski/* Maximum local device name length stored btm database */
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_LOC_BD_NAME_LEN
412c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_LOC_BD_NAME_LEN 248
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4151e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie/* Fixed Default String. When this is defined as null string, the device's
4161e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie * product model name is used as the default local name.
4171e5109b5cbf49810abd0c94c413ce07db52caacaMatthew Xie */
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEF_LOCAL_NAME
419c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEF_LOCAL_NAME ""
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum service name stored with security authorization (0 if not needed) */
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_SERVICE_NAME_LEN
424c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_SERVICE_NAME_LEN BT_MAX_SERVICE_NAME_LEN
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum length of the service name. */
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BT_MAX_SERVICE_NAME_LEN
429c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BT_MAX_SERVICE_NAME_LEN 21
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of clients that can register with the power manager. */
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_PM_RECORDS
434c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_PM_RECORDS 2
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to show debug trace messages for the power manager. */
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_PM_DEBUG
439c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_PM_DEBUG FALSE
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SCO_WAKE_PARKED_LINK
444c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SCO_WAKE_PARKED_LINK TRUE
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
447c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If the user does not respond to security process requests within this many
448c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * seconds,
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * a negative response would be sent automatically.
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 30 is LMP response timeout value */
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SEC_TIMEOUT_VALUE
452c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SEC_TIMEOUT_VALUE 35
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
455c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Maximum number of callbacks that can be registered using
456c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * BTM_RegisterForVSEvents */
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_MAX_VSE_CALLBACKS
458c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_MAX_VSE_CALLBACKS 3
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************
462a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *    Lisbon Features
463a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson ******************************************/
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to TRUE if the FEC is required for EIR packet. */
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_EIR_DEFAULT_FEC_REQUIRED
466c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_EIR_DEFAULT_FEC_REQUIRED TRUE
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The IO capability of the local device (for Simple Pairing) */
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_LOCAL_IO_CAPS
471c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_LOCAL_IO_CAPS BTM_IO_CAP_IO
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
47426fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#ifndef BTM_LOCAL_IO_CAPS_BLE
475c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_LOCAL_IO_CAPS_BLE BTM_IO_CAP_KBDISP
47626fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach#endif
47726fa02b5cc684f8675d80b61185a4e5ccf3c6a2aAndre Eisenbach
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The default MITM Protection Requirement (for Simple Pairing)
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_AUTH_REQ
481c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_AUTH_REQ BTM_AUTH_SP_NO
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
484c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The default MITM Protection Requirement for dedicated bonding using Simple
485c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * Pairing
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_DEFAULT_DD_AUTH_REQ
488c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_DEFAULT_DD_AUTH_REQ BTM_AUTH_AP_YES
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* TRUE to include Sniff Subrating */
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_SSR_INCLUDED
493c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_SSR_INCLUDED TRUE
4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************
497a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * End of Lisbon Features
498a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *************************/
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
500b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach/* 4.1/4.2 secure connections feature */
501b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#ifndef SC_MODE_INCLUDED
502c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SC_MODE_INCLUDED TRUE
503b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach#endif
504b5c8e291dcac7d45e4788a10ade8200d67e44786Andre Eisenbach
5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONFORMANCE_TESTING
507c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_BLE_CONFORMANCE_TESTING FALSE
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
511a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
512a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * L2CAP
513a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
514a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous links that L2CAP can support. */
5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
518c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_LINKS 7
5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
520c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_LINKS MAX_ACL_CONNECTIONS
5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous channels that L2CAP can support. */
5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CHANNELS
525c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_CHANNELS 16
5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
528c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of simultaneous applications that can register with L2CAP.
529c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson */
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_L2CAP_CLIENTS
531c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_L2CAP_CLIENTS 15
5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The number of seconds of link inactivity before a link is disconnected. */
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_INACTIVITY_TOUT
536c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LINK_INACTIVITY_TOUT 4
5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
539c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The number of seconds of link inactivity after bonding before a link is
540c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * disconnected. */
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_BONDING_TIMEOUT
542c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_BONDING_TIMEOUT 3
5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The time from the HCI connection complete to disconnect if no channel is
546c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * established. */
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LINK_STARTUP_TOUT
548c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LINK_STARTUP_TOUT 60
5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
55170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* The L2CAP MTU; must be in accord with the HCI ACL buffer size. */
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MTU_SIZE
553c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MTU_SIZE 1691
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
55670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
55770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The L2CAP MPS over Bluetooth; must be in accord with the FCR tx buffer size
55870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * and ACL down buffer size.
55970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_MPS_OVER_BR_EDR
561c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MPS_OVER_BR_EDR 1010
5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
564c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* If host flow control enabled, this is the number of buffers the controller
565c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * can have unacknowledged. */
5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HOST_FC_ACL_BUFS
567c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HOST_FC_ACL_BUFS 20
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
570c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* This is set to enable L2CAP to  take the ACL link out of park mode when ACL
571c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * data is to be sent. */
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_WAKE_PARKED_LINK
573c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_WAKE_PARKED_LINK TRUE
5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Whether link wants to be the master or the slave. */
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_DESIRED_LINK_ROLE
578c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_DESIRED_LINK_ROLE HCI_ROLE_SLAVE
5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include Non-Flushable Packet Boundary Flag feature of Lisbon */
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED
583c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_NON_FLUSHABLE_PB_INCLUDED TRUE
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum number of ACL credit for high priority link */
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA
588c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 5
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring HCI ACL credit management */
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG
593c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_HCI_FLOW_CONTROL_DEBUG TRUE
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data */
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_INCLUDED
598c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_INCLUDED FALSE
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data MTU */
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_MTU
603c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_MTU L2CAP_MTU_SIZE
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_IDLE_TIMEOUT
608c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_IDLE_TIMEOUT 2
6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Unicast Connectionless Data Idle Timeout */
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_UCD_CH_PRIORITY
613c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_UCD_CH_PRIORITY L2CAP_CHNL_PRIORITY_MEDIUM
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
616c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Used for features using fixed channels; set to zero if no fixed channels
617c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * supported (BLE, etc.) */
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Excluding L2CAP signaling channel and UCD */
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_NUM_FIXED_CHNLS
620c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_NUM_FIXED_CHNLS 32
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* First fixed channel supported */
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_FIRST_FIXED_CHNL
625c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_FIRST_FIXED_CHNL 4
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_LAST_FIXED_CHNL
629c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_LAST_FIXED_CHNL \
630c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Round Robin service channels in link */
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE
635c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE TRUE
6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* used for monitoring eL2CAP data flow */
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_ERTM_STATS
640c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_ERTM_STATS FALSE
6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
643c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* Used for conformance testing ONLY:  When TRUE lets scriptwrapper overwrite
644c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * info response */
6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef L2CAP_CONFORMANCE_TESTING
646c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_CONFORMANCE_TESTING FALSE
6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6498372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/*
6508372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * Max bytes per connection to buffer locally before dropping the
6518372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz * connection if local client does not receive it  - default is 1MB
6528372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
6538372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef L2CAP_MAX_RX_BUFFER
654c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define L2CAP_MAX_RX_BUFFER 0x100000
6558372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
6568372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
658a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
659a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BLE
660a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
661a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef LOCAL_BLE_CONTROLLER_ID
664c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define LOCAL_BLE_CONTROLLER_ID (1)
6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6673e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6683e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for general LE privacy features such as remote address
6693e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * resolution, local address rotation etc.
6703e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6717fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_PRIVACY_SPT
672c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_PRIVACY_SPT TRUE
6738b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu#endif
6748b35b3fccc065730e6f0ee1050d3e4528e58ea37Zhihai Xu
6753e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6763e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Enables or disables support for local privacy (ex. address rotation)
6773e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
6783e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#ifndef BLE_LOCAL_PRIVACY_ENABLED
679c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_LOCAL_PRIVACY_ENABLED TRUE
6803e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach#endif
6813e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach
6823e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach/*
6833e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * Toggles support for vendor specific extensions such as RPA offloading,
6843e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach * feature discovery, multi-adv etc.
6853e0dc7324e7b0127f9d15609bab395100a22098dAndre Eisenbach */
686ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#ifndef BLE_VND_INCLUDED
687c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_VND_INCLUDED FALSE
688ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#endif
689d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
690d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#ifndef BTM_BLE_ADV_TX_POWER
691c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTM_BLE_ADV_TX_POWER \
692c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  { -21, -15, -7, 1, 9 }
693d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com#endif
694d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
695c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of simultaneous applications that can register with LE
696c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * L2CAP. */
6976721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#ifndef BLE_MAX_L2CAP_CLIENTS
698c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_MAX_L2CAP_CLIENTS 15
6996721232129f137ab024d9b95fc1094a714bc4c01Navin Kochar#endif
700d77eec93e5299f5bff987fceceba612b33251a14git-zhenye.broadcom.com
7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
702a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
703a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * ATT/GATT Protocol/Profile Settings
704a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
705a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
7067fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#ifndef BLE_LLT_INCLUDED
707c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_LLT_INCLUDED TRUE
7087fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
709e97508ef05277f7e2299793b51cd3df080a58527Chris Manton
7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_INCLUDED
711c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define ATT_INCLUDED TRUE
7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef ATT_DEBUG
715c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define ATT_DEBUG TRUE
7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7185702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#ifndef BLE_DELAY_REQUEST_ENC
7195702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu/* This flag is to work around IPHONE problem, We need to wait for iPhone ready
7205702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu   before send encryption request to iPhone */
721c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BLE_DELAY_REQUEST_ENC FALSE
7225702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu#endif
7235702d5c6197404823f5e594764e2c67cf2416da1Zhihai Xu
724a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GAP_TRANSPORT_SUPPORTED
725c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR
726a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
727a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
728a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#ifndef GATTP_TRANSPORT_SUPPORTED
729c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATTP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR
730a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu#endif
731a0cf8d6f47fd6709085b9ad2c8626986f7ae7f21Zhihai Xu
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_SR_PROFILES
733c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_SR_PROFILES 32 /* max is 32 */
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_APPS
737c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_APPS 32 /* note: 2 apps used internally GATT and GAP */
7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_PHY_CHANNEL
741c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_PHY_CHANNEL 7
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Used for conformance testing ONLY */
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_CONFORMANCE_TESTING
746c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_CONFORMANCE_TESTING FALSE
7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
749c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* number of background connection device allowence, ideally to be the same as
750c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * WL size
7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef GATT_MAX_BG_CONN_DEV
753c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GATT_MAX_BG_CONN_DEV 32
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
757a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
758a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * SMP
759a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
760a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEBUG
762c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_DEBUG FALSE
7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_DEFAULT_AUTH_REQ
766c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_DEFAULT_AUTH_REQ SMP_AUTH_NB_ENC_ONLY
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SMP_MAX_ENC_KEY_SIZE
770c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_MAX_ENC_KEY_SIZE 16
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
773444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji/* minimum link timeout after SMP pairing is done, leave room for key exchange
774444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   and racing condition for the following service connection.
775444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   Prefer greater than 0 second, and no less than default inactivity link idle
776444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji   timer(L2CAP_LINK_INACTIVITY_TOUT) in l2cap) */
777444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#ifndef SMP_LINK_TOUT_MIN
778444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#if (L2CAP_LINK_INACTIVITY_TOUT > 0)
779c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_LINK_TOUT_MIN L2CAP_LINK_INACTIVITY_TOUT
780444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#else
781c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SMP_LINK_TOUT_MIN 2
782444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji#endif
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
785a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
786a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * SDP
787a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
788a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is set to enable SDP server functionality. */
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVER_ENABLED
792c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SERVER_ENABLED TRUE
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of SDP records the server can support. */
7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_RECORDS
797c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_RECORDS 30
7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attributes in each record. */
8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_REC_ATTR
802c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_REC_ATTR 25
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PAD_LEN
806c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_PAD_LEN 600
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum length, in bytes, of an attribute. */
8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_LEN
811c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_ATTR_LEN 400
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of attribute filters supported by SDP databases. */
8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_ATTR_FILTERS
816c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_ATTR_FILTERS 15
8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of UUID filters supported by SDP databases. */
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_UUID_FILTERS
821c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_UUID_FILTERS 3
8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of record handles retrieved in a search. */
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_DISC_SERVER_RECS
826c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_DISC_SERVER_RECS 21
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
829c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The size of a scratchpad buffer, in bytes, for storing the response to an
830c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * attribute request. */
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_LIST_BYTE_COUNT
832c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_LIST_BYTE_COUNT 4096
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of parameters in an SDP protocol element. */
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_PROTOCOL_PARAMS
837c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_PROTOCOL_PARAMS 2
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of simultaneous client and server connections. */
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MAX_CONNECTIONS
842c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MAX_CONNECTIONS 4
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The MTU size for the L2CAP configuration. */
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_MTU_SIZE
847c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_MTU_SIZE 672
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The flush timeout for the L2CAP configuration. */
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_FLUSH_TO
852c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_FLUSH_TO 0xFFFF
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The name for security authorization. */
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SERVICE_NAME
857c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SERVICE_NAME "Service Discovery"
8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The security level for BTM. */
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_SECURITY_LEVEL
862c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_SECURITY_LEVEL BTM_SEC_NONE
8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
866a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
867a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * RFCOMM
868a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
869a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of ports supported. */
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_RFC_PORTS
873c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_RFC_PORTS 30
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum simultaneous links to different devices. */
8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_ACL_CONNECTIONS
878c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_BD_CONNECTIONS 7
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
880c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_BD_CONNECTIONS MAX_ACL_CONNECTIONS
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in bytes. */
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_LOW_WM
885c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_LOW_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM)
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in bytes. */
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_HIGH_WM
890c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM)
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in bytes. */
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_CRITICAL_WM
895c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM)
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue low watermark level, in number of buffers. */
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_LOW_WM
900c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_LOW_WM 4
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue high watermark level, in number of buffers. */
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_HIGH_WM
905c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_HIGH_WM 10
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port receive queue critical watermark level, in number of buffers. */
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_RX_BUF_CRITICAL_WM
910c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_RX_BUF_CRITICAL_WM 15
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in bytes. */
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_HIGH_WM
915c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM)
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue critical watermark level, in bytes. */
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_CRITICAL_WM
920c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM)
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_HIGH_WM
925c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_BUF_HIGH_WM 10
9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The port transmit queue high watermark level, in number of buffers. */
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_TX_BUF_CRITICAL_WM
930c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_TX_BUF_CRITICAL_WM 15
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The RFCOMM multiplexer preferred flow control mechanism. */
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_FC_DEFAULT
935c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_FC_DEFAULT PORT_FC_CREDIT
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
938c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of credits receiver sends to peer when using credit-based
939c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * flow control. */
9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_MAX
941c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_CREDIT_RX_MAX 16
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The credit low watermark level. */
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PORT_CREDIT_RX_LOW
946c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PORT_CREDIT_RX_LOW 8
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
950a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
951a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * OBEX
952a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
953a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
954d232721ae5e5b6949a5249f0d116408b8a3c5f1dCasper Bonde
95570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
95670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to reassemble the SDU.
95770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
95870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
95970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_RX_BUF_SIZE
960c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_USER_RX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE
9618372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9628372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
96370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
96470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size to hold the SDU.
96570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU.
96670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
96770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_USER_TX_BUF_SIZE
968c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_USER_TX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE
9698372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9708372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
97170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size used to hold MPS segments during SDU reassembly. */
97270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_RX_BUF_SIZE
973c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
9748372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9758372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
97670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
97770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments used in (re)transmissions.
97870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
97970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) +
98070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
98170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
98270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef OBX_FCR_TX_BUF_SIZE
983c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
9848372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9858372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
98670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
98770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Size of the transmission window when using enhanced retransmission mode.
98870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Not used in basic and streaming modes. Range: 1 - 63
98970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
9908372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR
991c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 20
9928372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
9938372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
99470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
99570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Number of transmission attempts for a single I-Frame before taking
99670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Down the connection. Used In ERTM mode only. Value is Ignored in basic and
99770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Streaming modes.
99870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 0, 1-0xFF
99970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 0 - infinite retransmissions
100070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * 1 - single transmission
100170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10028372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT
1003c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MAX_TX_B4_DISCNT 20
10048372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10058372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
100670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
100770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Retransmission Timeout
100870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF.
10098372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz */
10108372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_RETX_TOUT
1011c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_RETX_TOUT 2000
10128372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10138372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
101470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
101570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Monitor Timeout
101670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF.
101770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10188372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MONITOR_TOUT
1019c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MONITOR_TOUT 12000
10208372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10218372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
102270ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/*
102370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Maximum PDU payload size.
102470ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Suggestion: The maximum amount of data that will fit into a 3-DH5 packet.
102570ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Range: 2 octets
102670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
10278372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef OBX_FCR_OPT_MAX_PDU_SIZE
1028c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define OBX_FCR_OPT_MAX_PDU_SIZE L2CAP_MPS_OVER_BR_EDR
10298372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
10308372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
10318372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/******************************************************************************
1032a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1033a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BNEP
1034a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1035a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_INCLUDED
1038c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_INCLUDED TRUE
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BNEP status API call is used mainly to get the L2CAP handle */
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_SUPPORTS_STATUS_API
1043c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_SUPPORTS_STATUS_API TRUE
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
1047a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * When BNEP connection changes roles after the connection is established
1048a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * we will do an authentication check again on the new role
10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH
1051c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_DO_AUTH_FOR_ROLE_SWITCH TRUE
10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of protocol filters supported. */
10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_PROT_FILTERS
1056c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_PROT_FILTERS 5
10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of multicast filters supported. */
10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_MULTI_FILTERS
1061c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_MULTI_FILTERS 5
10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Minimum MTU size. */
10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MIN_MTU_SIZE
1066c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MIN_MTU_SIZE L2CAP_MTU_SIZE
10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Preferred MTU size. */
10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MTU_SIZE
1071c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MTU_SIZE BNEP_MIN_MTU_SIZE
10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of buffers allowed in transmit data queue. */
10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_XMITQ_DEPTH
1076c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_XMITQ_DEPTH 20
10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number BNEP of connections supported. */
10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BNEP_MAX_CONNECTIONS
1081c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BNEP_MAX_CONNECTIONS 7
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1085a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1086a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVDTP
1087a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1088a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_INCLUDED
1091c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_INCLUDED TRUE
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Include reporting capability in AVDTP */
10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_REPORTING
1096c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_REPORTING TRUE
10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous links to different peer devices. */
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_LINKS
1101c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_NUM_LINKS 2
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous stream endpoints. */
11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_SEPS
11068e419b13ecb1e33aeb785d0221bacc5744e51113Pavlin Radoslavov#define AVDT_NUM_SEPS 6
11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11096fd198eefa3d99205cc888467f05e7985a8c3b7ePavlin Radoslavov/* Number of transport channels setup by AVDT for all media streams */
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_NUM_TC_TBL
1111c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_NUM_TC_TBL 6
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum size in bytes of the content protection information element. */
11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVDT_PROTECT_SIZE
1116c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVDT_PROTECT_SIZE 90
11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1120a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1121a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * PAN
1122a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1123a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_INCLUDED
1126c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_INCLUDED TRUE
11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1129b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PAN_NAP_DISABLED
1130c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DISABLED FALSE
1131b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1132b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
1133b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef PANU_DISABLED
1134c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PANU_DISABLED FALSE
1135b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1136b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the PANU role */
11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_PANU
1139c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_PANU TRUE
11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the GN role */
11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_GN
1144c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_GN TRUE
11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This will enable the NAP role */
11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_ROLE_NAP
1149c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_ROLE_NAP TRUE
11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This is just for debugging purposes */
11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_SUPPORTS_DEBUG_DUMP
1154c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_SUPPORTS_DEBUG_DUMP TRUE
11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Maximum number of PAN connections allowed */
11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MAX_PAN_CONNS
1159c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MAX_PAN_CONNS 7
11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for NAP role */
11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_SERVICE_NAME
1164c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DEFAULT_SERVICE_NAME "Network Access Point Service"
11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for GN role */
11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_SERVICE_NAME
1169c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_DEFAULT_SERVICE_NAME "Group Network Service"
11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default service name for PANU role */
11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_SERVICE_NAME
1174c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_DEFAULT_SERVICE_NAME "PAN User Service"
11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for NAP role service */
11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_DEFAULT_DESCRIPTION
1179c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_DEFAULT_DESCRIPTION "NAP"
11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for GN role service */
11835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_DEFAULT_DESCRIPTION
1184c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_DEFAULT_DESCRIPTION "GN"
11855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default description for PANU role service */
11885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_DEFAULT_DESCRIPTION
1189c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_DEFAULT_DESCRIPTION "PANU"
11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for PANU role. */
11935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_PANU_SECURITY_LEVEL
1194c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_PANU_SECURITY_LEVEL 0
11955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for GN role. */
11985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_GN_SECURITY_LEVEL
1199c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_GN_SECURITY_LEVEL 0
12005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Default Security level for NAP role. */
12035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef PAN_NAP_SECURITY_LEVEL
1204c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define PAN_NAP_SECURITY_LEVEL 0
12055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1208a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1209a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * GAP
1210a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1211a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12138372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_INCLUDED
1214c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_INCLUDED TRUE
12158372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12168372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12178372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* This is set to enable use of GAP L2CAP connections. */
12188372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_CONN_INCLUDED
1219c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_CONN_INCLUDED TRUE
12208372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12218372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12228372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz/* The maximum number of simultaneous GAP L2CAP connections. */
12238372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#ifndef GAP_MAX_CONNECTIONS
1224c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define GAP_MAX_CONNECTIONS 30
12258372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz#endif
12268372aa5fa535ee4f09c09981b6125b54ace31fe2Kim Schulz
12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* keep the raw data received from SDP server in database. */
12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_RAW_DATA_INCLUDED
1229c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_RAW_DATA_INCLUDED TRUE
12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Inquiry duration in 1.28 second units. */
12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_DEBUG
1234c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define SDP_DEBUG TRUE
12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1238a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1239a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * HID
1240a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1241a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/* HID Device Role Included */
12448843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_INCLUDED
12458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_INCLUDED TRUE
12468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12488843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_SUBCLASS
12498843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_SUBCLASS COD_MINOR_POINTING
12508843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12518843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12522e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_CONTROL_BUF_SIZE
1253c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_CONTROL_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12562e3d006b96eafb0651fe7f78d28250faf89405dePavlin Radoslavov#ifndef HID_INTERRUPT_BUF_SIZE
1257c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_INTERRUPT_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12608843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_MTU_SIZE
12618843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_MTU_SIZE 64
12628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12638843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#ifndef HID_DEV_FLUSH_TO
12658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#define HID_DEV_FLUSH_TO 0xffff
12668843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta#endif
12678843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta
12685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
1269a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Definitions for Both HID-Host & Device
12705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
12715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_NAME_LEN
1272c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_MAX_SVC_NAME_LEN 32
12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_SVC_DESCR_LEN
12765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_SVC_DESCR_LEN 32
12775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_MAX_PROV_NAME_LEN
12805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define HID_MAX_PROV_NAME_LEN 32
12815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
1284a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Definitions for HID-Host
12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1286c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#ifndef HID_HOST_INCLUDED
1287c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_INCLUDED TRUE
12885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_DEVICES
1291c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MAX_DEVICES 7
12925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MTU
1295c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MTU 640
12965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_FLUSH_TO
1299c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_FLUSH_TO 0xffff
13005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_MAX_CONN_RETRY
1303c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_MAX_CONN_RETRY (1)
13045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef HID_HOST_REPAGE_WIN
1307c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define HID_HOST_REPAGE_WIN (2)
13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*************************************************************************
13115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * A2DP Definitions
13125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
13135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef A2D_INCLUDED
1314c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define A2D_INCLUDED TRUE
13155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1318a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1319a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVCTP
1320a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1321a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous ACL links to different peer devices. */
13245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_LINKS
1325c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVCT_NUM_LINKS 2
13265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of simultaneous AVCTP connections. */
13295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef AVCT_NUM_CONN
1330c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVCT_NUM_CONN 3
13315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1334a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1335a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * AVRCP
1336a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1337a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13399adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#ifndef AVRC_METADATA_INCLUDED
1340c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_METADATA_INCLUDED TRUE
13419adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan#endif
13429adddf4965e9ddb01e339b934c343fcbd842a977Ravi Nagarajan
1343247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#ifndef AVRC_ADV_CTRL_INCLUDED
1344c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define AVRC_ADV_CTRL_INCLUDED TRUE
1345247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji#endif
1346247c68fe6eee3660cbdcf4509195fe735ae25573Satya Calloji
1347b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#ifndef DUMP_PCM_DATA
1348c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define DUMP_PCM_DATA FALSE
1349b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen#endif
1350b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen
13515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1352a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1353a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * MCAP
1354a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1355a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
13565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_INCLUDED
1357c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_INCLUDED FALSE
13585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1360c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The MTU size for the L2CAP configuration on control channel. 48 is the
1361c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * minimal */
13625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_CTRL_MTU
1363c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_CTRL_MTU 60
13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of registered MCAP instances. */
13675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_REGS
1368c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_REGS 12
13695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1371c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of control channels (to difference devices) per registered
1372c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * MCAP instances. */
13735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_LINKS
1374c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_LINKS 3
13755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1377c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson/* The maximum number of MDEP (including HDP echo) per registered MCAP
1378c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson * instances. */
13795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_DEPS
1380c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_DEPS 13
13815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
13835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* The maximum number of MDL link per control channel. */
13845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_NUM_MDLS
1385c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_NUM_MDLS 4
13865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
13875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
138870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to reassemble the SDU. */
13891d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_RX_BUF_SIZE
1390c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_USER_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13911d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
13921d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
139370ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov/* Buffer size to hold the SDU. */
13941d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_USER_TX_BUF_SIZE
1395c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_USER_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
13961d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
13971d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
13985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
139970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Buffer size used to hold MPS segments during SDU reassembly
140070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
14011d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#ifndef MCA_FCR_RX_BUF_SIZE
1402c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
14031d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov#endif
14041d5b85924df3a114efe6588e857d0de3eb47b1d2Pavlin Radoslavov
14055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*
140670ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * Default buffer size used to hold MPS segments used in (re)transmissions.
140770ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * The size of each buffer must be able to hold the maximum MPS segment size
140870ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * passed in tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) +
140970ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
141070ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov */
141170ae7de9451e3dc074a048ba98b672a6ba3a4551Pavlin Radoslavov#ifndef MCA_FCR_TX_BUF_SIZE
1412c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE
14135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
14165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectSize of the transmission window when using enhanced retransmission mode.
14175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 is defined by HDP specification for control channel.
14185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_TX_WINDOW_SIZE
1420c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_TX_WINDOW_SIZE 1
14215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option:
14245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectNumber of transmission attempts for a single I-Frame before taking
14255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectDown the connection. Used In ERTM mode only. Value is Ignored in basic and
14265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectStreaming modes.
14275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: 0, 1-0xFF
14285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project0 - infinite retransmissions
14295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project1 - single transmission
14305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT
1432c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MAX_TX_B4_DISCNT 20
14335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Retransmission Timeout
14365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
1437c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonTimeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission
1438c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonmode.
14395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 2000 (2 secs) when supporting PBF.
14405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project */
14415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_RETX_TOUT
1442c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_RETX_TOUT 2000
14435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Monitor Timeout
14465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectThe AVRCP specification set a value in the range of 300 - 2000 ms
1447c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonTimeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission
1448c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonmode.
14495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectRange: Minimum 12000 (12 secs) when supporting PBF.
14505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MONITOR_TOUT
1452c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MONITOR_TOUT 12000
14535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* MCAP control channel FCR Option: Maximum PDU payload size.
1456c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles WatsonThe maximum number of payload octets that the local device can receive in a
1457c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watsonsingle PDU.
14585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
14595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef MCA_FCR_OPT_MPS_SIZE
1460c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define MCA_FCR_OPT_MPS_SIZE 1000
14615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1464a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1465a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * BTA
1466a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1467a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
14685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* BTA EIR canned UUID list (default is dynamic) */
14695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_CANNED_UUID_LIST
14705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_EIR_CANNED_UUID_LIST FALSE
14715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Number of supported customer UUID in EIR */
14745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID
1475c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_EIR_SERVER_NUM_CUSTOM_UUID 8
14765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1478b7a077b6aa2af20e9505a7baf0b1d6dfa2ad24e6Andre Eisenbach/* CHLD override */
14795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL_ECC
1480c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CHLD_VAL_ECC "(0,1,1x,2,2x,3)"
14815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CHLD_VAL
1484c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CHLD_VAL "(0,1,2,3)"
14855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Set the CIND to match HFP 1.5 */
14885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AG_CIND_INFO
1489c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson#define BTA_AG_CIND_INFO                                                       \
1490c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  "(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"service\",(0-1)),(\"signal\",(0-" \
1491c1e4239a774838ccfd2d286135bbfb4cec6a8fa9Myles Watson  "5)),(\"roam\",(0,1)),(\"battchg\",(0-5)),(\"callheld\",(0-2))"
14925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
14935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14949647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#ifndef BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY
14959647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#define BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY TRUE
14969647e91549368fd44440dd13a854f403feb13ad9Mattias Agren#endif
14975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
14985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1499a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1500a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson * Tracing:  Include trace header file here.
1501a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *
1502a88d1e3337eaa1cab2ee601b78d29dd927c1620eMyles Watson *****************************************************************************/
15035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15041bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach/* Enable/disable BTSnoop memory logging */
15051bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#ifndef BTSNOOP_MEM
15061bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#define BTSNOOP_MEM TRUE
15071bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach#endif
15081bd76059e72b7a0d54f6b325882f6eccd311f874Andre Eisenbach
15095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_trace.h"
15105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
15115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BT_TARGET_H */
1512