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