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