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