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