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