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