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