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