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