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