1 /****************************************************************************** 2 * 3 * Copyright (C) 1999-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 #ifndef BT_TARGET_H 20 #define BT_TARGET_H 21 22 #ifndef BUILDCFG 23 #define BUILDCFG 24 #endif 25 #include "data_types.h" 26 27 28 #ifndef BTIF_HSAG_SERVICE_NAME 29 #define BTIF_HSAG_SERVICE_NAME ("Headset Gateway") 30 #endif 31 32 #ifndef BTIF_HFAG_SERVICE_NAME 33 #define BTIF_HFAG_SERVICE_NAME ("Handsfree Gateway") 34 #endif 35 36 37 #ifdef BUILDCFG 38 39 #if !defined(HAS_BDROID_BUILDCFG) && !defined(HAS_NO_BDROID_BUILDCFG) 40 #error "An Android.mk file did not include bdroid_CFLAGS and possibly not bdorid_C_INCLUDES" 41 #endif 42 43 #ifdef HAS_BDROID_BUILDCFG 44 #include "bdroid_buildcfg.h" 45 #endif 46 47 #endif 48 49 /* Include common GKI definitions used by this platform */ 50 #include "gki_target.h" 51 52 #include "bt_types.h" /* This must be defined AFTER buildcfg.h */ 53 #include "dyn_mem.h" /* defines static and/or dynamic memory for components */ 54 55 56 //------------------Added from Bluedroid buildcfg.h--------------------- 57 #ifndef UNV_INCLUDED 58 #define UNV_INCLUDED FALSE 59 #endif 60 61 #ifndef GATT_PTS 62 #define GATT_PTS FALSE 63 #endif 64 65 #ifndef L2CAP_INCLUDED 66 #define L2CAP_INCLUDED TRUE 67 #endif 68 69 #ifndef L2CAP_EXTFEA_SUPPORTED_MASK 70 #define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS) 71 #endif 72 73 #ifndef BTUI_OPS_FORMATS 74 #define BTUI_OPS_FORMATS (BTA_OP_VCARD21_MASK | BTA_OP_ANY_MASK) 75 #endif 76 77 #ifndef BTA_RFC_MTU_SIZE 78 #define BTA_RFC_MTU_SIZE (L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD) 79 #endif 80 81 #ifndef BTA_DUN_MTU 82 #define BTA_DUN_MTU BTA_RFC_MTU_SIZE 83 #endif 84 85 #ifndef BTA_SPP_MTU 86 #define BTA_SPP_MTU BTA_RFC_MTU_SIZE 87 #endif 88 89 #ifndef BTA_FAX_MTU 90 #define BTA_FAX_MTU BTA_RFC_MTU_SIZE 91 #endif 92 93 #ifndef SDP_RAW_PDU_INCLUDED 94 #define SDP_RAW_PDU_INCLUDED TRUE 95 #endif 96 97 #ifndef GATTS_APPU_USE_GATT_TRACE 98 #define GATTS_APPU_USE_GATT_TRACE FALSE 99 #endif 100 101 #ifndef SMP_HOST_ENCRYPT_INCLUDED 102 #define SMP_HOST_ENCRYPT_INCLUDED FALSE 103 #endif 104 105 #ifndef SAP_INCLUDED 106 #define SAP_INCLUDED FALSE 107 #endif 108 109 #ifndef SBC_NO_PCM_CPY_OPTION 110 #define SBC_NO_PCM_CPY_OPTION FALSE 111 #endif 112 113 #ifndef SBC_IPAQ_OPT 114 #define SBC_IPAQ_OPT FALSE 115 #endif 116 117 #ifndef SBC_IS_64_MULT_IN_QUANTIZER 118 #define SBC_IS_64_MULT_IN_QUANTIZER FALSE 119 #endif 120 121 #ifndef BTA_INCLUDED 122 #define BTA_INCLUDED TRUE 123 #endif 124 125 #ifndef BTA_AG_INCLUDED 126 #define BTA_AG_INCLUDED TRUE 127 #endif 128 129 #ifndef BTA_CT_INCLUDED 130 #define BTA_CT_INCLUDED FALSE 131 #endif 132 133 #ifndef BTA_CG_INCLUDED 134 #define BTA_CG_INCLUDED FALSE 135 #endif 136 137 #ifndef BTA_DG_INCLUDED 138 #define BTA_DG_INCLUDED FALSE 139 #endif 140 141 #ifndef BTA_FT_INCLUDED 142 #define BTA_FT_INCLUDED FALSE 143 #endif 144 145 #ifndef BTA_OP_INCLUDED 146 #define BTA_OP_INCLUDED FALSE 147 #endif 148 149 #ifndef BTA_PR_INCLUDED 150 #define BTA_PR_INCLUDED FALSE 151 #endif 152 153 #ifndef BTA_SS_INCLUDED 154 #define BTA_SS_INCLUDED FALSE 155 #endif 156 157 #ifndef BTA_DM_INCLUDED 158 #define BTA_DM_INCLUDED TRUE 159 #endif 160 161 162 #ifndef BTA_DI_INCLUDED 163 #define BTA_DI_INCLUDED FALSE 164 #endif 165 166 #ifndef BTA_BI_INCLUDED 167 #define BTA_BI_INCLUDED FALSE 168 #endif 169 170 #ifndef BTA_SC_INCLUDED 171 #define BTA_SC_INCLUDED FALSE 172 #endif 173 174 #ifndef BTA_PAN_INCLUDED 175 #define BTA_PAN_INCLUDED TRUE 176 #endif 177 178 #ifndef BTA_FS_INCLUDED 179 #define BTA_FS_INCLUDED TRUE 180 #endif 181 182 #ifndef BTA_AC_INCLUDED 183 #define BTA_AC_INCLUDED FALSE 184 #endif 185 186 #ifndef BTA_HD_INCLUDED 187 #define BTA_HD_INCLUDED FALSE 188 #endif 189 190 #ifndef BTA_HH_INCLUDED 191 #define BTA_HH_INCLUDED TRUE 192 #endif 193 194 #ifndef BTA_HH_ROLE 195 #define BTA_HH_ROLE BTA_MASTER_ROLE_PREF 196 #endif 197 198 #ifndef BTA_AR_INCLUDED 199 #define BTA_AR_INCLUDED TRUE 200 #endif 201 202 #ifndef BTA_AV_INCLUDED 203 #define BTA_AV_INCLUDED TRUE 204 #endif 205 206 #ifndef BTA_AV_VDP_INCLUDED 207 #define BTA_AV_VDP_INCLUDED FALSE 208 #endif 209 210 #ifndef BTA_AVK_INCLUDED 211 #define BTA_AVK_INCLUDED FALSE 212 #endif 213 214 #ifndef BTA_PBS_INCLUDED 215 #define BTA_PBS_INCLUDED FALSE 216 #endif 217 218 #ifndef BTA_PBC_INCLUDED 219 #define BTA_PBC_INCLUDED FALSE 220 #endif 221 222 #ifndef BTA_FM_INCLUDED 223 #define BTA_FM_INCLUDED FALSE 224 #endif 225 226 #ifndef BTA_FM_DEBUG 227 #define BTA_FM_DEBUG FALSE 228 #endif 229 230 #ifndef BTA_FMTX_INCLUDED 231 #define BTA_FMTX_INCLUDED FALSE 232 #endif 233 234 #ifndef BTA_FMTX_DEBUG 235 #define BTA_FMTX_DEBUG FALSE 236 #endif 237 238 #ifndef BTA_FMTX_FMRX_SWITCH_WORKAROUND 239 #define BTA_FMTX_FMRX_SWITCH_WORKAROUND FALSE 240 #endif 241 242 #ifndef BTA_FMTX_US_FCC_RULES 243 #define BTA_FMTX_US_FCC_RULES FALSE 244 #endif 245 246 #ifndef BTA_HS_INCLUDED 247 #define BTA_HS_INCLUDED FALSE 248 #endif 249 250 #ifndef BTA_MSE_INCLUDED 251 #define BTA_MSE_INCLUDED FALSE 252 #endif 253 254 #ifndef BTA_MCE_INCLUDED 255 #define BTA_MCE_INCLUDED FALSE 256 #endif 257 258 #ifndef BTA_PLAYBACK_INCLUDED 259 #define BTA_PLAYBACK_INCLUDED FALSE 260 #endif 261 262 #ifndef BTA_SSR_INCLUDED 263 #define BTA_SSR_INCLUDED FALSE 264 #endif 265 266 #ifndef BTA_JV_INCLUDED 267 #define BTA_JV_INCLUDED FALSE 268 #endif 269 270 #ifndef BTA_GATT_INCLUDED 271 #define BTA_GATT_INCLUDED FALSE 272 #endif 273 274 #ifndef BTA_DISABLE_DELAY 275 #define BTA_DISABLE_DELAY 200 /* in milliseconds */ 276 #endif 277 278 #ifndef RPC_TRACE_ONLY 279 #define RPC_TRACE_ONLY FALSE 280 #endif 281 282 #ifndef ANDROID_APP_INCLUDED 283 #define ANDROID_APP_INCLUDED TRUE 284 #endif 285 286 #ifndef ANDROID_USE_LOGCAT 287 #define ANDROID_USE_LOGCAT TRUE 288 #endif 289 290 #ifndef LINUX_GKI_INCLUDED 291 #define LINUX_GKI_INCLUDED TRUE 292 #endif 293 294 #ifndef BTA_SYS_TIMER_PERIOD 295 #define BTA_SYS_TIMER_PERIOD 100 296 #endif 297 298 #ifndef GKI_SHUTDOWN_EVT 299 #define GKI_SHUTDOWN_EVT APPL_EVT_7 300 #endif 301 302 #ifndef GKI_PTHREAD_JOINABLE 303 #define GKI_PTHREAD_JOINABLE TRUE 304 #endif 305 306 #ifndef LINUX_DRV_INCLUDED 307 #define LINUX_DRV_INCLUDED TRUE 308 #endif 309 310 #ifndef LINUX_OS 311 #define LINUX_OS TRUE 312 #endif 313 314 #ifndef BTM_APP_DEV_INIT 315 #define BTM_APP_DEV_INIT bte_main_post_reset_init 316 #endif 317 318 #ifndef SBC_FOR_EMBEDDED_LINUX 319 #define SBC_FOR_EMBEDDED_LINUX TRUE 320 #endif 321 322 #ifndef BTA_DM_REMOTE_DEVICE_NAME_LENGTH 323 #define BTA_DM_REMOTE_DEVICE_NAME_LENGTH 248 324 #endif 325 326 #ifndef AVDT_VERSION 327 #define AVDT_VERSION 0x0102 328 #endif 329 330 #ifndef BTA_AG_AT_MAX_LEN 331 #define BTA_AG_AT_MAX_LEN 512 332 #endif 333 334 #ifndef BTA_AVRCP_FF_RW_SUPPORT 335 #define BTA_AVRCP_FF_RW_SUPPORT TRUE 336 #endif 337 338 #ifndef BTA_AG_SCO_PKT_TYPES 339 #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) 340 #endif 341 342 #ifndef BTA_AV_MAX_A2DP_MTU 343 #define BTA_AV_MAX_A2DP_MTU 668 344 #endif 345 346 #ifndef BTA_AV_RET_TOUT 347 #define BTA_AV_RET_TOUT 15 348 #endif 349 350 #ifndef PORCHE_PAIRING_CONFLICT 351 #define PORCHE_PAIRING_CONFLICT TRUE 352 #endif 353 354 #ifndef BTA_AV_CO_CP_SCMS_T 355 #define BTA_AV_CO_CP_SCMS_T FALSE 356 #endif 357 358 #ifndef AVDT_CONNECT_CP_ONLY 359 #define AVDT_CONNECT_CP_ONLY FALSE 360 #endif 361 362 #ifndef BT_TRACE_PROTOCOL 363 #define BT_TRACE_PROTOCOL TRUE 364 #endif 365 366 #ifndef BT_USE_TRACES 367 #define BT_USE_TRACES TRUE 368 #endif 369 370 #ifndef BT_TRACE_BTIF 371 #define BT_TRACE_BTIF TRUE 372 #endif 373 374 #ifndef BTTRC_INCLUDED 375 #define BTTRC_INCLUDED FALSE 376 #endif 377 378 #ifndef BT_TRACE_VERBOSE 379 #define BT_TRACE_VERBOSE FALSE 380 #endif 381 382 #ifndef BTTRC_PARSER_INCLUDED 383 #define BTTRC_PARSER_INCLUDED FALSE 384 #endif 385 386 #ifndef MAX_TRACE_RAM_SIZE 387 #define MAX_TRACE_RAM_SIZE 10000 388 #endif 389 390 #ifndef OBX_INITIAL_TRACE_LEVEL 391 #define OBX_INITIAL_TRACE_LEVEL BT_TRACE_LEVEL_ERROR 392 #endif 393 394 #ifndef PBAP_ZERO_VCARD_IN_DB 395 #define PBAP_ZERO_VCARD_IN_DB FALSE 396 #endif 397 398 #ifndef BTA_DM_SDP_DB_SIZE 399 #define BTA_DM_SDP_DB_SIZE 8000 400 #endif 401 402 #ifndef FTS_REJECT_INVALID_OBEX_SET_PATH_REQ 403 #define FTS_REJECT_INVALID_OBEX_SET_PATH_REQ FALSE 404 #endif 405 406 #ifndef HL_INCLUDED 407 #define HL_INCLUDED TRUE 408 #endif 409 410 #ifndef NO_GKI_RUN_RETURN 411 #define NO_GKI_RUN_RETURN TRUE 412 #endif 413 414 #ifndef AG_VOICE_SETTINGS 415 #define AG_VOICE_SETTINGS HCI_DEFAULT_VOICE_SETTINGS 416 #endif 417 418 #ifndef BTIF_DM_OOB_TEST 419 #define BTIF_DM_OOB_TEST TRUE 420 #endif 421 //------------------End added from Bluedroid buildcfg.h--------------------- 422 423 424 425 /* #define BYPASS_AVDATATRACE */ 426 427 /****************************************************************************** 428 ** 429 ** Platform-Specific 430 ** 431 ******************************************************************************/ 432 433 /* API macros for simulator */ 434 435 #define BTAPI 436 437 #ifndef BTE_BSE_WRAPPER 438 #ifdef BTE_SIM_APP 439 #undef BTAPI 440 #define BTAPI __declspec(dllexport) 441 #endif 442 #endif 443 444 #define BT_API BTAPI 445 #define BTU_API BTAPI 446 #define A2D_API BTAPI 447 #define VDP_API BTAPI 448 #define AVDT_API BTAPI 449 #define AVCT_API BTAPI 450 #define AVRC_API BTAPI 451 #define BIP_API BTAPI 452 #define BNEP_API BTAPI 453 #define BPP_API BTAPI 454 #define BTM_API BTAPI 455 #define CTP_API BTAPI 456 #define DUN_API BTAPI 457 #define FTP_API BTAPI 458 #define GAP_API BTAPI 459 #define GOEP_API BTAPI 460 #define HCI_API BTAPI 461 #define HCRP_API BTAPI 462 #define HID_API BTAPI 463 #define HFP_API BTAPI 464 #define HSP2_API BTAPI 465 #define ICP_API BTAPI 466 #define L2C_API BTAPI 467 #define OBX_API BTAPI 468 #define OPP_API BTAPI 469 #define PAN_API BTAPI 470 #define RFC_API BTAPI 471 #define RPC_API BTAPI 472 #define SDP_API BTAPI 473 #define SPP_API BTAPI 474 #define TCS_API BTAPI 475 #define XML_API BTAPI 476 #define BTA_API BTAPI 477 #define SBC_API BTAPI 478 #define MCE_API BTAPI 479 #define MCA_API BTAPI 480 #define GATT_API BTAPI 481 #define SMP_API BTAPI 482 483 484 /****************************************************************************** 485 ** 486 ** GKI Buffer Pools 487 ** 488 ******************************************************************************/ 489 490 /* Receives HCI events from the lower-layer. */ 491 #ifndef HCI_CMD_POOL_ID 492 #define HCI_CMD_POOL_ID GKI_POOL_ID_2 493 #endif 494 495 #ifndef HCI_CMD_POOL_BUF_SIZE 496 #define HCI_CMD_POOL_BUF_SIZE GKI_BUF2_SIZE 497 #endif 498 499 /* Receives ACL data packets from thelower-layer. */ 500 #ifndef HCI_ACL_POOL_ID 501 #define HCI_ACL_POOL_ID GKI_POOL_ID_3 502 #endif 503 504 #ifndef HCI_ACL_POOL_BUF_SIZE 505 #define HCI_ACL_POOL_BUF_SIZE GKI_BUF3_SIZE 506 #endif 507 508 /* Maximum number of buffers available for ACL receive data. */ 509 #ifndef HCI_ACL_BUF_MAX 510 #define HCI_ACL_BUF_MAX GKI_BUF3_MAX 511 #endif 512 513 /* Receives SCO data packets from the lower-layer. */ 514 #ifndef HCI_SCO_POOL_ID 515 #define HCI_SCO_POOL_ID GKI_POOL_ID_6 516 #endif 517 518 /* Not used. */ 519 #ifndef HCI_DATA_DESCR_POOL_ID 520 #define HCI_DATA_DESCR_POOL_ID GKI_POOL_ID_0 521 #endif 522 523 /* Sends SDP data packets. */ 524 #ifndef SDP_POOL_ID 525 #define SDP_POOL_ID 3 526 #endif 527 528 /* Sends RFCOMM command packets. */ 529 #ifndef RFCOMM_CMD_POOL_ID 530 #define RFCOMM_CMD_POOL_ID GKI_POOL_ID_2 531 #endif 532 533 #ifndef RFCOMM_CMD_POOL_BUF_SIZE 534 #define RFCOMM_CMD_POOL_BUF_SIZE GKI_BUF2_SIZE 535 #endif 536 537 /* Sends RFCOMM data packets. */ 538 #ifndef RFCOMM_DATA_POOL_ID 539 #define RFCOMM_DATA_POOL_ID GKI_POOL_ID_3 540 #endif 541 542 #ifndef RFCOMM_DATA_POOL_BUF_SIZE 543 #define RFCOMM_DATA_POOL_BUF_SIZE GKI_BUF3_SIZE 544 #endif 545 546 /* Sends L2CAP packets to the peer and HCI messages to the controller. */ 547 #ifndef L2CAP_CMD_POOL_ID 548 #define L2CAP_CMD_POOL_ID GKI_POOL_ID_2 549 #endif 550 551 /* Sends L2CAP segmented packets in ERTM mode */ 552 #ifndef L2CAP_FCR_TX_POOL_ID 553 #define L2CAP_FCR_TX_POOL_ID HCI_ACL_POOL_ID 554 #endif 555 556 /* Receives L2CAP segmented packets in ERTM mode */ 557 #ifndef L2CAP_FCR_RX_POOL_ID 558 #define L2CAP_FCR_RX_POOL_ID HCI_ACL_POOL_ID 559 #endif 560 561 /* Used by BTM when it sends HCI commands to the controller. */ 562 #ifndef BTM_CMD_POOL_ID 563 #define BTM_CMD_POOL_ID GKI_POOL_ID_2 564 #endif 565 566 /* Sends TCS messages. */ 567 #ifndef TCS_MSG_POOL_ID 568 #define TCS_MSG_POOL_ID GKI_POOL_ID_2 569 #endif 570 571 #ifndef OBX_CMD_POOL_SIZE 572 #define OBX_CMD_POOL_SIZE GKI_BUF2_SIZE 573 #endif 574 575 #ifndef OBX_LRG_DATA_POOL_SIZE 576 #define OBX_LRG_DATA_POOL_SIZE GKI_BUF4_SIZE 577 #endif 578 579 #ifndef OBX_LRG_DATA_POOL_ID 580 #define OBX_LRG_DATA_POOL_ID GKI_POOL_ID_4 581 #endif 582 583 /* Used for CTP discovery database. */ 584 #ifndef CTP_SDP_DB_POOL_ID 585 #define CTP_SDP_DB_POOL_ID GKI_POOL_ID_3 586 #endif 587 588 /* Used for CTP data exchange feature. */ 589 #ifndef CTP_DATA_EXCHG_POOL_ID 590 #define CTP_DATA_EXCHG_POOL_ID GKI_POOL_ID_2 591 #endif 592 593 /* Used to send data to L2CAP. */ 594 #ifndef GAP_DATA_POOL_ID 595 #define GAP_DATA_POOL_ID GKI_POOL_ID_3 596 #endif 597 598 /* Used for SPP inquiry and discovery databases. */ 599 #ifndef SPP_DB_POOL_ID 600 #define SPP_DB_POOL_ID GKI_POOL_ID_3 601 #endif 602 603 #ifndef SPP_DB_SIZE 604 #define SPP_DB_SIZE GKI_BUF3_SIZE 605 #endif 606 607 /* HCRP protocol and internal commands. */ 608 #ifndef HCRP_CMD_POOL_ID 609 #define HCRP_CMD_POOL_ID GKI_POOL_ID_2 610 #endif 611 612 #ifndef HCRP_CMD_POOL_SIZE 613 #define HCRP_CMD_POOL_SIZE GKI_BUF2_SIZE 614 #endif 615 616 #ifndef BIP_EVT_POOL_SIZE 617 #define BIP_EVT_POOL_SIZE GKI_BUF3_SIZE 618 #endif 619 620 #ifndef BIP_DB_SIZE 621 #define BIP_DB_SIZE GKI_BUF3_SIZE 622 #endif 623 624 625 /* BNEP data and protocol messages. */ 626 #ifndef BNEP_POOL_ID 627 #define BNEP_POOL_ID GKI_POOL_ID_3 628 #endif 629 630 /* RPC pool for temporary trace message buffers. */ 631 #ifndef RPC_SCRATCH_POOL_ID 632 #define RPC_SCRATCH_POOL_ID GKI_POOL_ID_2 633 #endif 634 635 /* RPC scratch buffer size (not related to RPC_SCRATCH_POOL_ID) */ 636 #ifndef RPC_SCRATCH_BUF_SIZE 637 #define RPC_SCRATCH_BUF_SIZE GKI_BUF3_SIZE 638 #endif 639 640 /* RPC pool for protocol messages */ 641 #ifndef RPC_MSG_POOL_ID 642 #define RPC_MSG_POOL_ID GKI_POOL_ID_3 643 #endif 644 645 #ifndef RPC_MSG_POOL_SIZE 646 #define RPC_MSG_POOL_SIZE GKI_BUF3_SIZE 647 #endif 648 649 /* AVDTP pool for protocol messages */ 650 #ifndef AVDT_CMD_POOL_ID 651 #define AVDT_CMD_POOL_ID GKI_POOL_ID_2 652 #endif 653 654 /* AVDTP pool size for media packets in case of fragmentation */ 655 #ifndef AVDT_DATA_POOL_SIZE 656 #define AVDT_DATA_POOL_SIZE GKI_BUF3_SIZE 657 #endif 658 659 #ifndef PAN_POOL_ID 660 #define PAN_POOL_ID GKI_POOL_ID_3 661 #endif 662 663 /* UNV pool for read/write serialization */ 664 #ifndef UNV_MSG_POOL_ID 665 #define UNV_MSG_POOL_ID GKI_POOL_ID_2 666 #endif 667 668 #ifndef UNV_MSG_POOL_SIZE 669 #define UNV_MSG_POOL_SIZE GKI_BUF2_SIZE 670 #endif 671 672 /* AVCTP pool for protocol messages */ 673 #ifndef AVCT_CMD_POOL_ID 674 #define AVCT_CMD_POOL_ID GKI_POOL_ID_1 675 #endif 676 677 #ifndef AVCT_META_CMD_POOL_ID 678 #define AVCT_META_CMD_POOL_ID GKI_POOL_ID_2 679 #endif 680 681 /* AVRCP pool for protocol messages */ 682 #ifndef AVRC_CMD_POOL_ID 683 #define AVRC_CMD_POOL_ID GKI_POOL_ID_1 684 #endif 685 686 /* AVRCP pool size for protocol messages */ 687 #ifndef AVRC_CMD_POOL_SIZE 688 #define AVRC_CMD_POOL_SIZE GKI_BUF1_SIZE 689 #endif 690 691 /* AVRCP Metadata pool for protocol messages */ 692 #ifndef AVRC_META_CMD_POOL_ID 693 #define AVRC_META_CMD_POOL_ID GKI_POOL_ID_2 694 #endif 695 696 /* AVRCP Metadata pool size for protocol messages */ 697 #ifndef AVRC_META_CMD_POOL_SIZE 698 #define AVRC_META_CMD_POOL_SIZE GKI_BUF2_SIZE 699 #endif 700 701 702 /* AVRCP buffer size for browsing channel messages */ 703 #ifndef AVRC_BROWSE_POOL_SIZE 704 #define AVRC_BROWSE_POOL_SIZE GKI_MAX_BUF_SIZE 705 #endif 706 707 /* HDP buffer size for the Pulse Oximeter */ 708 #ifndef BTA_HL_LRG_DATA_POOL_SIZE 709 #define BTA_HL_LRG_DATA_POOL_SIZE GKI_BUF7_SIZE 710 #endif 711 712 #ifndef BTA_HL_LRG_DATA_POOL_ID 713 #define BTA_HL_LRG_DATA_POOL_ID GKI_POOL_ID_7 714 #endif 715 716 /* GATT Server Database pool ID */ 717 #ifndef GATT_DB_POOL_ID 718 #define GATT_DB_POOL_ID GKI_POOL_ID_8 719 #endif 720 721 /****************************************************************************** 722 ** 723 ** Lower Layer Interface 724 ** 725 ******************************************************************************/ 726 727 /* Sends ACL data received over HCI to the upper stack. */ 728 #ifndef HCI_ACL_DATA_TO_UPPER 729 #define HCI_ACL_DATA_TO_UPPER(p) {((BT_HDR *)p)->event = BT_EVT_TO_BTU_HCI_ACL; GKI_send_msg (BTU_TASK, BTU_HCI_RCV_MBOX, p);} 730 #endif 731 732 /* Sends SCO data received over HCI to the upper stack. */ 733 #ifndef HCI_SCO_DATA_TO_UPPER 734 #define HCI_SCO_DATA_TO_UPPER(p) {((BT_HDR *)p)->event = BT_EVT_TO_BTU_HCI_SCO; GKI_send_msg (BTU_TASK, BTU_HCI_RCV_MBOX, p);} 735 #endif 736 737 /* Sends an HCI event received over HCI to theupper stack. */ 738 #ifndef HCI_EVT_TO_UPPER 739 #define HCI_EVT_TO_UPPER(p) {((BT_HDR *)p)->event = BT_EVT_TO_BTU_HCI_EVT; GKI_send_msg (BTU_TASK, BTU_HCI_RCV_MBOX, p);} 740 #endif 741 742 /* Macro for allocating buffer for HCI commands */ 743 #ifndef HCI_GET_CMD_BUF 744 #if (!defined(HCI_USE_VARIABLE_SIZE_CMD_BUF) || (HCI_USE_VARIABLE_SIZE_CMD_BUF == FALSE)) 745 /* Allocate fixed-size buffer from HCI_CMD_POOL (default case) */ 746 #define HCI_GET_CMD_BUF(paramlen) ((BT_HDR *)GKI_getpoolbuf (HCI_CMD_POOL_ID)) 747 #else 748 /* Allocate smallest possible buffer (for platforms with limited RAM) */ 749 #define HCI_GET_CMD_BUF(paramlen) ((BT_HDR *)GKI_getbuf ((UINT16)(BT_HDR_SIZE + HCIC_PREAMBLE_SIZE + (paramlen)))) 750 #endif 751 #endif /* HCI_GET_CMD_BUF */ 752 753 /****************************************************************************** 754 ** 755 ** HCI Services (H4) 756 ** 757 ******************************************************************************/ 758 #ifndef HCISU_H4_INCLUDED 759 #define HCISU_H4_INCLUDED TRUE 760 #endif 761 762 #ifdef __cplusplus 763 extern "C" { 764 #endif 765 766 BT_API extern void bte_main_hci_send (BT_HDR *p_msg, UINT16 event); 767 #if (HCISU_H4_INCLUDED == TRUE) 768 BT_API extern void bte_main_lpm_allow_bt_device_sleep(void); 769 #endif 770 771 #ifdef __cplusplus 772 } 773 #endif 774 775 /* Sends ACL data received from the upper stack to the BD/EDR HCI transport. */ 776 #ifndef HCI_ACL_DATA_TO_LOWER 777 #define HCI_ACL_DATA_TO_LOWER(p) bte_main_hci_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_ACL); 778 #endif 779 780 #ifndef HCI_BLE_ACL_DATA_TO_LOWER 781 #define HCI_BLE_ACL_DATA_TO_LOWER(p) bte_main_hci_send((BT_HDR *)(p), (UINT16)(BT_EVT_TO_LM_HCI_ACL|LOCAL_BLE_CONTROLLER_ID)); 782 #endif 783 784 /* Sends SCO data received from the upper stack to the HCI transport. */ 785 #ifndef HCI_SCO_DATA_TO_LOWER 786 #define HCI_SCO_DATA_TO_LOWER(p) bte_main_hci_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_SCO); 787 #endif 788 789 /* Sends an HCI command received from the upper stack to the BD/EDR HCI transport. */ 790 #ifndef HCI_CMD_TO_LOWER 791 #define HCI_CMD_TO_LOWER(p) bte_main_hci_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_CMD); 792 #endif 793 794 /* Sends an LM Diagnosic command received from the upper stack to the HCI transport. */ 795 #ifndef HCI_LM_DIAG_TO_LOWER 796 #define HCI_LM_DIAG_TO_LOWER(p) bte_main_hci_send((BT_HDR *)(p), BT_EVT_TO_LM_DIAG); 797 #endif 798 799 /* Send HCISU a message to allow BT sleep */ 800 #ifndef HCI_LP_ALLOW_BT_DEVICE_SLEEP 801 #define HCI_LP_ALLOW_BT_DEVICE_SLEEP() bte_main_lpm_allow_bt_device_sleep() 802 #endif 803 804 /* If nonzero, the upper-layer sends at most this number of HCI commands to the lower-layer. */ 805 #ifndef HCI_MAX_SIMUL_CMDS 806 #define HCI_MAX_SIMUL_CMDS 0 807 #endif 808 809 /* Timeout for receiving response to HCI command */ 810 #ifndef BTU_CMD_CMPL_TIMEOUT 811 #define BTU_CMD_CMPL_TIMEOUT 8 812 #endif 813 814 /* If TRUE, BTU task will check HCISU again when HCI command timer expires */ 815 #ifndef BTU_CMD_CMPL_TOUT_DOUBLE_CHECK 816 #define BTU_CMD_CMPL_TOUT_DOUBLE_CHECK FALSE 817 #endif 818 819 /* Use 2 second for low-resolution systems, override to 1 for high-resolution systems */ 820 #ifndef BT_1SEC_TIMEOUT 821 #define BT_1SEC_TIMEOUT (2) 822 #endif 823 824 /* Quick Timer */ 825 /* if L2CAP_FCR_INCLUDED is TRUE then it should have 100 millisecond resolution */ 826 /* if none of them is included then QUICK_TIMER_TICKS_PER_SEC is set to 0 to exclude quick timer */ 827 #ifndef QUICK_TIMER_TICKS_PER_SEC 828 #define QUICK_TIMER_TICKS_PER_SEC 10 /* 10ms timer */ 829 #endif 830 831 /****************************************************************************** 832 ** 833 ** BTM 834 ** 835 ******************************************************************************/ 836 /* if set to TRUE, stack will automatically send an HCI reset at start-up. To be 837 set to FALSE for advanced start-up / shut-down procedures using USER_HW_ENABLE_API 838 and USER_HW_DISABLE_API macros */ 839 #ifndef BTM_AUTOMATIC_HCI_RESET 840 #define BTM_AUTOMATIC_HCI_RESET FALSE 841 #endif 842 843 /* Include BTM Discovery database and code. */ 844 #ifndef BTM_DISCOVERY_INCLUDED 845 #define BTM_DISCOVERY_INCLUDED TRUE 846 #endif 847 848 /* Include inquiry code. */ 849 #ifndef BTM_INQUIRY_INCLUDED 850 #define BTM_INQUIRY_INCLUDED TRUE 851 #endif 852 853 /* Cancel Inquiry on incoming SSP */ 854 #ifndef BTM_NO_SSP_ON_INQUIRY 855 #define BTM_NO_SSP_ON_INQUIRY FALSE 856 #endif 857 858 /* Include periodic inquiry code (used when BTM_INQUIRY_INCLUDED is TRUE). */ 859 #ifndef BTM_PERIODIC_INQ_INCLUDED 860 #define BTM_PERIODIC_INQ_INCLUDED TRUE 861 #endif 862 863 /* Include security authorization code */ 864 #ifndef BTM_AUTHORIZATION_INCLUDED 865 #define BTM_AUTHORIZATION_INCLUDED TRUE 866 #endif 867 868 /* Includes SCO if TRUE */ 869 #ifndef BTM_SCO_INCLUDED 870 #define BTM_SCO_INCLUDED TRUE /* TRUE includes SCO code */ 871 #endif 872 873 /* Includes SCO if TRUE */ 874 #ifndef BTM_SCO_HCI_INCLUDED 875 #define BTM_SCO_HCI_INCLUDED FALSE /* TRUE includes SCO over HCI code */ 876 #endif 877 878 /* Includes WBS if TRUE */ 879 #ifndef BTM_WBS_INCLUDED 880 #define BTM_WBS_INCLUDED FALSE /* TRUE includes WBS code */ 881 #endif 882 883 /* Includes PCM2 support if TRUE */ 884 #ifndef BTM_PCM2_INCLUDED 885 #define BTM_PCM2_INCLUDED FALSE 886 #endif 887 888 /* This is used to work around a controller bug that doesn't like Disconnect 889 ** issued while there is a role switch in progress 890 */ 891 #ifndef BTM_DISC_DURING_RS 892 #define BTM_DISC_DURING_RS TRUE 893 #endif 894 895 /************************** 896 ** Initial SCO TX credit 897 *************************/ 898 /* max TX SCO data packet size */ 899 #ifndef BTM_SCO_DATA_SIZE_MAX 900 #define BTM_SCO_DATA_SIZE_MAX 240 901 #endif 902 903 /* maximum BTM buffering capacity */ 904 #ifndef BTM_SCO_MAX_BUF_CAP 905 #define BTM_SCO_MAX_BUF_CAP (BTM_SCO_INIT_XMIT_CREDIT * 4) 906 #endif 907 908 /* The size in bytes of the BTM inquiry database. */ 909 #ifndef BTM_INQ_DB_SIZE 910 #define BTM_INQ_DB_SIZE 40 911 #endif 912 913 /* This is set to enable automatic periodic inquiry at startup. */ 914 #ifndef BTM_ENABLE_AUTO_INQUIRY 915 #define BTM_ENABLE_AUTO_INQUIRY FALSE 916 #endif 917 918 /* This is set to always try to acquire the remote device name. */ 919 #ifndef BTM_INQ_GET_REMOTE_NAME 920 #define BTM_INQ_GET_REMOTE_NAME FALSE 921 #endif 922 923 /* The inquiry duration in 1.28 second units when auto inquiry is enabled. */ 924 #ifndef BTM_DEFAULT_INQ_DUR 925 #define BTM_DEFAULT_INQ_DUR 5 926 #endif 927 928 /* The inquiry mode when auto inquiry is enabled. */ 929 #ifndef BTM_DEFAULT_INQ_MODE 930 #define BTM_DEFAULT_INQ_MODE BTM_GENERAL_INQUIRY 931 #endif 932 933 /* The default periodic inquiry maximum delay when auto inquiry is enabled, in 1.28 second units. */ 934 #ifndef BTM_DEFAULT_INQ_MAX_DELAY 935 #define BTM_DEFAULT_INQ_MAX_DELAY 30 936 #endif 937 938 /* The default periodic inquiry minimum delay when auto inquiry is enabled, in 1.28 second units. */ 939 #ifndef BTM_DEFAULT_INQ_MIN_DELAY 940 #define BTM_DEFAULT_INQ_MIN_DELAY 20 941 #endif 942 943 /* The maximum age of entries in inquiry database in seconds ('0' disables feature). */ 944 #ifndef BTM_INQ_MAX_AGE 945 #define BTM_INQ_MAX_AGE 0 946 #endif 947 948 /* The maximum age of entries in inquiry database based on inquiry response failure ('0' disables feature). */ 949 #ifndef BTM_INQ_AGE_BY_COUNT 950 #define BTM_INQ_AGE_BY_COUNT 0 951 #endif 952 953 /* TRUE if controller does not support inquiry event filtering. */ 954 #ifndef BTM_BYPASS_EVENT_FILTERING 955 #define BTM_BYPASS_EVENT_FILTERING FALSE 956 #endif 957 958 /* TRUE if inquiry filtering is desired from BTM. */ 959 #ifndef BTM_USE_INQ_RESULTS_FILTER 960 #define BTM_USE_INQ_RESULTS_FILTER TRUE 961 #endif 962 963 /* The default scan mode */ 964 #ifndef BTM_DEFAULT_SCAN_TYPE 965 #define BTM_DEFAULT_SCAN_TYPE BTM_SCAN_TYPE_INTERLACED 966 #endif 967 968 /* Should connections to unknown devices be allowed when not discoverable? */ 969 #ifndef BTM_ALLOW_CONN_IF_NONDISCOVER 970 #define BTM_ALLOW_CONN_IF_NONDISCOVER TRUE 971 #endif 972 973 /* When connectable mode is set to TRUE, the device will respond to paging. */ 974 #ifndef BTM_IS_CONNECTABLE 975 #define BTM_IS_CONNECTABLE FALSE 976 #endif 977 978 /* Sets the Page_Scan_Window: the length of time that the device is performing a page scan. */ 979 #ifndef BTM_DEFAULT_CONN_WINDOW 980 #define BTM_DEFAULT_CONN_WINDOW 0x0012 981 #endif 982 983 /* Sets the Page_Scan_Activity: the interval between the start of two consecutive page scans. */ 984 #ifndef BTM_DEFAULT_CONN_INTERVAL 985 #define BTM_DEFAULT_CONN_INTERVAL 0x0800 986 #endif 987 988 /* This is set to automatically perform inquiry scan on startup. */ 989 #ifndef BTM_IS_DISCOVERABLE 990 #define BTM_IS_DISCOVERABLE FALSE 991 #endif 992 993 /* When automatic inquiry scan is enabled, this sets the discovery mode. */ 994 #ifndef BTM_DEFAULT_DISC_MODE 995 #define BTM_DEFAULT_DISC_MODE BTM_GENERAL_DISCOVERABLE 996 #endif 997 998 /* When automatic inquiry scan is enabled, this sets the inquiry scan window. */ 999 #ifndef BTM_DEFAULT_DISC_WINDOW 1000 #define BTM_DEFAULT_DISC_WINDOW 0x0012 1001 #endif 1002 1003 /* When automatic inquiry scan is enabled, this sets the inquiry scan interval. */ 1004 #ifndef BTM_DEFAULT_DISC_INTERVAL 1005 #define BTM_DEFAULT_DISC_INTERVAL 0x0800 1006 #endif 1007 1008 /* Sets the period, in seconds, to automatically perform service discovery. */ 1009 #ifndef BTM_AUTO_DISCOVERY_PERIOD 1010 #define BTM_AUTO_DISCOVERY_PERIOD 0 1011 #endif 1012 1013 /* The size in bytes of the BTM discovery database (if discovery is included). */ 1014 #ifndef BTM_DISCOVERY_DB_SIZE 1015 #define BTM_DISCOVERY_DB_SIZE 4000 1016 #endif 1017 1018 /* Number of milliseconds to delay BTU task startup upon device initialization. */ 1019 #ifndef BTU_STARTUP_DELAY 1020 #define BTU_STARTUP_DELAY 0 1021 #endif 1022 1023 /* Whether BTA is included in BTU task. */ 1024 #ifndef BTU_BTA_INCLUDED 1025 #define BTU_BTA_INCLUDED TRUE 1026 #endif 1027 1028 /* Number of seconds to wait to send an HCI Reset command upon device initialization. */ 1029 #ifndef BTM_FIRST_RESET_DELAY 1030 #define BTM_FIRST_RESET_DELAY 0 1031 #endif 1032 1033 /* The number of seconds to wait for controller module to reset after issuing an HCI Reset command. */ 1034 #ifndef BTM_AFTER_RESET_TIMEOUT 1035 #define BTM_AFTER_RESET_TIMEOUT 0 1036 #endif 1037 1038 /* Default class of device 1039 * {SERVICE_CLASS, MAJOR_CLASS, MINOR_CLASS} 1040 * 1041 * SERVICE_CLASS:0x5A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer,Bit22 -Telephony) 1042 * MAJOR_CLASS:0x02 - PHONE 1043 * MINOR_CLASS:0x0C - SMART_PHONE 1044 * 1045 */ 1046 #ifndef BTA_DM_COD 1047 #define BTA_DM_COD {0x5A, 0x02, 0x0C} 1048 #endif 1049 1050 /* The number of SCO links. */ 1051 #ifndef BTM_MAX_SCO_LINKS 1052 #define BTM_MAX_SCO_LINKS 2 1053 #endif 1054 1055 /* The preferred type of SCO links (2-eSCO, 0-SCO). */ 1056 #ifndef BTM_DEFAULT_SCO_MODE 1057 #define BTM_DEFAULT_SCO_MODE 2 1058 #endif 1059 1060 /* The number of security records for peer devices. */ 1061 #ifndef BTM_SEC_MAX_DEVICE_RECORDS 1062 #define BTM_SEC_MAX_DEVICE_RECORDS 100 1063 #endif 1064 1065 /* The number of security records for services. */ 1066 #ifndef BTM_SEC_MAX_SERVICE_RECORDS 1067 #define BTM_SEC_MAX_SERVICE_RECORDS 32 1068 #endif 1069 1070 /* If True, force a retrieval of remote device name for each bond in case it's changed */ 1071 #ifndef BTM_SEC_FORCE_RNR_FOR_DBOND 1072 #define BTM_SEC_FORCE_RNR_FOR_DBOND FALSE 1073 #endif 1074 1075 /* Maximum device name length used in btm database. */ 1076 #ifndef BTM_MAX_REM_BD_NAME_LEN 1077 #define BTM_MAX_REM_BD_NAME_LEN 248 1078 #endif 1079 1080 /* Maximum local device name length stored btm database. 1081 '0' disables storage of the local name in BTM */ 1082 #ifndef BTM_MAX_LOC_BD_NAME_LEN 1083 #define BTM_MAX_LOC_BD_NAME_LEN 248 1084 #endif 1085 1086 /* TRUE if default string is used, FALSE if device name is set in the application */ 1087 #ifndef BTM_USE_DEF_LOCAL_NAME 1088 #define BTM_USE_DEF_LOCAL_NAME TRUE 1089 #endif 1090 1091 /* Fixed Default String (Ignored if BTM_USE_DEF_LOCAL_NAME is FALSE) */ 1092 #ifndef BTM_DEF_LOCAL_NAME 1093 #define BTM_DEF_LOCAL_NAME "" 1094 #endif 1095 1096 /* Maximum service name stored with security authorization (0 if not needed) */ 1097 #ifndef BTM_SEC_SERVICE_NAME_LEN 1098 #define BTM_SEC_SERVICE_NAME_LEN BT_MAX_SERVICE_NAME_LEN 1099 #endif 1100 1101 /* Maximum number of pending security callback */ 1102 #ifndef BTM_SEC_MAX_CALLBACKS 1103 #define BTM_SEC_MAX_CALLBACKS 7 1104 #endif 1105 1106 /* Maximum length of the service name. */ 1107 #ifndef BT_MAX_SERVICE_NAME_LEN 1108 #define BT_MAX_SERVICE_NAME_LEN 21 1109 #endif 1110 1111 /* ACL buffer size in HCI Host Buffer Size command. */ 1112 #ifndef BTM_ACL_BUF_SIZE 1113 #define BTM_ACL_BUF_SIZE 0 1114 #endif 1115 1116 /* This is set to use the BTM power manager. */ 1117 #ifndef BTM_PWR_MGR_INCLUDED 1118 #define BTM_PWR_MGR_INCLUDED TRUE 1119 #endif 1120 1121 /* The maximum number of clients that can register with the power manager. */ 1122 #ifndef BTM_MAX_PM_RECORDS 1123 #define BTM_MAX_PM_RECORDS 2 1124 #endif 1125 1126 /* This is set to show debug trace messages for the power manager. */ 1127 #ifndef BTM_PM_DEBUG 1128 #define BTM_PM_DEBUG FALSE 1129 #endif 1130 1131 /* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */ 1132 #ifndef BTM_SCO_WAKE_PARKED_LINK 1133 #define BTM_SCO_WAKE_PARKED_LINK TRUE 1134 #endif 1135 1136 /* May be set to the the name of a function used for vendor specific chip initialization */ 1137 #ifndef BTM_APP_DEV_INIT 1138 /* #define BTM_APP_DEV_INIT myInitFunction() */ 1139 #endif 1140 1141 /* This is set to TRUE if the busy level change event is desired. (replace ACL change event) */ 1142 #ifndef BTM_BUSY_LEVEL_CHANGE_INCLUDED 1143 #define BTM_BUSY_LEVEL_CHANGE_INCLUDED TRUE 1144 #endif 1145 1146 /* If the user does not respond to security process requests within this many seconds, 1147 * a negative response would be sent automatically. 1148 * It's recommended to use a value between 30 and OBX_TIMEOUT_VALUE 1149 * 30 is LMP response timeout value */ 1150 #ifndef BTM_SEC_TIMEOUT_VALUE 1151 #define BTM_SEC_TIMEOUT_VALUE 35 1152 #endif 1153 1154 /* Maximum number of callbacks that can be registered using BTM_RegisterForVSEvents */ 1155 #ifndef BTM_MAX_VSE_CALLBACKS 1156 #define BTM_MAX_VSE_CALLBACKS 3 1157 #endif 1158 1159 /* Number of streams for dual stack */ 1160 #ifndef BTM_SYNC_INFO_NUM_STR 1161 #define BTM_SYNC_INFO_NUM_STR 2 1162 #endif 1163 1164 /* Number of streams for dual stack in BT Controller */ 1165 #ifndef BTM_SYNC_INFO_NUM_STR_BTC 1166 #define BTM_SYNC_INFO_NUM_STR_BTC 2 1167 #endif 1168 1169 /****************************************** 1170 ** Lisbon Features 1171 *******************************************/ 1172 /* This is set to TRUE if the server Extended Inquiry Response feature is desired. */ 1173 /* server sends EIR to client */ 1174 #ifndef BTM_EIR_SERVER_INCLUDED 1175 #define BTM_EIR_SERVER_INCLUDED TRUE 1176 #endif 1177 1178 /* This is set to TRUE if the client Extended Inquiry Response feature is desired. */ 1179 /* client inquiry to server */ 1180 #ifndef BTM_EIR_CLIENT_INCLUDED 1181 #define BTM_EIR_CLIENT_INCLUDED TRUE 1182 #endif 1183 1184 /* This is set to TRUE if the FEC is required for EIR packet. */ 1185 #ifndef BTM_EIR_DEFAULT_FEC_REQUIRED 1186 #define BTM_EIR_DEFAULT_FEC_REQUIRED TRUE 1187 #endif 1188 1189 /* User defined UUID look up table */ 1190 #ifndef BTM_EIR_UUID_LKUP_TBL 1191 #endif 1192 1193 /* The IO capability of the local device (for Simple Pairing) */ 1194 #ifndef BTM_LOCAL_IO_CAPS 1195 #define BTM_LOCAL_IO_CAPS BTM_IO_CAP_IO 1196 #endif 1197 1198 /* The default MITM Protection Requirement (for Simple Pairing) 1199 * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */ 1200 #ifndef BTM_DEFAULT_AUTH_REQ 1201 #define BTM_DEFAULT_AUTH_REQ BTM_AUTH_SP_NO 1202 #endif 1203 1204 /* The default MITM Protection Requirement for dedicated bonding using Simple Pairing 1205 * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */ 1206 #ifndef BTM_DEFAULT_DD_AUTH_REQ 1207 #define BTM_DEFAULT_DD_AUTH_REQ BTM_AUTH_AP_YES 1208 #endif 1209 1210 /* Include Out-of-Band implementation for Simple Pairing */ 1211 #ifndef BTM_OOB_INCLUDED 1212 #define BTM_OOB_INCLUDED TRUE 1213 #endif 1214 1215 /* TRUE to include Sniff Subrating */ 1216 #ifndef BTM_SSR_INCLUDED 1217 #define BTM_SSR_INCLUDED TRUE 1218 #endif 1219 1220 /************************* 1221 ** End of Lisbon Features 1222 **************************/ 1223 1224 /* Used for conformance testing ONLY */ 1225 #ifndef BTM_BLE_CONFORMANCE_TESTING 1226 #define BTM_BLE_CONFORMANCE_TESTING FALSE 1227 #endif 1228 1229 1230 /****************************************************************************** 1231 ** 1232 ** L2CAP 1233 ** 1234 ******************************************************************************/ 1235 1236 /* Flow control and retransmission mode */ 1237 1238 #ifndef L2CAP_FCR_INCLUDED 1239 #define L2CAP_FCR_INCLUDED TRUE 1240 #endif 1241 1242 /* The maximum number of simultaneous links that L2CAP can support. */ 1243 #ifndef MAX_ACL_CONNECTIONS 1244 #define MAX_L2CAP_LINKS 7 1245 #else 1246 #define MAX_L2CAP_LINKS MAX_ACL_CONNECTIONS 1247 #endif 1248 1249 /* The maximum number of simultaneous channels that L2CAP can support. */ 1250 #ifndef MAX_L2CAP_CHANNELS 1251 #define MAX_L2CAP_CHANNELS 10 1252 #endif 1253 1254 /* The maximum number of simultaneous applications that can register with L2CAP. */ 1255 #ifndef MAX_L2CAP_CLIENTS 1256 #define MAX_L2CAP_CLIENTS 15 1257 #endif 1258 1259 /* The number of seconds of link inactivity before a link is disconnected. */ 1260 #ifndef L2CAP_LINK_INACTIVITY_TOUT 1261 #define L2CAP_LINK_INACTIVITY_TOUT 4 1262 #endif 1263 1264 /* The number of seconds of link inactivity after bonding before a link is disconnected. */ 1265 #ifndef L2CAP_BONDING_TIMEOUT 1266 #define L2CAP_BONDING_TIMEOUT 3 1267 #endif 1268 1269 /* The time from the HCI connection complete to disconnect if no channel is established. */ 1270 #ifndef L2CAP_LINK_STARTUP_TOUT 1271 #define L2CAP_LINK_STARTUP_TOUT 60 1272 #endif 1273 1274 /* The L2CAP MTU; must be in accord with the HCI ACL pool size. */ 1275 #ifndef L2CAP_MTU_SIZE 1276 #define L2CAP_MTU_SIZE 1691 1277 #endif 1278 1279 /* The L2CAP MPS over Bluetooth; must be in accord with the FCR tx pool size and ACL down buffer size. */ 1280 #ifndef L2CAP_MPS_OVER_BR_EDR 1281 #define L2CAP_MPS_OVER_BR_EDR 1010 1282 #endif 1283 1284 /* This is set to enable host flow control. */ 1285 #ifndef L2CAP_HOST_FLOW_CTRL 1286 #define L2CAP_HOST_FLOW_CTRL FALSE 1287 #endif 1288 1289 /* If host flow control enabled, this is the number of buffers the controller can have unacknowledged. */ 1290 #ifndef L2CAP_HOST_FC_ACL_BUFS 1291 #define L2CAP_HOST_FC_ACL_BUFS 20 1292 #endif 1293 1294 /* The percentage of the queue size allowed before a congestion event is sent to the L2CAP client (typically 120%). */ 1295 #ifndef L2CAP_FWD_CONG_THRESH 1296 #define L2CAP_FWD_CONG_THRESH 120 1297 #endif 1298 1299 /* This is set to enable L2CAP to take the ACL link out of park mode when ACL data is to be sent. */ 1300 #ifndef L2CAP_WAKE_PARKED_LINK 1301 #define L2CAP_WAKE_PARKED_LINK TRUE 1302 #endif 1303 1304 /* Whether link wants to be the master or the slave. */ 1305 #ifndef L2CAP_DESIRED_LINK_ROLE 1306 #define L2CAP_DESIRED_LINK_ROLE HCI_ROLE_SLAVE 1307 #endif 1308 1309 /* Include Non-Flushable Packet Boundary Flag feature of Lisbon */ 1310 #ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED 1311 #define L2CAP_NON_FLUSHABLE_PB_INCLUDED TRUE 1312 #endif 1313 1314 /* Minimum number of ACL credit for high priority link */ 1315 #ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 1316 #define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA 4 1317 #endif 1318 1319 /* used for monitoring HCI ACL credit management */ 1320 #ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG 1321 #define L2CAP_HCI_FLOW_CONTROL_DEBUG TRUE 1322 #endif 1323 1324 /* Used for calculating transmit buffers off of */ 1325 #ifndef L2CAP_NUM_XMIT_BUFFS 1326 #define L2CAP_NUM_XMIT_BUFFS HCI_ACL_BUF_MAX 1327 #endif 1328 1329 /* Unicast Connectionless Data */ 1330 #ifndef L2CAP_UCD_INCLUDED 1331 #define L2CAP_UCD_INCLUDED FALSE 1332 #endif 1333 1334 /* Unicast Connectionless Data MTU */ 1335 #ifndef L2CAP_UCD_MTU 1336 #define L2CAP_UCD_MTU L2CAP_MTU_SIZE 1337 #endif 1338 1339 /* Unicast Connectionless Data Idle Timeout */ 1340 #ifndef L2CAP_UCD_IDLE_TIMEOUT 1341 #define L2CAP_UCD_IDLE_TIMEOUT 2 1342 #endif 1343 1344 /* Unicast Connectionless Data Idle Timeout */ 1345 #ifndef L2CAP_UCD_CH_PRIORITY 1346 #define L2CAP_UCD_CH_PRIORITY L2CAP_CHNL_PRIORITY_MEDIUM 1347 #endif 1348 1349 /* Max clients on Unicast Connectionless Data */ 1350 #ifndef L2CAP_MAX_UCD_CLIENTS 1351 #define L2CAP_MAX_UCD_CLIENTS 5 1352 #endif 1353 1354 /* Used for features using fixed channels; set to zero if no fixed channels supported (BLE, etc.) */ 1355 /* Excluding L2CAP signaling channel and UCD */ 1356 #ifndef L2CAP_NUM_FIXED_CHNLS 1357 #define L2CAP_NUM_FIXED_CHNLS 4 1358 #endif 1359 1360 /* First fixed channel supported */ 1361 #ifndef L2CAP_FIRST_FIXED_CHNL 1362 #define L2CAP_FIRST_FIXED_CHNL 3 1363 #endif 1364 1365 #ifndef L2CAP_LAST_FIXED_CHNL 1366 #define L2CAP_LAST_FIXED_CHNL (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1) 1367 #endif 1368 1369 /* Round Robin service channels in link */ 1370 #ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE 1371 #define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE TRUE 1372 #endif 1373 1374 /* Used for calculating transmit buffers off of */ 1375 #ifndef L2CAP_NUM_XMIT_BUFFS 1376 #define L2CAP_NUM_XMIT_BUFFS HCI_ACL_BUF_MAX 1377 #endif 1378 1379 /* Used for features using fixed channels; set to zero if no fixed channels supported (BLE, etc.) */ 1380 #ifndef L2CAP_NUM_FIXED_CHNLS 1381 #define L2CAP_NUM_FIXED_CHNLS 1 1382 #endif 1383 1384 /* First fixed channel supported */ 1385 #ifndef L2CAP_FIRST_FIXED_CHNL 1386 #define L2CAP_FIRST_FIXED_CHNL 3 1387 #endif 1388 1389 #ifndef L2CAP_LAST_FIXED_CHNL 1390 #define L2CAP_LAST_FIXED_CHNL (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1) 1391 #endif 1392 1393 /* used for monitoring eL2CAP data flow */ 1394 #ifndef L2CAP_ERTM_STATS 1395 #define L2CAP_ERTM_STATS FALSE 1396 #endif 1397 1398 /* USED FOR FCR TEST ONLY: When TRUE generates bad tx and rx packets */ 1399 #ifndef L2CAP_CORRUPT_ERTM_PKTS 1400 #define L2CAP_CORRUPT_ERTM_PKTS FALSE 1401 #endif 1402 1403 /* Used for conformance testing ONLY: When TRUE lets scriptwrapper overwrite info response */ 1404 #ifndef L2CAP_CONFORMANCE_TESTING 1405 #define L2CAP_CONFORMANCE_TESTING FALSE 1406 #endif 1407 1408 1409 #ifndef TIMER_PARAM_TYPE 1410 #ifdef WIN2000 1411 #define TIMER_PARAM_TYPE void * 1412 #else 1413 #define TIMER_PARAM_TYPE UINT32 1414 #endif 1415 #endif 1416 1417 /****************************************************************************** 1418 ** 1419 ** BLE 1420 ** 1421 ******************************************************************************/ 1422 1423 #ifndef BLE_INCLUDED 1424 #define BLE_INCLUDED FALSE 1425 #endif 1426 1427 #ifndef LOCAL_BLE_CONTROLLER_ID 1428 #define LOCAL_BLE_CONTROLLER_ID (1) 1429 #endif 1430 1431 /****************************************************************************** 1432 ** 1433 ** ATT/GATT Protocol/Profile Settings 1434 ** 1435 ******************************************************************************/ 1436 #ifndef ATT_INCLUDED 1437 #define ATT_INCLUDED FALSE 1438 #endif 1439 1440 #ifndef ATT_DEBUG 1441 #define ATT_DEBUG FALSE 1442 #endif 1443 1444 #ifndef GATT_SERVER_ENABLED 1445 #define GATT_SERVER_ENABLED FALSE 1446 #endif 1447 1448 #ifndef GATT_CLIENT_ENABLED 1449 #define GATT_CLIENT_ENABLED FALSE 1450 #endif 1451 1452 #ifndef GATT_MAX_SR_PROFILES 1453 #define GATT_MAX_SR_PROFILES 32 /* max is 32 */ 1454 #endif 1455 1456 #ifndef GATT_MAX_APPS 1457 #define GATT_MAX_APPS 10 /* note: 2 apps used internally GATT and GAP */ 1458 #endif 1459 1460 #ifndef GATT_MAX_CL_PROFILES 1461 #define GATT_MAX_CL_PROFILES 4 1462 #endif 1463 1464 #ifndef GATT_MAX_PHY_CHANNEL 1465 #define GATT_MAX_PHY_CHANNEL 4 1466 #endif 1467 1468 /* Used for conformance testing ONLY */ 1469 #ifndef GATT_CONFORMANCE_TESTING 1470 #define GATT_CONFORMANCE_TESTING FALSE 1471 #endif 1472 1473 /* number of background connection device allowence, ideally to be the same as WL size 1474 */ 1475 #ifndef GATT_MAX_BG_CONN_DEV 1476 #define GATT_MAX_BG_CONN_DEV 32 1477 #endif 1478 1479 /****************************************************************************** 1480 ** 1481 ** SMP 1482 ** 1483 ******************************************************************************/ 1484 #ifndef SMP_INCLUDED 1485 #define SMP_INCLUDED FALSE 1486 #endif 1487 1488 #ifndef SMP_DEBUG 1489 #define SMP_DEBUG FALSE 1490 #endif 1491 1492 #ifndef SMP_DEFAULT_AUTH_REQ 1493 #define SMP_DEFAULT_AUTH_REQ SMP_AUTH_NB_ENC_ONLY 1494 #endif 1495 1496 #ifndef SMP_MAX_ENC_KEY_SIZE 1497 #define SMP_MAX_ENC_KEY_SIZE 16 1498 #endif 1499 1500 #ifndef SMP_MIN_ENC_KEY_SIZE 1501 #define SMP_MIN_ENC_KEY_SIZE 7 1502 #endif 1503 1504 /* Used for conformance testing ONLY */ 1505 #ifndef SMP_CONFORMANCE_TESTING 1506 #define SMP_CONFORMANCE_TESTING FALSE 1507 #endif 1508 1509 /****************************************************************************** 1510 ** 1511 ** SDP 1512 ** 1513 ******************************************************************************/ 1514 1515 /* This is set to enable SDP server functionality. */ 1516 #ifndef SDP_SERVER_ENABLED 1517 #define SDP_SERVER_ENABLED TRUE 1518 #endif 1519 1520 /* The maximum number of SDP records the server can support. */ 1521 #ifndef SDP_MAX_RECORDS 1522 #define SDP_MAX_RECORDS 20 1523 #endif 1524 1525 /* The maximum number of attributes in each record. */ 1526 #ifndef SDP_MAX_REC_ATTR 1527 //#if defined(HID_DEV_INCLUDED) && (HID_DEV_INCLUDED==TRUE) 1528 #define SDP_MAX_REC_ATTR 25 1529 //#else 1530 //#define SDP_MAX_REC_ATTR 13 1531 //#endif 1532 #endif 1533 1534 #ifndef SDP_MAX_PAD_LEN 1535 #define SDP_MAX_PAD_LEN 600 1536 #endif 1537 1538 /* The maximum length, in bytes, of an attribute. */ 1539 #ifndef SDP_MAX_ATTR_LEN 1540 //#if defined(HID_DEV_INCLUDED) && (HID_DEV_INCLUDED==TRUE) 1541 //#define SDP_MAX_ATTR_LEN 80 1542 //#else 1543 //#define SDP_MAX_ATTR_LEN 100 1544 //#endif 1545 #define SDP_MAX_ATTR_LEN 400 1546 #endif 1547 1548 /* The maximum number of attribute filters supported by SDP databases. */ 1549 #ifndef SDP_MAX_ATTR_FILTERS 1550 #define SDP_MAX_ATTR_FILTERS 15 1551 #endif 1552 1553 /* The maximum number of UUID filters supported by SDP databases. */ 1554 #ifndef SDP_MAX_UUID_FILTERS 1555 #define SDP_MAX_UUID_FILTERS 3 1556 #endif 1557 1558 /* This is set to enable SDP client functionality. */ 1559 #ifndef SDP_CLIENT_ENABLED 1560 #define SDP_CLIENT_ENABLED TRUE 1561 #endif 1562 1563 /* The maximum number of record handles retrieved in a search. */ 1564 #ifndef SDP_MAX_DISC_SERVER_RECS 1565 #define SDP_MAX_DISC_SERVER_RECS 21 1566 #endif 1567 1568 /* The size of a scratchpad buffer, in bytes, for storing the response to an attribute request. */ 1569 #ifndef SDP_MAX_LIST_BYTE_COUNT 1570 #define SDP_MAX_LIST_BYTE_COUNT 4096 1571 #endif 1572 1573 /* The maximum number of parameters in an SDP protocol element. */ 1574 #ifndef SDP_MAX_PROTOCOL_PARAMS 1575 #define SDP_MAX_PROTOCOL_PARAMS 2 1576 #endif 1577 1578 /* The maximum number of simultaneous client and server connections. */ 1579 #ifndef SDP_MAX_CONNECTIONS 1580 #define SDP_MAX_CONNECTIONS 4 1581 #endif 1582 1583 /* The MTU size for the L2CAP configuration. */ 1584 #ifndef SDP_MTU_SIZE 1585 #define SDP_MTU_SIZE 256 1586 #endif 1587 1588 /* The flush timeout for the L2CAP configuration. */ 1589 #ifndef SDP_FLUSH_TO 1590 #define SDP_FLUSH_TO 0xFFFF 1591 #endif 1592 1593 /* The name for security authorization. */ 1594 #ifndef SDP_SERVICE_NAME 1595 #define SDP_SERVICE_NAME "Service Discovery" 1596 #endif 1597 1598 /* The security level for BTM. */ 1599 #ifndef SDP_SECURITY_LEVEL 1600 #define SDP_SECURITY_LEVEL BTM_SEC_NONE 1601 #endif 1602 1603 /* Device identification feature. */ 1604 #ifndef SDP_DI_INCLUDED 1605 #define SDP_DI_INCLUDED TRUE 1606 #endif 1607 1608 /****************************************************************************** 1609 ** 1610 ** RFCOMM 1611 ** 1612 ******************************************************************************/ 1613 1614 #ifndef RFCOMM_INCLUDED 1615 #define RFCOMM_INCLUDED TRUE 1616 #endif 1617 1618 /* The maximum number of ports supported. */ 1619 #ifndef MAX_RFC_PORTS 1620 #define MAX_RFC_PORTS 30 1621 #endif 1622 1623 /* The maximum simultaneous links to different devices. */ 1624 #ifndef MAX_ACL_CONNECTIONS 1625 #define MAX_BD_CONNECTIONS 7 1626 #else 1627 #define MAX_BD_CONNECTIONS MAX_ACL_CONNECTIONS 1628 #endif 1629 1630 /* The port receive queue low watermark level, in bytes. */ 1631 #ifndef PORT_RX_LOW_WM 1632 #define PORT_RX_LOW_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_LOW_WM) 1633 #endif 1634 1635 /* The port receive queue high watermark level, in bytes. */ 1636 #ifndef PORT_RX_HIGH_WM 1637 #define PORT_RX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_HIGH_WM) 1638 #endif 1639 1640 /* The port receive queue critical watermark level, in bytes. */ 1641 #ifndef PORT_RX_CRITICAL_WM 1642 #define PORT_RX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_RX_BUF_CRITICAL_WM) 1643 #endif 1644 1645 /* The port receive queue low watermark level, in number of buffers. */ 1646 #ifndef PORT_RX_BUF_LOW_WM 1647 #define PORT_RX_BUF_LOW_WM 4 1648 #endif 1649 1650 /* The port receive queue high watermark level, in number of buffers. */ 1651 #ifndef PORT_RX_BUF_HIGH_WM 1652 #define PORT_RX_BUF_HIGH_WM 10 1653 #endif 1654 1655 /* The port receive queue critical watermark level, in number of buffers. */ 1656 #ifndef PORT_RX_BUF_CRITICAL_WM 1657 #define PORT_RX_BUF_CRITICAL_WM 15 1658 #endif 1659 1660 /* The port transmit queue high watermark level, in bytes. */ 1661 #ifndef PORT_TX_HIGH_WM 1662 #define PORT_TX_HIGH_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_HIGH_WM) 1663 #endif 1664 1665 /* The port transmit queue critical watermark level, in bytes. */ 1666 #ifndef PORT_TX_CRITICAL_WM 1667 #define PORT_TX_CRITICAL_WM (BTA_RFC_MTU_SIZE * PORT_TX_BUF_CRITICAL_WM) 1668 #endif 1669 1670 /* The port transmit queue high watermark level, in number of buffers. */ 1671 #ifndef PORT_TX_BUF_HIGH_WM 1672 #define PORT_TX_BUF_HIGH_WM 10 1673 #endif 1674 1675 /* The port transmit queue high watermark level, in number of buffers. */ 1676 #ifndef PORT_TX_BUF_CRITICAL_WM 1677 #define PORT_TX_BUF_CRITICAL_WM 15 1678 #endif 1679 1680 /* The RFCOMM multiplexer preferred flow control mechanism. */ 1681 #ifndef PORT_FC_DEFAULT 1682 #define PORT_FC_DEFAULT PORT_FC_CREDIT 1683 #endif 1684 1685 /* The maximum number of credits receiver sends to peer when using credit-based flow control. */ 1686 #ifndef PORT_CREDIT_RX_MAX 1687 #define PORT_CREDIT_RX_MAX 16 1688 #endif 1689 1690 /* The credit low watermark level. */ 1691 #ifndef PORT_CREDIT_RX_LOW 1692 #define PORT_CREDIT_RX_LOW 8 1693 #endif 1694 1695 /* Test code allowing l2cap FEC on RFCOMM.*/ 1696 #ifndef PORT_ENABLE_L2CAP_FCR_TEST 1697 #define PORT_ENABLE_L2CAP_FCR_TEST FALSE 1698 #endif 1699 1700 /* if application like BTA, Java or script test engine is running on other than BTU thread, */ 1701 /* PORT_SCHEDULE_LOCK shall be defined as GKI_sched_lock() or GKI_disable() */ 1702 #ifndef PORT_SCHEDULE_LOCK 1703 #define PORT_SCHEDULE_LOCK GKI_disable() 1704 #endif 1705 1706 /* if application like BTA, Java or script test engine is running on other than BTU thread, */ 1707 /* PORT_SCHEDULE_LOCK shall be defined as GKI_sched_unlock() or GKI_enable() */ 1708 #ifndef PORT_SCHEDULE_UNLOCK 1709 #define PORT_SCHEDULE_UNLOCK GKI_enable() 1710 #endif 1711 1712 /****************************************************************************** 1713 ** 1714 ** TCS 1715 ** 1716 ******************************************************************************/ 1717 1718 #ifndef TCS_INCLUDED 1719 #define TCS_INCLUDED FALSE 1720 #endif 1721 1722 /* If set to TRUE, gives lean TCS state machine configuration. */ 1723 #ifndef TCS_LEAN 1724 #define TCS_LEAN FALSE 1725 #endif 1726 1727 /* To include/exclude point-to-multipoint broadcast SETUP configuration. */ 1728 #ifndef TCS_BCST_SETUP_INCLUDED 1729 #define TCS_BCST_SETUP_INCLUDED TRUE 1730 #endif 1731 1732 /* To include/exclude supplementary services. */ 1733 #ifndef TCS_SUPP_SVCS_INCLUDED 1734 #define TCS_SUPP_SVCS_INCLUDED TRUE 1735 #endif 1736 1737 /* To include/exclude WUG master role. */ 1738 #ifndef TCS_WUG_MASTER_INCLUDED 1739 #define TCS_WUG_MASTER_INCLUDED TRUE 1740 #endif 1741 1742 /* To include/exclude WUG member role. */ 1743 #ifndef TCS_WUG_MEMBER_INCLUDED 1744 #define TCS_WUG_MEMBER_INCLUDED TRUE 1745 #endif 1746 1747 /* Maximum number of WUG members. */ 1748 #ifndef TCS_MAX_WUG_MEMBERS 1749 #define TCS_MAX_WUG_MEMBERS 7 1750 #endif 1751 1752 /* Broadcom specific acknowledgement message to ensure fast and robust operation of WUG FIMA procedure. */ 1753 #ifndef TCS_WUG_LISTEN_ACPT_ACK_INCLUDED 1754 #define TCS_WUG_LISTEN_ACPT_ACK_INCLUDED TRUE 1755 #endif 1756 1757 /* The number of simultaneous calls supported. */ 1758 #ifndef TCS_MAX_NUM_SIMUL_CALLS 1759 #define TCS_MAX_NUM_SIMUL_CALLS 3 1760 #endif 1761 1762 /* The number of devices the device can connect to. */ 1763 #ifndef TCS_MAX_NUM_ACL_CONNS 1764 #define TCS_MAX_NUM_ACL_CONNS 7 1765 #endif 1766 1767 /* The maximum length, in bytes, of the company specific information element. */ 1768 #ifndef TCS_MAX_CO_SPEC_LEN 1769 #define TCS_MAX_CO_SPEC_LEN 40 1770 #endif 1771 1772 /* The maximum length, in bytes, of the audio control information element . */ 1773 #ifndef TCS_MAX_AUDIO_CTL_LEN 1774 #define TCS_MAX_AUDIO_CTL_LEN 40 1775 #endif 1776 1777 /* (Dis)allow EDR ESCO */ 1778 #ifndef TCS_AUDIO_USE_ESCO_EDR 1779 #define TCS_AUDIO_USE_ESCO_EDR FALSE 1780 #endif 1781 1782 /****************************************************************************** 1783 ** 1784 ** OBX 1785 ** 1786 ******************************************************************************/ 1787 #ifndef OBX_INCLUDED 1788 #define OBX_INCLUDED FALSE 1789 #endif 1790 1791 #ifndef OBX_CLIENT_INCLUDED 1792 #define OBX_CLIENT_INCLUDED TRUE 1793 #endif 1794 1795 #ifndef OBX_SERVER_INCLUDED 1796 #define OBX_SERVER_INCLUDED TRUE 1797 #endif 1798 1799 /* TRUE to include OBEX authentication/MD5 code */ 1800 #ifndef OBX_MD5_INCLUDED 1801 #define OBX_MD5_INCLUDED TRUE 1802 #endif 1803 1804 /* TRUE to include OBEX authentication/MD5 test code */ 1805 #ifndef OBX_MD5_TEST_INCLUDED 1806 #define OBX_MD5_TEST_INCLUDED FALSE 1807 #endif 1808 1809 /* TRUE to include OBEX 1.4 enhancement (including Obex Over L2CAP) */ 1810 #ifndef OBX_14_INCLUDED 1811 #define OBX_14_INCLUDED FALSE 1812 #endif 1813 /* MD5 code is required to use OBEX 1.4 features (Reliable session) */ 1814 #if (OBX_MD5_INCLUDED == FALSE) 1815 #undef OBX_14_INCLUDED 1816 #define OBX_14_INCLUDED FALSE 1817 #endif 1818 1819 /* L2CAP FCR/eRTM mode is required to use OBEX Over L2CAP */ 1820 #if (L2CAP_FCR_INCLUDED == FALSE) 1821 #undef OBX_14_INCLUDED 1822 #define OBX_14_INCLUDED FALSE 1823 #endif 1824 1825 /* The timeout value (in seconds) for reliable sessions to remain in suspend. 0xFFFFFFFF for no timeout event. */ 1826 #ifndef OBX_SESS_TIMEOUT_VALUE 1827 #define OBX_SESS_TIMEOUT_VALUE 600 1828 #endif 1829 1830 /* The idle timeout value. 0 for no timeout event. */ 1831 #ifndef OBX_TIMEOUT_VALUE 1832 #define OBX_TIMEOUT_VALUE 60 1833 #endif 1834 1835 /* Timeout value used for disconnect */ 1836 #ifndef OBX_DISC_TOUT_VALUE 1837 #define OBX_DISC_TOUT_VALUE 5 1838 #endif 1839 1840 /* The maximum number of registered servers. */ 1841 #ifndef OBX_NUM_SERVERS 1842 #define OBX_NUM_SERVERS 12 1843 #endif 1844 1845 /* The maximum number of sessions per registered server. */ 1846 #ifndef OBX_MAX_SR_SESSION 1847 #define OBX_MAX_SR_SESSION 4 1848 #endif 1849 1850 /* The maximum number of sessions for all registered servers. 1851 * (must be equal or bigger than OBX_NUM_SERVERS) */ 1852 #ifndef OBX_NUM_SR_SESSIONS 1853 #define OBX_NUM_SR_SESSIONS 26 1854 #endif 1855 1856 /* The maximum number of sessions per registered server. 1857 * must be less than MAX_BD_CONNECTIONS */ 1858 #ifndef OBX_MAX_SR_SESSION 1859 #define OBX_MAX_SR_SESSION 4 1860 #endif 1861 1862 /* The maximum number of suspended sessions per registered servers. */ 1863 #ifndef OBX_MAX_SUSPEND_SESSIONS 1864 #define OBX_MAX_SUSPEND_SESSIONS 4 1865 #endif 1866 1867 /* The maximum number of active clients. */ 1868 #ifndef OBX_NUM_CLIENTS 1869 #define OBX_NUM_CLIENTS 8 1870 #endif 1871 1872 /* The maximum length of OBEX target header.*/ 1873 #ifndef OBX_MAX_TARGET_LEN 1874 #define OBX_MAX_TARGET_LEN 16 1875 #endif 1876 1877 /* The maximum length of authentication challenge realm.*/ 1878 #ifndef OBX_MAX_REALM_LEN 1879 #define OBX_MAX_REALM_LEN 30 1880 #endif 1881 1882 /* The maximum of GKI buffer queued at OBX before flow control L2CAP */ 1883 #ifndef OBX_MAX_RX_QUEUE_COUNT 1884 #define OBX_MAX_RX_QUEUE_COUNT 3 1885 #endif 1886 1887 /* This option is application when OBX_14_INCLUDED=TRUE 1888 Pool ID where to reassemble the SDU. 1889 This Pool will allow buffers to be used that are larger than 1890 the L2CAP_MAX_MTU. */ 1891 #ifndef OBX_USER_RX_POOL_ID 1892 #define OBX_USER_RX_POOL_ID OBX_LRG_DATA_POOL_ID 1893 #endif 1894 1895 /* This option is application when OBX_14_INCLUDED=TRUE 1896 Pool ID where to hold the SDU. 1897 This Pool will allow buffers to be used that are larger than 1898 the L2CAP_MAX_MTU. */ 1899 #ifndef OBX_USER_TX_POOL_ID 1900 #define OBX_USER_TX_POOL_ID OBX_LRG_DATA_POOL_ID 1901 #endif 1902 1903 /* This option is application when OBX_14_INCLUDED=TRUE 1904 GKI Buffer Pool ID used to hold MPS segments during SDU reassembly 1905 */ 1906 #ifndef OBX_FCR_RX_POOL_ID 1907 #define OBX_FCR_RX_POOL_ID HCI_ACL_POOL_ID 1908 #endif 1909 1910 /* This option is application when OBX_14_INCLUDED=TRUE 1911 GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions. 1912 L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool. 1913 Note: This pool needs to have enough buffers to hold two times the window size negotiated 1914 in the L2CA_SetFCROptions (2 * tx_win_size) to allow for retransmissions. 1915 The size of each buffer must be able to hold the maximum MPS segment size passed in 1916 L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec). 1917 */ 1918 #ifndef OBX_FCR_TX_POOL_ID 1919 #define OBX_FCR_TX_POOL_ID HCI_ACL_POOL_ID 1920 #endif 1921 1922 /* This option is application when OBX_14_INCLUDED=TRUE 1923 Size of the transmission window when using enhanced retransmission mode. Not used 1924 in basic and streaming modes. Range: 1 - 63 1925 */ 1926 #ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 1927 #define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR 20 1928 #endif 1929 1930 /* This option is application when OBX_14_INCLUDED=TRUE 1931 Number of transmission attempts for a single I-Frame before taking 1932 Down the connection. Used In ERTM mode only. Value is Ignored in basic and 1933 Streaming modes. 1934 Range: 0, 1-0xFF 1935 0 - infinite retransmissions 1936 1 - single transmission 1937 */ 1938 #ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT 1939 #define OBX_FCR_OPT_MAX_TX_B4_DISCNT 20 1940 #endif 1941 1942 /* This option is application when OBX_14_INCLUDED=TRUE 1943 Retransmission Timeout 1944 Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF. 1945 */ 1946 #ifndef OBX_FCR_OPT_RETX_TOUT 1947 #define OBX_FCR_OPT_RETX_TOUT 2000 1948 #endif 1949 1950 /* This option is application when OBX_14_INCLUDED=TRUE 1951 Monitor Timeout 1952 Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF. 1953 */ 1954 #ifndef OBX_FCR_OPT_MONITOR_TOUT 1955 #define OBX_FCR_OPT_MONITOR_TOUT 12000 1956 #endif 1957 1958 /****************************************************************************** 1959 ** 1960 ** BNEP 1961 ** 1962 ******************************************************************************/ 1963 1964 #ifndef BNEP_INCLUDED 1965 #define BNEP_INCLUDED TRUE 1966 #endif 1967 1968 /* Protocol filtering is an optional feature. Bydefault it will be turned on */ 1969 #ifndef BNEP_SUPPORTS_PROT_FILTERS 1970 #define BNEP_SUPPORTS_PROT_FILTERS TRUE 1971 #endif 1972 1973 /* Multicast filtering is an optional feature. Bydefault it will be turned on */ 1974 #ifndef BNEP_SUPPORTS_MULTI_FILTERS 1975 #define BNEP_SUPPORTS_MULTI_FILTERS TRUE 1976 #endif 1977 1978 /* BNEP status API call is used mainly to get the L2CAP handle */ 1979 #ifndef BNEP_SUPPORTS_STATUS_API 1980 #define BNEP_SUPPORTS_STATUS_API TRUE 1981 #endif 1982 1983 /* This is just a debug function */ 1984 #ifndef BNEP_SUPPORTS_DEBUG_DUMP 1985 #define BNEP_SUPPORTS_DEBUG_DUMP TRUE 1986 #endif 1987 1988 #ifndef BNEP_SUPPORTS_ALL_UUID_LENGTHS 1989 #define BNEP_SUPPORTS_ALL_UUID_LENGTHS TRUE /* Otherwise it will support only 16bit UUIDs */ 1990 #endif 1991 1992 /* 1993 ** When BNEP connection changes roles after the connection is established 1994 ** we will do an authentication check again on the new role 1995 */ 1996 #ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH 1997 #define BNEP_DO_AUTH_FOR_ROLE_SWITCH TRUE 1998 #endif 1999 2000 2001 /* Maximum number of protocol filters supported. */ 2002 #ifndef BNEP_MAX_PROT_FILTERS 2003 #define BNEP_MAX_PROT_FILTERS 5 2004 #endif 2005 2006 /* Maximum number of multicast filters supported. */ 2007 #ifndef BNEP_MAX_MULTI_FILTERS 2008 #define BNEP_MAX_MULTI_FILTERS 5 2009 #endif 2010 2011 /* Minimum MTU size. */ 2012 #ifndef BNEP_MIN_MTU_SIZE 2013 #define BNEP_MIN_MTU_SIZE L2CAP_MTU_SIZE 2014 #endif 2015 2016 /* Preferred MTU size. */ 2017 #ifndef BNEP_MTU_SIZE 2018 #define BNEP_MTU_SIZE BNEP_MIN_MTU_SIZE 2019 #endif 2020 2021 /* Maximum size of user data, in bytes. */ 2022 #ifndef BNEP_MAX_USER_DATA_SIZE 2023 #define BNEP_MAX_USER_DATA_SIZE 1500 2024 #endif 2025 2026 /* Maximum number of buffers allowed in transmit data queue. */ 2027 #ifndef BNEP_MAX_XMITQ_DEPTH 2028 #define BNEP_MAX_XMITQ_DEPTH 20 2029 #endif 2030 2031 /* Maximum number BNEP of connections supported. */ 2032 #ifndef BNEP_MAX_CONNECTIONS 2033 #define BNEP_MAX_CONNECTIONS 7 2034 #endif 2035 2036 2037 /****************************************************************************** 2038 ** 2039 ** AVDTP 2040 ** 2041 ******************************************************************************/ 2042 2043 #ifndef AVDT_INCLUDED 2044 #define AVDT_INCLUDED TRUE 2045 #endif 2046 2047 /* Include reporting capability in AVDTP */ 2048 #ifndef AVDT_REPORTING 2049 #define AVDT_REPORTING TRUE 2050 #endif 2051 2052 /* Include multiplexing capability in AVDTP */ 2053 #ifndef AVDT_MULTIPLEXING 2054 #define AVDT_MULTIPLEXING TRUE 2055 #endif 2056 2057 /* Number of simultaneous links to different peer devices. */ 2058 #ifndef AVDT_NUM_LINKS 2059 #define AVDT_NUM_LINKS 2 2060 #endif 2061 2062 /* Number of simultaneous stream endpoints. */ 2063 #ifndef AVDT_NUM_SEPS 2064 #define AVDT_NUM_SEPS 3 2065 #endif 2066 2067 /* Number of transport channels setup per media stream(audio or video) */ 2068 #ifndef AVDT_NUM_CHANNELS 2069 2070 #if AVDT_REPORTING == TRUE 2071 /* signaling, media and reporting channels */ 2072 #define AVDT_NUM_CHANNELS 3 2073 #else 2074 /* signaling and media channels */ 2075 #define AVDT_NUM_CHANNELS 2 2076 #endif 2077 2078 #endif 2079 2080 /* Number of transport channels setup by AVDT for all media streams 2081 * AVDT_NUM_CHANNELS * Number of simultaneous streams. 2082 */ 2083 #ifndef AVDT_NUM_TC_TBL 2084 #define AVDT_NUM_TC_TBL 6 2085 #endif 2086 2087 2088 /* Maximum size in bytes of the codec capabilities information element. */ 2089 #ifndef AVDT_CODEC_SIZE 2090 #define AVDT_CODEC_SIZE 10 2091 #endif 2092 2093 /* Maximum size in bytes of the content protection information element. */ 2094 #ifndef AVDT_PROTECT_SIZE 2095 #define AVDT_PROTECT_SIZE 90 2096 #endif 2097 2098 /* Maximum number of GKI buffers in the fragment queue (for video frames). 2099 * Must be less than the number of buffers in the buffer pool of size AVDT_DATA_POOL_SIZE */ 2100 #ifndef AVDT_MAX_FRAG_COUNT 2101 #define AVDT_MAX_FRAG_COUNT 15 2102 #endif 2103 2104 /****************************************************************************** 2105 ** 2106 ** PAN 2107 ** 2108 ******************************************************************************/ 2109 2110 #ifndef PAN_INCLUDED 2111 #define PAN_INCLUDED TRUE 2112 #endif 2113 2114 /* This will enable the PANU role */ 2115 #ifndef PAN_SUPPORTS_ROLE_PANU 2116 #define PAN_SUPPORTS_ROLE_PANU TRUE 2117 #endif 2118 2119 /* This will enable the GN role */ 2120 #ifndef PAN_SUPPORTS_ROLE_GN 2121 #define PAN_SUPPORTS_ROLE_GN TRUE 2122 #endif 2123 2124 /* This will enable the NAP role */ 2125 #ifndef PAN_SUPPORTS_ROLE_NAP 2126 #define PAN_SUPPORTS_ROLE_NAP TRUE 2127 #endif 2128 2129 /* This is just for debugging purposes */ 2130 #ifndef PAN_SUPPORTS_DEBUG_DUMP 2131 #define PAN_SUPPORTS_DEBUG_DUMP TRUE 2132 #endif 2133 2134 2135 /* Maximum number of PAN connections allowed */ 2136 #ifndef MAX_PAN_CONNS 2137 #define MAX_PAN_CONNS 7 2138 #endif 2139 2140 /* Default service name for NAP role */ 2141 #ifndef PAN_NAP_DEFAULT_SERVICE_NAME 2142 #define PAN_NAP_DEFAULT_SERVICE_NAME "Network Access Point Service" 2143 #endif 2144 2145 /* Default service name for GN role */ 2146 #ifndef PAN_GN_DEFAULT_SERVICE_NAME 2147 #define PAN_GN_DEFAULT_SERVICE_NAME "Group Network Service" 2148 #endif 2149 2150 /* Default service name for PANU role */ 2151 #ifndef PAN_PANU_DEFAULT_SERVICE_NAME 2152 #define PAN_PANU_DEFAULT_SERVICE_NAME "PAN User Service" 2153 #endif 2154 2155 /* Default description for NAP role service */ 2156 #ifndef PAN_NAP_DEFAULT_DESCRIPTION 2157 #define PAN_NAP_DEFAULT_DESCRIPTION "NAP" 2158 #endif 2159 2160 /* Default description for GN role service */ 2161 #ifndef PAN_GN_DEFAULT_DESCRIPTION 2162 #define PAN_GN_DEFAULT_DESCRIPTION "GN" 2163 #endif 2164 2165 /* Default description for PANU role service */ 2166 #ifndef PAN_PANU_DEFAULT_DESCRIPTION 2167 #define PAN_PANU_DEFAULT_DESCRIPTION "PANU" 2168 #endif 2169 2170 /* Default Security level for PANU role. */ 2171 #ifndef PAN_PANU_SECURITY_LEVEL 2172 #define PAN_PANU_SECURITY_LEVEL 0 2173 #endif 2174 2175 /* Default Security level for GN role. */ 2176 #ifndef PAN_GN_SECURITY_LEVEL 2177 #define PAN_GN_SECURITY_LEVEL 0 2178 #endif 2179 2180 /* Default Security level for NAP role. */ 2181 #ifndef PAN_NAP_SECURITY_LEVEL 2182 #define PAN_NAP_SECURITY_LEVEL 0 2183 #endif 2184 2185 2186 2187 2188 /****************************************************************************** 2189 ** 2190 ** GAP 2191 ** 2192 ******************************************************************************/ 2193 2194 #ifndef GAP_INCLUDED 2195 #define GAP_INCLUDED FALSE 2196 #endif 2197 2198 /* This is set to enable use of GAP L2CAP connections. */ 2199 #ifndef GAP_CONN_INCLUDED 2200 #define GAP_CONN_INCLUDED TRUE 2201 #endif 2202 2203 /* This is set to enable posting event for data write */ 2204 #ifndef GAP_CONN_POST_EVT_INCLUDED 2205 #define GAP_CONN_POST_EVT_INCLUDED FALSE 2206 #endif 2207 2208 /* The maximum number of simultaneous GAP L2CAP connections. */ 2209 #ifndef GAP_MAX_CONNECTIONS 2210 #define GAP_MAX_CONNECTIONS 8 2211 #endif 2212 2213 /****************************************************************************** 2214 ** 2215 ** CTP 2216 ** 2217 ******************************************************************************/ 2218 2219 #ifndef CTP_INCLUDED 2220 #define CTP_INCLUDED FALSE 2221 #endif 2222 2223 /* To include CTP gateway functionality or not. */ 2224 #ifndef CTP_GW_INCLUDED 2225 #define CTP_GW_INCLUDED TRUE 2226 #endif 2227 2228 /* The number of terminals supported. */ 2229 #ifndef CTP_MAX_NUM_TLS 2230 #define CTP_MAX_NUM_TLS 7 2231 #endif 2232 2233 /* If the controller can not support sniff mode when the SCO is up, set this to FALSE. */ 2234 #ifndef CTP_USE_SNIFF_ON_SCO 2235 #define CTP_USE_SNIFF_ON_SCO FALSE 2236 #endif 2237 2238 /* When ACL link between TL and GW is idle for more than this amount of seconds, the ACL may be put to low power mode. */ 2239 #ifndef CTP_TL_IDLE_TIMEOUT 2240 #define CTP_TL_IDLE_TIMEOUT 90 2241 #endif 2242 2243 /* To include CTP terminal functionality or not. */ 2244 #ifndef CTP_TL_INCLUDED 2245 #define CTP_TL_INCLUDED TRUE 2246 #endif 2247 2248 /* To include CTP device discovery functionality or not. */ 2249 #ifndef CTP_DISCOVERY_INCLUDED 2250 #define CTP_DISCOVERY_INCLUDED TRUE 2251 #endif 2252 2253 /* set to TRUE for controllers that do not support multi-point */ 2254 #ifndef CTP_TL_WAIT_DISC 2255 #define CTP_TL_WAIT_DISC TRUE 2256 #endif 2257 2258 /* The CTP inquiry database size. */ 2259 #ifndef CTP_INQ_DB_SIZE 2260 #define CTP_INQ_DB_SIZE CTP_DISC_REC_SIZE 2261 #endif 2262 2263 /* The CTP discovery record size. */ 2264 #ifndef CTP_DISC_REC_SIZE 2265 #define CTP_DISC_REC_SIZE 60 2266 #endif 2267 2268 /* CTP TL would try to re-establish L2CAP channel after channel is disconnected for this amount of seconds. */ 2269 #ifndef CTP_GUARD_LINK_LOST 2270 #define CTP_GUARD_LINK_LOST 1 2271 #endif 2272 2273 /* The link policy bitmap. */ 2274 #ifndef CTP_DEFAULT_LINK_POLICY 2275 #define CTP_DEFAULT_LINK_POLICY 0x000F 2276 #endif 2277 2278 /* The minimum period interval used for the sniff and park modes. */ 2279 #ifndef CTP_DEF_LOWPWR_MIN_PERIOD 2280 #define CTP_DEF_LOWPWR_MIN_PERIOD 0x100 2281 #endif 2282 2283 /* The maximum period interval used for the sniff and park modes. */ 2284 #ifndef CTP_DEF_LOWPWR_MAX_PERIOD 2285 #define CTP_DEF_LOWPWR_MAX_PERIOD 0x1E0 2286 #endif 2287 2288 /* The number of baseband receive slot sniff attempts. */ 2289 #ifndef CTP_DEF_LOWPWR_ATTEMPT 2290 #define CTP_DEF_LOWPWR_ATTEMPT 0x200 2291 #endif 2292 2293 /* The number of baseband receive slots for sniff timeout. */ 2294 #ifndef CTP_DEF_LOWPWR_TIMEOUT 2295 #define CTP_DEF_LOWPWR_TIMEOUT 0x200 2296 #endif 2297 2298 /* This is set if CTP is to use park mode. */ 2299 #ifndef CTP_PARK_INCLUDED 2300 #define CTP_PARK_INCLUDED TRUE 2301 #endif 2302 2303 /* This is set if CTP is to use sniff mode. */ 2304 #ifndef CTP_SNIFF_INCLUDED 2305 #define CTP_SNIFF_INCLUDED TRUE 2306 #endif 2307 2308 /* To include CTP data exchange functionality or not. */ 2309 #ifndef CTP_DATA_EXCHG_FEATURE 2310 #define CTP_DATA_EXCHG_FEATURE FALSE 2311 #endif 2312 2313 /* To include CTP GW intercom functionality or not. */ 2314 #ifndef CTP_GW_INTERCOM_FEATURE 2315 #define CTP_GW_INTERCOM_FEATURE FALSE 2316 #endif 2317 2318 /* The MTU size for L2CAP channel. */ 2319 #ifndef CTP_MTU_SIZE 2320 #define CTP_MTU_SIZE 200 2321 #endif 2322 2323 /* The L2CAP PSM for the data exchange feature. */ 2324 #ifndef CTP_DATA_EXCHG_PSM 2325 #define CTP_DATA_EXCHG_PSM 13 2326 #endif 2327 2328 /* The flush timeout for L2CAP channels. */ 2329 #ifndef CTP_FLUSH_TO 2330 #define CTP_FLUSH_TO 0xFFFF 2331 #endif 2332 2333 /* The default service name for CTP. */ 2334 #ifndef CTP_DEFAULT_SERVICE_NAME 2335 #define CTP_DEFAULT_SERVICE_NAME "Cordless Telephony" 2336 #endif 2337 2338 /* The CTP security level. */ 2339 #ifndef CTP_SECURITY_LEVEL 2340 #define CTP_SECURITY_LEVEL (BTM_SEC_IN_AUTHORIZE | BTM_SEC_IN_AUTHENTICATE | BTM_SEC_IN_ENCRYPT) 2341 #endif 2342 2343 /* The number of lines to the external network. */ 2344 #ifndef CTP_MAX_LINES 2345 #define CTP_MAX_LINES 1 2346 #endif 2347 2348 /* Test if the number of resources in TCS is consistent with CTP setting. */ 2349 #ifndef CTP_TEST_FULL_TCS 2350 #define CTP_TEST_FULL_TCS TRUE 2351 #endif 2352 2353 /* The default inquiry mode. */ 2354 #ifndef CTP_DEFAULT_INQUIRY_MODE 2355 #define CTP_DEFAULT_INQUIRY_MODE BTM_GENERAL_INQUIRY 2356 #endif 2357 2358 /* The default inquiry duration. */ 2359 #ifndef CTP_DEFAULT_INQ_DURATION 2360 #define CTP_DEFAULT_INQ_DURATION 4 2361 #endif 2362 2363 /* The maximum number of inquiry responses. */ 2364 #ifndef CTP_DEFAULT_INQ_MAX_RESP 2365 #define CTP_DEFAULT_INQ_MAX_RESP 3 2366 #endif 2367 2368 /* When TL does not create another L2CAP channel within this period of time GW declares that it's "Connected Limited". */ 2369 #ifndef CTP_TL_CONN_TIMEOUT 2370 #define CTP_TL_CONN_TIMEOUT 5 2371 #endif 2372 2373 /* The delay for ACL to completely disconnect (for intercom) before sending the connect request to GW. */ 2374 #ifndef CTP_RECONNECT_DELAY 2375 #define CTP_RECONNECT_DELAY 5 2376 #endif 2377 2378 /* How many times to retry connection when it has failed. */ 2379 #ifndef CTP_RETRY_ON_CONN_ERR 2380 #define CTP_RETRY_ON_CONN_ERR 5 2381 #endif 2382 2383 /****************************************************************************** 2384 ** 2385 ** ICP 2386 ** 2387 ******************************************************************************/ 2388 2389 #ifndef ICP_INCLUDED 2390 #define ICP_INCLUDED FALSE 2391 #endif 2392 2393 /* The ICP default MTU. */ 2394 #ifndef ICP_MTU_SIZE 2395 #define ICP_MTU_SIZE 100 2396 #endif 2397 2398 /* The ICP security level. */ 2399 #ifndef ICP_SECURITY_LEVEL 2400 #define ICP_SECURITY_LEVEL BTM_SEC_NONE 2401 #endif 2402 2403 /* The default service name for ICP. */ 2404 #ifndef ICP_DEFAULT_SERVICE_NAME 2405 #define ICP_DEFAULT_SERVICE_NAME "Intercom" 2406 #endif 2407 2408 /* The flush timeout for L2CAP channels. */ 2409 #ifndef ICP_FLUSH_TO 2410 #define ICP_FLUSH_TO 0xFFFF 2411 #endif 2412 2413 /****************************************************************************** 2414 ** 2415 ** SPP 2416 ** 2417 ******************************************************************************/ 2418 2419 #ifndef SPP_INCLUDED 2420 #define SPP_INCLUDED FALSE 2421 #endif 2422 2423 /* The SPP default MTU. */ 2424 #ifndef SPP_DEFAULT_MTU 2425 #define SPP_DEFAULT_MTU 127 2426 #endif 2427 2428 /* The interval, in seconds, that a client tries to reconnect to a service. */ 2429 #ifndef SPP_RETRY_CONN_INTERVAL 2430 #define SPP_RETRY_CONN_INTERVAL 1 2431 #endif 2432 2433 /* The SPP discoverable mode: limited or general. */ 2434 #ifndef SPP_DISCOVERABLE_MODE 2435 #define SPP_DISCOVERABLE_MODE BTM_GENERAL_DISCOVERABLE 2436 #endif 2437 2438 /* The maximum number of inquiry results returned in by inquiry procedure. */ 2439 #ifndef SPP_DEF_INQ_MAX_RESP 2440 #define SPP_DEF_INQ_MAX_RESP 10 2441 #endif 2442 2443 /* The SPP discovery record size. */ 2444 #ifndef SPP_DISC_REC_SIZE 2445 #define SPP_DISC_REC_SIZE 60 2446 #endif 2447 2448 #ifndef SPP_MAX_RECS_PER_DEVICE 2449 #define SPP_MAX_RECS_PER_DEVICE (SPP_DB_SIZE / SPP_DISC_REC_SIZE) 2450 #endif 2451 2452 /* Inquiry duration in 1.28 second units. */ 2453 #ifndef SPP_DEF_INQ_DURATION 2454 #define SPP_DEF_INQ_DURATION 9 2455 #endif 2456 2457 /* keep the raw data received from SDP server in database. */ 2458 #ifndef SDP_RAW_DATA_INCLUDED 2459 #define SDP_RAW_DATA_INCLUDED TRUE 2460 #endif 2461 2462 /* TRUE, to allow JV to create L2CAP connection on SDP PSM. */ 2463 #ifndef SDP_FOR_JV_INCLUDED 2464 #define SDP_FOR_JV_INCLUDED FALSE 2465 #endif 2466 2467 /* Inquiry duration in 1.28 second units. */ 2468 #ifndef SDP_DEBUG 2469 #define SDP_DEBUG TRUE 2470 #endif 2471 2472 /****************************************************************************** 2473 ** 2474 ** HSP2, HFP 2475 ** 2476 ******************************************************************************/ 2477 2478 #ifndef HSP2_INCLUDED 2479 #define HSP2_INCLUDED FALSE 2480 #endif 2481 2482 /* Include the ability to perform inquiry for peer devices. */ 2483 #ifndef HSP2_INQUIRY_INCLUDED 2484 #define HSP2_INQUIRY_INCLUDED TRUE 2485 #endif 2486 2487 /* Include Audio Gateway specific code. */ 2488 #ifndef HSP2_AG_INCLUDED 2489 #define HSP2_AG_INCLUDED TRUE 2490 #endif 2491 2492 /* Include Headset Specific Code. */ 2493 #ifndef HSP2_HS_INCLUDED 2494 #define HSP2_HS_INCLUDED TRUE 2495 #endif 2496 2497 /* Include the ability to open an SCO connection for In-Band Ringing. */ 2498 #ifndef HSP2_IB_RING_INCLUDED 2499 #define HSP2_IB_RING_INCLUDED TRUE 2500 #endif 2501 2502 /* Include the ability to repeat a ring. */ 2503 #ifndef HSP2_AG_REPEAT_RING 2504 #define HSP2_AG_REPEAT_RING TRUE 2505 #endif 2506 2507 #ifndef HSP2_APP_CLOSES_ON_CKPD 2508 #define HSP2_APP_CLOSES_ON_CKPD FALSE 2509 #endif 2510 2511 2512 /* Include the ability to park a connection. */ 2513 #ifndef HSP2_PARK_INCLUDED 2514 #define HSP2_PARK_INCLUDED TRUE 2515 #endif 2516 2517 /* Include HSP State Machine debug trace messages. */ 2518 #ifndef HSP2_FSM_DEBUG 2519 #define HSP2_FSM_DEBUG TRUE 2520 #endif 2521 2522 /* The Module's Inquiry Scan Window. */ 2523 #ifndef HSP2_INQ_SCAN_WINDOW 2524 #define HSP2_INQ_SCAN_WINDOW 0 2525 #endif 2526 2527 /* The Module's Inquiry Scan Interval. */ 2528 #ifndef HSP2_INQ_SCAN_INTERVAL 2529 #define HSP2_INQ_SCAN_INTERVAL 0 2530 #endif 2531 2532 /* The Module's Page Scan Interval. */ 2533 #ifndef HSP2_PAGE_SCAN_INTERVAL 2534 #define HSP2_PAGE_SCAN_INTERVAL 0 2535 #endif 2536 2537 /* The Module's Page Scan Window. */ 2538 #ifndef HSP2_PAGE_SCAN_WINDOW 2539 #define HSP2_PAGE_SCAN_WINDOW 0 2540 #endif 2541 2542 /* The Park Mode's Minimum Beacon Period. */ 2543 #ifndef HSP2_BEACON_MIN_PERIOD 2544 #define HSP2_BEACON_MIN_PERIOD 450 2545 #endif 2546 2547 /* The Park Mode's Maximum Beacon Period. */ 2548 #ifndef HSP2_BEACON_MAX_PERIOD 2549 #define HSP2_BEACON_MAX_PERIOD 500 2550 #endif 2551 2552 /* The duration of the inquiry in seconds. */ 2553 #ifndef HSP2_INQ_DURATION 2554 #define HSP2_INQ_DURATION 4 2555 #endif 2556 2557 /* Maximum number of peer responses during an inquiry. */ 2558 #ifndef HSP2_INQ_MAX_NUM_RESPS 2559 #define HSP2_INQ_MAX_NUM_RESPS 3 2560 #endif 2561 2562 /* Maximum number of times to retry an inquiry prior to failure. */ 2563 #ifndef HSP2_MAX_INQ_RETRY 2564 #define HSP2_MAX_INQ_RETRY 6 2565 #endif 2566 2567 /* Maximum number of times to retry an RFCOMM connection prior to failure. */ 2568 #ifndef HSP2_MAX_CONN_RETRY 2569 #define HSP2_MAX_CONN_RETRY 3 2570 #endif 2571 2572 /* If the connect request failed for authentication reasons, do not retry */ 2573 #ifndef HSP2_NO_RETRY_ON_AUTH_FAIL 2574 #define HSP2_NO_RETRY_ON_AUTH_FAIL TRUE 2575 #endif 2576 2577 /* Maximum number of characters in an HSP2 device name. */ 2578 #ifndef HSP2_MAX_NAME_LEN 2579 #define HSP2_MAX_NAME_LEN 32 2580 #endif 2581 2582 /* The minimum speaker and/or microphone gain setting. */ 2583 #ifndef HSP2_MIN_GAIN 2584 #define HSP2_MIN_GAIN 0 2585 #endif 2586 2587 /* The maximum speaker and/or microphone setting. */ 2588 #ifndef HSP2_MAX_GAIN 2589 #define HSP2_MAX_GAIN 15 2590 #endif 2591 2592 /* The default value to send on an AT+CKPD. */ 2593 #ifndef HSP2_KEYPRESS_DEFAULT 2594 #define HSP2_KEYPRESS_DEFAULT 200 2595 #endif 2596 2597 /* Maximum amount a data that can be received per RFCOMM frame. */ 2598 #ifndef HSP2_MAX_RFC_READ_LEN 2599 #define HSP2_MAX_RFC_READ_LEN 128 2600 #endif 2601 2602 /* The time in seconds to wait for completion of a partial AT command or response from the peer. */ 2603 #ifndef HSP2_AT_TO_INTERVAL 2604 #define HSP2_AT_TO_INTERVAL 30 2605 #endif 2606 2607 /* The time to wait before repeating a ring to a peer Headset. */ 2608 #ifndef HSP2_REPEAT_RING_TO 2609 #define HSP2_REPEAT_RING_TO 4 2610 #endif 2611 2612 /* Time to wait for a response for an AT command */ 2613 #ifndef HSP2_AT_RSP_TO 2614 #define HSP2_AT_RSP_TO 20 2615 #endif 2616 2617 /* SCO packet type(s) to use (bitmask: see spec), 0 - device default (recommended) */ 2618 #ifndef HSP2_SCO_PKT_TYPES 2619 #define HSP2_SCO_PKT_TYPES ((UINT16)0x0000) 2620 #endif 2621 2622 /* The default settings of the SCO voice link. */ 2623 #ifndef HSP2_DEFAULT_VOICE_SETTINGS 2624 #define HSP2_DEFAULT_VOICE_SETTINGS (HCI_INP_CODING_LINEAR | HCI_INP_DATA_FMT_2S_COMPLEMENT | HCI_INP_SAMPLE_SIZE_16BIT | HCI_AIR_CODING_FORMAT_CVSD) 2625 #endif 2626 2627 #ifndef HSP2_MAX_AT_CMD_LENGTH 2628 #define HSP2_MAX_AT_CMD_LENGTH 16 2629 #endif 2630 2631 #ifndef HSP2_MAX_AT_VAL_LENGTH 2632 #if (defined(HFP_INCLUDED) && HFP_INCLUDED == TRUE) 2633 #define HSP2_MAX_AT_VAL_LENGTH 310 2634 #else 2635 #define HSP2_MAX_AT_VAL_LENGTH 5 2636 #endif 2637 #endif 2638 2639 2640 #ifndef HSP2_SDP_DB_SIZE 2641 #define HSP2_SDP_DB_SIZE 300 2642 #endif 2643 2644 2645 /****************************************************************************** 2646 ** 2647 ** HFP 2648 ** 2649 ******************************************************************************/ 2650 2651 #ifndef HFP_INCLUDED 2652 #define HFP_INCLUDED FALSE 2653 #endif 2654 2655 /* Include Audio Gateway specific code. */ 2656 #ifndef HFP_AG_INCLUDED 2657 #define HFP_AG_INCLUDED TRUE 2658 #endif 2659 2660 /* Include Hand Free Specific Code. */ 2661 #ifndef HFP_HF_INCLUDED 2662 #define HFP_HF_INCLUDED TRUE 2663 #endif 2664 2665 /* Use AT interface instead of full blown API */ 2666 #ifndef AT_INTERFACE 2667 #define AT_INTERFACE FALSE 2668 #endif 2669 2670 /* HFP Manages SCO establishement for various procedures */ 2671 #ifndef HFP_SCO_MGMT_INCLUDED 2672 #define HFP_SCO_MGMT_INCLUDED TRUE 2673 #endif 2674 2675 /* CCAP compliant features and behavior desired */ 2676 #ifndef CCAP_COMPLIANCE 2677 #define CCAP_COMPLIANCE TRUE 2678 #endif 2679 2680 /* Caller ID string, part of +CLIP result code */ 2681 #ifndef HFP_MAX_CLIP_INFO 2682 #define HFP_MAX_CLIP_INFO 45 2683 #endif 2684 2685 #ifndef HFP_RPT_PEER_INFO_INCLUDED 2686 #define HFP_RPT_PEER_INFO_INCLUDED TRUE /* Reporting of peer features enabled */ 2687 #endif 2688 2689 /****************************************************************************** 2690 ** 2691 ** HID 2692 ** 2693 ******************************************************************************/ 2694 2695 /* HID Device Role Included */ 2696 #ifndef HID_DEV_INCLUDED 2697 #define HID_DEV_INCLUDED FALSE 2698 #endif 2699 2700 #ifndef HID_DEV_PM_INCLUDED 2701 #define HID_DEV_PM_INCLUDED TRUE 2702 #endif 2703 2704 /* The HID Device is a virtual cable */ 2705 #ifndef HID_DEV_VIRTUAL_CABLE 2706 #define HID_DEV_VIRTUAL_CABLE TRUE 2707 #endif 2708 2709 /* The HID device initiates the reconnections */ 2710 #ifndef HID_DEV_RECONN_INITIATE 2711 #define HID_DEV_RECONN_INITIATE TRUE 2712 #endif 2713 2714 /* THe HID device is normally connectable */ 2715 #ifndef HID_DEV_NORMALLY_CONN 2716 #define HID_DEV_NORMALLY_CONN FALSE 2717 #endif 2718 2719 /* The device is battery powered */ 2720 #ifndef HID_DEV_BATTERY_POW 2721 #define HID_DEV_BATTERY_POW TRUE 2722 #endif 2723 2724 /* Device is capable of waking up the host */ 2725 #ifndef HID_DEV_REMOTE_WAKE 2726 #define HID_DEV_REMOTE_WAKE TRUE 2727 #endif 2728 2729 /* Device needs host to close SDP channel after SDP is over */ 2730 #ifndef HID_DEV_SDP_DISABLE 2731 #define HID_DEV_SDP_DISABLE TRUE 2732 #endif 2733 2734 #ifndef HID_DEV_MTU_SIZE 2735 #define HID_DEV_MTU_SIZE 64 2736 #endif 2737 2738 #ifndef HID_DEV_FLUSH_TO 2739 #define HID_DEV_FLUSH_TO 0xffff 2740 #endif 2741 2742 #ifndef HID_DEV_PAGE_SCAN_WIN 2743 #define HID_DEV_PAGE_SCAN_WIN (0) 2744 #endif 2745 2746 #ifndef HID_DEV_PAGE_SCAN_INT 2747 #define HID_DEV_PAGE_SCAN_INT (0) 2748 #endif 2749 2750 #ifndef HID_DEV_MAX_CONN_RETRY 2751 #define HID_DEV_MAX_CONN_RETRY (15) 2752 #endif 2753 2754 #ifndef HID_DEV_REPAGE_WIN 2755 #define HID_DEV_REPAGE_WIN (1) 2756 #endif 2757 2758 #ifndef HID_DEV_SVC_NAME 2759 #define HID_DEV_SVC_NAME "HID" 2760 #endif 2761 2762 #ifndef HID_DEV_SVC_DESCR 2763 #define HID_DEV_SVC_DESCR "3-button mouse and keyboard" 2764 #endif 2765 2766 #ifndef HID_DEV_PROVIDER_NAME 2767 #define HID_DEV_PROVIDER_NAME "Widcomm" 2768 #endif 2769 2770 #ifndef HID_DEV_REL_NUM 2771 #define HID_DEV_REL_NUM 0x0100 2772 #endif 2773 2774 #ifndef HID_DEV_PARSER_VER 2775 #define HID_DEV_PARSER_VER 0x0111 2776 #endif 2777 2778 #ifndef HID_DEV_SUBCLASS 2779 #define HID_DEV_SUBCLASS COD_MINOR_POINTING 2780 #endif 2781 2782 #ifndef HID_DEV_COUNTRY_CODE 2783 #define HID_DEV_COUNTRY_CODE 0x33 2784 #endif 2785 2786 #ifndef HID_DEV_SUP_TOUT 2787 #define HID_DEV_SUP_TOUT 0x8000 2788 #endif 2789 2790 #ifndef HID_DEV_NUM_LANGS 2791 #define HID_DEV_NUM_LANGS 1 2792 #endif 2793 2794 #ifndef HID_DEV_INACT_TIMEOUT 2795 #define HID_DEV_INACT_TIMEOUT 60 2796 #endif 2797 2798 #ifndef HID_DEV_BUSY_MODE_PARAMS 2799 #define HID_DEV_BUSY_MODE_PARAMS { 320, 160, 10, 20, HCI_MODE_ACTIVE } 2800 #endif 2801 2802 #ifndef HID_DEV_IDLE_MODE_PARAMS 2803 #define HID_DEV_IDLE_MODE_PARAMS { 320, 160, 10, 20, HCI_MODE_SNIFF } 2804 #endif 2805 2806 #ifndef HID_DEV_SUSP_MODE_PARAMS 2807 #define HID_DEV_SUSP_MODE_PARAMS { 640, 320, 0, 0, HCI_MODE_PARK } 2808 #endif 2809 2810 #ifndef HID_DEV_MAX_DESCRIPTOR_SIZE 2811 #define HID_DEV_MAX_DESCRIPTOR_SIZE 128 /* Max descriptor size */ 2812 #endif 2813 2814 #ifndef HID_DEV_LANGUAGELIST 2815 #define HID_DEV_LANGUAGELIST {0x35, 0x06, 0x09, 0x04, 0x09, 0x09, 0x01, 0x00} 2816 #endif 2817 2818 #ifndef HID_DEV_LINK_SUPERVISION_TO 2819 #define HID_DEV_LINK_SUPERVISION_TO 0x8000 2820 #endif 2821 2822 #ifndef HID_CONTROL_POOL_ID 2823 #define HID_CONTROL_POOL_ID 2 2824 #endif 2825 2826 #ifndef HID_INTERRUPT_POOL_ID 2827 #define HID_INTERRUPT_POOL_ID 2 2828 #endif 2829 2830 /************************************************************************* 2831 ** Definitions for Both HID-Host & Device 2832 */ 2833 #ifndef HID_MAX_SVC_NAME_LEN 2834 #define HID_MAX_SVC_NAME_LEN 32 2835 #endif 2836 2837 #ifndef HID_MAX_SVC_DESCR_LEN 2838 #define HID_MAX_SVC_DESCR_LEN 32 2839 #endif 2840 2841 #ifndef HID_MAX_PROV_NAME_LEN 2842 #define HID_MAX_PROV_NAME_LEN 32 2843 #endif 2844 2845 /************************************************************************* 2846 ** Definitions for HID-Host 2847 */ 2848 #ifndef HID_HOST_INCLUDED 2849 #define HID_HOST_INCLUDED TRUE 2850 #endif 2851 2852 #ifndef HID_HOST_MAX_DEVICES 2853 #define HID_HOST_MAX_DEVICES 7 2854 #endif 2855 2856 #ifndef HID_HOST_MTU 2857 #define HID_HOST_MTU 640 2858 #endif 2859 2860 #ifndef HID_HOST_FLUSH_TO 2861 #define HID_HOST_FLUSH_TO 0xffff 2862 #endif 2863 2864 #ifndef HID_HOST_MAX_CONN_RETRY 2865 #define HID_HOST_MAX_CONN_RETRY (3) 2866 #endif 2867 2868 #ifndef HID_HOST_REPAGE_WIN 2869 #define HID_HOST_REPAGE_WIN (2) 2870 #endif 2871 2872 2873 /****************************************************************************** 2874 ** 2875 ** DUN and FAX 2876 ** 2877 ******************************************************************************/ 2878 2879 #ifndef DUN_INCLUDED 2880 #define DUN_INCLUDED FALSE 2881 #endif 2882 2883 2884 /****************************************************************************** 2885 ** 2886 ** GOEP 2887 ** 2888 ******************************************************************************/ 2889 2890 #ifndef GOEP_INCLUDED 2891 #define GOEP_INCLUDED FALSE 2892 #endif 2893 2894 /* This is set to enable GOEP non-blocking file system access functions. */ 2895 #ifndef GOEP_FS_INCLUDED 2896 #define GOEP_FS_INCLUDED FALSE 2897 #endif 2898 2899 /* GOEP authentication key size. */ 2900 #ifndef GOEP_MAX_AUTH_KEY_SIZE 2901 #define GOEP_MAX_AUTH_KEY_SIZE 16 2902 #endif 2903 2904 /* Maximum size of the realm authentication string. */ 2905 #ifndef GOEP_MAX_AUTH_REALM_SIZE 2906 #define GOEP_MAX_AUTH_REALM_SIZE 16 2907 #endif 2908 2909 /* Realm Character Set */ 2910 #ifndef GOEP_REALM_CHARSET 2911 #define GOEP_REALM_CHARSET 0 /* ASCII */ 2912 #endif 2913 2914 /* This is set to the maximum length of path name allowed in the system (_MAX_PATH). */ 2915 #ifndef GOEP_MAX_PATH_SIZE 2916 #define GOEP_MAX_PATH_SIZE 255 2917 #endif 2918 2919 /* Specifies whether or not client's user id is required during obex authentication */ 2920 #ifndef GOEP_SERVER_USERID_REQUIRED 2921 #define GOEP_SERVER_USERID_REQUIRED FALSE 2922 #endif 2923 2924 /* This is set to the maximum length of file name allowed in the system (_MAX_FNAME). */ 2925 #ifndef GOEP_MAX_FILE_SIZE 2926 #define GOEP_MAX_FILE_SIZE 128 2927 #endif 2928 2929 /* Character used as path separator */ 2930 #ifndef GOEP_PATH_SEPARATOR 2931 #define GOEP_PATH_SEPARATOR ((char) 0x5c) /* 0x2f ('/'), or 0x5c ('\') */ 2932 #endif 2933 2934 /****************************************************************************** 2935 ** 2936 ** OPP 2937 ** 2938 ******************************************************************************/ 2939 2940 #ifndef OPP_INCLUDED 2941 #define OPP_INCLUDED FALSE 2942 #endif 2943 2944 /* This is set to enable OPP client capabilities. */ 2945 #ifndef OPP_CLIENT_INCLUDED 2946 #define OPP_CLIENT_INCLUDED FALSE 2947 #endif 2948 2949 /* This is set to enable OPP server capabilities. */ 2950 #ifndef OPP_SERVER_INCLUDED 2951 #define OPP_SERVER_INCLUDED FALSE 2952 #endif 2953 2954 /* if the optional formating functions are to be included or not */ 2955 #ifndef OPP_FORMAT_INCLUDED 2956 #define OPP_FORMAT_INCLUDED FALSE 2957 #endif 2958 2959 /* Maximum number of client sessions allowed by server */ 2960 #ifndef OPP_MAX_SRVR_SESS 2961 #define OPP_MAX_SRVR_SESS 3 2962 #endif 2963 2964 /****************************************************************************** 2965 ** 2966 ** FTP 2967 ** 2968 ******************************************************************************/ 2969 2970 #ifndef FTP_INCLUDED 2971 #define FTP_INCLUDED FALSE 2972 #endif 2973 2974 /* This is set to enable FTP client capabilities. */ 2975 #ifndef FTP_CLIENT_INCLUDED 2976 #define FTP_CLIENT_INCLUDED TRUE 2977 #endif 2978 2979 /* This is set to enable FTP server capabilities. */ 2980 #ifndef FTP_SERVER_INCLUDED 2981 #define FTP_SERVER_INCLUDED TRUE 2982 #endif 2983 2984 /****************************************************************************** 2985 ** 2986 ** XML Parser 2987 ** 2988 ******************************************************************************/ 2989 2990 #ifndef XML_STACK_SIZE 2991 #define XML_STACK_SIZE 7 2992 #endif 2993 2994 /****************************************************************************** 2995 ** 2996 ** BPP Printer 2997 ** 2998 ******************************************************************************/ 2999 #ifndef BPP_DEBUG 3000 #define BPP_DEBUG FALSE 3001 #endif 3002 3003 #ifndef BPP_INCLUDED 3004 #define BPP_INCLUDED FALSE 3005 #endif 3006 3007 #ifndef BPP_SND_INCLUDED 3008 #define BPP_SND_INCLUDED FALSE 3009 #endif 3010 3011 /* Maximum number of senders allowed to connect simultaneously 3012 ** The maximum is 6 or (OBX_NUM_SERVERS / 2), whichever is smaller 3013 */ 3014 #ifndef BPP_PR_MAX_CON 3015 #define BPP_PR_MAX_CON 3 3016 #endif 3017 3018 /* Service Name. maximum length: 248 3019 #ifndef BPP_SERVICE_NAME 3020 #define BPP_SERVICE_NAME "Basic Printing" 3021 #endif 3022 */ 3023 /* Document Format Supported. ASCII comma-delimited list of MIME type:version string 3024 #ifndef BPP_DOC_FORMAT_SUPPORTED 3025 #define BPP_DOC_FORMAT_SUPPORTED "application/vnd.pwg-xhtml-print:1.0,application/vnd.hp-PCL:5E,application/PDF" 3026 #endif 3027 3028 #ifndef BPP_DOC_FORMAT_SUPPORTED_LEN 3029 #define BPP_DOC_FORMAT_SUPPORTED_LEN 77 3030 #endif 3031 */ 3032 /* Character repertoires. 3033 #ifndef BPP_CHARACTER_REPERTOIRES 3034 #define BPP_CHARACTER_REPERTOIRES {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01} 3035 #endif 3036 */ 3037 /* XHTML formats. 3038 #ifndef BPP_XHTML_PRINT_FORMATS 3039 #define BPP_XHTML_PRINT_FORMATS "image/gif:89A,image/jpeg" 3040 #endif 3041 3042 #ifndef BPP_XHTML_PRINT_FORMATS_LEN 3043 #define BPP_XHTML_PRINT_FORMATS_LEN 24 3044 #endif 3045 */ 3046 /* Color supported. 3047 #ifndef BPP_COLOR_SUPORTED 3048 #define BPP_COLOR_SUPORTED FALSE 3049 #endif 3050 */ 3051 /* 1284 ID string. First 2 bytes are the length. 3052 #ifndef BPP_1284ID 3053 #define BPP_1284ID "\x00\x48MANUFACTURER:ACME Manufacturing;COMMAND SET:PCL,MPL;MODEL:LaserBeam \?;" 3054 #endif 3055 3056 #ifndef BPP_1284ID_LEN 3057 #define BPP_1284ID_LEN 72 3058 #endif 3059 */ 3060 /* Printer name. 3061 #ifndef BPP_PRINTER_NAME 3062 #define BPP_PRINTER_NAME "My Printer" 3063 #endif 3064 3065 #ifndef BPP_PRINTER_NAME_LEN 3066 #define BPP_PRINTER_NAME_LEN 10 3067 #endif 3068 */ 3069 3070 /* Printer location. 3071 #ifndef BPP_PRINTER_LOCATION 3072 #define BPP_PRINTER_LOCATION "Hotel Lobby" 3073 #endif 3074 3075 #ifndef BPP_PRINTER_LOCATION_LEN 3076 #define BPP_PRINTER_LOCATION_LEN 11 3077 #endif 3078 */ 3079 /* Duplex printing supported. 3080 #ifndef BPP_DUPLEX_SUPPORTED 3081 #define BPP_DUPLEX_SUPPORTED TRUE 3082 #endif 3083 */ 3084 3085 /* Media types supported. 3086 #ifndef BPP_MEDIA_TYPES_SUPPORTED 3087 #define BPP_MEDIA_TYPES_SUPPORTED "stationary,continuous-long,photographic-high-gloss,cardstock" 3088 #endif 3089 3090 #ifndef BPP_MEDIA_TYPES_SUPPORTED_LEN 3091 #define BPP_MEDIA_TYPES_SUPPORTED_LEN 60 3092 #endif 3093 */ 3094 /* Maximum media with supported. 3095 #ifndef BPP_MAX_MEDIA_WIDTH 3096 #define BPP_MAX_MEDIA_WIDTH 205 3097 #endif 3098 */ 3099 /* Maximum media length supported. 3100 #ifndef BPP_MAX_MEDIA_LENGTH 3101 #define BPP_MAX_MEDIA_LENGTH 285 3102 #endif 3103 */ 3104 /* the maximum string len for the media size of medium loaded */ 3105 #ifndef BPP_MEDIA_SIZE_LEN 3106 #define BPP_MEDIA_SIZE_LEN 33 3107 #endif 3108 3109 /* Debug Trace the SOAP object, if TRUE */ 3110 #ifndef BPP_TRACE_XML 3111 #define BPP_TRACE_XML TRUE 3112 #endif 3113 3114 /* in case that the SOAP object does not all come in one OBEX packet, 3115 * this size of data may be kept in the BPP control block for continuing parsing. 3116 * The maximum is the size of the biggest GKI buffer (GKI_MAX_BUF_SIZE) */ 3117 #ifndef BPP_SOAP_KEEP_SIZE 3118 #define BPP_SOAP_KEEP_SIZE 200 3119 #endif 3120 3121 3122 /****************************************************************************** 3123 ** 3124 ** BIP 3125 ** 3126 ******************************************************************************/ 3127 #ifndef BIP_INCLUDED 3128 #define BIP_INCLUDED FALSE 3129 #endif 3130 3131 /* TRUE to include imaging initiator */ 3132 #ifndef BIP_INITR_INCLUDED 3133 #define BIP_INITR_INCLUDED FALSE 3134 #endif 3135 3136 /* TRUE to include imaging responder */ 3137 #ifndef BIP_RSPDR_INCLUDED 3138 #define BIP_RSPDR_INCLUDED FALSE 3139 #endif 3140 3141 /* TRUE to include image push feature */ 3142 #ifndef BIP_PUSH_INCLUDED 3143 #define BIP_PUSH_INCLUDED TRUE 3144 #endif 3145 3146 /* TRUE to include image pull feature */ 3147 #ifndef BIP_PULL_INCLUDED 3148 #define BIP_PULL_INCLUDED TRUE 3149 #endif 3150 3151 /* TRUE to include advanced image printing feature */ 3152 #ifndef BIP_PRINTING_INCLUDED 3153 #define BIP_PRINTING_INCLUDED TRUE 3154 #endif 3155 3156 /* TRUE to include automatic archive feature */ 3157 #ifndef BIP_ARCHIVE_INCLUDED 3158 #define BIP_ARCHIVE_INCLUDED TRUE 3159 #endif 3160 3161 /* TRUE to include remote camera feature */ 3162 #ifndef BIP_CAMERA_INCLUDED 3163 #define BIP_CAMERA_INCLUDED TRUE 3164 #endif 3165 3166 /* TRUE to include remote display feature */ 3167 #ifndef BIP_DISPLAY_INCLUDED 3168 #define BIP_DISPLAY_INCLUDED TRUE 3169 #endif 3170 3171 /* TRUE to include sanity check code for API functions */ 3172 #ifndef BIP_SANITY_CHECKS 3173 #define BIP_SANITY_CHECKS TRUE 3174 #endif 3175 3176 /* TRUE to show the received XML object in trace for conformance tests */ 3177 #ifndef BIP_TRACE_XML 3178 #define BIP_TRACE_XML TRUE 3179 #endif 3180 3181 /* in case that the received XML object is not complete, the XML parser state machine needs 3182 * to keep a copy of the data from the last '<' 3183 * This macro specifies the maximun amount of data for this purpose */ 3184 #ifndef BIP_XML_CARRY_OVER_LEN 3185 #define BIP_XML_CARRY_OVER_LEN 100 3186 #endif 3187 3188 /* minimum 4, maximum is 255. The value should be set to the maximum size of encoding string + 1. JPEG2000. 3189 * If vendor specific format is supported, it might be bigger than 9 */ 3190 #ifndef BIP_IMG_ENCODE_SIZE 3191 #define BIP_IMG_ENCODE_SIZE 9 3192 #endif 3193 3194 /* MIME type: text/plain */ 3195 #ifndef BIP_TYPE_SIZE 3196 #define BIP_TYPE_SIZE 20 3197 #endif 3198 3199 /* example: iso-8895-1 */ 3200 #ifndef BIP_CHARSET_SIZE 3201 #define BIP_CHARSET_SIZE 10 3202 #endif 3203 3204 /* friendly name */ 3205 #ifndef BIP_FNAME_SIZE 3206 #define BIP_FNAME_SIZE 20 3207 #endif 3208 3209 /* service name */ 3210 #ifndef BIP_SNAME_SIZE 3211 #define BIP_SNAME_SIZE 60 3212 #endif 3213 3214 /* temporary storage file name(for file system access, may include path) */ 3215 #ifndef BIP_TEMP_NAME_SIZE 3216 #define BIP_TEMP_NAME_SIZE 200 3217 #endif 3218 3219 /* image file name */ 3220 #ifndef BIP_IMG_NAME_SIZE 3221 #define BIP_IMG_NAME_SIZE 200 3222 #endif 3223 3224 /* attachment file name */ 3225 #ifndef BIP_ATT_NAME_SIZE 3226 #define BIP_ATT_NAME_SIZE 200 3227 #endif 3228 3229 /* object (image, attachment, thumbnail) file name (may be used for file system) */ 3230 #ifndef BIP_OBJ_NAME_SIZE 3231 #define BIP_OBJ_NAME_SIZE 200 3232 #endif 3233 3234 3235 3236 /****************************************************************************** 3237 ** 3238 ** HCRP 3239 ** 3240 ******************************************************************************/ 3241 3242 #ifndef HCRP_INCLUDED 3243 #define HCRP_INCLUDED FALSE 3244 #endif 3245 3246 /* This is set to enable server. */ 3247 #ifndef HCRP_SERVER_INCLUDED 3248 #define HCRP_SERVER_INCLUDED FALSE 3249 #endif 3250 3251 /* This is set to enable client. */ 3252 #ifndef HCRP_CLIENT_INCLUDED 3253 #define HCRP_CLIENT_INCLUDED FALSE 3254 #endif 3255 3256 /* TRUE enables the notification option of the profile. */ 3257 #ifndef HCRP_NOTIFICATION_INCLUDED 3258 #define HCRP_NOTIFICATION_INCLUDED TRUE 3259 #endif 3260 3261 /* TRUE enables the vendor specific option of the profile. */ 3262 #ifndef HCRP_VENDOR_SPEC_INCLUDED 3263 #define HCRP_VENDOR_SPEC_INCLUDED TRUE 3264 #endif 3265 3266 /* TRUE enables state machine traces. */ 3267 #ifndef HCRP_FSM_DEBUG 3268 #define HCRP_FSM_DEBUG FALSE 3269 #endif 3270 3271 /* TRUE enables protocol message traces. */ 3272 #ifndef HCRP_PROTO_DEBUG 3273 #define HCRP_PROTO_DEBUG FALSE 3274 #endif 3275 3276 /* Maximum length used to store the service name (Minimum 1). */ 3277 #ifndef HCRP_MAX_SERVICE_NAME_LEN 3278 #define HCRP_MAX_SERVICE_NAME_LEN 32 3279 #endif 3280 3281 /* Maximum length used to store the device name (Minimum 1). */ 3282 #ifndef HCRP_MAX_DEVICE_NAME_LEN 3283 #define HCRP_MAX_DEVICE_NAME_LEN 32 3284 #endif 3285 3286 /* Maximum length of device location (Minimum 1) */ 3287 #ifndef HCRP_MAX_DEVICE_LOC_LEN 3288 #define HCRP_MAX_DEVICE_LOC_LEN 32 3289 #endif 3290 3291 /* Maximum length used to store the friendly name (Minimum 1). */ 3292 #ifndef HCRP_MAX_FRIENDLY_NAME_LEN 3293 #define HCRP_MAX_FRIENDLY_NAME_LEN 32 3294 #endif 3295 3296 /* Maximum length used to store the 1284 id string (Minimum 2 byte length field). */ 3297 #ifndef HCRP_MAX_SDP_1284_ID_LEN 3298 #define HCRP_MAX_SDP_1284_ID_LEN 128 3299 #endif 3300 3301 /* Maximum length for parameters to be processed for vendor specific commands. */ 3302 #ifndef HCRP_MAX_VEND_SPEC_LEN 3303 #define HCRP_MAX_VEND_SPEC_LEN 4 3304 #endif 3305 3306 /* Number of seconds to wait for 2nd GAP to open. */ 3307 #ifndef HCRP_OPEN_CHAN_TOUT 3308 #define HCRP_OPEN_CHAN_TOUT 5 3309 #endif 3310 3311 /* Number of seconds to wait for 2nd GAP to close. */ 3312 #ifndef HCRP_CLOSE_CHAN_TOUT 3313 #define HCRP_CLOSE_CHAN_TOUT 3 3314 #endif 3315 3316 /* Number of seconds to wait for the application to respond to a protocol request. */ 3317 #ifndef HCRP_APPL_RSP_TOUT 3318 #define HCRP_APPL_RSP_TOUT 5 3319 #endif 3320 3321 /* Number of seconds to wait for the peer device to respond to a protocol request. */ 3322 #ifndef HCRP_CMD_RSP_TOUT 3323 #define HCRP_CMD_RSP_TOUT 7 3324 #endif 3325 3326 /* Number of seconds between subsequent credit requests to the server when the send watermark has been exceeded. */ 3327 #ifndef HCRP_CREDIT_REQ_UPDATES 3328 #define HCRP_CREDIT_REQ_UPDATES 1 3329 #endif 3330 3331 /* Maximum number of results to return in a HCRP_FindServices search. */ 3332 #ifndef HCRP_MAX_SEARCH_RESULTS 3333 #define HCRP_MAX_SEARCH_RESULTS 1 3334 #endif 3335 3336 /* Maximum number of bytes to be reserved for searching for the client's notification record. */ 3337 #ifndef HCRP_MAX_NOTIF_DISC_BUF 3338 #define HCRP_MAX_NOTIF_DISC_BUF 300 3339 #endif 3340 3341 /* Maximum number of clients the server will allow to be registered for notifications. */ 3342 #ifndef HCRP_MAX_NOTIF_CLIENTS 3343 #define HCRP_MAX_NOTIF_CLIENTS 3 3344 #endif 3345 3346 /* Spec says minimum of two notification retries. */ 3347 #ifndef HCRP_NOTIF_NUM_RETRIES 3348 #define HCRP_NOTIF_NUM_RETRIES 4 3349 #endif 3350 3351 /************************************************************************* 3352 ** Definitions for Multi-Client Server HCRP 3353 ** Note: Many of the above HCRP definitions are also used 3354 ** Maximum number of clients allowed to connect simultaneously 3355 ** Must be less than ((GAP_MAX_CONNECTIONS - 1) / 2) 3356 */ 3357 #ifndef HCRPM_MAX_CLIENTS 3358 #define HCRPM_MAX_CLIENTS 3 3359 #endif 3360 3361 3362 /****************************************************************************** 3363 ** 3364 ** PAN 3365 ** 3366 ******************************************************************************/ 3367 3368 #ifndef PAN_INCLUDED 3369 #define PAN_INCLUDED FALSE 3370 #endif 3371 3372 3373 /****************************************************************************** 3374 ** 3375 ** SAP 3376 ** 3377 ******************************************************************************/ 3378 3379 #ifndef SAP_SERVER_INCLUDED 3380 #define SAP_SERVER_INCLUDED FALSE 3381 #endif 3382 3383 3384 /************************************************************************* 3385 * A2DP Definitions 3386 */ 3387 #ifndef A2D_INCLUDED 3388 #define A2D_INCLUDED TRUE 3389 #endif 3390 3391 /* TRUE to include SBC utility functions */ 3392 #ifndef A2D_SBC_INCLUDED 3393 #define A2D_SBC_INCLUDED A2D_INCLUDED 3394 #endif 3395 3396 /* TRUE to include MPEG-1,2 (mp3) utility functions */ 3397 #ifndef A2D_M12_INCLUDED 3398 #define A2D_M12_INCLUDED A2D_INCLUDED 3399 #endif 3400 3401 /* TRUE to include MPEG-2,4 (aac) utility functions */ 3402 #ifndef A2D_M24_INCLUDED 3403 #define A2D_M24_INCLUDED A2D_INCLUDED 3404 #endif 3405 3406 /****************************************************************************** 3407 ** 3408 ** AVCTP 3409 ** 3410 ******************************************************************************/ 3411 3412 #ifndef AVCT_INCLUDED 3413 #define AVCT_INCLUDED TRUE 3414 #endif 3415 3416 /* Number of simultaneous ACL links to different peer devices. */ 3417 #ifndef AVCT_NUM_LINKS 3418 #define AVCT_NUM_LINKS 2 3419 #endif 3420 3421 /* Number of simultaneous AVCTP connections. */ 3422 #ifndef AVCT_NUM_CONN 3423 #define AVCT_NUM_CONN 3 3424 #endif 3425 3426 /* Pool ID where to reassemble the SDU. 3427 This Pool allows buffers to be used that are larger than 3428 the L2CAP_MAX_MTU. */ 3429 #ifndef AVCT_BR_USER_RX_POOL_ID 3430 #define AVCT_BR_USER_RX_POOL_ID HCI_ACL_POOL_ID 3431 #endif 3432 3433 /* Pool ID where to hold the SDU. 3434 This Pool allows buffers to be used that are larger than 3435 the L2CAP_MAX_MTU. */ 3436 #ifndef AVCT_BR_USER_TX_POOL_ID 3437 #define AVCT_BR_USER_TX_POOL_ID HCI_ACL_POOL_ID 3438 #endif 3439 3440 /* 3441 GKI Buffer Pool ID used to hold MPS segments during SDU reassembly 3442 */ 3443 #ifndef AVCT_BR_FCR_RX_POOL_ID 3444 #define AVCT_BR_FCR_RX_POOL_ID HCI_ACL_POOL_ID 3445 #endif 3446 3447 /* 3448 GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions. 3449 L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool. 3450 Note: This pool needs to have enough buffers to hold two times the window size negotiated 3451 in the tL2CAP_FCR_OPTIONS (2 * tx_win_size) to allow for retransmissions. 3452 The size of each buffer must be able to hold the maximum MPS segment size passed in 3453 tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec). 3454 */ 3455 #ifndef AVCT_BR_FCR_TX_POOL_ID 3456 #define AVCT_BR_FCR_TX_POOL_ID HCI_ACL_POOL_ID 3457 #endif 3458 3459 /* AVCTP Browsing channel FCR Option: 3460 Size of the transmission window when using enhanced retransmission mode. Not used 3461 in basic and streaming modes. Range: 1 - 63 3462 */ 3463 #ifndef AVCT_BR_FCR_OPT_TX_WINDOW_SIZE 3464 #define AVCT_BR_FCR_OPT_TX_WINDOW_SIZE 10 3465 #endif 3466 3467 /* AVCTP Browsing channel FCR Option: 3468 Number of transmission attempts for a single I-Frame before taking 3469 Down the connection. Used In ERTM mode only. Value is Ignored in basic and 3470 Streaming modes. 3471 Range: 0, 1-0xFF 3472 0 - infinite retransmissions 3473 1 - single transmission 3474 */ 3475 #ifndef AVCT_BR_FCR_OPT_MAX_TX_B4_DISCNT 3476 #define AVCT_BR_FCR_OPT_MAX_TX_B4_DISCNT 20 3477 #endif 3478 3479 /* AVCTP Browsing channel FCR Option: Retransmission Timeout 3480 The AVRCP specification set a value in the range of 300 - 2000 ms 3481 Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode. 3482 Range: Minimum 2000 (2 secs) when supporting PBF. 3483 */ 3484 #ifndef AVCT_BR_FCR_OPT_RETX_TOUT 3485 #define AVCT_BR_FCR_OPT_RETX_TOUT 2000 3486 #endif 3487 3488 /* AVCTP Browsing channel FCR Option: Monitor Timeout 3489 The AVRCP specification set a value in the range of 300 - 2000 ms 3490 Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode. 3491 Range: Minimum 12000 (12 secs) when supporting PBF. 3492 */ 3493 #ifndef AVCT_BR_FCR_OPT_MONITOR_TOUT 3494 #define AVCT_BR_FCR_OPT_MONITOR_TOUT 12000 3495 #endif 3496 3497 /****************************************************************************** 3498 ** 3499 ** AVRCP 3500 ** 3501 ******************************************************************************/ 3502 3503 #ifndef AVRC_INCLUDED 3504 #define AVRC_INCLUDED TRUE 3505 #endif 3506 3507 /****************************************************************************** 3508 ** 3509 ** MCAP 3510 ** 3511 ******************************************************************************/ 3512 #ifndef MCA_INCLUDED 3513 #define MCA_INCLUDED FALSE 3514 #endif 3515 3516 /* TRUE to support Clock Synchronization OpCodes */ 3517 #ifndef MCA_SYNC_INCLUDED 3518 #define MCA_SYNC_INCLUDED FALSE 3519 #endif 3520 3521 /* The MTU size for the L2CAP configuration on control channel. 48 is the minimal */ 3522 #ifndef MCA_CTRL_MTU 3523 #define MCA_CTRL_MTU 60 3524 #endif 3525 3526 /* The maximum number of registered MCAP instances. */ 3527 #ifndef MCA_NUM_REGS 3528 #define MCA_NUM_REGS 3 3529 #endif 3530 3531 /* The maximum number of control channels (to difference devices) per registered MCAP instances. */ 3532 #ifndef MCA_NUM_LINKS 3533 #define MCA_NUM_LINKS 3 3534 #endif 3535 3536 /* The maximum number of MDEP (including HDP echo) per registered MCAP instances. */ 3537 #ifndef MCA_NUM_DEPS 3538 #define MCA_NUM_DEPS 3 3539 #endif 3540 3541 /* The maximum number of MDL link per control channel. */ 3542 #ifndef MCA_NUM_MDLS 3543 #define MCA_NUM_MDLS 4 3544 #endif 3545 3546 /* Pool ID where to reassemble the SDU. */ 3547 #ifndef MCA_USER_RX_POOL_ID 3548 #define MCA_USER_RX_POOL_ID HCI_ACL_POOL_ID 3549 #endif 3550 3551 /* Pool ID where to hold the SDU. */ 3552 #ifndef MCA_USER_TX_POOL_ID 3553 #define MCA_USER_TX_POOL_ID HCI_ACL_POOL_ID 3554 #endif 3555 3556 /* 3557 GKI Buffer Pool ID used to hold MPS segments during SDU reassembly 3558 */ 3559 #ifndef MCA_FCR_RX_POOL_ID 3560 #define MCA_FCR_RX_POOL_ID HCI_ACL_POOL_ID 3561 #endif 3562 3563 /* 3564 GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions. 3565 L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool. 3566 Note: This pool needs to have enough buffers to hold two times the window size negotiated 3567 in the tL2CAP_FCR_OPTIONS (2 * tx_win_size) to allow for retransmissions. 3568 The size of each buffer must be able to hold the maximum MPS segment size passed in 3569 tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec). 3570 */ 3571 #ifndef MCA_FCR_TX_POOL_ID 3572 #define MCA_FCR_TX_POOL_ID HCI_ACL_POOL_ID 3573 #endif 3574 3575 /* MCAP control channel FCR Option: 3576 Size of the transmission window when using enhanced retransmission mode. 3577 1 is defined by HDP specification for control channel. 3578 */ 3579 #ifndef MCA_FCR_OPT_TX_WINDOW_SIZE 3580 #define MCA_FCR_OPT_TX_WINDOW_SIZE 1 3581 #endif 3582 3583 /* MCAP control channel FCR Option: 3584 Number of transmission attempts for a single I-Frame before taking 3585 Down the connection. Used In ERTM mode only. Value is Ignored in basic and 3586 Streaming modes. 3587 Range: 0, 1-0xFF 3588 0 - infinite retransmissions 3589 1 - single transmission 3590 */ 3591 #ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT 3592 #define MCA_FCR_OPT_MAX_TX_B4_DISCNT 20 3593 #endif 3594 3595 /* MCAP control channel FCR Option: Retransmission Timeout 3596 The AVRCP specification set a value in the range of 300 - 2000 ms 3597 Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode. 3598 Range: Minimum 2000 (2 secs) when supporting PBF. 3599 */ 3600 #ifndef MCA_FCR_OPT_RETX_TOUT 3601 #define MCA_FCR_OPT_RETX_TOUT 2000 3602 #endif 3603 3604 /* MCAP control channel FCR Option: Monitor Timeout 3605 The AVRCP specification set a value in the range of 300 - 2000 ms 3606 Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode. 3607 Range: Minimum 12000 (12 secs) when supporting PBF. 3608 */ 3609 #ifndef MCA_FCR_OPT_MONITOR_TOUT 3610 #define MCA_FCR_OPT_MONITOR_TOUT 12000 3611 #endif 3612 3613 /* MCAP control channel FCR Option: Maximum PDU payload size. 3614 The maximum number of payload octets that the local device can receive in a single PDU. 3615 */ 3616 #ifndef MCA_FCR_OPT_MPS_SIZE 3617 #define MCA_FCR_OPT_MPS_SIZE 1000 3618 #endif 3619 3620 /* Shared transport */ 3621 #ifndef NFC_SHARED_TRANSPORT_ENABLED 3622 #define NFC_SHARED_TRANSPORT_ENABLED FALSE 3623 #endif 3624 3625 /****************************************************************************** 3626 ** 3627 ** SER 3628 ** 3629 ******************************************************************************/ 3630 3631 #ifndef SER_INCLUDED 3632 #define SER_INCLUDED FALSE 3633 #endif 3634 3635 /* Task which runs the serial application. */ 3636 #ifndef SER_TASK 3637 #define SER_TASK BTE_APPL_TASK 3638 #endif 3639 3640 /* Mailbox used by serial application. */ 3641 #ifndef SER_MBOX 3642 #define SER_MBOX TASK_MBOX_1 3643 #endif 3644 3645 /* Mailbox mask. */ 3646 #ifndef SER_MBOX_MASK 3647 #define SER_MBOX_MASK TASK_MBOX_1_EVT_MASK 3648 #endif 3649 3650 /* TX path application event. */ 3651 #ifndef SER_TX_PATH_APPL_EVT 3652 #define SER_TX_PATH_APPL_EVT EVENT_MASK(APPL_EVT_3) 3653 #endif 3654 3655 /* RX path application event. */ 3656 #ifndef SER_RX_PATH_APPL_EVT 3657 #define SER_RX_PATH_APPL_EVT EVENT_MASK(APPL_EVT_4) 3658 #endif 3659 3660 /****************************************************************************** 3661 ** 3662 ** Sleep Mode (Low Power Mode) 3663 ** 3664 ******************************************************************************/ 3665 3666 #ifndef HCILP_INCLUDED 3667 #define HCILP_INCLUDED TRUE 3668 #endif 3669 3670 /****************************************************************************** 3671 ** 3672 ** RPC 3673 ** 3674 ******************************************************************************/ 3675 3676 #ifndef RPC_INCLUDED 3677 #define RPC_INCLUDED FALSE 3678 #endif 3679 3680 /* RPCT task mailbox ID for messages coming from rpcgen code. */ 3681 #ifndef RPCT_MBOX 3682 #define RPCT_MBOX TASK_MBOX_0 3683 #endif 3684 3685 /* RPCT task event for mailbox. */ 3686 #ifndef RPCT_RPC_MBOX_EVT 3687 #define RPCT_RPC_MBOX_EVT TASK_MBOX_0_EVT_MASK 3688 #endif 3689 3690 /* RPCT task event from driver indicating RX data is ready. */ 3691 #ifndef RPCT_RX_READY_EVT 3692 #define RPCT_RX_READY_EVT APPL_EVT_0 3693 #endif 3694 3695 /* RPCT task event from driver indicating data TX is done. */ 3696 #ifndef RPCT_TX_DONE_EVT 3697 #define RPCT_TX_DONE_EVT APPL_EVT_1 3698 #endif 3699 3700 /* RPCT task event indicating data is in the circular buffer. */ 3701 #ifndef RPCT_UCBUF_EVT 3702 #define RPCT_UCBUF_EVT APPL_EVT_2 3703 #endif 3704 3705 /* Task ID of RPCGEN task. */ 3706 #ifndef RPCGEN_TASK 3707 #define RPCGEN_TASK BTU_TASK 3708 #endif 3709 3710 /* RPCGEN task event for messages coming from RPCT. */ 3711 #ifndef RPCGEN_MSG_EVT 3712 #define RPCGEN_MSG_EVT TASK_MBOX_1_EVT_MASK 3713 #endif 3714 3715 #ifndef RPCGEN_MSG_MBOX 3716 #define RPCGEN_MSG_MBOX TASK_MBOX_1 3717 #endif 3718 3719 /* Size of circular buffer used to store diagnostic messages. */ 3720 #ifndef RPCT_UCBUF_SIZE 3721 #define RPCT_UCBUF_SIZE 2000 3722 #endif 3723 3724 /****************************************************************************** 3725 ** 3726 ** SAP - Sample applications 3727 ** 3728 ******************************************************************************/ 3729 3730 #ifndef MMI_INCLUDED 3731 #define MMI_INCLUDED FALSE 3732 #endif 3733 3734 /****************************************************************************** 3735 ** 3736 ** APPL - Application Task 3737 ** 3738 ******************************************************************************/ 3739 /* When TRUE indicates that an application task is to be run */ 3740 #ifndef APPL_INCLUDED 3741 #define APPL_INCLUDED TRUE 3742 #endif 3743 3744 /* When TRUE remote terminal code included (RPC MUST be included) */ 3745 #ifndef RSI_INCLUDED 3746 #define RSI_INCLUDED TRUE 3747 #endif 3748 3749 3750 3751 #define L2CAP_FEATURE_REQ_ID 73 3752 #define L2CAP_FEATURE_RSP_ID 173 3753 3754 3755 #define L2CAP_ENHANCED_FEATURES 0 3756 3757 3758 /****************************************************************************** 3759 ** 3760 ** BTA 3761 ** 3762 ******************************************************************************/ 3763 /* BTA EIR canned UUID list (default is dynamic) */ 3764 #ifndef BTA_EIR_CANNED_UUID_LIST 3765 #define BTA_EIR_CANNED_UUID_LIST FALSE 3766 #endif 3767 3768 /* Number of supported customer UUID in EIR */ 3769 #ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID 3770 #define BTA_EIR_SERVER_NUM_CUSTOM_UUID 8 3771 #endif 3772 3773 /* CHLD override for bluedroid */ 3774 #ifndef BTA_AG_CHLD_VAL_ECC 3775 #define BTA_AG_CHLD_VAL_ECC "(0,1,1x,2,2x,3)" 3776 #endif 3777 3778 #ifndef BTA_AG_CHLD_VAL 3779 #define BTA_AG_CHLD_VAL "(0,1,2,3)" 3780 #endif 3781 3782 /* Set the CIND to match HFP 1.5 */ 3783 #ifndef BTA_AG_CIND_INFO 3784 #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))" 3785 #endif 3786 3787 3788 /****************************************************************************** 3789 ** 3790 ** BTE 3791 ** 3792 ******************************************************************************/ 3793 #ifndef BTE_PLATFORM_IDLE 3794 #define BTE_PLATFORM_IDLE 3795 #endif 3796 3797 #ifndef BTE_IDLE_TASK_INCLUDED 3798 #define BTE_IDLE_TASK_INCLUDED FALSE 3799 #endif 3800 3801 #ifndef BTE_PLATFORM_INITHW 3802 #define BTE_PLATFORM_INITHW 3803 #endif 3804 3805 #ifndef BTE_BTA_CODE_INCLUDED 3806 #define BTE_BTA_CODE_INCLUDED FALSE 3807 #endif 3808 3809 /****************************************************************************** 3810 ** 3811 ** BTTRC 3812 ** 3813 ******************************************************************************/ 3814 /* Whether to parse and display traces-> Platform specific implementation */ 3815 #ifndef BTTRC_DISP 3816 #define BTTRC_DISP BTTRC_DispOnInsight 3817 #endif 3818 3819 /****************************************************************************** 3820 ** 3821 ** Tracing: Include trace header file here. 3822 ** 3823 ******************************************************************************/ 3824 3825 #include "bt_trace.h" 3826 3827 #endif /* BT_TARGET_H */ 3828 3829