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