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