1/****************************************************************************** 2 * 3 * Copyright (c) 2014 The Android Open Source Project 4 * Copyright (C) 1999-2012 Broadcom Corporation 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at: 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 ******************************************************************************/ 19 20#ifndef BT_TARGET_H 21#define BT_TARGET_H 22 23#ifndef BUILDCFG 24#define BUILDCFG 25#endif 26 27#if !defined(HAS_BDROID_BUILDCFG) && !defined(HAS_NO_BDROID_BUILDCFG) 28#error "An Android.mk file did not include bdroid_CFLAGS and possibly not bdorid_C_INCLUDES" 29#endif 30 31#ifdef HAS_BDROID_BUILDCFG 32#include "bdroid_buildcfg.h" 33#endif 34 35#include "bt_types.h" /* This must be defined AFTER buildcfg.h */ 36 37/* Include common GKI definitions used by this platform */ 38#include "dyn_mem.h" /* defines static and/or dynamic memory for components */ 39 40//------------------Added from bdroid_buildcfg.h--------------------- 41#ifndef L2CAP_EXTFEA_SUPPORTED_MASK 42#define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS) 43#endif 44 45#ifndef BTUI_OPS_FORMATS 46#define BTUI_OPS_FORMATS (BTA_OP_VCARD21_MASK | BTA_OP_ANY_MASK) 47#endif 48 49#ifndef BTA_RFC_MTU_SIZE 50#define BTA_RFC_MTU_SIZE (L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD) 51#endif 52 53#ifndef SBC_NO_PCM_CPY_OPTION 54#define SBC_NO_PCM_CPY_OPTION FALSE 55#endif 56 57#ifndef BTA_INCLUDED 58#define BTA_INCLUDED TRUE 59#endif 60 61#ifndef BTA_PAN_INCLUDED 62#define BTA_PAN_INCLUDED TRUE 63#endif 64 65#ifndef BTA_HH_INCLUDED 66#define BTA_HH_INCLUDED TRUE 67#endif 68 69#ifndef BTA_HH_ROLE 70#define BTA_HH_ROLE BTA_MASTER_ROLE_PREF 71#endif 72 73#ifndef BTA_HH_LE_INCLUDED 74#define BTA_HH_LE_INCLUDED TRUE 75#endif 76 77#ifndef BTA_AR_INCLUDED 78#define BTA_AR_INCLUDED TRUE 79#endif 80 81#ifndef BTA_AV_INCLUDED 82#define BTA_AV_INCLUDED TRUE 83#endif 84 85#ifndef BTA_GATT_INCLUDED 86#define BTA_GATT_INCLUDED TRUE 87#endif 88 89#ifndef BTA_AV_SINK_INCLUDED 90#define BTA_AV_SINK_INCLUDED FALSE 91#endif 92 93#ifndef BTA_DISABLE_DELAY 94#define BTA_DISABLE_DELAY 200 /* in milliseconds */ 95#endif 96 97#ifndef SBC_FOR_EMBEDDED_LINUX 98#define SBC_FOR_EMBEDDED_LINUX TRUE 99#endif 100 101#ifndef AVDT_VERSION 102#define AVDT_VERSION 0x0102 103#endif 104 105#ifndef BTA_AG_AT_MAX_LEN 106#define BTA_AG_AT_MAX_LEN 512 107#endif 108 109#ifndef BTA_AVRCP_FF_RW_SUPPORT 110#define BTA_AVRCP_FF_RW_SUPPORT TRUE 111#endif 112 113#ifndef BTA_AG_SCO_PKT_TYPES 114#define BTA_AG_SCO_PKT_TYPES (BTM_SCO_LINK_ONLY_MASK | BTM_SCO_PKT_TYPES_MASK_EV3 | BTM_SCO_PKT_TYPES_MASK_NO_3_EV3 | BTM_SCO_PKT_TYPES_MASK_NO_2_EV5 | BTM_SCO_PKT_TYPES_MASK_NO_3_EV5) 115#endif 116 117#ifndef BTA_AV_RET_TOUT 118#define BTA_AV_RET_TOUT 15 119#endif 120 121#ifndef BTA_AV_CO_CP_SCMS_T 122#define BTA_AV_CO_CP_SCMS_T FALSE 123#endif 124 125#ifndef BTIF_A2DP_SRC_SAMPLING_RATE 126#define BTIF_A2DP_SRC_SAMPLING_RATE 44100 127#endif 128 129#ifndef BTIF_A2DP_SRC_BIT_DEPTH 130#define BTIF_A2DP_SRC_BIT_DEPTH 16 131#endif 132 133#ifndef BTIF_A2DP_SRC_NUM_CHANNELS 134#define BTIF_A2DP_SRC_NUM_CHANNELS 2 135#endif 136 137/* This feature is used to enable interleaved scan */ 138#ifndef BTA_HOST_INTERLEAVE_SEARCH 139#define BTA_HOST_INTERLEAVE_SEARCH FALSE 140#endif 141 142#ifndef BT_USE_TRACES 143#define BT_USE_TRACES TRUE 144#endif 145 146#ifndef BT_TRACE_VERBOSE 147#define BT_TRACE_VERBOSE FALSE 148#endif 149 150#ifndef BTA_DM_SDP_DB_SIZE 151#define BTA_DM_SDP_DB_SIZE 8000 152#endif 153 154#ifndef HL_INCLUDED 155#define HL_INCLUDED TRUE 156#endif 157 158#ifndef AG_VOICE_SETTINGS 159#define AG_VOICE_SETTINGS HCI_DEFAULT_VOICE_SETTINGS 160#endif 161 162#ifndef BTIF_DM_OOB_TEST 163#define BTIF_DM_OOB_TEST TRUE 164#endif 165 166// How long to wait before activating sniff mode after entering the 167// idle state for FTS, OPS connections 168#ifndef BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS 169#define BTA_FTS_OPS_IDLE_TO_SNIFF_DELAY_MS 7000 170#endif 171 172//------------------End added from bdroid_buildcfg.h--------------------- 173 174 175/****************************************************************************** 176** 177** Buffer sizes 178** 179******************************************************************************/ 180 181#ifndef BT_DEFAULT_BUFFER_SIZE 182#define BT_DEFAULT_BUFFER_SIZE (4096 + 16) 183#endif 184 185#ifndef BT_SMALL_BUFFER_SIZE 186#define BT_SMALL_BUFFER_SIZE 660 187#endif 188 189/* Receives HCI events from the lower-layer. */ 190#ifndef HCI_CMD_BUF_SIZE 191#define HCI_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 192#endif 193 194/* Sends SDP data packets. */ 195#ifndef SDP_DATA_BUF_SIZE 196#define SDP_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 197#endif 198 199/* Sends RFCOMM command packets. */ 200#ifndef RFCOMM_CMD_BUF_SIZE 201#define RFCOMM_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 202#endif 203 204/* Sends RFCOMM data packets. */ 205#ifndef RFCOMM_DATA_BUF_SIZE 206#define RFCOMM_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 207#endif 208 209/* Sends L2CAP packets to the peer and HCI messages to the controller. */ 210#ifndef L2CAP_CMD_BUF_SIZE 211#define L2CAP_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 212#endif 213 214#ifndef L2CAP_USER_TX_BUF_SIZE 215#define L2CAP_USER_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 216#endif 217 218#ifndef L2CAP_USER_RX_BUF_SIZE 219#define L2CAP_USER_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 220#endif 221 222/* Sends L2CAP segmented packets in ERTM mode */ 223#ifndef L2CAP_FCR_TX_BUF_SIZE 224#define L2CAP_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 225#endif 226 227/* Receives L2CAP segmented packets in ERTM mode */ 228#ifndef L2CAP_FCR_RX_BUF_SIZE 229#define L2CAP_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 230#endif 231 232#ifndef L2CAP_FCR_ERTM_BUF_SIZE 233#define L2CAP_FCR_ERTM_BUF_SIZE (10240 + 24) 234#endif 235 236/* Number of ACL buffers to assign to LE */ 237/* 238 * TODO: Do we need this? 239 * It was used when the HCI buffers were shared with BR/EDR. 240 */ 241#ifndef L2C_DEF_NUM_BLE_BUF_SHARED 242#define L2C_DEF_NUM_BLE_BUF_SHARED 1 243#endif 244 245/* Used by BTM when it sends HCI commands to the controller. */ 246#ifndef BTM_CMD_BUF_SIZE 247#define BTM_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 248#endif 249 250#ifndef OBX_LRG_DATA_BUF_SIZE 251#define OBX_LRG_DATA_BUF_SIZE (8080 + 26) 252#endif 253 254/* Used to send data to L2CAP. */ 255#ifndef GAP_DATA_BUF_SIZE 256#define GAP_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 257#endif 258 259/* BNEP data and protocol messages. */ 260#ifndef BNEP_BUF_SIZE 261#define BNEP_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 262#endif 263 264/* AVDTP buffer size for protocol messages */ 265#ifndef AVDT_CMD_BUF_SIZE 266#define AVDT_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 267#endif 268 269/* AVDTP buffer size for media packets in case of fragmentation */ 270#ifndef AVDT_DATA_BUF_SIZE 271#define AVDT_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 272#endif 273 274#ifndef PAN_BUF_SIZE 275#define PAN_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 276#endif 277 278/* Maximum number of buffers to allocate for PAN */ 279#ifndef PAN_BUF_MAX 280#define PAN_BUF_MAX 100 281#endif 282 283/* AVCTP buffer size for protocol messages */ 284#ifndef AVCT_CMD_BUF_SIZE 285#define AVCT_CMD_BUF_SIZE 288 286#endif 287 288/* AVRCP buffer size for protocol messages */ 289#ifndef AVRC_CMD_BUF_SIZE 290#define AVRC_CMD_BUF_SIZE 288 291#endif 292 293/* AVRCP Metadata buffer size for protocol messages */ 294#ifndef AVRC_META_CMD_BUF_SIZE 295#define AVRC_META_CMD_BUF_SIZE BT_SMALL_BUFFER_SIZE 296#endif 297 298#ifndef BTA_HL_LRG_DATA_BUF_SIZE 299#define BTA_HL_LRG_DATA_BUF_SIZE (10240 + 24) 300#endif 301 302/* GATT Server Database buffer size */ 303#ifndef GATT_DB_BUF_SIZE 304#define GATT_DB_BUF_SIZE 128 305#endif 306 307/* GATT Data sending buffer size */ 308#ifndef GATT_DATA_BUF_SIZE 309#define GATT_DATA_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 310#endif 311 312/****************************************************************************** 313** 314** BTM 315** 316******************************************************************************/ 317 318/* Cancel Inquiry on incoming SSP */ 319#ifndef BTM_NO_SSP_ON_INQUIRY 320#define BTM_NO_SSP_ON_INQUIRY FALSE 321#endif 322 323/* Includes SCO if TRUE */ 324#ifndef BTM_SCO_INCLUDED 325#define BTM_SCO_INCLUDED TRUE /* TRUE includes SCO code */ 326#endif 327 328/* Includes SCO if TRUE */ 329#ifndef BTM_SCO_HCI_INCLUDED 330#define BTM_SCO_HCI_INCLUDED FALSE /* TRUE includes SCO over HCI code */ 331#endif 332 333/* Includes WBS if TRUE */ 334#ifndef BTM_WBS_INCLUDED 335#define BTM_WBS_INCLUDED FALSE /* TRUE includes WBS code */ 336#endif 337 338/* This is used to work around a controller bug that doesn't like Disconnect 339** issued while there is a role switch in progress 340*/ 341#ifndef BTM_DISC_DURING_RS 342#define BTM_DISC_DURING_RS TRUE 343#endif 344 345/************************** 346** Initial SCO TX credit 347*************************/ 348/* max TX SCO data packet size */ 349#ifndef BTM_SCO_DATA_SIZE_MAX 350#define BTM_SCO_DATA_SIZE_MAX 240 351#endif 352 353/* The size in bytes of the BTM inquiry database. */ 354#ifndef BTM_INQ_DB_SIZE 355#define BTM_INQ_DB_SIZE 40 356#endif 357 358/* The default scan mode */ 359#ifndef BTM_DEFAULT_SCAN_TYPE 360#define BTM_DEFAULT_SCAN_TYPE BTM_SCAN_TYPE_INTERLACED 361#endif 362 363/* Should connections to unknown devices be allowed when not discoverable? */ 364#ifndef BTM_ALLOW_CONN_IF_NONDISCOVER 365#define BTM_ALLOW_CONN_IF_NONDISCOVER TRUE 366#endif 367 368/* Sets the Page_Scan_Window: the length of time that the device is performing a page scan. */ 369#ifndef BTM_DEFAULT_CONN_WINDOW 370#define BTM_DEFAULT_CONN_WINDOW 0x0012 371#endif 372 373/* Sets the Page_Scan_Activity: the interval between the start of two consecutive page scans. */ 374#ifndef BTM_DEFAULT_CONN_INTERVAL 375#define BTM_DEFAULT_CONN_INTERVAL 0x0800 376#endif 377 378/* When automatic inquiry scan is enabled, this sets the inquiry scan window. */ 379#ifndef BTM_DEFAULT_DISC_WINDOW 380#define BTM_DEFAULT_DISC_WINDOW 0x0012 381#endif 382 383/* When automatic inquiry scan is enabled, this sets the inquiry scan interval. */ 384#ifndef BTM_DEFAULT_DISC_INTERVAL 385#define BTM_DEFAULT_DISC_INTERVAL 0x0800 386#endif 387 388/* Default class of device 389* {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS} 390* 391* SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony) 392* MAJOR_CLASS:0x02 - PHONE 393* MINOR_CLASS:0x0C - SMART_PHONE 394* 395*/ 396#ifndef BTA_DM_COD 397#define BTA_DM_COD {0x5A, 0x02, 0x0C} 398#endif 399 400/* The number of SCO links. */ 401#ifndef BTM_MAX_SCO_LINKS 402#define BTM_MAX_SCO_LINKS 3 403#endif 404 405/* The preferred type of SCO links (2-eSCO, 0-SCO). */ 406#ifndef BTM_DEFAULT_SCO_MODE 407#define BTM_DEFAULT_SCO_MODE 2 408#endif 409 410/* The number of security records for peer devices. */ 411#ifndef BTM_SEC_MAX_DEVICE_RECORDS 412#define BTM_SEC_MAX_DEVICE_RECORDS 100 413#endif 414 415/* The number of security records for services. */ 416#ifndef BTM_SEC_MAX_SERVICE_RECORDS 417#define BTM_SEC_MAX_SERVICE_RECORDS 32 418#endif 419 420/* If True, force a retrieval of remote device name for each bond in case it's changed */ 421#ifndef BTM_SEC_FORCE_RNR_FOR_DBOND 422#define BTM_SEC_FORCE_RNR_FOR_DBOND FALSE 423#endif 424 425/* Maximum device name length used in btm database. */ 426#ifndef BTM_MAX_REM_BD_NAME_LEN 427#define BTM_MAX_REM_BD_NAME_LEN 248 428#endif 429 430/* Maximum local device name length stored btm database. 431 '0' disables storage of the local name in BTM */ 432#ifndef BTM_MAX_LOC_BD_NAME_LEN 433#define BTM_MAX_LOC_BD_NAME_LEN 248 434#endif 435 436/* Fixed Default String. When this is defined as null string, the device's 437 * product model name is used as the default local name. 438 */ 439#ifndef BTM_DEF_LOCAL_NAME 440#define BTM_DEF_LOCAL_NAME "" 441#endif 442 443/* Maximum service name stored with security authorization (0 if not needed) */ 444#ifndef BTM_SEC_SERVICE_NAME_LEN 445#define BTM_SEC_SERVICE_NAME_LEN BT_MAX_SERVICE_NAME_LEN 446#endif 447 448/* Maximum length of the service name. */ 449#ifndef BT_MAX_SERVICE_NAME_LEN 450#define BT_MAX_SERVICE_NAME_LEN 21 451#endif 452 453/* The maximum number of clients that can register with the power manager. */ 454#ifndef BTM_MAX_PM_RECORDS 455#define BTM_MAX_PM_RECORDS 2 456#endif 457 458/* This is set to show debug trace messages for the power manager. */ 459#ifndef BTM_PM_DEBUG 460#define BTM_PM_DEBUG FALSE 461#endif 462 463/* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */ 464#ifndef BTM_SCO_WAKE_PARKED_LINK 465#define BTM_SCO_WAKE_PARKED_LINK TRUE 466#endif 467 468/* If the user does not respond to security process requests within this many seconds, 469 * a negative response would be sent automatically. 470 * 30 is LMP response timeout value */ 471#ifndef BTM_SEC_TIMEOUT_VALUE 472#define BTM_SEC_TIMEOUT_VALUE 35 473#endif 474 475/* Maximum number of callbacks that can be registered using BTM_RegisterForVSEvents */ 476#ifndef BTM_MAX_VSE_CALLBACKS 477#define BTM_MAX_VSE_CALLBACKS 3 478#endif 479 480/****************************************** 481** Lisbon Features 482*******************************************/ 483/* This is set to TRUE if the FEC is required for EIR packet. */ 484#ifndef BTM_EIR_DEFAULT_FEC_REQUIRED 485#define BTM_EIR_DEFAULT_FEC_REQUIRED TRUE 486#endif 487 488/* The IO capability of the local device (for Simple Pairing) */ 489#ifndef BTM_LOCAL_IO_CAPS 490#define BTM_LOCAL_IO_CAPS BTM_IO_CAP_IO 491#endif 492 493#ifndef BTM_LOCAL_IO_CAPS_BLE 494#define BTM_LOCAL_IO_CAPS_BLE BTM_IO_CAP_KBDISP 495#endif 496 497/* The default MITM Protection Requirement (for Simple Pairing) 498 * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */ 499#ifndef BTM_DEFAULT_AUTH_REQ 500#define BTM_DEFAULT_AUTH_REQ BTM_AUTH_SP_NO 501#endif 502 503/* The default MITM Protection Requirement for dedicated bonding using Simple Pairing 504 * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */ 505#ifndef BTM_DEFAULT_DD_AUTH_REQ 506#define BTM_DEFAULT_DD_AUTH_REQ BTM_AUTH_AP_YES 507#endif 508 509/* TRUE to include Sniff Subrating */ 510#ifndef BTM_SSR_INCLUDED 511#define BTM_SSR_INCLUDED TRUE 512#endif 513 514/************************* 515** End of Lisbon Features 516**************************/ 517 518/* 4.1/4.2 secure connections feature */ 519#ifndef SC_MODE_INCLUDED 520#define SC_MODE_INCLUDED TRUE 521#endif 522 523/* Used for conformance testing ONLY */ 524#ifndef BTM_BLE_CONFORMANCE_TESTING 525#define BTM_BLE_CONFORMANCE_TESTING FALSE 526#endif 527 528/****************************************************************************** 529** 530** L2CAP 531** 532******************************************************************************/ 533 534/* The maximum number of simultaneous links that L2CAP can support. */ 535#ifndef MAX_ACL_CONNECTIONS 536#define MAX_L2CAP_LINKS 7 537#else 538#define MAX_L2CAP_LINKS MAX_ACL_CONNECTIONS 539#endif 540 541/* The maximum number of simultaneous channels that L2CAP can support. */ 542#ifndef MAX_L2CAP_CHANNELS 543#define MAX_L2CAP_CHANNELS 16 544#endif 545 546/* The maximum number of simultaneous applications that can register with L2CAP. */ 547#ifndef MAX_L2CAP_CLIENTS 548#define MAX_L2CAP_CLIENTS 15 549#endif 550 551/* The number of seconds of link inactivity before a link is disconnected. */ 552#ifndef L2CAP_LINK_INACTIVITY_TOUT 553#define L2CAP_LINK_INACTIVITY_TOUT 4 554#endif 555 556/* The number of seconds of link inactivity after bonding before a link is disconnected. */ 557#ifndef L2CAP_BONDING_TIMEOUT 558#define L2CAP_BONDING_TIMEOUT 3 559#endif 560 561/* The time from the HCI connection complete to disconnect if no channel is established. */ 562#ifndef L2CAP_LINK_STARTUP_TOUT 563#define L2CAP_LINK_STARTUP_TOUT 60 564#endif 565 566/* The L2CAP MTU; must be in accord with the HCI ACL buffer size. */ 567#ifndef L2CAP_MTU_SIZE 568#define L2CAP_MTU_SIZE 1691 569#endif 570 571/* 572 * The L2CAP MPS over Bluetooth; must be in accord with the FCR tx buffer size 573 * and ACL down buffer size. 574 */ 575#ifndef L2CAP_MPS_OVER_BR_EDR 576#define L2CAP_MPS_OVER_BR_EDR 1010 577#endif 578 579/* If host flow control enabled, this is the number of buffers the controller can have unacknowledged. */ 580#ifndef L2CAP_HOST_FC_ACL_BUFS 581#define L2CAP_HOST_FC_ACL_BUFS 20 582#endif 583 584/* This is set to enable L2CAP to take the ACL link out of park mode when ACL data is to be sent. */ 585#ifndef L2CAP_WAKE_PARKED_LINK 586#define L2CAP_WAKE_PARKED_LINK TRUE 587#endif 588 589/* Whether link wants to be the master or the slave. */ 590#ifndef L2CAP_DESIRED_LINK_ROLE 591#define L2CAP_DESIRED_LINK_ROLE HCI_ROLE_SLAVE 592#endif 593 594/* Include Non-Flushable Packet Boundary Flag feature of Lisbon */ 595#ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED 596#define L2CAP_NON_FLUSHABLE_PB_INCLUDED TRUE 597#endif 598 599/* Minimum number of ACL credit for high priority link */ 600#ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 601#define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 5 602#endif 603 604/* used for monitoring HCI ACL credit management */ 605#ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG 606#define L2CAP_HCI_FLOW_CONTROL_DEBUG TRUE 607#endif 608 609/* Unicast Connectionless Data */ 610#ifndef L2CAP_UCD_INCLUDED 611#define L2CAP_UCD_INCLUDED FALSE 612#endif 613 614/* Unicast Connectionless Data MTU */ 615#ifndef L2CAP_UCD_MTU 616#define L2CAP_UCD_MTU L2CAP_MTU_SIZE 617#endif 618 619/* Unicast Connectionless Data Idle Timeout */ 620#ifndef L2CAP_UCD_IDLE_TIMEOUT 621#define L2CAP_UCD_IDLE_TIMEOUT 2 622#endif 623 624/* Unicast Connectionless Data Idle Timeout */ 625#ifndef L2CAP_UCD_CH_PRIORITY 626#define L2CAP_UCD_CH_PRIORITY L2CAP_CHNL_PRIORITY_MEDIUM 627#endif 628 629/* Used for features using fixed channels; set to zero if no fixed channels supported (BLE, etc.) */ 630/* Excluding L2CAP signaling channel and UCD */ 631#ifndef L2CAP_NUM_FIXED_CHNLS 632#define L2CAP_NUM_FIXED_CHNLS 32 633#endif 634 635/* First fixed channel supported */ 636#ifndef L2CAP_FIRST_FIXED_CHNL 637#define L2CAP_FIRST_FIXED_CHNL 4 638#endif 639 640#ifndef L2CAP_LAST_FIXED_CHNL 641#define L2CAP_LAST_FIXED_CHNL (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1) 642#endif 643 644/* Round Robin service channels in link */ 645#ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE 646#define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE TRUE 647#endif 648 649/* used for monitoring eL2CAP data flow */ 650#ifndef L2CAP_ERTM_STATS 651#define L2CAP_ERTM_STATS FALSE 652#endif 653 654/* Used for conformance testing ONLY: When TRUE lets scriptwrapper overwrite info response */ 655#ifndef L2CAP_CONFORMANCE_TESTING 656#define L2CAP_CONFORMANCE_TESTING FALSE 657#endif 658 659/* 660 * Max bytes per connection to buffer locally before dropping the 661 * connection if local client does not receive it - default is 1MB 662 */ 663#ifndef L2CAP_MAX_RX_BUFFER 664#define L2CAP_MAX_RX_BUFFER 0x100000 665#endif 666 667 668/****************************************************************************** 669** 670** BLE 671** 672******************************************************************************/ 673 674#ifndef BLE_INCLUDED 675#define BLE_INCLUDED TRUE 676#endif 677 678#ifndef BLE_ANDROID_CONTROLLER_SCAN_FILTER 679#define BLE_ANDROID_CONTROLLER_SCAN_FILTER TRUE 680#endif 681 682#ifndef LOCAL_BLE_CONTROLLER_ID 683#define LOCAL_BLE_CONTROLLER_ID (1) 684#endif 685 686/* 687 * Toggles support for general LE privacy features such as remote address 688 * resolution, local address rotation etc. 689 */ 690#ifndef BLE_PRIVACY_SPT 691#define BLE_PRIVACY_SPT TRUE 692#endif 693 694/* 695 * Enables or disables support for local privacy (ex. address rotation) 696 */ 697#ifndef BLE_LOCAL_PRIVACY_ENABLED 698#define BLE_LOCAL_PRIVACY_ENABLED TRUE 699#endif 700 701/* 702 * Toggles support for vendor specific extensions such as RPA offloading, 703 * feature discovery, multi-adv etc. 704 */ 705#ifndef BLE_VND_INCLUDED 706#define BLE_VND_INCLUDED FALSE 707#endif 708 709#ifndef BTM_BLE_ADV_TX_POWER 710#define BTM_BLE_ADV_TX_POWER {-21, -15, -7, 1, 9} 711#endif 712 713/* The maximum number of simultaneous applications that can register with LE L2CAP. */ 714#ifndef BLE_MAX_L2CAP_CLIENTS 715#define BLE_MAX_L2CAP_CLIENTS 15 716#endif 717 718/****************************************************************************** 719** 720** ATT/GATT Protocol/Profile Settings 721** 722******************************************************************************/ 723#ifndef BTA_GATT_INCLUDED 724#if BLE_INCLUDED == TRUE 725#define BTA_GATT_INCLUDED TRUE 726#else 727#define BTA_GATT_INCLUDED FALSE 728#endif 729#endif 730 731#if BTA_GATT_INCLUDED == TRUE && BLE_INCLUDED == FALSE 732#error "can't have GATT without BLE" 733#endif 734 735#ifndef BLE_LLT_INCLUDED 736#define BLE_LLT_INCLUDED TRUE 737#endif 738 739#ifndef ATT_INCLUDED 740#define ATT_INCLUDED TRUE 741#endif 742 743#ifndef ATT_DEBUG 744#define ATT_DEBUG TRUE 745#endif 746 747#ifndef BLE_PERIPHERAL_MODE_SUPPORT 748#define BLE_PERIPHERAL_MODE_SUPPORT TRUE 749#endif 750 751#ifndef BLE_DELAY_REQUEST_ENC 752/* This flag is to work around IPHONE problem, We need to wait for iPhone ready 753 before send encryption request to iPhone */ 754#define BLE_DELAY_REQUEST_ENC FALSE 755#endif 756 757#ifndef GAP_TRANSPORT_SUPPORTED 758#define GAP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR 759#endif 760 761#ifndef GATTP_TRANSPORT_SUPPORTED 762#define GATTP_TRANSPORT_SUPPORTED GATT_TRANSPORT_LE_BR_EDR 763#endif 764 765#ifndef GATT_MAX_SR_PROFILES 766#define GATT_MAX_SR_PROFILES 32 /* max is 32 */ 767#endif 768 769#ifndef GATT_MAX_APPS 770#define GATT_MAX_APPS 32 /* note: 2 apps used internally GATT and GAP */ 771#endif 772 773#ifndef GATT_MAX_PHY_CHANNEL 774#define GATT_MAX_PHY_CHANNEL 7 775#endif 776 777/* Used for conformance testing ONLY */ 778#ifndef GATT_CONFORMANCE_TESTING 779#define GATT_CONFORMANCE_TESTING FALSE 780#endif 781 782/* number of background connection device allowence, ideally to be the same as WL size 783*/ 784#ifndef GATT_MAX_BG_CONN_DEV 785#define GATT_MAX_BG_CONN_DEV 32 786#endif 787 788/****************************************************************************** 789** 790** SMP 791** 792******************************************************************************/ 793#ifndef SMP_INCLUDED 794#if BLE_INCLUDED == TRUE 795#define SMP_INCLUDED TRUE 796#else 797#define SMP_INCLUDED FALSE 798#endif 799#endif 800 801#if SMP_INCLUDED == TRUE && BLE_INCLUDED == FALSE 802#error "can't have SMP without BLE" 803#endif 804 805#ifndef SMP_DEBUG 806#define SMP_DEBUG FALSE 807#endif 808 809#ifndef SMP_DEFAULT_AUTH_REQ 810#define SMP_DEFAULT_AUTH_REQ SMP_AUTH_NB_ENC_ONLY 811#endif 812 813#ifndef SMP_MAX_ENC_KEY_SIZE 814#define SMP_MAX_ENC_KEY_SIZE 16 815#endif 816 817/* minimum link timeout after SMP pairing is done, leave room for key exchange 818 and racing condition for the following service connection. 819 Prefer greater than 0 second, and no less than default inactivity link idle 820 timer(L2CAP_LINK_INACTIVITY_TOUT) in l2cap) */ 821#ifndef SMP_LINK_TOUT_MIN 822#if (L2CAP_LINK_INACTIVITY_TOUT > 0) 823#define SMP_LINK_TOUT_MIN L2CAP_LINK_INACTIVITY_TOUT 824#else 825#define SMP_LINK_TOUT_MIN 2 826#endif 827#endif 828/****************************************************************************** 829** 830** SDP 831** 832******************************************************************************/ 833 834/* This is set to enable SDP server functionality. */ 835#ifndef SDP_SERVER_ENABLED 836#define SDP_SERVER_ENABLED TRUE 837#endif 838 839/* The maximum number of SDP records the server can support. */ 840#ifndef SDP_MAX_RECORDS 841#define SDP_MAX_RECORDS 30 842#endif 843 844/* The maximum number of attributes in each record. */ 845#ifndef SDP_MAX_REC_ATTR 846#define SDP_MAX_REC_ATTR 25 847#endif 848 849#ifndef SDP_MAX_PAD_LEN 850#define SDP_MAX_PAD_LEN 600 851#endif 852 853/* The maximum length, in bytes, of an attribute. */ 854#ifndef SDP_MAX_ATTR_LEN 855#define SDP_MAX_ATTR_LEN 400 856#endif 857 858/* The maximum number of attribute filters supported by SDP databases. */ 859#ifndef SDP_MAX_ATTR_FILTERS 860#define SDP_MAX_ATTR_FILTERS 15 861#endif 862 863/* The maximum number of UUID filters supported by SDP databases. */ 864#ifndef SDP_MAX_UUID_FILTERS 865#define SDP_MAX_UUID_FILTERS 3 866#endif 867 868/* This is set to enable SDP client functionality. */ 869#ifndef SDP_CLIENT_ENABLED 870#define SDP_CLIENT_ENABLED TRUE 871#endif 872 873/* The maximum number of record handles retrieved in a search. */ 874#ifndef SDP_MAX_DISC_SERVER_RECS 875#define SDP_MAX_DISC_SERVER_RECS 21 876#endif 877 878/* The size of a scratchpad buffer, in bytes, for storing the response to an attribute request. */ 879#ifndef SDP_MAX_LIST_BYTE_COUNT 880#define SDP_MAX_LIST_BYTE_COUNT 4096 881#endif 882 883/* The maximum number of parameters in an SDP protocol element. */ 884#ifndef SDP_MAX_PROTOCOL_PARAMS 885#define SDP_MAX_PROTOCOL_PARAMS 2 886#endif 887 888/* The maximum number of simultaneous client and server connections. */ 889#ifndef SDP_MAX_CONNECTIONS 890#define SDP_MAX_CONNECTIONS 4 891#endif 892 893/* The MTU size for the L2CAP configuration. */ 894#ifndef SDP_MTU_SIZE 895#define SDP_MTU_SIZE 672 896#endif 897 898/* The flush timeout for the L2CAP configuration. */ 899#ifndef SDP_FLUSH_TO 900#define SDP_FLUSH_TO 0xFFFF 901#endif 902 903/* The name for security authorization. */ 904#ifndef SDP_SERVICE_NAME 905#define SDP_SERVICE_NAME "Service Discovery" 906#endif 907 908/* The security level for BTM. */ 909#ifndef SDP_SECURITY_LEVEL 910#define SDP_SECURITY_LEVEL BTM_SEC_NONE 911#endif 912 913/****************************************************************************** 914** 915** RFCOMM 916** 917******************************************************************************/ 918 919/* The maximum number of ports supported. */ 920#ifndef MAX_RFC_PORTS 921#define MAX_RFC_PORTS 30 922#endif 923 924/* The maximum simultaneous links to different devices. */ 925#ifndef MAX_ACL_CONNECTIONS 926#define MAX_BD_CONNECTIONS 7 927#else 928#define MAX_BD_CONNECTIONS MAX_ACL_CONNECTIONS 929#endif 930 931/* The port receive queue low watermark level, in bytes. */ 932#ifndef PORT_RX_LOW_WM 933#define PORT_RX_LOW_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM) 934#endif 935 936/* The port receive queue high watermark level, in bytes. */ 937#ifndef PORT_RX_HIGH_WM 938#define PORT_RX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM) 939#endif 940 941/* The port receive queue critical watermark level, in bytes. */ 942#ifndef PORT_RX_CRITICAL_WM 943#define PORT_RX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM) 944#endif 945 946/* The port receive queue low watermark level, in number of buffers. */ 947#ifndef PORT_RX_BUF_LOW_WM 948#define PORT_RX_BUF_LOW_WM 4 949#endif 950 951/* The port receive queue high watermark level, in number of buffers. */ 952#ifndef PORT_RX_BUF_HIGH_WM 953#define PORT_RX_BUF_HIGH_WM 10 954#endif 955 956/* The port receive queue critical watermark level, in number of buffers. */ 957#ifndef PORT_RX_BUF_CRITICAL_WM 958#define PORT_RX_BUF_CRITICAL_WM 15 959#endif 960 961/* The port transmit queue high watermark level, in bytes. */ 962#ifndef PORT_TX_HIGH_WM 963#define PORT_TX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM) 964#endif 965 966/* The port transmit queue critical watermark level, in bytes. */ 967#ifndef PORT_TX_CRITICAL_WM 968#define PORT_TX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM) 969#endif 970 971/* The port transmit queue high watermark level, in number of buffers. */ 972#ifndef PORT_TX_BUF_HIGH_WM 973#define PORT_TX_BUF_HIGH_WM 10 974#endif 975 976/* The port transmit queue high watermark level, in number of buffers. */ 977#ifndef PORT_TX_BUF_CRITICAL_WM 978#define PORT_TX_BUF_CRITICAL_WM 15 979#endif 980 981/* The RFCOMM multiplexer preferred flow control mechanism. */ 982#ifndef PORT_FC_DEFAULT 983#define PORT_FC_DEFAULT PORT_FC_CREDIT 984#endif 985 986/* The maximum number of credits receiver sends to peer when using credit-based flow control. */ 987#ifndef PORT_CREDIT_RX_MAX 988#define PORT_CREDIT_RX_MAX 16 989#endif 990 991/* The credit low watermark level. */ 992#ifndef PORT_CREDIT_RX_LOW 993#define PORT_CREDIT_RX_LOW 8 994#endif 995 996/****************************************************************************** 997** 998** OBEX 999** 1000******************************************************************************/ 1001 1002/* 1003 * Buffer size to reassemble the SDU. 1004 * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU. 1005 */ 1006#ifndef OBX_USER_RX_BUF_SIZE 1007#define OBX_USER_RX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE 1008#endif 1009 1010/* 1011 * Buffer size to hold the SDU. 1012 * It will allow buffers to be used that are larger than the L2CAP_MAX_MTU. 1013 */ 1014#ifndef OBX_USER_TX_BUF_SIZE 1015#define OBX_USER_TX_BUF_SIZE OBX_LRG_DATA_BUF_SIZE 1016#endif 1017 1018/* Buffer size used to hold MPS segments during SDU reassembly. */ 1019#ifndef OBX_FCR_RX_BUF_SIZE 1020#define OBX_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1021#endif 1022 1023/* 1024 * Buffer size used to hold MPS segments used in (re)transmissions. 1025 * The size of each buffer must be able to hold the maximum MPS segment size 1026 * passed in L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) + 1027 * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec). 1028 */ 1029#ifndef OBX_FCR_TX_BUF_SIZE 1030#define OBX_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1031#endif 1032 1033/* 1034 * Size of the transmission window when using enhanced retransmission mode. 1035 * Not used in basic and streaming modes. Range: 1 - 63 1036 */ 1037#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 1038#define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 20 1039#endif 1040 1041/* 1042 * Number of transmission attempts for a single I-Frame before taking 1043 * Down the connection. Used In ERTM mode only. Value is Ignored in basic and 1044 * Streaming modes. 1045 * Range: 0, 1-0xFF 1046 * 0 - infinite retransmissions 1047 * 1 - single transmission 1048 */ 1049#ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT 1050#define OBX_FCR_OPT_MAX_TX_B4_DISCNT 20 1051#endif 1052 1053/* 1054 * Retransmission Timeout 1055 * Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF. 1056 */ 1057#ifndef OBX_FCR_OPT_RETX_TOUT 1058#define OBX_FCR_OPT_RETX_TOUT 2000 1059#endif 1060 1061/* 1062 * Monitor Timeout 1063 * Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF. 1064 */ 1065#ifndef OBX_FCR_OPT_MONITOR_TOUT 1066#define OBX_FCR_OPT_MONITOR_TOUT 12000 1067#endif 1068 1069/* 1070 * Maximum PDU payload size. 1071 * Suggestion: The maximum amount of data that will fit into a 3-DH5 packet. 1072 * Range: 2 octets 1073 */ 1074#ifndef OBX_FCR_OPT_MAX_PDU_SIZE 1075#define OBX_FCR_OPT_MAX_PDU_SIZE L2CAP_MPS_OVER_BR_EDR 1076#endif 1077 1078 1079/****************************************************************************** 1080** 1081** BNEP 1082** 1083******************************************************************************/ 1084 1085#ifndef BNEP_INCLUDED 1086#define BNEP_INCLUDED TRUE 1087#endif 1088 1089/* BNEP status API call is used mainly to get the L2CAP handle */ 1090#ifndef BNEP_SUPPORTS_STATUS_API 1091#define BNEP_SUPPORTS_STATUS_API TRUE 1092#endif 1093 1094/* 1095** When BNEP connection changes roles after the connection is established 1096** we will do an authentication check again on the new role 1097*/ 1098#ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH 1099#define BNEP_DO_AUTH_FOR_ROLE_SWITCH TRUE 1100#endif 1101 1102 1103/* Maximum number of protocol filters supported. */ 1104#ifndef BNEP_MAX_PROT_FILTERS 1105#define BNEP_MAX_PROT_FILTERS 5 1106#endif 1107 1108/* Maximum number of multicast filters supported. */ 1109#ifndef BNEP_MAX_MULTI_FILTERS 1110#define BNEP_MAX_MULTI_FILTERS 5 1111#endif 1112 1113/* Minimum MTU size. */ 1114#ifndef BNEP_MIN_MTU_SIZE 1115#define BNEP_MIN_MTU_SIZE L2CAP_MTU_SIZE 1116#endif 1117 1118/* Preferred MTU size. */ 1119#ifndef BNEP_MTU_SIZE 1120#define BNEP_MTU_SIZE BNEP_MIN_MTU_SIZE 1121#endif 1122 1123/* Maximum number of buffers allowed in transmit data queue. */ 1124#ifndef BNEP_MAX_XMITQ_DEPTH 1125#define BNEP_MAX_XMITQ_DEPTH 20 1126#endif 1127 1128/* Maximum number BNEP of connections supported. */ 1129#ifndef BNEP_MAX_CONNECTIONS 1130#define BNEP_MAX_CONNECTIONS 7 1131#endif 1132 1133 1134/****************************************************************************** 1135** 1136** AVDTP 1137** 1138******************************************************************************/ 1139 1140#ifndef AVDT_INCLUDED 1141#define AVDT_INCLUDED TRUE 1142#endif 1143 1144/* Include reporting capability in AVDTP */ 1145#ifndef AVDT_REPORTING 1146#define AVDT_REPORTING TRUE 1147#endif 1148 1149/* Include multiplexing capability in AVDTP */ 1150#ifndef AVDT_MULTIPLEXING 1151#define AVDT_MULTIPLEXING TRUE 1152#endif 1153 1154/* Number of simultaneous links to different peer devices. */ 1155#ifndef AVDT_NUM_LINKS 1156#define AVDT_NUM_LINKS 2 1157#endif 1158 1159/* Number of simultaneous stream endpoints. */ 1160#ifndef AVDT_NUM_SEPS 1161#define AVDT_NUM_SEPS 3 1162#endif 1163 1164/* Number of transport channels setup by AVDT for all media streams */ 1165#ifndef AVDT_NUM_TC_TBL 1166#define AVDT_NUM_TC_TBL 6 1167#endif 1168 1169/* Maximum size in bytes of the codec capabilities information element. */ 1170#ifndef AVDT_CODEC_SIZE 1171#define AVDT_CODEC_SIZE 10 1172#endif 1173 1174/* Maximum size in bytes of the content protection information element. */ 1175#ifndef AVDT_PROTECT_SIZE 1176#define AVDT_PROTECT_SIZE 90 1177#endif 1178 1179/* Maximum number of buffers in the fragment queue (for video frames). */ 1180#ifndef AVDT_MAX_FRAG_COUNT 1181#define AVDT_MAX_FRAG_COUNT 15 1182#endif 1183 1184/****************************************************************************** 1185** 1186** PAN 1187** 1188******************************************************************************/ 1189 1190#ifndef PAN_INCLUDED 1191#define PAN_INCLUDED TRUE 1192#endif 1193 1194/* This will enable the PANU role */ 1195#ifndef PAN_SUPPORTS_ROLE_PANU 1196#define PAN_SUPPORTS_ROLE_PANU TRUE 1197#endif 1198 1199/* This will enable the GN role */ 1200#ifndef PAN_SUPPORTS_ROLE_GN 1201#define PAN_SUPPORTS_ROLE_GN TRUE 1202#endif 1203 1204/* This will enable the NAP role */ 1205#ifndef PAN_SUPPORTS_ROLE_NAP 1206#define PAN_SUPPORTS_ROLE_NAP TRUE 1207#endif 1208 1209/* This is just for debugging purposes */ 1210#ifndef PAN_SUPPORTS_DEBUG_DUMP 1211#define PAN_SUPPORTS_DEBUG_DUMP TRUE 1212#endif 1213 1214/* Maximum number of PAN connections allowed */ 1215#ifndef MAX_PAN_CONNS 1216#define MAX_PAN_CONNS 7 1217#endif 1218 1219/* Default service name for NAP role */ 1220#ifndef PAN_NAP_DEFAULT_SERVICE_NAME 1221#define PAN_NAP_DEFAULT_SERVICE_NAME "Network Access Point Service" 1222#endif 1223 1224/* Default service name for GN role */ 1225#ifndef PAN_GN_DEFAULT_SERVICE_NAME 1226#define PAN_GN_DEFAULT_SERVICE_NAME "Group Network Service" 1227#endif 1228 1229/* Default service name for PANU role */ 1230#ifndef PAN_PANU_DEFAULT_SERVICE_NAME 1231#define PAN_PANU_DEFAULT_SERVICE_NAME "PAN User Service" 1232#endif 1233 1234/* Default description for NAP role service */ 1235#ifndef PAN_NAP_DEFAULT_DESCRIPTION 1236#define PAN_NAP_DEFAULT_DESCRIPTION "NAP" 1237#endif 1238 1239/* Default description for GN role service */ 1240#ifndef PAN_GN_DEFAULT_DESCRIPTION 1241#define PAN_GN_DEFAULT_DESCRIPTION "GN" 1242#endif 1243 1244/* Default description for PANU role service */ 1245#ifndef PAN_PANU_DEFAULT_DESCRIPTION 1246#define PAN_PANU_DEFAULT_DESCRIPTION "PANU" 1247#endif 1248 1249/* Default Security level for PANU role. */ 1250#ifndef PAN_PANU_SECURITY_LEVEL 1251#define PAN_PANU_SECURITY_LEVEL 0 1252#endif 1253 1254/* Default Security level for GN role. */ 1255#ifndef PAN_GN_SECURITY_LEVEL 1256#define PAN_GN_SECURITY_LEVEL 0 1257#endif 1258 1259/* Default Security level for NAP role. */ 1260#ifndef PAN_NAP_SECURITY_LEVEL 1261#define PAN_NAP_SECURITY_LEVEL 0 1262#endif 1263 1264/****************************************************************************** 1265** 1266** GAP 1267** 1268******************************************************************************/ 1269 1270#ifndef GAP_INCLUDED 1271#define GAP_INCLUDED TRUE 1272#endif 1273 1274/* This is set to enable use of GAP L2CAP connections. */ 1275#ifndef GAP_CONN_INCLUDED 1276#define GAP_CONN_INCLUDED TRUE 1277#endif 1278 1279/* This is set to enable posting event for data write */ 1280#ifndef GAP_CONN_POST_EVT_INCLUDED 1281#define GAP_CONN_POST_EVT_INCLUDED FALSE 1282#endif 1283 1284/* The maximum number of simultaneous GAP L2CAP connections. */ 1285#ifndef GAP_MAX_CONNECTIONS 1286#define GAP_MAX_CONNECTIONS 30 1287#endif 1288 1289/* keep the raw data received from SDP server in database. */ 1290#ifndef SDP_RAW_DATA_INCLUDED 1291#define SDP_RAW_DATA_INCLUDED TRUE 1292#endif 1293 1294/* Inquiry duration in 1.28 second units. */ 1295#ifndef SDP_DEBUG 1296#define SDP_DEBUG TRUE 1297#endif 1298 1299/****************************************************************************** 1300** 1301** HID 1302** 1303******************************************************************************/ 1304 1305#ifndef HID_CONTROL_BUF_SIZE 1306#define HID_CONTROL_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1307#endif 1308 1309#ifndef HID_INTERRUPT_BUF_SIZE 1310#define HID_INTERRUPT_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1311#endif 1312 1313/************************************************************************* 1314** Definitions for Both HID-Host & Device 1315*/ 1316#ifndef HID_MAX_SVC_NAME_LEN 1317#define HID_MAX_SVC_NAME_LEN 32 1318#endif 1319 1320#ifndef HID_MAX_SVC_DESCR_LEN 1321#define HID_MAX_SVC_DESCR_LEN 32 1322#endif 1323 1324#ifndef HID_MAX_PROV_NAME_LEN 1325#define HID_MAX_PROV_NAME_LEN 32 1326#endif 1327 1328/************************************************************************* 1329** Definitions for HID-Host 1330*/ 1331#ifndef HID_HOST_INCLUDED 1332#define HID_HOST_INCLUDED TRUE 1333#endif 1334 1335#ifndef HID_HOST_MAX_DEVICES 1336#define HID_HOST_MAX_DEVICES 7 1337#endif 1338 1339#ifndef HID_HOST_MTU 1340#define HID_HOST_MTU 640 1341#endif 1342 1343#ifndef HID_HOST_FLUSH_TO 1344#define HID_HOST_FLUSH_TO 0xffff 1345#endif 1346 1347#ifndef HID_HOST_MAX_CONN_RETRY 1348#define HID_HOST_MAX_CONN_RETRY (1) 1349#endif 1350 1351#ifndef HID_HOST_REPAGE_WIN 1352#define HID_HOST_REPAGE_WIN (2) 1353#endif 1354 1355/************************************************************************* 1356 * A2DP Definitions 1357 */ 1358#ifndef A2D_INCLUDED 1359#define A2D_INCLUDED TRUE 1360#endif 1361 1362/****************************************************************************** 1363** 1364** AVCTP 1365** 1366******************************************************************************/ 1367 1368/* Number of simultaneous ACL links to different peer devices. */ 1369#ifndef AVCT_NUM_LINKS 1370#define AVCT_NUM_LINKS 2 1371#endif 1372 1373/* Number of simultaneous AVCTP connections. */ 1374#ifndef AVCT_NUM_CONN 1375#define AVCT_NUM_CONN 3 1376#endif 1377 1378/****************************************************************************** 1379** 1380** AVRCP 1381** 1382******************************************************************************/ 1383 1384#ifndef AVRC_METADATA_INCLUDED 1385#define AVRC_METADATA_INCLUDED TRUE 1386#endif 1387 1388#ifndef AVRC_ADV_CTRL_INCLUDED 1389#define AVRC_ADV_CTRL_INCLUDED TRUE 1390#endif 1391 1392#ifndef AVRC_CTLR_INCLUDED 1393#define AVRC_CTLR_INCLUDED TRUE 1394#endif 1395 1396/****************************************************************************** 1397** 1398** MCAP 1399** 1400******************************************************************************/ 1401#ifndef MCA_INCLUDED 1402#define MCA_INCLUDED FALSE 1403#endif 1404 1405/* The MTU size for the L2CAP configuration on control channel. 48 is the minimal */ 1406#ifndef MCA_CTRL_MTU 1407#define MCA_CTRL_MTU 60 1408#endif 1409 1410/* The maximum number of registered MCAP instances. */ 1411#ifndef MCA_NUM_REGS 1412#define MCA_NUM_REGS 12 1413#endif 1414 1415/* The maximum number of control channels (to difference devices) per registered MCAP instances. */ 1416#ifndef MCA_NUM_LINKS 1417#define MCA_NUM_LINKS 3 1418#endif 1419 1420/* The maximum number of MDEP (including HDP echo) per registered MCAP instances. */ 1421#ifndef MCA_NUM_DEPS 1422#define MCA_NUM_DEPS 13 1423#endif 1424 1425/* The maximum number of MDL link per control channel. */ 1426#ifndef MCA_NUM_MDLS 1427#define MCA_NUM_MDLS 4 1428#endif 1429 1430/* Buffer size to reassemble the SDU. */ 1431#ifndef MCA_USER_RX_BUF_SIZE 1432#define MCA_USER_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1433#endif 1434 1435/* Buffer size to hold the SDU. */ 1436#ifndef MCA_USER_TX_BUF_SIZE 1437#define MCA_USER_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1438#endif 1439 1440/* 1441 * Buffer size used to hold MPS segments during SDU reassembly 1442 */ 1443#ifndef MCA_FCR_RX_BUF_SIZE 1444#define MCA_FCR_RX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1445#endif 1446 1447/* 1448 * Default buffer size used to hold MPS segments used in (re)transmissions. 1449 * The size of each buffer must be able to hold the maximum MPS segment size 1450 * passed in tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) + 1451 * L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec). 1452 */ 1453#ifndef MCA_FCR_TX_BUF_SIZE 1454#define MCA_FCR_TX_BUF_SIZE BT_DEFAULT_BUFFER_SIZE 1455#endif 1456 1457/* MCAP control channel FCR Option: 1458Size of the transmission window when using enhanced retransmission mode. 14591 is defined by HDP specification for control channel. 1460*/ 1461#ifndef MCA_FCR_OPT_TX_WINDOW_SIZE 1462#define MCA_FCR_OPT_TX_WINDOW_SIZE 1 1463#endif 1464 1465/* MCAP control channel FCR Option: 1466Number of transmission attempts for a single I-Frame before taking 1467Down the connection. Used In ERTM mode only. Value is Ignored in basic and 1468Streaming modes. 1469Range: 0, 1-0xFF 14700 - infinite retransmissions 14711 - single transmission 1472*/ 1473#ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT 1474#define MCA_FCR_OPT_MAX_TX_B4_DISCNT 20 1475#endif 1476 1477/* MCAP control channel FCR Option: Retransmission Timeout 1478The AVRCP specification set a value in the range of 300 - 2000 ms 1479Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode. 1480Range: Minimum 2000 (2 secs) when supporting PBF. 1481 */ 1482#ifndef MCA_FCR_OPT_RETX_TOUT 1483#define MCA_FCR_OPT_RETX_TOUT 2000 1484#endif 1485 1486/* MCAP control channel FCR Option: Monitor Timeout 1487The AVRCP specification set a value in the range of 300 - 2000 ms 1488Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode. 1489Range: Minimum 12000 (12 secs) when supporting PBF. 1490*/ 1491#ifndef MCA_FCR_OPT_MONITOR_TOUT 1492#define MCA_FCR_OPT_MONITOR_TOUT 12000 1493#endif 1494 1495/* MCAP control channel FCR Option: Maximum PDU payload size. 1496The maximum number of payload octets that the local device can receive in a single PDU. 1497*/ 1498#ifndef MCA_FCR_OPT_MPS_SIZE 1499#define MCA_FCR_OPT_MPS_SIZE 1000 1500#endif 1501 1502/****************************************************************************** 1503** 1504** Sleep Mode (Low Power Mode) 1505** 1506******************************************************************************/ 1507 1508#ifndef HCILP_INCLUDED 1509#define HCILP_INCLUDED TRUE 1510#endif 1511 1512/****************************************************************************** 1513** 1514** BTA 1515** 1516******************************************************************************/ 1517/* BTA EIR canned UUID list (default is dynamic) */ 1518#ifndef BTA_EIR_CANNED_UUID_LIST 1519#define BTA_EIR_CANNED_UUID_LIST FALSE 1520#endif 1521 1522/* Number of supported customer UUID in EIR */ 1523#ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID 1524#define BTA_EIR_SERVER_NUM_CUSTOM_UUID 8 1525#endif 1526 1527/* CHLD override */ 1528#ifndef BTA_AG_CHLD_VAL_ECC 1529#define BTA_AG_CHLD_VAL_ECC "(0,1,1x,2,2x,3)" 1530#endif 1531 1532#ifndef BTA_AG_CHLD_VAL 1533#define BTA_AG_CHLD_VAL "(0,1,2,3)" 1534#endif 1535 1536/* Set the CIND to match HFP 1.5 */ 1537#ifndef BTA_AG_CIND_INFO 1538#define BTA_AG_CIND_INFO "(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"service\",(0-1)),(\"signal\",(0-5)),(\"roam\",(0,1)),(\"battchg\",(0-5)),(\"callheld\",(0-2))" 1539#endif 1540 1541#ifndef BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY 1542#define BTA_DM_AVOID_A2DP_ROLESWITCH_ON_INQUIRY TRUE 1543#endif 1544 1545/****************************************************************************** 1546** 1547** Tracing: Include trace header file here. 1548** 1549******************************************************************************/ 1550 1551/* Enable/disable BTSnoop memory logging */ 1552#ifndef BTSNOOP_MEM 1553#define BTSNOOP_MEM TRUE 1554#endif 1555 1556#include "bt_trace.h" 1557 1558/****************************************************************************** 1559** 1560** Wear 1561** 1562******************************************************************************/ 1563 1564/* Enable/disable LE IO capability overriding to no-input-no-output on first bond */ 1565#ifndef WEAR_LE_IO_CAP_OVERRIDE 1566#define WEAR_LE_IO_CAP_OVERRIDE FALSE 1567#endif 1568 1569#endif /* BT_TARGET_H */ 1570