NFC_NCIHALx_AR1800.8.0.C_OpnSrc
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 28c22be..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-NFA := src/nfa
-NFC := src/nfc
-HAL := src/hal
-UDRV := src/udrv
-
-D_CFLAGS := -DANDROID -DBUILDCFG=1 \
-    -Wno-deprecated-register \
-    -Wno-unused-parameter \
-
-#Enable NXP Specific
-D_CFLAGS += -DNXP_EXTNS=TRUE
-D_CFLAGS += -DNFC_NXP_AID_MAX_SIZE_DYN=TRUE
-
-#Enable HCE-F specific
-D_CFLAGS += -DNXP_NFCC_HCE_F=TRUE
-
-#variables for NFC_NXP_CHIP_TYPE
-PN547C2 := 1
-PN548C2 := 2
-PN551   := 3
-PN553   := 4
-
-ifeq ($(PN547C2),1)
-D_CFLAGS += -DPN547C2=1
-endif
-ifeq ($(PN548C2),2)
-D_CFLAGS += -DPN548C2=2
-endif
-ifeq ($(PN551),3)
-D_CFLAGS += -DPN551=3
-endif
-ifeq ($(PN553),4)
-D_CFLAGS += -DPN553=4
-endif
-
-#### Select the JCOP OS Version ####
-JCOP_VER_3_1 := 1
-JCOP_VER_3_2 := 2
-JCOP_VER_3_3 := 3
-JCOP_VER_4_0 := 4
-
-LOCAL_CFLAGS += -DJCOP_VER_3_1=$(JCOP_VER_3_1)
-LOCAL_CFLAGS += -DJCOP_VER_3_2=$(JCOP_VER_3_2)
-LOCAL_CFLAGS += -DJCOP_VER_3_3=$(JCOP_VER_3_3)
-LOCAL_CFLAGS += -DJCOP_VER_4_0=$(JCOP_VER_4_0)
-
-NFC_NXP_ESE:= TRUE
-ifeq ($(NFC_NXP_ESE),TRUE)
-LOCAL_CFLAGS += -DNFC_NXP_ESE=TRUE
-LOCAL_CFLAGS += -DNFC_NXP_ESE_VER=$(JCOP_VER_4_0)
-else
-LOCAL_CFLAGS += -DNFC_NXP_ESE=FALSE
-endif
-
-#### Select the CHIP ####
-NXP_CHIP_TYPE := $(PN553)
-
-ifeq ($(NXP_CHIP_TYPE),$(PN547C2))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN547C2
-else ifeq ($(NXP_CHIP_TYPE),$(PN548C2))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN548C2
-else ifeq ($(NXP_CHIP_TYPE),$(PN551))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN551
-else ifeq ($(NXP_CHIP_TYPE),$(PN553))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN553
-endif
-
-ifeq ($(NXP_CHIP_TYPE),$(PN553))
-D_CFLAGS += -DJCOP_WA_ENABLE=FALSE
-else
-D_CFLAGS += -DJCOP_WA_ENABLE=TRUE
-endif
-
-#Routing Entries optimization
-D_CFLAGS += -DNFC_NXP_LISTEN_ROUTE_TBL_OPTIMIZATION=TRUE
-######################################
-# Build shared library system/lib/libnfc-nci.so for stack code.
-
-LOCAL_ARM_MODE := arm
-ifeq (true,$(TARGET_IS_64_BIT))
-LOCAL_MULTILIB := 64
-else
-LOCAL_MULTILIB := 32
-endif
-LOCAL_MODULE := libnfc-nci
-LOCAL_SHARED_LIBRARIES := libhardware_legacy libcutils liblog libdl libhardware
-LOCAL_CFLAGS += $(D_CFLAGS)
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/src/include \
-    $(LOCAL_PATH)/src/gki/ulinux \
-    $(LOCAL_PATH)/src/gki/common \
-    $(LOCAL_PATH)/$(NFA)/include \
-    $(LOCAL_PATH)/$(NFA)/int \
-    $(LOCAL_PATH)/$(NFC)/include \
-    $(LOCAL_PATH)/$(NFC)/int \
-    $(LOCAL_PATH)/src/hal/include \
-    $(LOCAL_PATH)/src/hal/int \
-    $(LOCAL_PATH)/$(HALIMPL)/include
-LOCAL_SRC_FILES := \
-    $(call all-c-files-under, $(NFA)/ce $(NFA)/dm $(NFA)/ee) \
-    $(call all-c-files-under, $(NFA)/hci $(NFA)/int $(NFA)/p2p $(NFA)/rw $(NFA)/sys) \
-    $(call all-c-files-under, $(NFC)/int $(NFC)/llcp $(NFC)/nci $(NFC)/ndef $(NFC)/nfc $(NFC)/tags) \
-    $(call all-c-files-under, src/adaptation) \
-    $(call all-cpp-files-under, src/adaptation) \
-    $(call all-c-files-under, src/gki) \
-    src/nfca_version.c
-include $(BUILD_SHARED_LIBRARY)
-
-
-######################################
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/halimpl/pn54x/Android.bp b/halimpl/pn54x/Android.bp
deleted file mode 100644
index e69de29..0000000
--- a/halimpl/pn54x/Android.bp
+++ /dev/null
diff --git a/halimpl/pn54x/Android.mk b/halimpl/pn54x/Android.mk
deleted file mode 100644
index e47bde8..0000000
--- a/halimpl/pn54x/Android.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-HAL_SUFFIX := $(TARGET_DEVICE)
-ifeq ($(TARGET_DEVICE),crespo)
-	HAL_SUFFIX := herring
-endif
-
-#Enable NXP Specific
-D_CFLAGS += -DNXP_EXTNS=TRUE
-
-#variables for NFC_NXP_CHIP_TYPE
-PN547C2 := 1
-PN548C2 := 2
-PN551   := 3
-PN553   := 4
-
-NQ110 := $PN547C2
-NQ120 := $PN547C2
-NQ210 := $PN548C2
-NQ220 := $PN548C2
-
-#Enable HCE-F specific
-D_CFLAGS += -DNXP_NFCC_HCE_F=TRUE
-
-#NXP PN547 Enable
-ifeq ($(PN547C2),1)
-D_CFLAGS += -DPN547C2=1
-endif
-ifeq ($(PN548C2),2)
-D_CFLAGS += -DPN548C2=2
-endif
-ifeq ($(PN551),3)
-D_CFLAGS += -DPN551=3
-endif
-ifeq ($(PN553),4)
-D_CFLAGS += -DPN553=4
-endif
-
-#### Select the CHIP ####
-NXP_CHIP_TYPE := $(PN553)
-
-ifeq ($(NXP_CHIP_TYPE),$(PN547C2))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN547C2
-else ifeq ($(NXP_CHIP_TYPE),$(PN548C2))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN548C2
-else ifeq ($(NXP_CHIP_TYPE),$(PN551))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN551
-else ifeq ($(NXP_CHIP_TYPE),$(PN553))
-D_CFLAGS += -DNFC_NXP_CHIP_TYPE=PN553
-endif
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-ifeq ($(NXP_CHIP_TYPE),$(PN547C2))
-LOCAL_MODULE := nfc_nci_pn547.grouper
-else ifeq ($(NXP_CHIP_TYPE),$(PN548C2))
-LOCAL_MODULE := nfc_nci.pn54x.default
-else ifeq ($(NXP_CHIP_TYPE),$(PN551))
-LOCAL_MODULE := nfc_nci.pn54x.default
-else ifeq ($(NXP_CHIP_TYPE),$(PN553))
-LOCAL_MODULE := nfc_nci.pn54x.default
-endif
-ifeq (true,$(TARGET_IS_64_BIT))
-LOCAL_MULTILIB := 64
-else
-LOCAL_MULTILIB := 32
-endif
-LOCAL_MODULE_RELATIVE_PATH := hw
-LOCAL_SRC_FILES := $(call all-subdir-c-files)  $(call all-subdir-cpp-files)
-LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware_legacy libdl
-
-LOCAL_CFLAGS := $(D_CFLAGS)
-LOCAL_C_INCLUDES += \
-    $(LOCAL_PATH)/utils \
-    $(LOCAL_PATH)/inc \
-    $(LOCAL_PATH)/common \
-    $(LOCAL_PATH)/dnld \
-    $(LOCAL_PATH)/hal \
-    $(LOCAL_PATH)/log \
-    $(LOCAL_PATH)/tml \
-    $(LOCAL_PATH)/configs \
-    $(LOCAL_PATH)/self-test
-
-LOCAL_CFLAGS += -DANDROID \
-        -DNXP_HW_SELF_TEST
-LOCAL_CFLAGS += -DNFC_NXP_HFO_SETTINGS=FALSE
-NFC_NXP_ESE:= TRUE
-ifeq ($(NFC_NXP_ESE),TRUE)
-D_CFLAGS += -DNFC_NXP_ESE=TRUE
-ifeq ($(NXP_CHIP_TYPE),$(PN553))
-D_CFLAGS += -DJCOP_WA_ENABLE=FALSE
-else
-D_CFLAGS += -DJCOP_WA_ENABLE=TRUE
-endif
-else
-D_CFLAGS += -DNFC_NXP_ESE=FALSE
-endif
-LOCAL_CFLAGS += $(D_CFLAGS)
-#LOCAL_CFLAGS += -DFELICA_CLT_ENABLE
-#-DNXP_PN547C1_DOWNLOAD
-include $(BUILD_SHARED_LIBRARY)
-    
diff --git a/src/include/OverrideLog.h b/src/include/OverrideLog.h
deleted file mode 100644
index 2bceba2..0000000
--- a/src/include/OverrideLog.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-/******************************************************************************
- *
- *  The original Work has been changed by NXP Semiconductors.
- *
- *  Copyright (C) 2015 NXP Semiconductors
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-/******************************************************************************
- *
- *  Override the Android logging macro(s) from
- *  /system/core/include/cutils/log.h. This header must be the first header
- *  included by a *.cpp file so the original Android macro can be replaced.
- *  Do not include this header in another header, because that will create
- *  unnecessary dependency.
- *
- ******************************************************************************/
-#pragma once
-
-//Override Android's ALOGD macro by adding a boolean expression.
-#define ALOGD(...) ((void)ALOGD_IF(appl_trace_level>=BT_TRACE_LEVEL_DEBUG, __VA_ARGS__))
-
-
-#include <cutils/log.h> //define Android logging macros
-#include "bt_types.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern unsigned char appl_trace_level;
-extern UINT32 ScrProtocolTraceFlag;
-
-#if(NXP_EXTNS == TRUE)
-extern unsigned char appl_dta_mode_flag; //defined for run time DTA mode selection
-#endif
-
-
-/*******************************************************************************
-**
-** Function:        initializeGlobalAppLogLevel
-**
-** Description:     Initialize and get global logging level from .conf or
-**                  Android property nfc.app_log_level.  The Android property
-**                  overrides .conf variable.
-**
-** Returns:         Global log level:
-**                  BT_TRACE_LEVEL_NONE    0        * No trace messages to be generated
-**                  BT_TRACE_LEVEL_ERROR   1        * Error condition trace messages
-**                  BT_TRACE_LEVEL_WARNING 2        * Warning condition trace messages
-**                  BT_TRACE_LEVEL_API     3        * API traces
-**                  BT_TRACE_LEVEL_EVENT   4        * Debug messages for events
-**                  BT_TRACE_LEVEL_DEBUG   5        * Debug messages (general)
-**
-*******************************************************************************/
-unsigned char initializeGlobalAppLogLevel ();
-UINT32 initializeProtocolLogLevel ();
-
-#if (NXP_EXTNS == TRUE)
-/*******************************************************************************
-**
-** Function:        initializeGlobalDtaMode
-**
-** Description:     Initialize and get global DTA mode from .conf
-**
-** Returns:         none:
-**
-*******************************************************************************/
-void initializeGlobalAppDtaMode ();
-
-/*******************************************************************************
-**
-** Function:        enableDisableAppLevel
-**
-** Description:      This function can be used to enable/disable application
-**                   trace  logs
-**
-** Returns:         none:
-**
-*******************************************************************************/
-void enableDisableAppLevel(UINT8 type);
-#endif
-#ifdef __cplusplus
-}
-#endif
diff --git a/src/include/bt_target.h b/src/include/bt_target.h
deleted file mode 100644
index 769bcee..0000000
--- a/src/include/bt_target.h
+++ /dev/null
@@ -1,3981 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 1999-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-#ifndef BT_TARGET_H
-#define BT_TARGET_H
-
-#include "data_types.h"
-
-#ifdef BUILDCFG
-#include "buildcfg.h"
-#endif
-
-/* Include common GKI definitions used by this platform */
-#include "gki_target.h"
-
-#include "bt_types.h"   /* This must be defined AFTER buildcfg.h */
-#include "dyn_mem.h"    /* defines static and/or dynamic memory for components */
-
-/* #define BYPASS_AVDATATRACE */
-
-/******************************************************************************
-**
-** Platform-Specific
-**
-******************************************************************************/
-
-#ifndef BT_BRCM_VS_INCLUDED
-#define BT_BRCM_VS_INCLUDED             TRUE
-#endif
-
-/* set to FALSE unless using Zeevo */
-#ifndef ZEEVO_CTRL_DEFINED
-#define ZEEVO_CTRL_DEFINED FALSE
-#endif
-
-/* Supporting GPS shared transport */
-#ifndef GPS_INCLUDED
-#define GPS_INCLUDED               TRUE
-#endif
-
-/* API macros for simulator */
-
-#define BTAPI
-
-#ifndef BTE_BSE_WRAPPER
-#ifdef  BTE_SIM_APP
-#undef  BTAPI
-#define BTAPI         __declspec(dllexport)
-#endif
-#endif
-
-#define BT_API          BTAPI
-#define BTU_API         BTAPI
-#define A2D_API         BTAPI
-#define VDP_API         BTAPI
-#define AVDT_API        BTAPI
-#define AVCT_API        BTAPI
-#define AVRC_API        BTAPI
-#define BIP_API         BTAPI
-#define BNEP_API        BTAPI
-#define BPP_API         BTAPI
-#define BTM_API         BTAPI
-#define CTP_API         BTAPI
-#define DUN_API         BTAPI
-#define FTP_API         BTAPI
-#define GAP_API         BTAPI
-#define GOEP_API        BTAPI
-#define HCI_API         BTAPI
-#define HCRP_API        BTAPI
-#define HID_API         BTAPI
-#define HFP_API         BTAPI
-#define HSP2_API        BTAPI
-#define ICP_API         BTAPI
-#define L2C_API         BTAPI
-#define OBX_API         BTAPI
-#define OPP_API         BTAPI
-#define PAN_API         BTAPI
-#define RFC_API         BTAPI
-#define RPC_API         BTAPI
-#define SDP_API         BTAPI
-#define SPP_API         BTAPI
-#define TCS_API         BTAPI
-#define XML_API         BTAPI
-#define BTA_API         BTAPI
-#define SBC_API         BTAPI
-#define LPM_API         BTAPI
-#define AMP_API         BTAPI
-#define MCE_API         BTAPI
-#define MCA_API         BTAPI
-#define GATT_API        BTAPI
-#define SMP_API         BTAPI
-
-
-/******************************************************************************
-**
-** GKI Buffer Pools
-**
-******************************************************************************/
-
-/* Receives HCI events from the lower-layer. */
-#ifndef HCI_CMD_POOL_ID
-#define HCI_CMD_POOL_ID             GKI_POOL_ID_2
-#endif
-
-#ifndef HCI_CMD_POOL_BUF_SIZE
-#define HCI_CMD_POOL_BUF_SIZE       GKI_BUF2_SIZE
-#endif
-
-/* Receives ACL data packets from thelower-layer. */
-#ifndef HCI_ACL_POOL_ID
-#define HCI_ACL_POOL_ID             GKI_POOL_ID_3
-#endif
-
-#ifndef HCI_ACL_POOL_BUF_SIZE
-#define HCI_ACL_POOL_BUF_SIZE       GKI_BUF3_SIZE
-#endif
-
-/* Maximum number of buffers available for ACL receive data. */
-#ifndef HCI_ACL_BUF_MAX
-#define HCI_ACL_BUF_MAX             GKI_BUF3_MAX
-#endif
-
-/* Receives SCO data packets from the lower-layer. */
-#ifndef HCI_SCO_POOL_ID
-#define HCI_SCO_POOL_ID             GKI_POOL_ID_6
-#endif
-
-/* Not used. */
-#ifndef HCI_DATA_DESCR_POOL_ID
-#define HCI_DATA_DESCR_POOL_ID      GKI_POOL_ID_0
-#endif
-
-/* Sends SDP data packets. */
-#ifndef SDP_POOL_ID
-#define SDP_POOL_ID                 GKI_POOL_ID_2
-#endif
-
-/* Sends RFCOMM command packets. */
-#ifndef RFCOMM_CMD_POOL_ID
-#define RFCOMM_CMD_POOL_ID          GKI_POOL_ID_2
-#endif
-
-#ifndef RFCOMM_CMD_POOL_BUF_SIZE
-#define RFCOMM_CMD_POOL_BUF_SIZE    GKI_BUF2_SIZE
-#endif
-
-/* Sends RFCOMM data packets. */
-#ifndef RFCOMM_DATA_POOL_ID
-#define RFCOMM_DATA_POOL_ID         GKI_POOL_ID_3
-#endif
-
-#ifndef RFCOMM_DATA_POOL_BUF_SIZE
-#define RFCOMM_DATA_POOL_BUF_SIZE   GKI_BUF3_SIZE
-#endif
-
-/* Sends L2CAP packets to the peer and HCI messages to the controller. */
-#ifndef L2CAP_CMD_POOL_ID
-#define L2CAP_CMD_POOL_ID           GKI_POOL_ID_2
-#endif
-
-/* Sends L2CAP segmented packets in ERTM mode */
-#ifndef L2CAP_FCR_TX_POOL_ID
-#define L2CAP_FCR_TX_POOL_ID        HCI_ACL_POOL_ID
-#endif
-
-/* Receives L2CAP segmented packets in ERTM mode */
-#ifndef L2CAP_FCR_RX_POOL_ID
-#define L2CAP_FCR_RX_POOL_ID        HCI_ACL_POOL_ID
-#endif
-
-/* Used by BTM when it sends HCI commands to the controller. */
-#ifndef BTM_CMD_POOL_ID
-#define BTM_CMD_POOL_ID             GKI_POOL_ID_2
-#endif
-
-/* Sends TCS messages. */
-#ifndef TCS_MSG_POOL_ID
-#define TCS_MSG_POOL_ID             GKI_POOL_ID_2
-#endif
-
-#ifndef OBX_CMD_POOL_SIZE
-#define OBX_CMD_POOL_SIZE           GKI_BUF2_SIZE
-#endif
-
-#ifndef OBX_LRG_DATA_POOL_SIZE
-#define OBX_LRG_DATA_POOL_SIZE      GKI_BUF4_SIZE
-#endif
-
-#ifndef OBX_LRG_DATA_POOL_ID
-#define OBX_LRG_DATA_POOL_ID        GKI_POOL_ID_4
-#endif
-
-/* Used for CTP discovery database. */
-#ifndef CTP_SDP_DB_POOL_ID
-#define CTP_SDP_DB_POOL_ID          GKI_POOL_ID_3
-#endif
-
-/* Used for CTP data exchange feature. */
-#ifndef CTP_DATA_EXCHG_POOL_ID
-#define CTP_DATA_EXCHG_POOL_ID      GKI_POOL_ID_2
-#endif
-
-/* Used to send data to L2CAP. */
-#ifndef GAP_DATA_POOL_ID
-#define GAP_DATA_POOL_ID            GKI_POOL_ID_3
-#endif
-
-/* Used for SPP inquiry and discovery databases. */
-#ifndef SPP_DB_POOL_ID
-#define SPP_DB_POOL_ID              GKI_POOL_ID_3
-#endif
-
-#ifndef SPP_DB_SIZE
-#define SPP_DB_SIZE                 GKI_BUF3_SIZE
-#endif
-
-/* HCRP protocol and internal commands. */
-#ifndef HCRP_CMD_POOL_ID
-#define HCRP_CMD_POOL_ID            GKI_POOL_ID_2
-#endif
-
-#ifndef HCRP_CMD_POOL_SIZE
-#define HCRP_CMD_POOL_SIZE          GKI_BUF2_SIZE
-#endif
-
-#ifndef BIP_EVT_POOL_SIZE
-#define BIP_EVT_POOL_SIZE           GKI_BUF3_SIZE
-#endif
-
-#ifndef BIP_DB_SIZE
-#define BIP_DB_SIZE                 GKI_BUF3_SIZE
-#endif
-
-
-/* BNEP data and protocol messages. */
-#ifndef BNEP_POOL_ID
-#define BNEP_POOL_ID                GKI_POOL_ID_3
-#endif
-
-/* RPC pool for temporary trace message buffers. */
-#ifndef RPC_SCRATCH_POOL_ID
-#define RPC_SCRATCH_POOL_ID         GKI_POOL_ID_2
-#endif
-
-/* RPC scratch buffer size (not related to RPC_SCRATCH_POOL_ID) */
-#ifndef RPC_SCRATCH_BUF_SIZE
-#define RPC_SCRATCH_BUF_SIZE        GKI_BUF3_SIZE
-#endif
-
-/* RPC pool for protocol messages */
-#ifndef RPC_MSG_POOL_ID
-#define RPC_MSG_POOL_ID             GKI_POOL_ID_3
-#endif
-
-#ifndef RPC_MSG_POOL_SIZE
-#define RPC_MSG_POOL_SIZE           GKI_BUF3_SIZE
-#endif
-
-/* AVDTP pool for protocol messages */
-#ifndef AVDT_CMD_POOL_ID
-#define AVDT_CMD_POOL_ID            GKI_POOL_ID_2
-#endif
-
-/* AVDTP pool size for media packets in case of fragmentation */
-#ifndef AVDT_DATA_POOL_SIZE
-#define AVDT_DATA_POOL_SIZE         GKI_BUF3_SIZE
-#endif
-
-#ifndef PAN_POOL_ID
-#define PAN_POOL_ID                 GKI_POOL_ID_3
-#endif
-
-/* UNV pool for read/write serialization */
-#ifndef UNV_MSG_POOL_ID
-#define UNV_MSG_POOL_ID             GKI_POOL_ID_2
-#endif
-
-#ifndef UNV_MSG_POOL_SIZE
-#define UNV_MSG_POOL_SIZE           GKI_BUF2_SIZE
-#endif
-
-/* AVCTP pool for protocol messages */
-#ifndef AVCT_CMD_POOL_ID
-#define AVCT_CMD_POOL_ID            GKI_POOL_ID_1
-#endif
-
-#ifndef AVCT_META_CMD_POOL_ID
-#define AVCT_META_CMD_POOL_ID       GKI_POOL_ID_2
-#endif
-
-/* AVRCP pool for protocol messages */
-#ifndef AVRC_CMD_POOL_ID
-#define AVRC_CMD_POOL_ID            GKI_POOL_ID_1
-#endif
-
-/* AVRCP pool size for protocol messages */
-#ifndef AVRC_CMD_POOL_SIZE
-#define AVRC_CMD_POOL_SIZE          GKI_BUF1_SIZE
-#endif
-
-/* AVRCP Metadata pool for protocol messages */
-#ifndef AVRC_META_CMD_POOL_ID
-#define AVRC_META_CMD_POOL_ID       GKI_POOL_ID_2
-#endif
-
-/* AVRCP Metadata pool size for protocol messages */
-#ifndef AVRC_META_CMD_POOL_SIZE
-#define AVRC_META_CMD_POOL_SIZE     GKI_BUF2_SIZE
-#endif
-
-
-/* AVRCP buffer size for browsing channel messages */
-#ifndef AVRC_BROWSE_POOL_SIZE
-#define AVRC_BROWSE_POOL_SIZE     GKI_MAX_BUF_SIZE
-#endif
-
-/*  HDP buffer size for the Pulse Oximeter  */
-#ifndef BTA_HL_LRG_DATA_POOL_SIZE
-#define BTA_HL_LRG_DATA_POOL_SIZE      GKI_BUF7_SIZE
-#endif
-
-#ifndef BTA_HL_LRG_DATA_POOL_ID
-#define BTA_HL_LRG_DATA_POOL_ID        GKI_POOL_ID_7
-#endif
-
-/* GATT Server Database pool ID */
-#ifndef GATT_DB_POOL_ID
-#define GATT_DB_POOL_ID                 GKI_POOL_ID_8
-#endif
-
-
-/******************************************************************************
-**
-** Lower Layer Interface
-**
-******************************************************************************/
-
-/* Sends ACL data received over HCI to the upper stack. */
-#ifndef HCI_ACL_DATA_TO_UPPER
-#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);}
-#endif
-
-/* Sends SCO data received over HCI to the upper stack. */
-#ifndef HCI_SCO_DATA_TO_UPPER
-#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);}
-#endif
-
-/* Sends an HCI event received over HCI to theupper stack. */
-#ifndef HCI_EVT_TO_UPPER
-#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);}
-#endif
-
-/* HCI 4 wire power management protocol. */
-#ifndef HCILL_INCLUDED
-#define HCILL_INCLUDED              FALSE
-#endif
-
-/* Macro for allocating buffer for HCI commands */
-#ifndef HCI_GET_CMD_BUF
-#if (!defined(HCI_USE_VARIABLE_SIZE_CMD_BUF) || (HCI_USE_VARIABLE_SIZE_CMD_BUF == FALSE))
-/* Allocate fixed-size buffer from HCI_CMD_POOL (default case) */
-#define HCI_GET_CMD_BUF(paramlen)    ((BT_HDR *)GKI_getpoolbuf (HCI_CMD_POOL_ID))
-#else
-/* Allocate smallest possible buffer (for platforms with limited RAM) */
-#define HCI_GET_CMD_BUF(paramlen)    ((BT_HDR *)GKI_getbuf ((UINT16)(BT_HDR_SIZE + HCIC_PREAMBLE_SIZE + (paramlen))))
-#endif
-#endif  /* HCI_GET_CMD_BUF */
-
-/******************************************************************************
-**
-** HCI Services (H4)
-**
-******************************************************************************/
-#ifndef HCISU_H4_INCLUDED
-#define HCISU_H4_INCLUDED               FALSE
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-BT_API extern void bte_ncisu_send (BT_HDR *p_pkt, UINT16 event);
-BT_API extern void bte_hcisu_send (BT_HDR *p_msg, UINT16 event);
-#if (HCISU_H4_INCLUDED == TRUE)
-BT_API extern void bte_hcisu_lp_allow_bt_device_sleep (void);
-BT_API extern void bte_hcisu_lp_wakeup_host (void);
-BT_API extern void bte_hcisu_lp_h4ibss_evt(UINT8 *p, UINT8 evt_len);
-#endif
-
-/* HCILL API for the applications */
-typedef void (tHCILL_SLEEP_ACK)(void);
-BT_API extern void HCILL_GoToSleep( tHCILL_SLEEP_ACK *sl_ack_fn);
-typedef void (tHCILL_STATE_CBACK)(BOOLEAN is_sleep);
-BT_API extern void HCILL_RegState( tHCILL_STATE_CBACK *p_cback);
-#ifdef __cplusplus
-}
-#endif
-
-/* Sends ACL data received from the upper stack to the BD/EDR HCI transport. */
-#ifndef HCI_ACL_DATA_TO_LOWER
-#define HCI_ACL_DATA_TO_LOWER(p)    bte_hcisu_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_ACL);
-#endif
-
-#ifndef HCI_BLE_ACL_DATA_TO_LOWER
-#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));
-#endif
-
-/* Sends ACL data received from the upper stack to the AMP HCI transport. */
-#ifndef HCI_AMP_DATA_TO_LOWER
-#define HCI_AMP_DATA_TO_LOWER(p,x)    bte_hcisu_send((BT_HDR *)(p), (UINT16)(BT_EVT_TO_LM_HCI_ACL|((UINT16)(x))));
-#endif
-
-/* Sends SCO data received from the upper stack to the HCI transport. */
-#ifndef HCI_SCO_DATA_TO_LOWER
-#define HCI_SCO_DATA_TO_LOWER(p)    bte_hcisu_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_SCO);
-#endif
-
-/* Sends an HCI command received from the upper stack to the BD/EDR HCI transport. */
-#ifndef HCI_CMD_TO_LOWER
-#define HCI_CMD_TO_LOWER(p)         bte_hcisu_send((BT_HDR *)(p), BT_EVT_TO_LM_HCI_CMD);
-#endif
-
-/* Sends an HCI command received from the upper stack to the AMP HCI transport. */
-#ifndef HCI_CMD_TO_AMP
-#define HCI_CMD_TO_AMP(x,p)         bte_hcisu_send((BT_HDR *)(p), (UINT16)(BT_EVT_TO_LM_HCI_CMD|((UINT16)(x))));
-#endif
-
-/* Sends an LM Diagnosic command received from the upper stack to the HCI transport. */
-#ifndef HCI_LM_DIAG_TO_LOWER
-#define HCI_LM_DIAG_TO_LOWER(p)     bte_hcisu_send((BT_HDR *)(p), BT_EVT_TO_LM_DIAG);
-#endif
-
-/* Send HCISU a message to allow BT sleep */
-#ifndef HCI_LP_ALLOW_BT_DEVICE_SLEEP
-#if (HCISU_H4_INCLUDED == TRUE)
-#define HCI_LP_ALLOW_BT_DEVICE_SLEEP()       bte_hcisu_lp_allow_bt_device_sleep()
-#else
-#define HCI_LP_ALLOW_BT_DEVICE_SLEEP()       HCILP_AllowBTDeviceSleep()
-#endif
-#endif
-
-/* Send HCISU a message to wakeup host */
-#ifndef HCI_LP_WAKEUP_HOST
-#if (HCISU_H4_INCLUDED == TRUE)
-#define HCI_LP_WAKEUP_HOST()        bte_hcisu_lp_wakeup_host()
-#else
-#define HCI_LP_WAKEUP_HOST()        HCILP_WakeupHost()
-#endif
-#endif
-
-/* Send HCISU the received H4IBSS event from controller */
-#ifndef HCI_LP_RCV_H4IBSS_EVT
-#if (HCISU_H4_INCLUDED == TRUE)
-#define HCI_LP_RCV_H4IBSS_EVT(p1, p2)  bte_hcisu_lp_h4ibss_evt((UINT8*)(p1), (UINT8)(p2))
-#else
-#define HCI_LP_RCV_H4IBSS_EVT(p1, p2)  h4ibss_sleep_mode_evt((UINT8*)(p1), (UINT8)(p2))
-#endif
-#endif
-
-/* If nonzero, the upper-layer sends at most this number of HCI commands to the lower-layer. */
-#ifndef HCI_MAX_SIMUL_CMDS
-#define HCI_MAX_SIMUL_CMDS          0
-#endif
-
-/* Timeout for receiving response to HCI command */
-#ifndef BTU_CMD_CMPL_TIMEOUT
-#define BTU_CMD_CMPL_TIMEOUT        8
-#endif
-
-/* If TRUE, BTU task will check HCISU again when HCI command timer expires */
-#ifndef BTU_CMD_CMPL_TOUT_DOUBLE_CHECK
-#define BTU_CMD_CMPL_TOUT_DOUBLE_CHECK      FALSE
-#endif
-
-/* If TRUE, stack is compiled to include MM dual stack functionality */
-#ifndef BTU_DUAL_STACK_MM_INCLUDED
-#define BTU_DUAL_STACK_MM_INCLUDED     FALSE
-#endif
-
-/* If TRUE, stack is compiled to support Embedded Lite Stack in BT chip */
-#ifndef BTU_DUAL_STACK_BTC_INCLUDED
-#define BTU_DUAL_STACK_BTC_INCLUDED      FALSE
-#endif
-
-/* If TRUE, stack is compiled to support Embedded Lite Stack for AV SNK in BT chip */
-#ifndef BTU_BTC_SNK_INCLUDED
-#define BTU_BTC_SNK_INCLUDED        FALSE
-#endif
-
-/* If TRUE, stack is compiled as Lite Stack in Multimedia chip */
-/* If FALSE, stack is compiled as Full Stack in Baseband chip */
-#ifndef BTU_STACK_LITE_ENABLED
-#define BTU_STACK_LITE_ENABLED      FALSE
-#endif
-
-/* Transport pause time (BT slot(0.625ms) unit) when switching between BB and MM */
-/* FW is using a tick which is 20 slot unit so if timeout is between 0 to 20 slot */
-/* then actual timeout would be 0 to 12.5ms because it could be beteen ticks. */
-/* if timeout is between 20 to 40 slot then actual timeout would be 12.5 to 25ms */
-#ifndef BTU_DUAL_TRANSPORT_PAUSE_TIME
-#define BTU_DUAL_TRANSPORT_PAUSE_TIME     40
-#endif
-
-/* if UART baudrate is different between BB and MM, it will be updated during switching */
-#ifndef BTU_DUAL_TRANSPORT_BB_BAUDRATE
-#define BTU_DUAL_TRANSPORT_BB_BAUDRATE      115200
-#endif
-
-#ifndef BTU_DUAL_TRANSPORT_MM_BAUDRATE
-#define BTU_DUAL_TRANSPORT_MM_BAUDRATE      921600
-#endif
-
-/* If TRUE, stack is compiled to include the multi-av feature (A2DP packets are duplicated inside controller) */
-#ifndef BTU_MULTI_AV_INCLUDED
-#define BTU_MULTI_AV_INCLUDED       FALSE
-#endif
-
-/* Use 2 second for low-resolution systems, override to 1 for high-resolution systems */
-#ifndef BT_1SEC_TIMEOUT
-#define BT_1SEC_TIMEOUT             (2)
-#endif
-
-/* Quick Timer */
-/* minimum should have 100 millisecond resolution for eL2CAP */
-/* if HCILP_INCLUDED is TRUE     then it should have 100 millisecond resolution */
-/* if SLIP_INCLUDED is TRUE      then it should have 10 millisecond resolution  */
-/* if BRCM_USE_DELAY is FALSE then it should have 10 millisecond resolution  */
-/* if none of them is included then QUICK_TIMER_TICKS_PER_SEC is set to 0 to exclude quick timer */
-#ifndef QUICK_TIMER_TICKS_PER_SEC
-#define QUICK_TIMER_TICKS_PER_SEC   100       /* 10ms timer */
-#endif
-
-/******************************************************************************
-**
-** BTM
-**
-******************************************************************************/
-/* if set to TRUE, stack will automatically send an HCI reset at start-up. To be
-set to FALSE for advanced start-up / shut-down procedures using USER_HW_ENABLE_API
-and USER_HW_DISABLE_API macros */
-#ifndef BTM_AUTOMATIC_HCI_RESET
-#define BTM_AUTOMATIC_HCI_RESET      TRUE
-#endif
-
-/* Cancel Inquiry on incoming SSP - Work around code for a FW issue (CQ#167446). */
-#ifndef BTM_NO_SSP_ON_INQUIRY
-#define BTM_NO_SSP_ON_INQUIRY       FALSE
-#endif
-
-/* Include the implemenation needed by Pre-Lisbon controller (2.0_EDR or older) */
-#ifndef BTM_PRE_LISBON_INCLUDED
-#define BTM_PRE_LISBON_INCLUDED     TRUE
-#endif
-
-/* Includes SCO if TRUE */
-#ifndef BTM_SCO_INCLUDED
-#define BTM_SCO_INCLUDED            TRUE       /* TRUE includes SCO code */
-#endif
-
-/* Includes SCO if TRUE */
-#ifndef BTM_SCO_HCI_INCLUDED
-#define BTM_SCO_HCI_INCLUDED            FALSE       /* TRUE includes SCO over HCI code */
-#endif
-
-/* Includes WBS if TRUE */
-#ifndef BTM_WBS_INCLUDED
-#define BTM_WBS_INCLUDED            FALSE       /* TRUE includes WBS code */
-#endif
-
-/* Includes PCM2 support if TRUE */
-#ifndef BTM_PCM2_INCLUDED
-#define BTM_PCM2_INCLUDED           FALSE
-#endif
-
-/* If FALSE, AFH channel automatically adjusted based on AMP channel in use */
-/* Set TRUE, if want to bypass AFH channel automatic adjustment and use */
-/* BTA_DM_API_SET_AFH_CHANNELS_ API */
-
-#ifndef BTM_BYPASS_AMP_AUTO_AFH
-#define BTM_BYPASS_AMP_AUTO_AFH     FALSE
-#endif
-
-
-/**************************
-** Initial SCO TX credit
-*************************/
-/* max TX SCO data packet size */
-#ifndef BTM_SCO_DATA_SIZE_MAX
-#define BTM_SCO_DATA_SIZE_MAX       240
-#endif
-
-/* maximum BTM buffering capacity */
-#ifndef BTM_SCO_MAX_BUF_CAP
-#define BTM_SCO_MAX_BUF_CAP     (BTM_SCO_INIT_XMIT_CREDIT * 4)
-#endif
-
-/* The size in bytes of the BTM inquiry database. */
-#ifndef BTM_INQ_DB_SIZE
-#define BTM_INQ_DB_SIZE             12
-#endif
-
-/* This is set to always try to acquire the remote device name. */
-#ifndef BTM_INQ_GET_REMOTE_NAME
-#define BTM_INQ_GET_REMOTE_NAME     FALSE
-#endif
-
-/* The inquiry duration in 1.28 second units when auto inquiry is enabled. */
-#ifndef BTM_DEFAULT_INQ_DUR
-#define BTM_DEFAULT_INQ_DUR         5
-#endif
-
-/* The inquiry mode when auto inquiry is enabled. */
-#ifndef BTM_DEFAULT_INQ_MODE
-#define BTM_DEFAULT_INQ_MODE        BTM_GENERAL_INQUIRY
-#endif
-
-/* The default periodic inquiry maximum delay when auto inquiry is enabled, in 1.28 second units. */
-#ifndef BTM_DEFAULT_INQ_MAX_DELAY
-#define BTM_DEFAULT_INQ_MAX_DELAY   30
-#endif
-
-/* The default periodic inquiry minimum delay when auto inquiry is enabled, in 1.28 second units. */
-#ifndef BTM_DEFAULT_INQ_MIN_DELAY
-#define BTM_DEFAULT_INQ_MIN_DELAY   20
-#endif
-
-/* TRUE if controller does not support inquiry event filtering. */
-#ifndef BTM_BYPASS_EVENT_FILTERING
-#define BTM_BYPASS_EVENT_FILTERING  FALSE
-#endif
-
-/* TRUE if inquiry filtering is desired from BTM. */
-#ifndef BTM_USE_INQ_RESULTS_FILTER
-#define BTM_USE_INQ_RESULTS_FILTER  TRUE
-#endif
-
-/* The default scan mode */
-#ifndef BTM_DEFAULT_SCAN_TYPE
-#define BTM_DEFAULT_SCAN_TYPE       BTM_SCAN_TYPE_INTERLACED
-#endif
-
-/* Should connections to unknown devices be allowed when not discoverable? */
-#ifndef BTM_ALLOW_CONN_IF_NONDISCOVER
-#define BTM_ALLOW_CONN_IF_NONDISCOVER   FALSE
-#endif
-
-/* When connectable mode is set to TRUE, the device will respond to paging. */
-#ifndef BTM_IS_CONNECTABLE
-#define BTM_IS_CONNECTABLE          FALSE
-#endif
-
-/* Sets the Page_Scan_Window:  the length of time that the device is performing a page scan. */
-#ifndef BTM_DEFAULT_CONN_WINDOW
-#define BTM_DEFAULT_CONN_WINDOW     0x0012
-#endif
-
-/* Sets the Page_Scan_Activity:  the interval between the start of two consecutive page scans. */
-#ifndef BTM_DEFAULT_CONN_INTERVAL
-#define BTM_DEFAULT_CONN_INTERVAL   0x0800
-#endif
-
-/* This is set to automatically perform inquiry scan on startup. */
-#ifndef BTM_IS_DISCOVERABLE
-#define BTM_IS_DISCOVERABLE         FALSE
-#endif
-
-/* When automatic inquiry scan is enabled, this sets the discovery mode. */
-#ifndef BTM_DEFAULT_DISC_MODE
-#define BTM_DEFAULT_DISC_MODE       BTM_GENERAL_DISCOVERABLE
-#endif
-
-/* When automatic inquiry scan is enabled, this sets the inquiry scan window. */
-#ifndef BTM_DEFAULT_DISC_WINDOW
-#define BTM_DEFAULT_DISC_WINDOW     0x0012
-#endif
-
-/* When automatic inquiry scan is enabled, this sets the inquiry scan interval. */
-#ifndef BTM_DEFAULT_DISC_INTERVAL
-#define BTM_DEFAULT_DISC_INTERVAL   0x0800
-#endif
-
-/* Number of milliseconds to delay BTU task startup upon device initialization. */
-#ifndef BTU_STARTUP_DELAY
-#define BTU_STARTUP_DELAY           0
-#endif
-
-/* Whether BTA is included in BTU task. */
-#ifndef BTU_BTA_INCLUDED
-#define BTU_BTA_INCLUDED            FALSE
-#endif
-
-/* Number of seconds to wait to send an HCI Reset command upon device initialization. */
-#ifndef BTM_FIRST_RESET_DELAY
-#define BTM_FIRST_RESET_DELAY       0
-#endif
-
-/* The number of seconds to wait for controller module to reset after issuing an HCI Reset command. */
-#ifndef BTM_AFTER_RESET_TIMEOUT
-#define BTM_AFTER_RESET_TIMEOUT     0
-#endif
-
-/* The default class of device. */
-#ifndef BTM_INIT_CLASS_OF_DEVICE
-#define BTM_INIT_CLASS_OF_DEVICE    "\x00\x1F\x00"
-#endif
-
-/* The number of SCO links. */
-#ifndef BTM_MAX_SCO_LINKS
-#define BTM_MAX_SCO_LINKS           3
-#endif
-
-/* The preferred type of SCO links (2-eSCO, 0-SCO). */
-#ifndef BTM_DEFAULT_SCO_MODE
-#define BTM_DEFAULT_SCO_MODE        2
-#endif
-
-/* The number of security records for peer devices. */
-#ifndef BTM_SEC_MAX_DEVICE_RECORDS
-#define BTM_SEC_MAX_DEVICE_RECORDS  8
-#endif
-
-/* The number of security records for services. */
-#ifndef BTM_SEC_MAX_SERVICE_RECORDS
-#define BTM_SEC_MAX_SERVICE_RECORDS 24
-#endif
-
-/* If True, force a retrieval of remote device name for each bond in case it's changed */
-#ifndef BTM_SEC_FORCE_RNR_FOR_DBOND
-#define BTM_SEC_FORCE_RNR_FOR_DBOND  TRUE
-#endif
-
-/* Maximum device name length used in btm database. */
-#ifndef BTM_MAX_REM_BD_NAME_LEN
-#define BTM_MAX_REM_BD_NAME_LEN     20
-#endif
-
-/* Maximum local device name length stored btm database.
-  '0' disables storage of the local name in BTM */
-#ifndef BTM_MAX_LOC_BD_NAME_LEN
-#define BTM_MAX_LOC_BD_NAME_LEN     31
-#endif
-
-/* TRUE if default string is used, FALSE if device name is set in the application */
-#ifndef BTM_USE_DEF_LOCAL_NAME
-#define BTM_USE_DEF_LOCAL_NAME      FALSE
-#endif
-
-/* Fixed Default String (Ignored if BTM_USE_DEF_LOCAL_NAME is FALSE) */
-#ifndef BTM_DEF_LOCAL_NAME
-#define BTM_DEF_LOCAL_NAME      ""
-#endif
-
-/* Maximum service name stored with security authorization (0 if not needed) */
-#ifndef BTM_SEC_SERVICE_NAME_LEN
-#define BTM_SEC_SERVICE_NAME_LEN    BT_MAX_SERVICE_NAME_LEN
-#endif
-
-/* Maximum number of pending security callback */
-#ifndef BTM_SEC_MAX_CALLBACKS
-#define BTM_SEC_MAX_CALLBACKS       7
-#endif
-
-/* Maximum length of the service name. */
-#ifndef BT_MAX_SERVICE_NAME_LEN
-#define BT_MAX_SERVICE_NAME_LEN     21
-#endif
-
-/* ACL buffer size in HCI Host Buffer Size command. */
-#ifndef BTM_ACL_BUF_SIZE
-#define BTM_ACL_BUF_SIZE            0
-#endif
-
-/* This is set to use the BTM power manager. */
-#ifndef BTM_PWR_MGR_INCLUDED
-#define BTM_PWR_MGR_INCLUDED        TRUE
-#endif
-
-/* The maximum number of clients that can register with the power manager. */
-#ifndef BTM_MAX_PM_RECORDS
-#define BTM_MAX_PM_RECORDS          2
-#endif
-
-/* This is set to show debug trace messages for the power manager. */
-#ifndef BTM_PM_DEBUG
-#define BTM_PM_DEBUG                FALSE
-#endif
-
-/* This is set to TRUE if link is to be unparked due to BTM_CreateSCO API. */
-#ifndef BTM_SCO_WAKE_PARKED_LINK
-#define BTM_SCO_WAKE_PARKED_LINK    TRUE
-#endif
-
-/* May be set to the the name of a function used for vendor specific chip initialization */
-#ifndef BTM_APP_DEV_INIT
-/* #define BTM_APP_DEV_INIT         myInitFunction() */
-#endif
-
-/* This is set to TRUE if the busy level change event is desired. (replace ACL change event) */
-#ifndef BTM_BUSY_LEVEL_CHANGE_INCLUDED
-#define BTM_BUSY_LEVEL_CHANGE_INCLUDED  TRUE
-#endif
-
-/* If the user does not respond to security process requests within this many seconds,
- * a negative response would be sent automatically.
- * It's recommended to use a value between 30 and OBX_TIMEOUT_VALUE
- * 30 is LMP response timeout value */
-#ifndef BTM_SEC_TIMEOUT_VALUE
-#define BTM_SEC_TIMEOUT_VALUE           35
-#endif
-
-/* Maximum number of callbacks that can be registered using BTM_RegisterForVSEvents */
-#ifndef BTM_MAX_VSE_CALLBACKS
-#define BTM_MAX_VSE_CALLBACKS           6
-#endif
-
-/* Number of streams for dual stack */
-#ifndef BTM_SYNC_INFO_NUM_STR
-#define BTM_SYNC_INFO_NUM_STR           2
-#endif
-
-/* Number of streams for dual stack in BT Controller */
-#ifndef BTM_SYNC_INFO_NUM_STR_BTC
-#define BTM_SYNC_INFO_NUM_STR_BTC       2
-#endif
-
-/******************************************
-**    Lisbon Features
-*******************************************/
-/* This is set to TRUE if the server Extended Inquiry Response feature is desired. */
-/* server sends EIR to client */
-#ifndef BTM_EIR_SERVER_INCLUDED
-#define BTM_EIR_SERVER_INCLUDED         TRUE
-#endif
-
-/* This is set to TRUE if the client Extended Inquiry Response feature is desired. */
-/* client inquiry to server */
-#ifndef BTM_EIR_CLIENT_INCLUDED
-#define BTM_EIR_CLIENT_INCLUDED         TRUE
-#endif
-
-/* This is set to TRUE if the FEC is required for EIR packet. */
-#ifndef BTM_EIR_DEFAULT_FEC_REQUIRED
-#define BTM_EIR_DEFAULT_FEC_REQUIRED    TRUE
-#endif
-
-/* User defined UUID look up table */
-#ifndef BTM_EIR_UUID_LKUP_TBL
-#endif
-
-/* The IO capability of the local device (for Simple Pairing) */
-#ifndef BTM_LOCAL_IO_CAPS
-#define BTM_LOCAL_IO_CAPS               BTM_IO_CAP_IO
-#endif
-
-/* The default MITM Protection Requirement (for Simple Pairing)
- * Possible values are BTM_AUTH_SP_YES or BTM_AUTH_SP_NO */
-#ifndef BTM_DEFAULT_AUTH_REQ
-#define BTM_DEFAULT_AUTH_REQ            BTM_AUTH_SP_NO
-#endif
-
-/* The default MITM Protection Requirement for dedicated bonding using Simple Pairing
- * Possible values are BTM_AUTH_AP_YES or BTM_AUTH_AP_NO */
-#ifndef BTM_DEFAULT_DD_AUTH_REQ
-#define BTM_DEFAULT_DD_AUTH_REQ         BTM_AUTH_AP_YES
-#endif
-
-/* Include Out-of-Band implementation for Simple Pairing */
-#ifndef BTM_OOB_INCLUDED
-#define BTM_OOB_INCLUDED                TRUE
-#endif
-
-/* TRUE to include Sniff Subrating */
-#ifndef BTM_SSR_INCLUDED
-#define BTM_SSR_INCLUDED                TRUE
-#endif
-
-/*************************
-** End of Lisbon Features
-**************************/
-
-/* This is set to use the BTM TBFC Supported. */
-#ifndef BTM_TBFC_INCLUDED
-#define BTM_TBFC_INCLUDED               FALSE
-#endif
-
-/* TRUE to include bi-directionnal TBFC */
-#ifndef BTM_BI_DIR_TBFC_INCLUDED
-#define BTM_BI_DIR_TBFC_INCLUDED        FALSE
-#endif
-
-/* TRUE to include CLB (ConnectionLess Slave Broadcast) */
-#ifndef BTM_CLB_INCLUDED
-#define BTM_CLB_INCLUDED                FALSE
-#endif
-
-/* TRUE to include CLB Rx (ConnectionLess Broadcast Reception) */
-#ifndef BTM_CLB_RX_INCLUDED
-#define BTM_CLB_RX_INCLUDED             FALSE
-#endif
-
-/* Used for conformance testing ONLY */
-#ifndef BTM_BLE_CONFORMANCE_TESTING
-#define BTM_BLE_CONFORMANCE_TESTING     FALSE
-#endif
-
-
-/******************************************************************************
-**
-** L2CAP
-**
-******************************************************************************/
-
-/* The maximum number of simultaneous links that L2CAP can support. */
-#ifndef MAX_L2CAP_LINKS
-#define MAX_L2CAP_LINKS             4
-#endif
-
-/* The maximum number of simultaneous channels that L2CAP can support. */
-#ifndef MAX_L2CAP_CHANNELS
-#define MAX_L2CAP_CHANNELS          10
-#endif
-
-/* The maximum number of simultaneous applications that can register with L2CAP. */
-#ifndef MAX_L2CAP_CLIENTS
-#define MAX_L2CAP_CLIENTS           8
-#endif
-
-/* The number of seconds of link inactivity before a link is disconnected. */
-#ifndef L2CAP_LINK_INACTIVITY_TOUT
-#define L2CAP_LINK_INACTIVITY_TOUT  3
-#endif
-
-/* The number of seconds of link inactivity after bonding before a link is disconnected. */
-#ifndef L2CAP_BONDING_TIMEOUT
-#define L2CAP_BONDING_TIMEOUT       3
-#endif
-
-/* The time from the HCI connection complete to disconnect if no channel is established. */
-#ifndef L2CAP_LINK_STARTUP_TOUT
-#define L2CAP_LINK_STARTUP_TOUT     60
-#endif
-
-/* The L2CAP MTU; must be in accord with the HCI ACL pool size. */
-#ifndef L2CAP_MTU_SIZE
-#define L2CAP_MTU_SIZE              1691
-#endif
-
-/* The L2CAP MPS over Bluetooth; must be in accord with the FCR tx pool size and ACL down buffer size. */
-#ifndef L2CAP_MPS_OVER_BR_EDR
-#define L2CAP_MPS_OVER_BR_EDR       1010
-#endif
-
-/* The L2CAP MPS over AMP; must be in accord with the FCR tx pool size and ACL down buffer size. */
-#ifndef L2CAP_MPS_OVER_AMP
-#define L2CAP_MPS_OVER_AMP          1480
-#endif
-
-/* This is set to enable host flow control. */
-#ifndef L2CAP_HOST_FLOW_CTRL
-#define L2CAP_HOST_FLOW_CTRL        FALSE
-#endif
-
-/* If host flow control enabled, this is the number of buffers the controller can have unacknowledged. */
-#ifndef L2CAP_HOST_FC_ACL_BUFS
-#define L2CAP_HOST_FC_ACL_BUFS      20
-#endif
-
-/* The percentage of the queue size allowed before a congestion event is sent to the L2CAP client (typically 120%). */
-#ifndef L2CAP_FWD_CONG_THRESH
-#define L2CAP_FWD_CONG_THRESH       120
-#endif
-
-/* This is set to enable L2CAP to  take the ACL link out of park mode when ACL data is to be sent. */
-#ifndef L2CAP_WAKE_PARKED_LINK
-#define L2CAP_WAKE_PARKED_LINK      TRUE
-#endif
-
-/* Whether link wants to be the master or the slave. */
-#ifndef L2CAP_DESIRED_LINK_ROLE
-#define L2CAP_DESIRED_LINK_ROLE     HCI_ROLE_SLAVE
-#endif
-
-/* Include Non-Flushable Packet Boundary Flag feature of Lisbon */
-#ifndef L2CAP_NON_FLUSHABLE_PB_INCLUDED
-#define L2CAP_NON_FLUSHABLE_PB_INCLUDED     TRUE
-#endif
-
-/* max queued Multi-AV packets per link including controller */
-#ifndef L2CAP_MULTI_AV_TOTAL_QUEUED_BUF
-#define L2CAP_MULTI_AV_TOTAL_QUEUED_BUF     6
-#endif
-
-/* max links supported by Multi-AV feature */
-#ifndef L2CAP_MAX_MULTI_AV_CID
-#define L2CAP_MAX_MULTI_AV_CID              5
-#endif
-
-/* Minimum number of ACL credit for high priority link */
-#ifndef L2CAP_HIGH_PRI_MIN_XMIT_QUOTA
-#define L2CAP_HIGH_PRI_MIN_XMIT_QUOTA       4
-#endif
-
-/* used for monitoring HCI ACL credit management */
-#ifndef L2CAP_HCI_FLOW_CONTROL_DEBUG
-#define L2CAP_HCI_FLOW_CONTROL_DEBUG        TRUE
-#endif
-
-/* Used for calculating transmit buffers off of */
-#ifndef L2CAP_NUM_XMIT_BUFFS
-#define L2CAP_NUM_XMIT_BUFFS                HCI_ACL_BUF_MAX
-#endif
-
-/* Unicast Connectionless Data */
-#ifndef L2CAP_UCD_INCLUDED
-#define L2CAP_UCD_INCLUDED                  FALSE
-#endif
-
-/* Unicast Connectionless Data MTU */
-#ifndef L2CAP_UCD_MTU
-#define L2CAP_UCD_MTU                       L2CAP_MTU_SIZE
-#endif
-
-/* Unicast Connectionless Data Idle Timeout */
-#ifndef L2CAP_UCD_IDLE_TIMEOUT
-#define L2CAP_UCD_IDLE_TIMEOUT              2
-#endif
-
-/* Unicast Connectionless Data Idle Timeout */
-#ifndef L2CAP_UCD_CH_PRIORITY
-#define L2CAP_UCD_CH_PRIORITY               L2CAP_CHNL_PRIORITY_MEDIUM
-#endif
-
-/* Max clients on Unicast Connectionless Data */
-#ifndef L2CAP_MAX_UCD_CLIENTS
-#define L2CAP_MAX_UCD_CLIENTS               5
-#endif
-
-/* Used for features using fixed channels; set to zero if no fixed channels supported (AMP, BLE, etc.) */
-/* Excluding L2CAP signaling channel and UCD */
-#ifndef L2CAP_NUM_FIXED_CHNLS
-#define L2CAP_NUM_FIXED_CHNLS               4
-#endif
-
-/* First fixed channel supported; 3 if AMP supported */
-#ifndef L2CAP_FIRST_FIXED_CHNL
-#define L2CAP_FIRST_FIXED_CHNL              3
-#endif
-
-#ifndef L2CAP_LAST_FIXED_CHNL
-#define L2CAP_LAST_FIXED_CHNL           (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
-#endif
-
-/* Round Robin service channels in link */
-#ifndef L2CAP_ROUND_ROBIN_CHANNEL_SERVICE
-#define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE   TRUE
-#endif
-
-/* Reconfig after move channel between BR/EDR and AMP */
-#ifndef L2CAP_MOVE_CH_RECONFIG_INCLUDED
-#define L2CAP_MOVE_CH_RECONFIG_INCLUDED     FALSE
-#endif
-
-/* Initiate reconfig after move channel between BR/EDR and AMP */
-#ifndef L2CAP_MOVE_CH_RECONFIG_INTITIATOR
-#define L2CAP_MOVE_CH_RECONFIG_INTITIATOR   FALSE
-#endif
-
-/* Adjust our monitor timeout in ms plus peer's processing time on class 2 AMP controller */
-#ifndef L2CAP_AMP_ADJUST_MONITOR_TOUT
-#define L2CAP_AMP_ADJUST_MONITOR_TOUT       500
-#endif
-
-/* Adjust our retrans timeout in ms plus peer's processing time on class 2 AMP controller */
-#ifndef L2CAP_AMP_ADJUST_RETRANS_TOUT
-#define L2CAP_AMP_ADJUST_RETRANS_TOUT       500
-#endif
-
-/* Default local device's processing time (ms) */
-#ifndef L2CAP_AMP_PROCESSING_TIME
-#define L2CAP_AMP_PROCESSING_TIME           500
-#endif
-
-/* Used for calculating transmit buffers off of */
-#ifndef L2CAP_NUM_XMIT_BUFFS
-#define L2CAP_NUM_XMIT_BUFFS                HCI_ACL_BUF_MAX
-#endif
-
-/* Used for features using fixed channels; set to zero if no fixed channels supported (AMP, BLE, etc.) */
-#ifndef L2CAP_NUM_FIXED_CHNLS
-#define L2CAP_NUM_FIXED_CHNLS               1
-#endif
-
-/* First fixed channel supported; 3 if AMP supported */
-#ifndef L2CAP_FIRST_FIXED_CHNL
-#define L2CAP_FIRST_FIXED_CHNL              3
-#endif
-
-#ifndef L2CAP_LAST_FIXED_CHNL
-#define L2CAP_LAST_FIXED_CHNL           (L2CAP_FIRST_FIXED_CHNL + L2CAP_NUM_FIXED_CHNLS - 1)
-#endif
-
-/* used for monitoring eL2CAP data flow */
-#ifndef L2CAP_ERTM_STATS
-#define L2CAP_ERTM_STATS                    FALSE
-#endif
-
-/* USED FOR FCR TEST ONLY:  When TRUE generates bad tx and rx packets */
-#ifndef L2CAP_CORRUPT_ERTM_PKTS
-#define L2CAP_CORRUPT_ERTM_PKTS             FALSE
-#endif
-
-/* Used for conformance testing ONLY:  When TRUE lets scriptwrapper overwrite info response */
-#ifndef L2CAP_CONFORMANCE_TESTING
-#define L2CAP_CONFORMANCE_TESTING           FALSE
-#endif
-
-/******************************************************************************
-**
-** AMP
-**
-******************************************************************************/
-
-#ifndef AMP_INCLUDED
-#define AMP_INCLUDED            FALSE
-#endif
-
-/* TRUE if AMP includes debug functionality. */
-#ifndef AMP_DEBUG
-#define AMP_DEBUG               FALSE
-#endif
-
-/* Maximum number of simultaneous remote AMP Hosts in system */
-#ifndef AMP_MAX_REMOTE_HOSTS
-#define AMP_MAX_REMOTE_HOSTS    MAX_L2CAP_LINKS
-#endif
-
-/* Maximum number of simultaneous remote AMP controllers in system (BR/EDR excluded) */
-#ifndef AMP_MAX_REMOTE_CTRLS
-#define AMP_MAX_REMOTE_CTRLS    2
-#endif
-
-/* Maximum number of UUIDs per remote AMP host */
-#ifndef AMP_MAX_UUIDS_PER_REM_HOST
-#define AMP_MAX_UUIDS_PER_REM_HOST  4
-#endif
-
-/* Maximum number of simultaneous local AMP controllers in system (BR/EDR excluded) */
-#ifndef AMP_MAX_LOCAL_CTRLS
-#define AMP_MAX_LOCAL_CTRLS     1
-#endif
-
-/* Maximum number of simultaneous Physical Links in system */
-#ifndef AMP_MAX_PHYS_LINKS
-#define AMP_MAX_PHYS_LINKS      1
-#endif
-
-/* The maximum number of simultaneous AMP logical links that L2CAP can support. */
-#ifndef AMP_MAX_L2C_LOG_LINKS
-#define AMP_MAX_L2C_LOG_LINKS   (MAX_L2CAP_LINKS * 2)
-#endif
-
-/* The number of seconds of link inactivity on AMP fixed channel before the ACL is disconnected. */
-#ifndef AMP_L2C_INACTIVITY_TIMER
-#define AMP_L2C_INACTIVITY_TIMER    7
-#endif
-
-#ifndef AMP_NUM_ALWAYS_PRESENT_LOC_CTRLRS
-#define AMP_NUM_ALWAYS_PRESENT_LOC_CTRLRS       AMP_MAX_LOCAL_CTRLS
-#endif
-
-/* If this is non-zero value then l2cap overwrites total ACL credit on AMP. */
-/* This temporarily needs until number in dhd driver is finalized */
-#ifndef AMP_TOTAL_NUM_BLOCKS
-#define AMP_TOTAL_NUM_BLOCKS        0
-#endif
-
-/****************************
-** AMP Autoswitch Constants
-*****************************/
-/* AMP physical link inactivity timeout
-** This is started when the last logical channel got disconnected */
-#ifndef AMP_PHYS_LINK_INACT_DISC_TOUT
-#define AMP_PHYS_LINK_INACT_DISC_TOUT               20
-#endif
-
-/* interval between the moments to check if auto-switch ready connections
-** on this AMP controller have to be moved to BR/EDR and if yes - to
-** start to move the connections */
-#ifndef AMP_AS_TOUT_ON_AMP
-#define AMP_AS_TOUT_ON_AMP                          1
-#endif
-
-/* on timeout all auto-switch ready connections
-** have to be moved from BR/EDR to AMP */
-#ifndef AMP_AS_TOUT_ON_BR_EDR
-#define AMP_AS_TOUT_ON_BR_EDR                       1
-#endif
-
-/* min time to stay on BR/EDR after auto-switch from AMP
-** (during this time conditions to switch from BR/EDR to
-** AMP are ignored) */
-#ifndef AMP_AS_TOUT_NO_MOVE_TO_AMP
-#define AMP_AS_TOUT_NO_MOVE_TO_AMP                  4
-#endif
-
-/* TRUE means that "tout to check throughput on BR/EDR"
-** is restarted after "no move to AMP" timer expires,
-** i.e. move from BR/EDR will start not earlier than
-**  AMP_AS_TOUT_NO_MOVE_TO_AMP + AMP_AS_TOUT_ON_BR_EDR
-** FALSE means that "tout no move to AMP" and "tout
-** to check throughput on BR/EDR" run in parallel, i.e.
-** connections can be moved from BR/EDR any moment after
-** "tout no move to AMP" expires. */
-#ifndef AMP_AS_TOUT_ON_BR_EDR_AFTER_NO_MOVE_TO_AMP
-#define AMP_AS_TOUT_ON_BR_EDR_AFTER_NO_MOVE_TO_AMP  TRUE
-#endif
-
-/* Until the number of packets sent to L2CAP is <= than this
-** value preparations for auto-switch BR/EDR->AMP do not start.
-** If the number of packets sent to L2CAP falls to this
-** value preparations for auto-switch BR/EDR->AMP stop. */
-#ifndef AMP_AS_THRESHOLD_ON_BR_EDR
-#define AMP_AS_THRESHOLD_ON_BR_EDR                  3
-#endif
-
-/* the number of counters used to collect throughput data
-** on AMP controller. Check for auto-switch conditions starts
-** AMP_AMP_AS_COUNT_ARRAY_SIZE * AMP_AS_TOUT_ON_AMP
-** sec after the first auto-switch ready connection is moved
-** to this controller */
-#ifndef AMP_AMP_AS_COUNT_ARRAY_SIZE
-#define AMP_AMP_AS_COUNT_ARRAY_SIZE                 10
-#endif
-
-/* meaning: flow spec modify is never sent to controller
-**          best effort logical link is created with all
-**          parameters sent to unknown...*/
-#ifndef AMP_SIMPLISTIC_AGGREGATION
-#define AMP_SIMPLISTIC_AGGREGATION  TRUE
-#endif
-
-/* meaning: auto-switch ready connections start move
-** BR/EDR->AMP after throughput to remote host passes
-** some threshold in bytes (as opposite to move that
-** starts if during some time the number of UNACKED
-** L2CAP packets to remote host stays bigger than some
-** threshold) */
-#ifndef AMP_AUTO_SW_TO_AMP_BY_THROUGHPUT
-#define AMP_AUTO_SW_TO_AMP_BY_THROUGHPUT TRUE
-#endif
-
-/* the number of counters used to collect throughput data
-** on BR/EDR controller. Check for auto-switch conditions starts
-** AMP_BR_EDR_AS_COUNT_ARRAY_SIZE * AMP_AS_TOUT_ON_BR_EDR
-** sec after the first auto-switch ready connection is moved
-** to this controller */
-#ifndef AMP_BR_EDR_AS_COUNT_ARRAY_SIZE
-#define AMP_BR_EDR_AS_COUNT_ARRAY_SIZE              7
-#endif
-
-/* if it takes more than this amount of time to transfer object on BR/EDR
-** application(BTA) will initiate to AMP connection. */
-#ifndef AMP_AS_TRANSFER_TIME_ON_BR_EDR
-#define AMP_AS_TRANSFER_TIME_ON_BR_EDR              5
-#endif
-
-
-#ifndef AMP_RFC_TEST
-#define AMP_RFC_TEST            FALSE
-#endif
-
-
-/******************************************************************************
-**
-** BLE
-**
-******************************************************************************/
-
-#ifndef BLE_INCLUDED
-#define BLE_INCLUDED            FALSE
-#endif
-
-#ifndef LOCAL_BLE_CONTROLLER_ID
-#define LOCAL_BLE_CONTROLLER_ID         (AMP_MAX_LOCAL_CTRLS + 1)
-#endif
-
-#ifndef BTM_BLE_PRIVACY_SPT
-#define BTM_BLE_PRIVACY_SPT         FALSE
-#endif
-
-#ifndef BTM_PERIPHERAL_ENABLED
-#define BTM_PERIPHERAL_ENABLED     FALSE
-#endif
-
-#ifndef HID_LE_INCLUDED
-#define HID_LE_INCLUDED         FALSE
-#endif
-
-#ifndef BLE_BRCM_INCLUDED
-#define BLE_BRCM_INCLUDED         FALSE
-#endif
-
-#ifndef BTM_DUMO_ADDR_CENTRAL_ENABLED
-#define BTM_DUMO_ADDR_CENTRAL_ENABLED         FALSE
-#endif
-
-
-/******************************************************************************
-**
-** ATT/GATT Protocol/Profile Settings
-**
-******************************************************************************/
-#ifndef ATT_DEBUG
-#define ATT_DEBUG           FALSE
-#endif
-
-#ifndef GATT_MAX_SR_PROFILES
-#define GATT_MAX_SR_PROFILES        32 /* max is 32 */
-#endif
-
-#ifndef GATT_MAX_APPS
-#define GATT_MAX_APPS            10 /* note: 2 apps used internally GATT and GAP */
-#endif
-
-#ifndef GATT_MAX_PHY_CHANNEL
-#define GATT_MAX_PHY_CHANNEL        4 /* limited by the BLE controller upto 15 */
-#endif
-
-/* Used for conformance testing ONLY */
-#ifndef GATT_CONFORMANCE_TESTING
-#define GATT_CONFORMANCE_TESTING           FALSE
-#endif
-
-/* number of background connection device allowence, ideally to be the same as WL size
-*/
-#ifndef GATT_MAX_BG_CONN_DEV
-#define GATT_MAX_BG_CONN_DEV        32
-#endif
-
-/******************************************************************************
-**
-** SMP
-**
-******************************************************************************/
-#ifndef SMP_INCLUDED
-#define SMP_INCLUDED         FALSE
-#endif
-
-#ifndef SMP_DEBUG
-#define SMP_DEBUG            FALSE
-#endif
-
-#ifndef SMP_DEFAULT_AUTH_REQ
-#define SMP_DEFAULT_AUTH_REQ    SMP_AUTH_NB_ENC_ONLY
-#endif
-
-#ifndef SMP_MAX_ENC_KEY_SIZE
-#define SMP_MAX_ENC_KEY_SIZE    16
-#endif
-
-#ifndef SMP_MIN_ENC_KEY_SIZE
-#define SMP_MIN_ENC_KEY_SIZE    7
-#endif
-
-/* Used for conformance testing ONLY */
-#ifndef SMP_CONFORMANCE_TESTING
-#define SMP_CONFORMANCE_TESTING           FALSE
-#endif
-
-/******************************************************************************
-**
-** SDP
-**
-******************************************************************************/
-
-/* This is set to enable SDP server functionality. */
-#ifndef SDP_SERVER_ENABLED
-#define SDP_SERVER_ENABLED          TRUE
-#endif
-
-/* The maximum number of SDP records the server can support. */
-#ifndef SDP_MAX_RECORDS
-#define SDP_MAX_RECORDS             20
-#endif
-
-/* The maximum number of attributes in each record. */
-#ifndef SDP_MAX_REC_ATTR
-#define SDP_MAX_REC_ATTR            25
-#endif
-
-#ifndef SDP_MAX_PAD_LEN
-#define SDP_MAX_PAD_LEN             350
-#endif
-
-/* The maximum length, in bytes, of an attribute. */
-#ifndef SDP_MAX_ATTR_LEN
-#define SDP_MAX_ATTR_LEN            256
-#endif
-
-/* The maximum number of attribute filters supported by SDP databases. */
-#ifndef SDP_MAX_ATTR_FILTERS
-#define SDP_MAX_ATTR_FILTERS        12
-#endif
-
-/* The maximum number of UUID filters supported by SDP databases. */
-#ifndef SDP_MAX_UUID_FILTERS
-#define SDP_MAX_UUID_FILTERS        3
-#endif
-
-/* This is set to enable SDP client functionality. */
-#ifndef SDP_CLIENT_ENABLED
-#define SDP_CLIENT_ENABLED          TRUE
-#endif
-
-/* The maximum number of record handles retrieved in a search. */
-#ifndef SDP_MAX_DISC_SERVER_RECS
-#define SDP_MAX_DISC_SERVER_RECS    21
-#endif
-
-/* The size of a scratchpad buffer, in bytes, for storing the response to an attribute request. */
-#ifndef SDP_MAX_LIST_BYTE_COUNT
-#define SDP_MAX_LIST_BYTE_COUNT     1000
-#endif
-
-/* The maximum number of parameters in an SDP protocol element. */
-#ifndef SDP_MAX_PROTOCOL_PARAMS
-#define SDP_MAX_PROTOCOL_PARAMS     2
-#endif
-
-/* The maximum number of simultaneous client and server connections. */
-#ifndef SDP_MAX_CONNECTIONS
-#define SDP_MAX_CONNECTIONS         4
-#endif
-
-/* The MTU size for the L2CAP configuration. */
-#ifndef SDP_MTU_SIZE
-#define SDP_MTU_SIZE                256
-#endif
-
-/* The flush timeout for the L2CAP configuration. */
-#ifndef SDP_FLUSH_TO
-#define SDP_FLUSH_TO                0xFFFF
-#endif
-
-/* The name for security authorization. */
-#ifndef SDP_SERVICE_NAME
-#define SDP_SERVICE_NAME            "Service Discovery"
-#endif
-
-/* The security level for BTM. */
-#ifndef SDP_SECURITY_LEVEL
-#define SDP_SECURITY_LEVEL          BTM_SEC_NONE
-#endif
-
-/******************************************************************************
-**
-** RFCOMM
-**
-******************************************************************************/
-
-#ifndef RFCOMM_INCLUDED
-#define RFCOMM_INCLUDED             FALSE
-#endif
-
-/* The maximum number of ports supported. */
-#ifndef MAX_RFC_PORTS
-#define MAX_RFC_PORTS               5
-#endif
-
-/* The maximum simultaneous links to different devices. */
-#ifndef MAX_BD_CONNECTIONS
-#define MAX_BD_CONNECTIONS          1
-#endif
-
-/* The port receive queue low watermark level, in bytes. */
-#ifndef PORT_RX_LOW_WM
-#define PORT_RX_LOW_WM              5000
-#endif
-
-/* The port receive queue high watermark level, in bytes. */
-#ifndef PORT_RX_HIGH_WM
-#define PORT_RX_HIGH_WM             8000
-#endif
-
-/* The port receive queue critical watermark level, in bytes. */
-#ifndef PORT_RX_CRITICAL_WM
-#define PORT_RX_CRITICAL_WM         12000
-#endif
-
-/* The port receive queue low watermark level, in number of buffers. */
-#ifndef PORT_RX_BUF_LOW_WM
-#define PORT_RX_BUF_LOW_WM          8
-#endif
-
-/* The port receive queue high watermark level, in number of buffers. */
-#ifndef PORT_RX_BUF_HIGH_WM
-#define PORT_RX_BUF_HIGH_WM         16
-#endif
-
-/* The port receive queue critical watermark level, in number of buffers. */
-#ifndef PORT_RX_BUF_CRITICAL_WM
-#define PORT_RX_BUF_CRITICAL_WM     22
-#endif
-
-/* The port transmit queue high watermark level, in bytes. */
-#ifndef PORT_TX_HIGH_WM
-#define PORT_TX_HIGH_WM             8000
-#endif
-
-/* The port transmit queue critical watermark level, in bytes. */
-#ifndef PORT_TX_CRITICAL_WM
-#define PORT_TX_CRITICAL_WM         10000
-#endif
-
-/* The port transmit queue high watermark level, in number of buffers. */
-#ifndef PORT_TX_BUF_HIGH_WM
-#define PORT_TX_BUF_HIGH_WM         16
-#endif
-
-/* The port transmit queue high watermark level, in number of buffers. */
-#ifndef PORT_TX_BUF_CRITICAL_WM
-#define PORT_TX_BUF_CRITICAL_WM     22
-#endif
-
-/* The RFCOMM multiplexer preferred flow control mechanism. */
-#ifndef PORT_FC_DEFAULT
-#define PORT_FC_DEFAULT             PORT_FC_CREDIT
-#endif
-
-/* The maximum number of credits receiver sends to peer when using credit-based flow control. */
-#ifndef PORT_CREDIT_RX_MAX
-#define PORT_CREDIT_RX_MAX          16
-#endif
-
-/* The credit low watermark level. */
-#ifndef PORT_CREDIT_RX_LOW
-#define PORT_CREDIT_RX_LOW          8
-#endif
-
-/* if application like BTA, Java or script test engine is running on other than BTU thread, */
-/* PORT_SCHEDULE_LOCK shall be defined as GKI_sched_lock() or GKI_disable() */
-#ifndef PORT_SCHEDULE_LOCK
-#define PORT_SCHEDULE_LOCK          GKI_disable()
-#endif
-
-/* if application like BTA, Java or script test engine is running on other than BTU thread, */
-/* PORT_SCHEDULE_LOCK shall be defined as GKI_sched_unlock() or GKI_enable() */
-#ifndef PORT_SCHEDULE_UNLOCK
-#define PORT_SCHEDULE_UNLOCK        GKI_enable()
-#endif
-
-/******************************************************************************
-**
-** TCS
-**
-******************************************************************************/
-
-#ifndef TCS_INCLUDED
-#define TCS_INCLUDED                FALSE
-#endif
-
-/* If set to TRUE, gives lean TCS state machine configuration. */
-#ifndef TCS_LEAN
-#define TCS_LEAN                    FALSE
-#endif
-
-/* To include/exclude point-to-multipoint broadcast SETUP configuration. */
-#ifndef TCS_BCST_SETUP_INCLUDED
-#define TCS_BCST_SETUP_INCLUDED     TRUE
-#endif
-
-/* To include/exclude supplementary services. */
-#ifndef TCS_SUPP_SVCS_INCLUDED
-#define TCS_SUPP_SVCS_INCLUDED      TRUE
-#endif
-
-/* To include/exclude WUG master role. */
-#ifndef TCS_WUG_MASTER_INCLUDED
-#define TCS_WUG_MASTER_INCLUDED     TRUE
-#endif
-
-/* To include/exclude WUG member role. */
-#ifndef TCS_WUG_MEMBER_INCLUDED
-#define TCS_WUG_MEMBER_INCLUDED     TRUE
-#endif
-
-/* Maximum number of WUG members. */
-#ifndef TCS_MAX_WUG_MEMBERS
-#define TCS_MAX_WUG_MEMBERS         7
-#endif
-
-/* Widcomm specific acknowledgement message to ensure fast and robust operation of WUG FIMA procedure. */
-#ifndef TCS_WUG_LISTEN_ACPT_ACK_INCLUDED
-#define TCS_WUG_LISTEN_ACPT_ACK_INCLUDED TRUE
-#endif
-
-/* The number of simultaneous calls supported. */
-#ifndef TCS_MAX_NUM_SIMUL_CALLS
-#define TCS_MAX_NUM_SIMUL_CALLS     3
-#endif
-
-/* The number of devices the device can connect to. */
-#ifndef TCS_MAX_NUM_ACL_CONNS
-#define TCS_MAX_NUM_ACL_CONNS       7
-#endif
-
-/* The maximum length, in bytes, of the company specific information element. */
-#ifndef TCS_MAX_CO_SPEC_LEN
-#define TCS_MAX_CO_SPEC_LEN         40
-#endif
-
-/* The maximum length, in bytes, of the audio control information element . */
-#ifndef TCS_MAX_AUDIO_CTL_LEN
-#define TCS_MAX_AUDIO_CTL_LEN       40
-#endif
-
-/* (Dis)allow EDR ESCO */
-#ifndef TCS_AUDIO_USE_ESCO_EDR
-#define TCS_AUDIO_USE_ESCO_EDR      FALSE
-#endif
-
-/******************************************************************************
-**
-** OBX
-**
-******************************************************************************/
-#ifndef OBX_INCLUDED
-#define OBX_INCLUDED               FALSE
-#endif
-
-#ifndef OBX_CLIENT_INCLUDED
-#define OBX_CLIENT_INCLUDED        TRUE
-#endif
-
-#ifndef OBX_SERVER_INCLUDED
-#define OBX_SERVER_INCLUDED        TRUE
-#endif
-
-/* TRUE to include OBEX authentication/MD5 test code */
-#ifndef OBX_MD5_TEST_INCLUDED
-#define OBX_MD5_TEST_INCLUDED       FALSE
-#endif
-
-/* The timeout value (in seconds) for reliable sessions to remain in suspend. 0xFFFFFFFF for no timeout event. */
-#ifndef OBX_SESS_TIMEOUT_VALUE
-#define OBX_SESS_TIMEOUT_VALUE      600
-#endif
-
-/* The idle timeout value. 0 for no timeout event. */
-#ifndef OBX_TIMEOUT_VALUE
-#define OBX_TIMEOUT_VALUE           60
-#endif
-
-/* Timeout value used for disconnect */
-#ifndef OBX_DISC_TOUT_VALUE
-#define OBX_DISC_TOUT_VALUE         5
-#endif
-
-/* The maximum number of registered servers. */
-#ifndef OBX_NUM_SERVERS
-#define OBX_NUM_SERVERS             12
-#endif
-
-/* The maximum number of sessions for all registered servers.
- * (must be equal or bigger than OBX_NUM_SERVERS) */
-#ifndef OBX_NUM_SR_SESSIONS
-#define OBX_NUM_SR_SESSIONS         26
-#endif
-
-/* The maximum number of sessions per registered server.
- * must be less than MAX_BD_CONNECTIONS */
-#ifndef OBX_MAX_SR_SESSION
-#define OBX_MAX_SR_SESSION          4
-#endif
-
-/* The maximum number of suspended sessions per registered servers. */
-#ifndef OBX_MAX_SUSPEND_SESSIONS
-#define OBX_MAX_SUSPEND_SESSIONS    4
-#endif
-
-/* The maximum number of active clients. */
-#ifndef OBX_NUM_CLIENTS
-#define OBX_NUM_CLIENTS             8
-#endif
-
-/* The maximum length of OBEX target header.*/
-#ifndef OBX_MAX_TARGET_LEN
-#define OBX_MAX_TARGET_LEN          16
-#endif
-
-/* The maximum length of authentication challenge realm.*/
-#ifndef OBX_MAX_REALM_LEN
-#define OBX_MAX_REALM_LEN           30
-#endif
-
-/* The maximum of GKI buffer queued at OBX before flow control L2CAP */
-#ifndef OBX_MAX_RX_QUEUE_COUNT
-#define OBX_MAX_RX_QUEUE_COUNT      3
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-   Pool ID where to reassemble the SDU.
-   This Pool will allow buffers to be used that are larger than
-   the L2CAP_MAX_MTU. */
-#ifndef OBX_USER_RX_POOL_ID
-#define OBX_USER_RX_POOL_ID     OBX_LRG_DATA_POOL_ID
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-   Pool ID where to hold the SDU.
-   This Pool will allow buffers to be used that are larger than
-   the L2CAP_MAX_MTU. */
-#ifndef OBX_USER_TX_POOL_ID
-#define OBX_USER_TX_POOL_ID     OBX_LRG_DATA_POOL_ID
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-GKI Buffer Pool ID used to hold MPS segments during SDU reassembly
-*/
-#ifndef OBX_FCR_RX_POOL_ID
-#define OBX_FCR_RX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions.
-L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool.
-Note:  This pool needs to have enough buffers to hold two times the window size negotiated
- in the L2CA_SetFCROptions (2 * tx_win_size)  to allow for retransmissions.
- The size of each buffer must be able to hold the maximum MPS segment size passed in
- L2CA_SetFCROptions plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
-*/
-#ifndef OBX_FCR_TX_POOL_ID
-#define OBX_FCR_TX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-Size of the transmission window when using enhanced retransmission mode. Not used
-in basic and streaming modes. Range: 1 - 63
-This is used when AMP_INCLUDED == FALSE
-*/
-#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR
-#define OBX_FCR_OPT_TX_WINDOW_SIZE_BR_EDR       20
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-Size of the transmission window when using enhanced retransmission mode. Not used
-in basic and streaming modes. Range: 1 - 63
-This is used when AMP_INCLUDED == TRUE
-*/
-#ifndef OBX_FCR_OPT_TX_WINDOW_SIZE_AMP
-#define OBX_FCR_OPT_TX_WINDOW_SIZE_AMP          45
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-Number of transmission attempts for a single I-Frame before taking
-Down the connection. Used In ERTM mode only. Value is Ignored in basic and
-Streaming modes.
-Range: 0, 1-0xFF
-0 - infinite retransmissions
-1 - single transmission
-*/
-#ifndef OBX_FCR_OPT_MAX_TX_B4_DISCNT
-#define OBX_FCR_OPT_MAX_TX_B4_DISCNT    20
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-Retransmission Timeout
-Range: Minimum 2000 (2 secs) on BR/EDR when supporting PBF.
- */
-#ifndef OBX_FCR_OPT_RETX_TOUT
-#define OBX_FCR_OPT_RETX_TOUT           2000
-#endif
-
-/* This option is application when OBEX over L2CAP is in use
-Monitor Timeout
-Range: Minimum 12000 (12 secs) on BR/EDR when supporting PBF.
-*/
-#ifndef OBX_FCR_OPT_MONITOR_TOUT
-#define OBX_FCR_OPT_MONITOR_TOUT        12000
-#endif
-
-/******************************************************************************
-**
-** BNEP
-**
-******************************************************************************/
-
-#ifndef BNEP_INCLUDED
-#define BNEP_INCLUDED               FALSE
-#endif
-
-/* Protocol filtering is an optional feature. Bydefault it will be turned on */
-#ifndef BNEP_SUPPORTS_PROT_FILTERS
-#define BNEP_SUPPORTS_PROT_FILTERS          TRUE
-#endif
-
-/* Multicast filtering is an optional feature. Bydefault it will be turned on */
-#ifndef BNEP_SUPPORTS_MULTI_FILTERS
-#define BNEP_SUPPORTS_MULTI_FILTERS         TRUE
-#endif
-
-/* BNEP status API call is used mainly to get the L2CAP handle */
-#ifndef BNEP_SUPPORTS_STATUS_API
-#define BNEP_SUPPORTS_STATUS_API            TRUE
-#endif
-
-/* This is just a debug function */
-#ifndef BNEP_SUPPORTS_DEBUG_DUMP
-#define BNEP_SUPPORTS_DEBUG_DUMP            TRUE
-#endif
-
-#ifndef BNEP_SUPPORTS_ALL_UUID_LENGTHS
-#define BNEP_SUPPORTS_ALL_UUID_LENGTHS      TRUE    /* Otherwise it will support only 16bit UUIDs */
-#endif
-
-/*
-** When BNEP connection changes roles after the connection is established
-** we will do an authentication check again on the new role
-*/
-#ifndef BNEP_DO_AUTH_FOR_ROLE_SWITCH
-#define BNEP_DO_AUTH_FOR_ROLE_SWITCH        TRUE
-#endif
-
-
-/* Maximum number of protocol filters supported. */
-#ifndef BNEP_MAX_PROT_FILTERS
-#define BNEP_MAX_PROT_FILTERS       5
-#endif
-
-/* Maximum number of multicast filters supported. */
-#ifndef BNEP_MAX_MULTI_FILTERS
-#define BNEP_MAX_MULTI_FILTERS      5
-#endif
-
-/* Minimum MTU size. */
-#ifndef BNEP_MIN_MTU_SIZE
-#define BNEP_MIN_MTU_SIZE           L2CAP_MTU_SIZE
-#endif
-
-/* Preferred MTU size. */
-#ifndef BNEP_MTU_SIZE
-#define BNEP_MTU_SIZE               BNEP_MIN_MTU_SIZE
-#endif
-
-/* Maximum size of user data, in bytes.  */
-#ifndef BNEP_MAX_USER_DATA_SIZE
-#define BNEP_MAX_USER_DATA_SIZE     1500
-#endif
-
-/* Maximum number of buffers allowed in transmit data queue. */
-#ifndef BNEP_MAX_XMITQ_DEPTH
-#define BNEP_MAX_XMITQ_DEPTH        20
-#endif
-
-/* Maximum number BNEP of connections supported. */
-#ifndef BNEP_MAX_CONNECTIONS
-#define BNEP_MAX_CONNECTIONS        7
-#endif
-
-
-/******************************************************************************
-**
-** AVDTP
-**
-******************************************************************************/
-
-#ifndef AVDT_INCLUDED
-#define AVDT_INCLUDED               FALSE
-#endif
-
-/* Include reporting capability in AVDTP */
-#ifndef AVDT_REPORTING
-#define AVDT_REPORTING              TRUE
-#endif
-
-/* Include multiplexing capability in AVDTP */
-#ifndef AVDT_MULTIPLEXING
-#define AVDT_MULTIPLEXING           TRUE
-#endif
-
-/* Number of simultaneous links to different peer devices. */
-#ifndef AVDT_NUM_LINKS
-#define AVDT_NUM_LINKS              2
-#endif
-
-/* Number of simultaneous stream endpoints. */
-#ifndef AVDT_NUM_SEPS
-#define AVDT_NUM_SEPS               3
-#endif
-
-/* Number of transport channels setup per media stream(audio or video) */
-#ifndef AVDT_NUM_CHANNELS
-
-#if AVDT_REPORTING == TRUE
-/* signaling, media and reporting channels */
-#define AVDT_NUM_CHANNELS   3
-#else
-/* signaling and media channels */
-#define AVDT_NUM_CHANNELS   2
-#endif
-
-#endif
-
-/* Number of transport channels setup by AVDT for all media streams
- * AVDT_NUM_CHANNELS * Number of simultaneous streams.
- */
-#ifndef AVDT_NUM_TC_TBL
-#define AVDT_NUM_TC_TBL             6
-#endif
-
-
-/* Maximum size in bytes of the codec capabilities information element. */
-#ifndef AVDT_CODEC_SIZE
-#define AVDT_CODEC_SIZE             10
-#endif
-
-/* Maximum size in bytes of the content protection information element. */
-#ifndef AVDT_PROTECT_SIZE
-#define AVDT_PROTECT_SIZE           90
-#endif
-
-/* Maximum number of GKI buffers in the fragment queue (for video frames).
- * Must be less than the number of buffers in the buffer pool of size AVDT_DATA_POOL_SIZE */
-#ifndef AVDT_MAX_FRAG_COUNT
-#define AVDT_MAX_FRAG_COUNT         15
-#endif
-
-/******************************************************************************
-**
-** PAN
-**
-******************************************************************************/
-
-#ifndef PAN_INCLUDED
-#define PAN_INCLUDED                     FALSE
-#endif
-
-/* This will enable the PANU role */
-#ifndef PAN_SUPPORTS_ROLE_PANU
-#define PAN_SUPPORTS_ROLE_PANU              TRUE
-#endif
-
-/* This will enable the GN role */
-#ifndef PAN_SUPPORTS_ROLE_GN
-#define PAN_SUPPORTS_ROLE_GN                TRUE
-#endif
-
-/* This will enable the NAP role */
-#ifndef PAN_SUPPORTS_ROLE_NAP
-#define PAN_SUPPORTS_ROLE_NAP               TRUE
-#endif
-
-/* This is just for debugging purposes */
-#ifndef PAN_SUPPORTS_DEBUG_DUMP
-#define PAN_SUPPORTS_DEBUG_DUMP             TRUE
-#endif
-
-
-/* Maximum number of PAN connections allowed */
-#ifndef MAX_PAN_CONNS
-#define MAX_PAN_CONNS                    7
-#endif
-
-/* Default service name for NAP role */
-#ifndef PAN_NAP_DEFAULT_SERVICE_NAME
-#define PAN_NAP_DEFAULT_SERVICE_NAME    "Network Access Point Service"
-#endif
-
-/* Default service name for GN role */
-#ifndef PAN_GN_DEFAULT_SERVICE_NAME
-#define PAN_GN_DEFAULT_SERVICE_NAME     "Group Network Service"
-#endif
-
-/* Default service name for PANU role */
-#ifndef PAN_PANU_DEFAULT_SERVICE_NAME
-#define PAN_PANU_DEFAULT_SERVICE_NAME   "PAN User Service"
-#endif
-
-/* Default description for NAP role service */
-#ifndef PAN_NAP_DEFAULT_DESCRIPTION
-#define PAN_NAP_DEFAULT_DESCRIPTION     "Public NAP"
-#endif
-
-/* Default description for GN role service */
-#ifndef PAN_GN_DEFAULT_DESCRIPTION
-#define PAN_GN_DEFAULT_DESCRIPTION      "Widcomm GN"
-#endif
-
-/* Default description for PANU role service */
-#ifndef PAN_PANU_DEFAULT_DESCRIPTION
-#define PAN_PANU_DEFAULT_DESCRIPTION    "Laptop's PANU"
-#endif
-
-/* Default Security level for PANU role. */
-#ifndef PAN_PANU_SECURITY_LEVEL
-#define PAN_PANU_SECURITY_LEVEL          0
-#endif
-
-/* Default Security level for GN role. */
-#ifndef PAN_GN_SECURITY_LEVEL
-#define PAN_GN_SECURITY_LEVEL            0
-#endif
-
-/* Default Security level for NAP role. */
-#ifndef PAN_NAP_SECURITY_LEVEL
-#define PAN_NAP_SECURITY_LEVEL           0
-#endif
-
-
-
-
-/******************************************************************************
-**
-** GAP
-**
-******************************************************************************/
-
-#ifndef GAP_INCLUDED
-#define GAP_INCLUDED                FALSE
-#endif
-
-/* This is set to enable use of GAP L2CAP connections. */
-#ifndef GAP_CONN_INCLUDED
-#define GAP_CONN_INCLUDED           TRUE
-#endif
-
-/* This is set to enable posting event for data write */
-#ifndef GAP_CONN_POST_EVT_INCLUDED
-#define GAP_CONN_POST_EVT_INCLUDED  FALSE
-#endif
-
-/* The maximum number of simultaneous GAP L2CAP connections. */
-#ifndef GAP_MAX_CONNECTIONS
-#define GAP_MAX_CONNECTIONS         8
-#endif
-
-/******************************************************************************
-**
-** CTP
-**
-******************************************************************************/
-
-#ifndef CTP_INCLUDED
-#define CTP_INCLUDED                FALSE
-#endif
-
-/* To include CTP gateway functionality or not. */
-#ifndef CTP_GW_INCLUDED
-#define CTP_GW_INCLUDED             TRUE
-#endif
-
-/* The number of terminals supported. */
-#ifndef CTP_MAX_NUM_TLS
-#define CTP_MAX_NUM_TLS             7
-#endif
-
-/* If the controller can not support sniff mode when the SCO is up, set this to FALSE. */
-#ifndef CTP_USE_SNIFF_ON_SCO
-#define CTP_USE_SNIFF_ON_SCO        FALSE
-#endif
-
-/* 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. */
-#ifndef CTP_TL_IDLE_TIMEOUT
-#define CTP_TL_IDLE_TIMEOUT         90
-#endif
-
-/* To include CTP terminal functionality or not. */
-#ifndef CTP_TL_INCLUDED
-#define CTP_TL_INCLUDED             TRUE
-#endif
-
-/* To include CTP device discovery functionality or not. */
-#ifndef CTP_DISCOVERY_INCLUDED
-#define CTP_DISCOVERY_INCLUDED      TRUE
-#endif
-
-/* set to TRUE for controllers that do not support multi-point */
-#ifndef CTP_TL_WAIT_DISC
-#define CTP_TL_WAIT_DISC            TRUE
-#endif
-
-/* The CTP inquiry database size. */
-#ifndef CTP_INQ_DB_SIZE
-#define CTP_INQ_DB_SIZE             CTP_DISC_REC_SIZE
-#endif
-
-/* The CTP discovery record size. */
-#ifndef CTP_DISC_REC_SIZE
-#define CTP_DISC_REC_SIZE           60
-#endif
-
-/* CTP TL would try to re-establish L2CAP channel after channel is disconnected for this amount of seconds. */
-#ifndef CTP_GUARD_LINK_LOST
-#define CTP_GUARD_LINK_LOST         1
-#endif
-
-/* The link policy bitmap. */
-#ifndef CTP_DEFAULT_LINK_POLICY
-#define CTP_DEFAULT_LINK_POLICY     0x000F
-#endif
-
-/* The minimum period interval used for the sniff and park modes. */
-#ifndef CTP_DEF_LOWPWR_MIN_PERIOD
-#define CTP_DEF_LOWPWR_MIN_PERIOD   0x100
-#endif
-
-/* The maximum period interval used for the sniff and park modes. */
-#ifndef CTP_DEF_LOWPWR_MAX_PERIOD
-#define CTP_DEF_LOWPWR_MAX_PERIOD   0x1E0
-#endif
-
-/* The number of baseband receive slot sniff attempts. */
-#ifndef CTP_DEF_LOWPWR_ATTEMPT
-#define CTP_DEF_LOWPWR_ATTEMPT      0x200
-#endif
-
-/* The number of baseband receive slots for sniff timeout. */
-#ifndef CTP_DEF_LOWPWR_TIMEOUT
-#define CTP_DEF_LOWPWR_TIMEOUT      0x200
-#endif
-
-/* This is set if CTP is to use park mode. */
-#ifndef CTP_PARK_INCLUDED
-#define CTP_PARK_INCLUDED           TRUE
-#endif
-
-/* This is set if CTP is to use sniff mode. */
-#ifndef CTP_SNIFF_INCLUDED
-#define CTP_SNIFF_INCLUDED          TRUE
-#endif
-
-/* To include CTP data exchange functionality or not. */
-#ifndef CTP_DATA_EXCHG_FEATURE
-#define CTP_DATA_EXCHG_FEATURE      FALSE
-#endif
-
-/* To include CTP GW intercom functionality or not. */
-#ifndef CTP_GW_INTERCOM_FEATURE
-#define CTP_GW_INTERCOM_FEATURE     FALSE
-#endif
-
-/* The MTU size for L2CAP channel. */
-#ifndef CTP_MTU_SIZE
-#define CTP_MTU_SIZE                200
-#endif
-
-/* The L2CAP PSM for the data exchange feature. */
-#ifndef CTP_DATA_EXCHG_PSM
-#define CTP_DATA_EXCHG_PSM          13
-#endif
-
-/* The flush timeout for L2CAP channels. */
-#ifndef CTP_FLUSH_TO
-#define CTP_FLUSH_TO                0xFFFF
-#endif
-
-/* The default service name for CTP. */
-#ifndef CTP_DEFAULT_SERVICE_NAME
-#define CTP_DEFAULT_SERVICE_NAME    "Cordless Telephony"
-#endif
-
-/* The CTP security level. */
-#ifndef CTP_SECURITY_LEVEL
-#define CTP_SECURITY_LEVEL          (BTM_SEC_IN_AUTHORIZE | BTM_SEC_IN_AUTHENTICATE | BTM_SEC_IN_ENCRYPT)
-#endif
-
-/* The number of lines to the external network. */
-#ifndef CTP_MAX_LINES
-#define CTP_MAX_LINES               1
-#endif
-
-/* Test if the number of resources in TCS is consistent with CTP setting. */
-#ifndef CTP_TEST_FULL_TCS
-#define CTP_TEST_FULL_TCS           TRUE
-#endif
-
-/* The default inquiry mode. */
-#ifndef CTP_DEFAULT_INQUIRY_MODE
-#define CTP_DEFAULT_INQUIRY_MODE    BTM_GENERAL_INQUIRY
-#endif
-
-/* The default inquiry duration. */
-#ifndef CTP_DEFAULT_INQ_DURATION
-#define CTP_DEFAULT_INQ_DURATION    4
-#endif
-
-/* The maximum number of inquiry responses. */
-#ifndef CTP_DEFAULT_INQ_MAX_RESP
-#define CTP_DEFAULT_INQ_MAX_RESP    3
-#endif
-
-/* When TL does not create another L2CAP channel within this period of time GW declares that it's "Connected Limited". */
-#ifndef CTP_TL_CONN_TIMEOUT
-#define CTP_TL_CONN_TIMEOUT         5
-#endif
-
-/* The delay for ACL to completely disconnect (for intercom) before sending the connect request to GW. */
-#ifndef CTP_RECONNECT_DELAY
-#define CTP_RECONNECT_DELAY         5
-#endif
-
-/* How many times to retry connection when it has failed. */
-#ifndef CTP_RETRY_ON_CONN_ERR
-#define CTP_RETRY_ON_CONN_ERR       5
-#endif
-
-/******************************************************************************
-**
-** ICP
-**
-******************************************************************************/
-
-#ifndef ICP_INCLUDED
-#define ICP_INCLUDED                FALSE
-#endif
-
-/* The ICP default MTU. */
-#ifndef ICP_MTU_SIZE
-#define ICP_MTU_SIZE                100
-#endif
-
-/* The ICP security level. */
-#ifndef ICP_SECURITY_LEVEL
-#define ICP_SECURITY_LEVEL          BTM_SEC_NONE
-#endif
-
-/* The default service name for ICP. */
-#ifndef ICP_DEFAULT_SERVICE_NAME
-#define ICP_DEFAULT_SERVICE_NAME    "Intercom"
-#endif
-
-/* The flush timeout for L2CAP channels. */
-#ifndef ICP_FLUSH_TO
-#define ICP_FLUSH_TO                0xFFFF
-#endif
-
-/******************************************************************************
-**
-** SPP
-**
-******************************************************************************/
-
-#ifndef SPP_INCLUDED
-#define SPP_INCLUDED                FALSE
-#endif
-
-/* The SPP default MTU. */
-#ifndef SPP_DEFAULT_MTU
-#define SPP_DEFAULT_MTU             127
-#endif
-
-/* The interval, in seconds, that a client tries to reconnect to a service. */
-#ifndef SPP_RETRY_CONN_INTERVAL
-#define SPP_RETRY_CONN_INTERVAL     1
-#endif
-
-/* The SPP discoverable mode: limited or general. */
-#ifndef SPP_DISCOVERABLE_MODE
-#define SPP_DISCOVERABLE_MODE       BTM_GENERAL_DISCOVERABLE
-#endif
-
-/* The maximum number of inquiry results returned in by inquiry procedure. */
-#ifndef SPP_DEF_INQ_MAX_RESP
-#define SPP_DEF_INQ_MAX_RESP        10
-#endif
-
-/* The SPP discovery record size. */
-#ifndef SPP_DISC_REC_SIZE
-#define SPP_DISC_REC_SIZE           60
-#endif
-
-#ifndef SPP_MAX_RECS_PER_DEVICE
-#define SPP_MAX_RECS_PER_DEVICE     (SPP_DB_SIZE / SPP_DISC_REC_SIZE)
-#endif
-
-/* Inquiry duration in 1.28 second units. */
-#ifndef SPP_DEF_INQ_DURATION
-#define SPP_DEF_INQ_DURATION        9
-#endif
-
-/* keep the raw data received from SDP server in database. */
-#ifndef SDP_RAW_DATA_INCLUDED
-#define SDP_RAW_DATA_INCLUDED       FALSE
-#endif
-
-/* TRUE, to allow JV to create L2CAP connection on SDP PSM. */
-#ifndef SDP_FOR_JV_INCLUDED
-#define SDP_FOR_JV_INCLUDED         FALSE
-#endif
-
-/* Inquiry duration in 1.28 second units. */
-#ifndef SDP_DEBUG
-#define SDP_DEBUG                   TRUE
-#endif
-
-/******************************************************************************
-**
-** HSP2, HFP
-**
-******************************************************************************/
-
-#ifndef HSP2_INCLUDED
-#define HSP2_INCLUDED               FALSE
-#endif
-
-/* Include the ability to perform inquiry for peer devices. */
-#ifndef HSP2_INQUIRY_INCLUDED
-#define HSP2_INQUIRY_INCLUDED       TRUE
-#endif
-
-/* Include Audio Gateway specific code. */
-#ifndef HSP2_AG_INCLUDED
-#define HSP2_AG_INCLUDED            TRUE
-#endif
-
-/* Include Headset Specific Code. */
-#ifndef HSP2_HS_INCLUDED
-#define HSP2_HS_INCLUDED            TRUE
-#endif
-
-/* Include the ability to open an SCO connection for In-Band Ringing. */
-#ifndef HSP2_IB_RING_INCLUDED
-#define HSP2_IB_RING_INCLUDED       TRUE
-#endif
-
-/* Include the ability to repeat a ring. */
-#ifndef HSP2_AG_REPEAT_RING
-#define HSP2_AG_REPEAT_RING         TRUE
-#endif
-
-#ifndef HSP2_APP_CLOSES_ON_CKPD
-#define HSP2_APP_CLOSES_ON_CKPD     FALSE
-#endif
-
-
-/* Include the ability to park a connection. */
-#ifndef HSP2_PARK_INCLUDED
-#define HSP2_PARK_INCLUDED          TRUE
-#endif
-
-/* Include HSP State Machine debug trace messages. */
-#ifndef HSP2_FSM_DEBUG
-#define HSP2_FSM_DEBUG              TRUE
-#endif
-
-/* The Module's Inquiry Scan Window. */
-#ifndef HSP2_INQ_SCAN_WINDOW
-#define HSP2_INQ_SCAN_WINDOW        0
-#endif
-
-/* The Module's Inquiry Scan Interval. */
-#ifndef HSP2_INQ_SCAN_INTERVAL
-#define HSP2_INQ_SCAN_INTERVAL      0
-#endif
-
-/* The Module's Page Scan Interval. */
-#ifndef HSP2_PAGE_SCAN_INTERVAL
-#define HSP2_PAGE_SCAN_INTERVAL     0
-#endif
-
-/* The Module's Page Scan Window. */
-#ifndef HSP2_PAGE_SCAN_WINDOW
-#define HSP2_PAGE_SCAN_WINDOW       0
-#endif
-
-/* The Park Mode's Minimum Beacon Period. */
-#ifndef HSP2_BEACON_MIN_PERIOD
-#define HSP2_BEACON_MIN_PERIOD      450
-#endif
-
-/* The Park Mode's Maximum Beacon Period. */
-#ifndef HSP2_BEACON_MAX_PERIOD
-#define HSP2_BEACON_MAX_PERIOD      500
-#endif
-
-/* The duration of the inquiry in seconds. */
-#ifndef HSP2_INQ_DURATION
-#define HSP2_INQ_DURATION           4
-#endif
-
-/* Maximum number of peer responses during an inquiry. */
-#ifndef HSP2_INQ_MAX_NUM_RESPS
-#define HSP2_INQ_MAX_NUM_RESPS      3
-#endif
-
-/* Maximum number of times to retry an inquiry prior to failure. */
-#ifndef HSP2_MAX_INQ_RETRY
-#define HSP2_MAX_INQ_RETRY          6
-#endif
-
-/* Maximum number of times to retry an RFCOMM connection prior to failure. */
-#ifndef HSP2_MAX_CONN_RETRY
-#define HSP2_MAX_CONN_RETRY         3
-#endif
-
-/* If the connect request failed for authentication reasons, do not retry */
-#ifndef HSP2_NO_RETRY_ON_AUTH_FAIL
-#define HSP2_NO_RETRY_ON_AUTH_FAIL  TRUE
-#endif
-
-/* Maximum number of characters in an HSP2 device name. */
-#ifndef HSP2_MAX_NAME_LEN
-#define HSP2_MAX_NAME_LEN           32
-#endif
-
-/* The minimum speaker and/or microphone gain setting. */
-#ifndef HSP2_MIN_GAIN
-#define HSP2_MIN_GAIN               0
-#endif
-
-/* The maximum speaker and/or microphone setting. */
-#ifndef HSP2_MAX_GAIN
-#define HSP2_MAX_GAIN               15
-#endif
-
-/* The default value to send on an AT+CKPD. */
-#ifndef HSP2_KEYPRESS_DEFAULT
-#define HSP2_KEYPRESS_DEFAULT       200
-#endif
-
-/* Maximum amount a data that can be received per RFCOMM frame. */
-#ifndef HSP2_MAX_RFC_READ_LEN
-#define HSP2_MAX_RFC_READ_LEN       128
-#endif
-
-/* The time in seconds to wait for completion of a partial AT command or response from the peer. */
-#ifndef HSP2_AT_TO_INTERVAL
-#define HSP2_AT_TO_INTERVAL         30
-#endif
-
-/* The time to wait before repeating a ring to a peer Headset. */
-#ifndef HSP2_REPEAT_RING_TO
-#define HSP2_REPEAT_RING_TO         4
-#endif
-
-/* Time to wait for a response for an AT command */
-#ifndef HSP2_AT_RSP_TO
-#define HSP2_AT_RSP_TO              20
-#endif
-
-/* SCO packet type(s) to use (bitmask: see spec), 0 - device default (recommended) */
-#ifndef HSP2_SCO_PKT_TYPES
-#define HSP2_SCO_PKT_TYPES          ((UINT16)0x0000)
-#endif
-
-/* The default settings of the SCO voice link. */
-#ifndef HSP2_DEFAULT_VOICE_SETTINGS
-#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)
-#endif
-
-#ifndef HSP2_MAX_AT_CMD_LENGTH
-#define HSP2_MAX_AT_CMD_LENGTH       16
-#endif
-
-#ifndef HSP2_MAX_AT_VAL_LENGTH
-#if (defined(HFP_INCLUDED) && HFP_INCLUDED == TRUE)
-#define HSP2_MAX_AT_VAL_LENGTH       310
-#else
-#define HSP2_MAX_AT_VAL_LENGTH       5
-#endif
-#endif
-
-
-#ifndef HSP2_SDP_DB_SIZE
-#define HSP2_SDP_DB_SIZE             300
-#endif
-
-
-/******************************************************************************
-**
-** HFP
-**
-******************************************************************************/
-
-#ifndef HFP_INCLUDED
-#define HFP_INCLUDED                FALSE
-#endif
-
-/* Include Audio Gateway specific code. */
-#ifndef HFP_AG_INCLUDED
-#define HFP_AG_INCLUDED             TRUE
-#endif
-
-/* Include Hand Free Specific Code. */
-#ifndef HFP_HF_INCLUDED
-#define HFP_HF_INCLUDED             TRUE
-#endif
-
-/* Use AT interface instead of full blown API */
-#ifndef AT_INTERFACE
-#define AT_INTERFACE            FALSE
-#endif
-
-/* HFP Manages SCO establishement for various procedures */
-#ifndef HFP_SCO_MGMT_INCLUDED
-#define HFP_SCO_MGMT_INCLUDED             TRUE
-#endif
-
-/* CCAP compliant features and behavior desired */
-#ifndef CCAP_COMPLIANCE
-#define CCAP_COMPLIANCE             TRUE
-#endif
-
-/* Caller ID string, part of +CLIP result code */
-#ifndef HFP_MAX_CLIP_INFO
-#define HFP_MAX_CLIP_INFO             45
-#endif
-
-#ifndef HFP_RPT_PEER_INFO_INCLUDED
-#define HFP_RPT_PEER_INFO_INCLUDED  TRUE  /* Reporting of peer features enabled */
-#endif
-
-/******************************************************************************
-**
-** HID
-**
-******************************************************************************/
-
-/* HID Device Role Included */
-#ifndef HID_DEV_INCLUDED
-#define HID_DEV_INCLUDED             FALSE
-#endif
-
-#ifndef HID_DEV_PM_INCLUDED
-#define HID_DEV_PM_INCLUDED         TRUE
-#endif
-
-/* The HID Device is a virtual cable */
-#ifndef HID_DEV_VIRTUAL_CABLE
-#define HID_DEV_VIRTUAL_CABLE       TRUE
-#endif
-
-/* The HID device initiates the reconnections */
-#ifndef HID_DEV_RECONN_INITIATE
-#define HID_DEV_RECONN_INITIATE     TRUE
-#endif
-
-/* THe HID device is normally connectable */
-#ifndef HID_DEV_NORMALLY_CONN
-#define HID_DEV_NORMALLY_CONN       FALSE
-#endif
-
-/* The device is battery powered */
-#ifndef HID_DEV_BATTERY_POW
-#define HID_DEV_BATTERY_POW         TRUE
-#endif
-
-/* Device is capable of waking up the host */
-#ifndef HID_DEV_REMOTE_WAKE
-#define HID_DEV_REMOTE_WAKE         TRUE
-#endif
-
-/* Device needs host to close SDP channel after SDP is over */
-#ifndef HID_DEV_SDP_DISABLE
-#define HID_DEV_SDP_DISABLE         TRUE
-#endif
-
-#ifndef HID_DEV_MTU_SIZE
-#define HID_DEV_MTU_SIZE                 64
-#endif
-
-#ifndef HID_DEV_FLUSH_TO
-#define HID_DEV_FLUSH_TO                 0xffff
-#endif
-
-#ifndef HID_DEV_PAGE_SCAN_WIN
-#define HID_DEV_PAGE_SCAN_WIN       (0)
-#endif
-
-#ifndef HID_DEV_PAGE_SCAN_INT
-#define HID_DEV_PAGE_SCAN_INT       (0)
-#endif
-
-#ifndef HID_DEV_MAX_CONN_RETRY
-#define HID_DEV_MAX_CONN_RETRY      (15)
-#endif
-
-#ifndef HID_DEV_REPAGE_WIN
-#define HID_DEV_REPAGE_WIN          (1)
-#endif
-
-#ifndef HID_DEV_SVC_NAME
-#define HID_DEV_SVC_NAME            "HID"
-#endif
-
-#ifndef HID_DEV_SVC_DESCR
-#define HID_DEV_SVC_DESCR           "3-button mouse and keyboard"
-#endif
-
-#ifndef HID_DEV_PROVIDER_NAME
-#define HID_DEV_PROVIDER_NAME       "Widcomm"
-#endif
-
-#ifndef HID_DEV_REL_NUM
-#define HID_DEV_REL_NUM             0x0100
-#endif
-
-#ifndef HID_DEV_PARSER_VER
-#define HID_DEV_PARSER_VER          0x0111
-#endif
-
-#ifndef HID_DEV_SUBCLASS
-#define HID_DEV_SUBCLASS            COD_MINOR_POINTING
-#endif
-
-#ifndef HID_DEV_COUNTRY_CODE
-#define HID_DEV_COUNTRY_CODE        0x33
-#endif
-
-#ifndef HID_DEV_SUP_TOUT
-#define HID_DEV_SUP_TOUT            0x8000
-#endif
-
-#ifndef HID_DEV_NUM_LANGS
-#define HID_DEV_NUM_LANGS           1
-#endif
-
-#ifndef HID_DEV_INACT_TIMEOUT
-#define HID_DEV_INACT_TIMEOUT       60
-#endif
-
-#ifndef HID_DEV_BUSY_MODE_PARAMS
-#define HID_DEV_BUSY_MODE_PARAMS    { 320, 160, 10, 20, HCI_MODE_ACTIVE }
-#endif
-
-#ifndef HID_DEV_IDLE_MODE_PARAMS
-#define HID_DEV_IDLE_MODE_PARAMS    { 320, 160, 10, 20, HCI_MODE_SNIFF }
-#endif
-
-#ifndef HID_DEV_SUSP_MODE_PARAMS
-#define HID_DEV_SUSP_MODE_PARAMS    { 640, 320,  0,    0, HCI_MODE_PARK }
-#endif
-
-#ifndef HID_DEV_MAX_DESCRIPTOR_SIZE
-#define HID_DEV_MAX_DESCRIPTOR_SIZE      128     /* Max descriptor size          */
-#endif
-
-#ifndef HID_DEV_LANGUAGELIST
-#define HID_DEV_LANGUAGELIST             {0x35, 0x06, 0x09, 0x04, 0x09, 0x09, 0x01, 0x00}
-#endif
-
-#ifndef HID_DEV_LINK_SUPERVISION_TO
-#define HID_DEV_LINK_SUPERVISION_TO      0x8000
-#endif
-
-#ifndef HID_CONTROL_POOL_ID
-#define HID_CONTROL_POOL_ID             2
-#endif
-
-#ifndef HID_INTERRUPT_POOL_ID
-#define HID_INTERRUPT_POOL_ID           2
-#endif
-
-#ifndef UCD_HID_INCLUDED
-#define UCD_HID_INCLUDED    FALSE
-#endif
-
-#ifndef BRR_HID_INCLUDED
-#define BRR_HID_INCLUDED    FALSE
-#endif
-
-/*************************************************************************
-** Definitions for Both HID-Host & Device
-*/
-#ifndef HID_MAX_SVC_NAME_LEN
-#define HID_MAX_SVC_NAME_LEN  32
-#endif
-
-#ifndef HID_MAX_SVC_DESCR_LEN
-#define HID_MAX_SVC_DESCR_LEN 32
-#endif
-
-#ifndef HID_MAX_PROV_NAME_LEN
-#define HID_MAX_PROV_NAME_LEN 32
-#endif
-
-/*************************************************************************
-** Definitions for HID-Host
-*/
-#ifndef  HID_HOST_INCLUDED
-#define HID_HOST_INCLUDED           FALSE
-#endif
-
-#ifndef HID_HOST_MAX_DEVICES
-#define HID_HOST_MAX_DEVICES        7
-#endif
-
-#ifndef HID_HOST_MTU
-#define HID_HOST_MTU                640
-#endif
-
-#ifndef HID_HOST_FLUSH_TO
-#define HID_HOST_FLUSH_TO                 0xffff
-#endif
-
-#ifndef HID_HOST_MAX_CONN_RETRY
-#define HID_HOST_MAX_CONN_RETRY     (15)
-#endif
-
-#ifndef HID_HOST_REPAGE_WIN
-#define HID_HOST_REPAGE_WIN          (2)
-#endif
-
-
-/******************************************************************************
-**
-** DUN and FAX
-**
-******************************************************************************/
-
-#ifndef DUN_INCLUDED
-#define DUN_INCLUDED                FALSE
-#endif
-
-
-/******************************************************************************
-**
-** GOEP
-**
-******************************************************************************/
-
-#ifndef GOEP_INCLUDED
-#define GOEP_INCLUDED               FALSE
-#endif
-
-/* This is set to enable GOEP non-blocking file system access functions. */
-#ifndef GOEP_FS_INCLUDED
-#define GOEP_FS_INCLUDED        TRUE
-#endif
-
-/* GOEP authentication key size. */
-#ifndef GOEP_MAX_AUTH_KEY_SIZE
-#define GOEP_MAX_AUTH_KEY_SIZE      16
-#endif
-
-/* Maximum size of the realm authentication string. */
-#ifndef GOEP_MAX_AUTH_REALM_SIZE
-#define GOEP_MAX_AUTH_REALM_SIZE    16
-#endif
-
-/* Realm Character Set */
-#ifndef GOEP_REALM_CHARSET
-#define GOEP_REALM_CHARSET          0       /* ASCII */
-#endif
-
-/* This is set to the maximum length of path name allowed in the system (_MAX_PATH). */
-#ifndef GOEP_MAX_PATH_SIZE
-#define GOEP_MAX_PATH_SIZE          255
-#endif
-
-/* Specifies whether or not client's user id is required during obex authentication */
-#ifndef GOEP_SERVER_USERID_REQUIRED
-#define GOEP_SERVER_USERID_REQUIRED FALSE
-#endif
-
-/* This is set to the maximum length of file name allowed in the system (_MAX_FNAME). */
-#ifndef GOEP_MAX_FILE_SIZE
-#define GOEP_MAX_FILE_SIZE          128
-#endif
-
-/* Character used as path separator */
-#ifndef GOEP_PATH_SEPARATOR
-#define GOEP_PATH_SEPARATOR         ((char) 0x5c)   /* 0x2f ('/'), or 0x5c ('\') */
-#endif
-
-/******************************************************************************
-**
-** OPP
-**
-******************************************************************************/
-
-#ifndef OPP_INCLUDED
-#define OPP_INCLUDED                FALSE
-#endif
-
-/* This is set to enable OPP client capabilities. */
-#ifndef OPP_CLIENT_INCLUDED
-#define OPP_CLIENT_INCLUDED         FALSE
-#endif
-
-/* This is set to enable OPP server capabilities. */
-#ifndef OPP_SERVER_INCLUDED
-#define OPP_SERVER_INCLUDED         FALSE
-#endif
-
-/* if the optional formating functions are to be included or not */
-#ifndef OPP_FORMAT_INCLUDED
-#define OPP_FORMAT_INCLUDED         FALSE
-#endif
-
-/* Maximum number of client sessions allowed by server */
-#ifndef OPP_MAX_SRVR_SESS
-#define OPP_MAX_SRVR_SESS           3
-#endif
-
-/******************************************************************************
-**
-** FTP
-**
-******************************************************************************/
-
-#ifndef FTP_INCLUDED
-#define FTP_INCLUDED                FALSE
-#endif
-
-/* This is set to enable FTP client capabilities. */
-#ifndef FTP_CLIENT_INCLUDED
-#define FTP_CLIENT_INCLUDED         TRUE
-#endif
-
-/* This is set to enable FTP server capabilities. */
-#ifndef FTP_SERVER_INCLUDED
-#define FTP_SERVER_INCLUDED         TRUE
-#endif
-
-/******************************************************************************
-**
-** XML Parser
-**
-******************************************************************************/
-
-#ifndef XML_STACK_SIZE
-#define XML_STACK_SIZE             7
-#endif
-
-/******************************************************************************
-**
-** BPP Printer
-**
-******************************************************************************/
-#ifndef BPP_DEBUG
-#define BPP_DEBUG            FALSE
-#endif
-
-#ifndef BPP_INCLUDED
-#define BPP_INCLUDED                FALSE
-#endif
-
-#ifndef BPP_SND_INCLUDED
-#define BPP_SND_INCLUDED            FALSE
-#endif
-
-/* Maximum number of senders allowed to connect simultaneously
-** The maximum is 6 or (OBX_NUM_SERVERS / 2), whichever is smaller
-*/
-#ifndef BPP_PR_MAX_CON
-#define BPP_PR_MAX_CON         3
-#endif
-
-/* Service Name. maximum length: 248
-#ifndef BPP_SERVICE_NAME
-#define BPP_SERVICE_NAME            "Basic Printing"
-#endif
- */
-/* Document Format Supported. ASCII comma-delimited list of MIME type:version string
-#ifndef BPP_DOC_FORMAT_SUPPORTED
-#define BPP_DOC_FORMAT_SUPPORTED    "application/vnd.pwg-xhtml-print:1.0,application/vnd.hp-PCL:5E,application/PDF"
-#endif
-
-#ifndef BPP_DOC_FORMAT_SUPPORTED_LEN
-#define BPP_DOC_FORMAT_SUPPORTED_LEN    77
-#endif
- */
-/* Character repertoires.
-#ifndef BPP_CHARACTER_REPERTOIRES
-#define BPP_CHARACTER_REPERTOIRES {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}
-#endif
- */
-/* XHTML formats.
-#ifndef BPP_XHTML_PRINT_FORMATS
-#define BPP_XHTML_PRINT_FORMATS     "image/gif:89A,image/jpeg"
-#endif
-
-#ifndef BPP_XHTML_PRINT_FORMATS_LEN
-#define BPP_XHTML_PRINT_FORMATS_LEN 24
-#endif
- */
-/* Color supported.
-#ifndef BPP_COLOR_SUPORTED
-#define BPP_COLOR_SUPORTED          FALSE
-#endif
- */
-/* 1284 ID string. First 2 bytes are the length.
-#ifndef BPP_1284ID
-#define BPP_1284ID                  "\x00\x48MANUFACTURER:ACME Manufacturing;COMMAND SET:PCL,MPL;MODEL:LaserBeam \?;"
-#endif
-
-#ifndef BPP_1284ID_LEN
-#define BPP_1284ID_LEN              72
-#endif
- */
-/* Printer name.
-#ifndef BPP_PRINTER_NAME
-#define BPP_PRINTER_NAME            "My Printer"
-#endif
-
-#ifndef BPP_PRINTER_NAME_LEN
-#define BPP_PRINTER_NAME_LEN        10
-#endif
- */
-
-/* Printer location.
-#ifndef BPP_PRINTER_LOCATION
-#define BPP_PRINTER_LOCATION        "Hotel Lobby"
-#endif
-
-#ifndef BPP_PRINTER_LOCATION_LEN
-#define BPP_PRINTER_LOCATION_LEN    11
-#endif
- */
-/* Duplex printing supported.
-#ifndef BPP_DUPLEX_SUPPORTED
-#define BPP_DUPLEX_SUPPORTED        TRUE
-#endif
- */
-
-/* Media types supported.
-#ifndef BPP_MEDIA_TYPES_SUPPORTED
-#define BPP_MEDIA_TYPES_SUPPORTED   "stationary,continuous-long,photographic-high-gloss,cardstock"
-#endif
-
-#ifndef BPP_MEDIA_TYPES_SUPPORTED_LEN
-#define BPP_MEDIA_TYPES_SUPPORTED_LEN   60
-#endif
- */
-/* Maximum media with supported.
-#ifndef BPP_MAX_MEDIA_WIDTH
-#define BPP_MAX_MEDIA_WIDTH         205
-#endif
- */
-/* Maximum media length supported.
-#ifndef BPP_MAX_MEDIA_LENGTH
-#define BPP_MAX_MEDIA_LENGTH        285
-#endif
- */
-/* the maximum string len for the media size of medium loaded */
-#ifndef BPP_MEDIA_SIZE_LEN
-#define BPP_MEDIA_SIZE_LEN          33
-#endif
-
-/* Debug Trace the SOAP object, if TRUE */
-#ifndef BPP_TRACE_XML
-#define BPP_TRACE_XML               TRUE
-#endif
-
-/* in case that the SOAP object does not all come in one OBEX packet,
- * this size of data may be kept in the BPP control block for continuing parsing.
- * The maximum is the size of the biggest GKI buffer (GKI_MAX_BUF_SIZE) */
-#ifndef BPP_SOAP_KEEP_SIZE
-#define BPP_SOAP_KEEP_SIZE          200
-#endif
-
-
-/******************************************************************************
-**
-** BIP
-**
-******************************************************************************/
-#ifndef BIP_INCLUDED
-#define BIP_INCLUDED                FALSE
-#endif
-
-/* TRUE to include imaging initiator */
-#ifndef BIP_INITR_INCLUDED
-#define BIP_INITR_INCLUDED          FALSE
-#endif
-
-/* TRUE to include imaging responder */
-#ifndef BIP_RSPDR_INCLUDED
-#define BIP_RSPDR_INCLUDED          FALSE
-#endif
-
-/* TRUE to include image push feature */
-#ifndef BIP_PUSH_INCLUDED
-#define BIP_PUSH_INCLUDED           TRUE
-#endif
-
-/* TRUE to include image pull feature */
-#ifndef BIP_PULL_INCLUDED
-#define BIP_PULL_INCLUDED           TRUE
-#endif
-
-/* TRUE to include advanced image printing feature */
-#ifndef BIP_PRINTING_INCLUDED
-#define BIP_PRINTING_INCLUDED       TRUE
-#endif
-
-/* TRUE to include automatic archive feature */
-#ifndef BIP_ARCHIVE_INCLUDED
-#define BIP_ARCHIVE_INCLUDED        TRUE
-#endif
-
-/* TRUE to include remote camera feature */
-#ifndef BIP_CAMERA_INCLUDED
-#define BIP_CAMERA_INCLUDED         TRUE
-#endif
-
-/* TRUE to include remote display feature */
-#ifndef BIP_DISPLAY_INCLUDED
-#define BIP_DISPLAY_INCLUDED        TRUE
-#endif
-
-/* TRUE to include sanity check code for API functions */
-#ifndef BIP_SANITY_CHECKS
-#define BIP_SANITY_CHECKS           TRUE
-#endif
-
-/* TRUE to show the received XML object in trace for conformance tests */
-#ifndef BIP_TRACE_XML
-#define BIP_TRACE_XML               TRUE
-#endif
-
-/* in case that the received XML object is not complete, the XML parser state machine needs
- * to keep a copy of the data from the last '<'
- * This macro specifies the maximun amount of data for this purpose */
-#ifndef BIP_XML_CARRY_OVER_LEN
-#define BIP_XML_CARRY_OVER_LEN      100
-#endif
-
-/* minimum 4, maximum is 255. The value should be set to the maximum size of encoding string + 1. JPEG2000.
- * If vendor specific format is supported, it might be bigger than 9 */
-#ifndef BIP_IMG_ENCODE_SIZE
-#define BIP_IMG_ENCODE_SIZE         9
-#endif
-
-/* MIME type: text/plain */
-#ifndef BIP_TYPE_SIZE
-#define BIP_TYPE_SIZE               20
-#endif
-
-/* example: iso-8895-1 */
-#ifndef BIP_CHARSET_SIZE
-#define BIP_CHARSET_SIZE            10
-#endif
-
-/* friendly name */
-#ifndef BIP_FNAME_SIZE
-#define BIP_FNAME_SIZE              20
-#endif
-
-/* service name */
-#ifndef BIP_SNAME_SIZE
-#define BIP_SNAME_SIZE              60
-#endif
-
-/* temporary storage file name(for file system access, may include path) */
-#ifndef BIP_TEMP_NAME_SIZE
-#define BIP_TEMP_NAME_SIZE          200
-#endif
-
-/* image file name */
-#ifndef BIP_IMG_NAME_SIZE
-#define BIP_IMG_NAME_SIZE           200
-#endif
-
-/* attachment file name */
-#ifndef BIP_ATT_NAME_SIZE
-#define BIP_ATT_NAME_SIZE           200
-#endif
-
-/* object (image, attachment, thumbnail) file name (may be used for file system) */
-#ifndef BIP_OBJ_NAME_SIZE
-#define BIP_OBJ_NAME_SIZE           200
-#endif
-
-
-
-/******************************************************************************
-**
-** HCRP
-**
-******************************************************************************/
-
-#ifndef HCRP_INCLUDED
-#define HCRP_INCLUDED               FALSE
-#endif
-
-/* This is set to enable server. */
-#ifndef HCRP_SERVER_INCLUDED
-#define HCRP_SERVER_INCLUDED       FALSE
-#endif
-
-/* This is set to enable client. */
-#ifndef HCRP_CLIENT_INCLUDED
-#define HCRP_CLIENT_INCLUDED        FALSE
-#endif
-
-/* TRUE enables the notification option of the profile. */
-#ifndef HCRP_NOTIFICATION_INCLUDED
-#define HCRP_NOTIFICATION_INCLUDED  TRUE
-#endif
-
-/* TRUE enables the vendor specific option of the profile. */
-#ifndef HCRP_VENDOR_SPEC_INCLUDED
-#define HCRP_VENDOR_SPEC_INCLUDED   TRUE
-#endif
-
-/* TRUE enables state machine traces. */
-#ifndef HCRP_FSM_DEBUG
-#define HCRP_FSM_DEBUG              FALSE
-#endif
-
-/* TRUE enables protocol message traces. */
-#ifndef HCRP_PROTO_DEBUG
-#define HCRP_PROTO_DEBUG            FALSE
-#endif
-
-/* Maximum length used to store the service name (Minimum 1). */
-#ifndef HCRP_MAX_SERVICE_NAME_LEN
-#define HCRP_MAX_SERVICE_NAME_LEN   32
-#endif
-
-/* Maximum length used to store the device name (Minimum 1). */
-#ifndef HCRP_MAX_DEVICE_NAME_LEN
-#define HCRP_MAX_DEVICE_NAME_LEN    32
-#endif
-
-/* Maximum length of device location (Minimum 1) */
-#ifndef HCRP_MAX_DEVICE_LOC_LEN
-#define HCRP_MAX_DEVICE_LOC_LEN     32
-#endif
-
-/* Maximum length used to store the friendly name (Minimum 1). */
-#ifndef HCRP_MAX_FRIENDLY_NAME_LEN
-#define HCRP_MAX_FRIENDLY_NAME_LEN  32
-#endif
-
-/* Maximum length used to store the 1284 id string (Minimum 2 byte length field). */
-#ifndef HCRP_MAX_SDP_1284_ID_LEN
-#define HCRP_MAX_SDP_1284_ID_LEN    128
-#endif
-
-/* Maximum length for parameters to be processed for vendor specific commands. */
-#ifndef HCRP_MAX_VEND_SPEC_LEN
-#define HCRP_MAX_VEND_SPEC_LEN      4
-#endif
-
-/* Number of seconds to wait for 2nd GAP to open. */
-#ifndef HCRP_OPEN_CHAN_TOUT
-#define HCRP_OPEN_CHAN_TOUT         5
-#endif
-
-/* Number of seconds to wait for 2nd GAP to close. */
-#ifndef HCRP_CLOSE_CHAN_TOUT
-#define HCRP_CLOSE_CHAN_TOUT        3
-#endif
-
-/* Number of seconds to wait for the application to respond to a protocol request. */
-#ifndef HCRP_APPL_RSP_TOUT
-#define HCRP_APPL_RSP_TOUT          5
-#endif
-
-/* Number of seconds to wait for the peer device to respond to a protocol request. */
-#ifndef HCRP_CMD_RSP_TOUT
-#define HCRP_CMD_RSP_TOUT           7
-#endif
-
-/* Number of seconds between subsequent credit requests to the server when the send watermark has been exceeded. */
-#ifndef HCRP_CREDIT_REQ_UPDATES
-#define HCRP_CREDIT_REQ_UPDATES     1
-#endif
-
-/* Maximum number of results to return in a HCRP_FindServices search. */
-#ifndef HCRP_MAX_SEARCH_RESULTS
-#define HCRP_MAX_SEARCH_RESULTS     1
-#endif
-
-/* Maximum number of bytes to be reserved for searching for the client's notification record. */
-#ifndef HCRP_MAX_NOTIF_DISC_BUF
-#define HCRP_MAX_NOTIF_DISC_BUF     300
-#endif
-
-/* Maximum number of clients the server will allow to be registered for notifications. */
-#ifndef HCRP_MAX_NOTIF_CLIENTS
-#define HCRP_MAX_NOTIF_CLIENTS      3
-#endif
-
-/* Spec says minimum of two notification retries. */
-#ifndef HCRP_NOTIF_NUM_RETRIES
-#define HCRP_NOTIF_NUM_RETRIES      4
-#endif
-
-/*************************************************************************
-** Definitions for Multi-Client Server HCRP
-** Note: Many of the above HCRP definitions are also used
-** Maximum number of clients allowed to connect simultaneously
-** Must be less than ((GAP_MAX_CONNECTIONS - 1) / 2)
-*/
-#ifndef HCRPM_MAX_CLIENTS
-#define HCRPM_MAX_CLIENTS           3
-#endif
-
-
-/******************************************************************************
-**
-** PAN
-**
-******************************************************************************/
-
-#ifndef PAN_INCLUDED
-#define PAN_INCLUDED                FALSE
-#endif
-
-
-/******************************************************************************
-**
-** SAP
-**
-******************************************************************************/
-
-#ifndef SAP_SERVER_INCLUDED
-#define SAP_SERVER_INCLUDED         FALSE
-#endif
-
-
-/*************************************************************************
- * A2DP Definitions
- */
-#ifndef A2D_INCLUDED
-#define A2D_INCLUDED            FALSE
-#endif
-
-/* TRUE to include SBC utility functions */
-#ifndef A2D_SBC_INCLUDED
-#define A2D_SBC_INCLUDED        A2D_INCLUDED
-#endif
-
-/* TRUE to include MPEG-1,2 (mp3) utility functions */
-#ifndef A2D_M12_INCLUDED
-#define A2D_M12_INCLUDED        A2D_INCLUDED
-#endif
-
-/* TRUE to include MPEG-2,4 (aac) utility functions */
-#ifndef A2D_M24_INCLUDED
-#define A2D_M24_INCLUDED        A2D_INCLUDED
-#endif
-
-/*************************************************************************
- * VDP Definitions
- */
-#ifndef VDP_INCLUDED
-#define VDP_INCLUDED            FALSE
-#endif
-
-/******************************************************************************
-**
-** AVCTP
-**
-******************************************************************************/
-
-#ifndef AVCT_INCLUDED
-#define AVCT_INCLUDED               FALSE
-#endif
-
-/* Number of simultaneous ACL links to different peer devices. */
-#ifndef AVCT_NUM_LINKS
-#define AVCT_NUM_LINKS              2
-#endif
-
-/* Number of simultaneous AVCTP connections. */
-#ifndef AVCT_NUM_CONN
-#define AVCT_NUM_CONN               3
-#endif
-
-/* TRUE to support the browsing channel. */
-#ifndef AVCT_BROWSE_INCLUDED
-#define AVCT_BROWSE_INCLUDED        TRUE
-#endif
-
-/* Pool ID where to reassemble the SDU.
-   This Pool allows buffers to be used that are larger than
-   the L2CAP_MAX_MTU. */
-#ifndef AVCT_BR_USER_RX_POOL_ID
-#define AVCT_BR_USER_RX_POOL_ID     HCI_ACL_POOL_ID
-#endif
-
-/* Pool ID where to hold the SDU.
-   This Pool allows buffers to be used that are larger than
-   the L2CAP_MAX_MTU. */
-#ifndef AVCT_BR_USER_TX_POOL_ID
-#define AVCT_BR_USER_TX_POOL_ID     HCI_ACL_POOL_ID
-#endif
-
-/*
-GKI Buffer Pool ID used to hold MPS segments during SDU reassembly
-*/
-#ifndef AVCT_BR_FCR_RX_POOL_ID
-#define AVCT_BR_FCR_RX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/*
-GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions.
-L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool.
-Note:  This pool needs to have enough buffers to hold two times the window size negotiated
- in the tL2CAP_FCR_OPTIONS (2 * tx_win_size)  to allow for retransmissions.
- The size of each buffer must be able to hold the maximum MPS segment size passed in
- tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
-*/
-#ifndef AVCT_BR_FCR_TX_POOL_ID
-#define AVCT_BR_FCR_TX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/* AVCTP Browsing channel FCR Option:
-Size of the transmission window when using enhanced retransmission mode. Not used
-in basic and streaming modes. Range: 1 - 63
-*/
-#ifndef AVCT_BR_FCR_OPT_TX_WINDOW_SIZE
-#define AVCT_BR_FCR_OPT_TX_WINDOW_SIZE      10
-#endif
-
-/* AVCTP Browsing channel FCR Option:
-Number of transmission attempts for a single I-Frame before taking
-Down the connection. Used In ERTM mode only. Value is Ignored in basic and
-Streaming modes.
-Range: 0, 1-0xFF
-0 - infinite retransmissions
-1 - single transmission
-*/
-#ifndef AVCT_BR_FCR_OPT_MAX_TX_B4_DISCNT
-#define AVCT_BR_FCR_OPT_MAX_TX_B4_DISCNT    20
-#endif
-
-/* AVCTP Browsing channel FCR Option: Retransmission Timeout
-The AVRCP specification set a value in the range of 300 - 2000 ms
-Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode.
-Range: Minimum 2000 (2 secs) when supporting PBF.
- */
-#ifndef AVCT_BR_FCR_OPT_RETX_TOUT
-#define AVCT_BR_FCR_OPT_RETX_TOUT           2000
-#endif
-
-/* AVCTP Browsing channel FCR Option: Monitor Timeout
-The AVRCP specification set a value in the range of 300 - 2000 ms
-Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode.
-Range: Minimum 12000 (12 secs) when supporting PBF.
-*/
-#ifndef AVCT_BR_FCR_OPT_MONITOR_TOUT
-#define AVCT_BR_FCR_OPT_MONITOR_TOUT        12000
-#endif
-
-/******************************************************************************
-**
-** AVRCP
-**
-******************************************************************************/
-
-#ifndef AVRC_INCLUDED
-#define AVRC_INCLUDED               FALSE
-#endif
-
-/* TRUE to support AVRCP 1.3 - Metadata. */
-#ifndef AVRC_METADATA_INCLUDED
-#define AVRC_METADATA_INCLUDED      TRUE
-#endif
-
-/* TRUE to support AVRCP 1.4 - Advanced Control. */
-#ifndef AVRC_ADV_CTRL_INCLUDED
-#define AVRC_ADV_CTRL_INCLUDED      TRUE
-#endif
-
-/******************************************************************************
-**
-** MCAP
-**
-******************************************************************************/
-#ifndef MCA_INCLUDED
-#define MCA_INCLUDED                FALSE
-#endif
-
-/* TRUE to support Clock Synchronization OpCodes */
-#ifndef MCA_SYNC_INCLUDED
-#define MCA_SYNC_INCLUDED           FALSE
-#endif
-
-/* The MTU size for the L2CAP configuration on control channel. 48 is the minimal */
-#ifndef MCA_CTRL_MTU
-#define MCA_CTRL_MTU    60
-#endif
-
-/* The maximum number of registered MCAP instances. */
-#ifndef MCA_NUM_REGS
-#define MCA_NUM_REGS    3
-#endif
-
-/* The maximum number of control channels (to difference devices) per registered MCAP instances. */
-#ifndef MCA_NUM_LINKS
-#define MCA_NUM_LINKS   3
-#endif
-
-/* The maximum number of MDEP (including HDP echo) per registered MCAP instances. */
-#ifndef MCA_NUM_DEPS
-#define MCA_NUM_DEPS    3
-#endif
-
-/* The maximum number of MDL link per control channel. */
-#ifndef MCA_NUM_MDLS
-#define MCA_NUM_MDLS    4
-#endif
-
-/* Pool ID where to reassemble the SDU. */
-#ifndef MCA_USER_RX_POOL_ID
-#define MCA_USER_RX_POOL_ID     HCI_ACL_POOL_ID
-#endif
-
-/* Pool ID where to hold the SDU. */
-#ifndef MCA_USER_TX_POOL_ID
-#define MCA_USER_TX_POOL_ID     HCI_ACL_POOL_ID
-#endif
-
-/*
-GKI Buffer Pool ID used to hold MPS segments during SDU reassembly
-*/
-#ifndef MCA_FCR_RX_POOL_ID
-#define MCA_FCR_RX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/*
-GKI Buffer Pool ID used to hold MPS segments used in (re)transmissions.
-L2CAP_DEFAULT_ERM_POOL_ID is specified to use the HCI ACL data pool.
-Note:  This pool needs to have enough buffers to hold two times the window size negotiated
- in the tL2CAP_FCR_OPTIONS (2 * tx_win_size)  to allow for retransmissions.
- The size of each buffer must be able to hold the maximum MPS segment size passed in
- tL2CAP_FCR_OPTIONS plus BT_HDR (8) + HCI preamble (4) + L2CAP_MIN_OFFSET (11 - as of BT 2.1 + EDR Spec).
-*/
-#ifndef MCA_FCR_TX_POOL_ID
-#define MCA_FCR_TX_POOL_ID      HCI_ACL_POOL_ID
-#endif
-
-/* MCAP control channel FCR Option:
-Size of the transmission window when using enhanced retransmission mode.
-1 is defined by HDP specification for control channel.
-*/
-#ifndef MCA_FCR_OPT_TX_WINDOW_SIZE
-#define MCA_FCR_OPT_TX_WINDOW_SIZE      1
-#endif
-
-/* MCAP control channel FCR Option:
-Number of transmission attempts for a single I-Frame before taking
-Down the connection. Used In ERTM mode only. Value is Ignored in basic and
-Streaming modes.
-Range: 0, 1-0xFF
-0 - infinite retransmissions
-1 - single transmission
-*/
-#ifndef MCA_FCR_OPT_MAX_TX_B4_DISCNT
-#define MCA_FCR_OPT_MAX_TX_B4_DISCNT    20
-#endif
-
-/* MCAP control channel FCR Option: Retransmission Timeout
-The AVRCP specification set a value in the range of 300 - 2000 ms
-Timeout (in msecs) to detect Lost I-Frames. Only used in Enhanced retransmission mode.
-Range: Minimum 2000 (2 secs) when supporting PBF.
- */
-#ifndef MCA_FCR_OPT_RETX_TOUT
-#define MCA_FCR_OPT_RETX_TOUT           2000
-#endif
-
-/* MCAP control channel FCR Option: Monitor Timeout
-The AVRCP specification set a value in the range of 300 - 2000 ms
-Timeout (in msecs) to detect Lost S-Frames. Only used in Enhanced retransmission mode.
-Range: Minimum 12000 (12 secs) when supporting PBF.
-*/
-#ifndef MCA_FCR_OPT_MONITOR_TOUT
-#define MCA_FCR_OPT_MONITOR_TOUT        12000
-#endif
-
-/* MCAP control channel FCR Option: Maximum PDU payload size.
-The maximum number of payload octets that the local device can receive in a single PDU.
-*/
-#ifndef MCA_FCR_OPT_MPS_SIZE
-#define MCA_FCR_OPT_MPS_SIZE            1000
-#endif
-
-/* Shared transport */
-#ifndef NFC_SHARED_TRANSPORT_ENABLED
-#define NFC_SHARED_TRANSPORT_ENABLED    FALSE
-#endif
-
-/******************************************************************************
-**
-** SER
-**
-******************************************************************************/
-
-#ifndef SER_INCLUDED
-#define SER_INCLUDED                FALSE
-#endif
-
-/* Task which runs the serial application. */
-#ifndef SER_TASK
-#define SER_TASK                    BTE_APPL_TASK
-#endif
-
-/* Mailbox used by serial application. */
-#ifndef SER_MBOX
-#define SER_MBOX                    TASK_MBOX_1
-#endif
-
-/* Mailbox mask. */
-#ifndef SER_MBOX_MASK
-#define SER_MBOX_MASK               TASK_MBOX_1_EVT_MASK
-#endif
-
-/* TX path application event. */
-#ifndef SER_TX_PATH_APPL_EVT
-#define SER_TX_PATH_APPL_EVT        EVENT_MASK(APPL_EVT_3)
-#endif
-
-/* RX path application event. */
-#ifndef SER_RX_PATH_APPL_EVT
-#define SER_RX_PATH_APPL_EVT        EVENT_MASK(APPL_EVT_4)
-#endif
-
-/******************************************************************************
-**
-** HCI Services
-**
-******************************************************************************/
-/* Event mask reserved for handling HCIS events HCISU_TASK */
-#ifndef HCISU_EVT_MASK
-#define HCISU_EVT_MASK              EVENT_MASK(APPL_EVT_0)
-#endif
-
-/* MBox reserved for handling HCIS events HCISU_TASK */
-#ifndef HCISU_MBOX
-#define HCISU_MBOX                  TASK_MBOX_2
-#endif
-
-/* MBox event mask reserved for handling HCIS events HCISU_TASK */
-#ifndef HCISU_MBOX_EVT_MASK
-#define HCISU_MBOX_EVT_MASK         TASK_MBOX_2_EVT_MASK
-#endif
-
-/* Timer reserved for handling HCIS events HCISU_TASK */
-#ifndef HCISU_TIMER
-#define HCISU_TIMER                 TIMER_2
-#endif
-
-/* Timer event mask reserved for handling HCIS events HCISU_TASK */
-#ifndef HCISU_TIMER_EVT_MASK
-#define HCISU_TIMER_EVT_MASK        TIMER_2_EVT_MASK
-#endif
-
-/******************************************************************************
-**
-** HCI UART
-**
-******************************************************************************/
-#ifndef BAUDRATE_UPDATE_ENCODED_INCLUDED
-#define BAUDRATE_UPDATE_ENCODED_INCLUDED    FALSE
-#endif
-
-/******************************************************************************
-**
-** HCI Services (H5 3 wired uart), H4 plus SLIP enabled
-**
-******************************************************************************/
-#ifndef SLIP_INCLUDED
-#define SLIP_INCLUDED                   TRUE
-#endif
-
-#ifndef SLIP_STATIS_INCLUDED
-#define SLIP_STATIS_INCLUDED            TRUE
-#endif
-
-#ifndef SLIP_SW_FLOW_CTRL
-#define SLIP_SW_FLOW_CTRL               TRUE
-#endif
-
-#ifndef BT_TRACE_SLIP
-#define BT_TRACE_SLIP                   FALSE
-#endif
-
-#ifndef SLIP_HOST_SLIDING_WINDOW_SIZE
-#define SLIP_HOST_SLIDING_WINDOW_SIZE   7
-#endif
-
-#ifndef SLIP_MAX_RETRANSMIT
-#define SLIP_MAX_RETRANSMIT             10
-#endif
-
-/* time (in ms) interval between WAKEUP messages */
-#ifndef SLIP_WAKEUP_INTERVAL
-#define SLIP_WAKEUP_INTERVAL            10
-#endif
-
-/* max trial to send WAKEUP messages up to 255 */
-#ifndef SLIP_MAX_WAKEUP_TRIAL
-#define SLIP_MAX_WAKEUP_TRIAL           10
-#endif
-
-/*
-The H5 work around sequence will be:
-
-1. controller sends CONFIG with configuration field. (This is not spec compliance.
-   Controller shall not have configuration field. This initiates work around.)
-2. host ignore the configuration field.
-3. Host sends CONFIG with configuration field.
-4. controller reponse CONFIG_RESPONSE with configuration field. This shall be the
-   final configuration both FW and STACK use. (spec compliance).
-5. Host copied the configuration field over and sent CONFIG_RESPONSE with this
-   configuration field (workaround)
-*/
-
-#ifndef SLIP_CONFIG_FIELD_WORK_AROUND_INCLUDED
-#define SLIP_CONFIG_FIELD_WORK_AROUND_INCLUDED       TRUE
-#endif
-
-/******************************************************************************
-**
-** Sleep Mode (Low Power Mode)
-**
-******************************************************************************/
-#ifndef HCILP_INCLUDED
-#define HCILP_INCLUDED                  TRUE
-#endif
-
-/* sleep mode
-
-    0: disable
-    1: UART with Host wake/BT wake out of band signals
-    4: H4IBSS, UART with in band signal without Host/BT wake
-    9: H5 with in band signal of SLIP without Host/BT wake
-*/
-#ifndef HCILP_SLEEP_MODE
-#define HCILP_SLEEP_MODE                (0)
-#endif
-
-/* Host Stack Idle Threshold in 300ms or 25ms, it depends on controller
-
-  In sleep mode 1, this is the number of firmware loops executed with no activity
-    before the Host wake line is deasserted. Activity includes HCI traffic excluding
-    certain sleep mode commands and the presence of SCO connections if the
-    "Allow Host Sleep During SCO" flag is not set to 1. Each count of this
-    parameter is roughly equivalent to 300ms or 25ms.
-
-  Not applicable for sleep mode 4(H4IBSS) and 9(H5)
-*/
-#ifndef HCILP_IDLE_THRESHOLD
-#define HCILP_IDLE_THRESHOLD             (1)
-#endif
-
-/* Host Controller Idle Threshold in 300ms or 25ms, it depends on controller
-
-    This is the number of firmware loops executed with no activity before the HC is
-    considered idle. Depending on the mode, HC may then attempt to sleep.
-    Activity includes HCI traffic excluding certain sleep mode commands and
-    the presence of ACL/SCO connections.
-
-  Not applicable for sleep mode 4(H4IBSS)
-*/
-#ifndef HCILP_HC_IDLE_THRESHOLD
-#define HCILP_HC_IDLE_THRESHOLD          (1)
-#endif
-
-/* GPIO for BT_WAKE signal */
-/* Not applicable for sleep mode 4(H4IBSS) and 9(H5) */
-#ifndef HCILP_BT_WAKE_GPIO
-#define HCILP_BT_WAKE_GPIO              UPIO_GENERAL1
-#endif
-
-/* GPIO for HOST_WAKE signal */
-/* Not applicable for sleep mode 4(H4IBSS) and 9(H5) */
-#ifndef HCILP_HOST_WAKE_GPIO
-#define HCILP_HOST_WAKE_GPIO            UPIO_GENERAL2
-#endif
-
-/* BT_WAKE Polarity - 0=Active Low, 1= Active High */
-/* Not applicable for sleep mode 4(H4IBSS) and 9(H5) */
-#ifndef HCILP_BT_WAKE_POLARITY
-#define HCILP_BT_WAKE_POLARITY          0
-#endif
-
-/* HOST_WAKE Polarity - 0=Active Low, 1= Active High */
-/* Not applicable for sleep mode 4(H4IBSS) and 9(H5) */
-#ifndef HCILP_HOST_WAKE_POLARITY
-#define HCILP_HOST_WAKE_POLARITY        0
-#endif
-
-/* HCILP_ALLOW_HOST_SLEEP_DURING_SCO
-
-    When this flag is set to 0, the host is not allowed to sleep while
-    an SCO is active. In sleep mode 1, the device will keep the host
-    wake line asserted while an SCO is active.
-    When this flag is set to 1, the host can sleep while an SCO is active.
-    This flag should only be set to 1 if SCO traffic is directed to the PCM interface.
-
-    Not applicable for sleep mode 4(H4IBSS) and 9(H5)
-*/
-#ifndef HCILP_ALLOW_HOST_SLEEP_DURING_SCO
-#define HCILP_ALLOW_HOST_SLEEP_DURING_SCO       1
-#endif
-
-/* HCILP_COMBINE_SLEEP_MODE_AND_LPM
-
-    In Mode 0, always set byte 7 to 0. In sleep mode 1, device always
-    requires permission to sleep between scans / periodic inquiries regardless
-    of the setting of this byte. In sleep mode 1, if byte is set, device must
-    have "permission" to sleep during the low power modes of sniff, hold, and park.
-    If byte is not set, device can sleep without permission during these modes.
-    Permission to sleep in Mode 1 is obtained if the BT_WAKE signal is not asserted.
-
-    Not applicable for sleep mode 4(H4IBSS) and 9(H5)
-*/
-#ifndef HCILP_COMBINE_SLEEP_MODE_AND_LPM
-#define HCILP_COMBINE_SLEEP_MODE_AND_LPM        1
-#endif
-
-/* HCILP_ENABLE_UART_TXD_TRI_STATE
-
-    When set to 0, the device will not tristate its UART TX line before going to sleep.
-    When set to 1, the device will tristate its UART TX line before going to sleep.
-
-    Not applicable for sleep mode 4(H4IBSS) and 9(H5)
-*/
-#ifndef HCILP_ENABLE_UART_TXD_TRI_STATE
-#define HCILP_ENABLE_UART_TXD_TRI_STATE        0
-#endif
-
-/* HCILP_PULSED_HOST_WAKE
-
-    Not applicable for sleep mode 4(H4IBSS) and 9(H5)
-*/
-#ifndef HCILP_PULSED_HOST_WAKE
-#define HCILP_PULSED_HOST_WAKE        0
-#endif
-
-/* HCILP_SLEEP_GUARD_TIME
-
-    Only for sleep mode 4(H4IBSS)
-    Time in 12.5ms between starting to monitor controller's CTS and raising its RTS
-*/
-#ifndef HCILP_SLEEP_GUARD_TIME
-#define HCILP_SLEEP_GUARD_TIME                 5
-#endif
-
-/* HCILP_WAKEUP_GUARD_TIME
-
-    Only for sleep mode 4(H4IBSS)
-    Time in 12.5ms between starting to monitor controller's CTS and lowering its RTS
-*/
-#ifndef HCILP_WAKEUP_GUARD_TIME
-#define HCILP_WAKEUP_GUARD_TIME                 5
-#endif
-
-/* HCILP_TXD_CONFIG
-
-    Only for sleep mode 4(H4IBSS)
-    0: controller's TXD stays low in sleep mode
-    1: controller's TXD stays high in sleep mode (default)
-*/
-#ifndef HCILP_TXD_CONFIG
-#define HCILP_TXD_CONFIG                        1
-#endif
-
-/* HCILP_BT_WAKE_IDLE_TIMEOUT
-
-    host's idle time in ms before initiating sleep procedure
-*/
-#ifndef HCILP_BT_WAKE_IDLE_TIMEOUT
-#define HCILP_BT_WAKE_IDLE_TIMEOUT              50
-#endif
-
-#ifndef H4IBSS_INCLUDED
-#define H4IBSS_INCLUDED                 FALSE  /* !!!! Android must use FALSE */
-#endif
-
-/* display H4IBSS state and event in text */
-#ifndef H4IBSS_DEBUG
-#define H4IBSS_DEBUG                    TRUE
-#endif
-
-/* time interval before going into sleep after having sent or received SLEEP_REQ_ACK */
-/* Valid range is 20 - 50 ms */
-#ifndef H4IBSS_SLEEP_GUARD_TIME
-#define H4IBSS_SLEEP_GUARD_TIME         (40)
-#endif
-
-/* timeout(msec) to wait for response of sleep request */
-#ifndef H4IBSS_SLEEP_REQ_RESP_TIME
-#define H4IBSS_SLEEP_REQ_RESP_TIME      (50)
-#endif
-
-/******************************************************************************
-**
-** RPC
-**
-******************************************************************************/
-
-#ifndef RPC_INCLUDED
-#define RPC_INCLUDED                FALSE
-#endif
-
-/* RPCT task mailbox ID for messages coming from rpcgen code. */
-#ifndef RPCT_MBOX
-#define RPCT_MBOX                   TASK_MBOX_0
-#endif
-
-/* RPCT task event for mailbox. */
-#ifndef RPCT_RPC_MBOX_EVT
-#define RPCT_RPC_MBOX_EVT           TASK_MBOX_0_EVT_MASK
-#endif
-
-/* RPCT task event from driver indicating RX data is ready. */
-#ifndef RPCT_RX_READY_EVT
-#define RPCT_RX_READY_EVT           APPL_EVT_0
-#endif
-
-/* RPCT task event from driver indicating data TX is done. */
-#ifndef RPCT_TX_DONE_EVT
-#define RPCT_TX_DONE_EVT            APPL_EVT_1
-#endif
-
-/* RPCT task event indicating data is in the circular buffer. */
-#ifndef RPCT_UCBUF_EVT
-#define RPCT_UCBUF_EVT              APPL_EVT_2
-#endif
-
-/* Task ID of RPCGEN task. */
-#ifndef RPCGEN_TASK
-#define RPCGEN_TASK                 BTU_TASK
-#endif
-
-/* RPCGEN task event for messages coming from RPCT. */
-#ifndef RPCGEN_MSG_EVT
-#define RPCGEN_MSG_EVT              TASK_MBOX_1_EVT_MASK
-#endif
-
-#ifndef RPCGEN_MSG_MBOX
-#define RPCGEN_MSG_MBOX             TASK_MBOX_1
-#endif
-
-/* Size of circular buffer used to store diagnostic messages. */
-#ifndef RPCT_UCBUF_SIZE
-#define RPCT_UCBUF_SIZE             2000
-#endif
-
-/******************************************************************************
-**
-** SAP - Sample ICP and HSP applications
-**
-******************************************************************************/
-
-#ifndef SAP_INCLUDED
-#define SAP_INCLUDED                FALSE
-#endif
-
-#ifndef ICA_INCLUDED
-#define ICA_INCLUDED                FALSE
-#endif
-
-#ifndef HSA_HS_INCLUDED
-#define HSA_HS_INCLUDED             FALSE
-#endif
-
-#ifndef HSA_AG_INCLUDED
-#define HSA_AG_INCLUDED             FALSE
-#endif
-
-#ifndef MMI_INCLUDED
-#define MMI_INCLUDED                FALSE
-#endif
-
-/* MMI task event from driver indicating RX data is ready. */
-#ifndef MMI_RX_READY_EVT
-#define MMI_RX_READY_EVT           APPL_EVT_0
-#endif
-
-/******************************************************************************
-**
-** APPL - Application Task
-**
-******************************************************************************/
-/* When TRUE indicates that an application task is to be run */
-#ifndef APPL_INCLUDED
-#define APPL_INCLUDED                FALSE
-#endif
-
-/* When TRUE remote terminal code included (RPC MUST be included) */
-#ifndef RSI_INCLUDED
-#define RSI_INCLUDED                FALSE
-#endif
-
-
-
-#define L2CAP_FEATURE_REQ_ID      73
-#define L2CAP_FEATURE_RSP_ID     173
-
-
-#define L2CAP_ENHANCED_FEATURES   0
-
-
-
-/* Use gki_delay for patch ram */
-#ifndef BRCM_USE_DELAY
-#if ( SLIP_INCLUDED == TRUE )
-/* H5 need to be initialized after sending download mini driver HCI command */
-#define BRCM_USE_DELAY           FALSE
-#else
-#define BRCM_USE_DELAY           TRUE
-#endif
-#endif
-
-/******************************************************************************
-**
-** BTA
-**
-******************************************************************************/
-/* BTA EIR canned UUID list (default is dynamic) */
-#ifndef BTA_EIR_CANNED_UUID_LIST
-#define BTA_EIR_CANNED_UUID_LIST FALSE
-#endif
-
-/* Number of supported customer UUID in EIR */
-#ifndef BTA_EIR_SERVER_NUM_CUSTOM_UUID
-#define BTA_EIR_SERVER_NUM_CUSTOM_UUID     8
-#endif
-
-/* MIP A2DP Feature enabled */
-#ifndef BTA_MIP_INCLUDED
-#define BTA_MIP_INCLUDED   FALSE
-#endif
-
-/* No 3D sync profile debug by default */
-#ifndef BTA_3DS_DEBUG
-#define BTA_3DS_DEBUG FALSE
-#endif
-/******************************************************************************
-**
-** BTE
-**
-******************************************************************************/
-#ifndef BTE_PLATFORM_IDLE
-#define BTE_PLATFORM_IDLE
-#endif
-
-#ifndef BTE_IDLE_TASK_INCLUDED
-#define BTE_IDLE_TASK_INCLUDED TRUE
-#endif
-
-#ifndef BTE_PLATFORM_INITHW
-#define BTE_PLATFORM_INITHW
-#endif
-
-#ifndef BTE_BTA_CODE_INCLUDED
-#define BTE_BTA_CODE_INCLUDED FALSE
-#endif
-
-
-/******************************************************************************
-**
-** BTTRC
-**
-******************************************************************************/
-/* Whether to parse and display traces-> Platform specific implementation */
-#ifndef BTTRC_DISP
-#define BTTRC_DISP        BTTRC_DispOnInsight
-#endif
-
-/******************************************************************************
-**
-** Tracing:  Include trace header file here.
-**
-******************************************************************************/
-
-#include "bt_trace.h"
-
-#endif /* BT_TARGET_H */
diff --git a/src/include/btu_api.h b/src/include/btu_api.h
deleted file mode 100644
index 83c7d87..0000000
--- a/src/include/btu_api.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 1999-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-#ifndef BTU_API_H
-#define BTU_API_H
-#endif /* BTU_APU_H */
diff --git a/src/include/dyn_mem.h b/src/include/dyn_mem.h
deleted file mode 100644
index 9e605d5..0000000
--- a/src/include/dyn_mem.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 1999-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-#ifndef DYN_MEM_H
-#define DYN_MEM_H
-
-/****************************************************************************
-** Define memory usage for GKI (if not defined in buildcfg.h)
-**  The default for GKI is to use static memory allocation for its control
-**  block.
-*/
-#ifndef GKI_DYNAMIC_MEMORY
-#define GKI_DYNAMIC_MEMORY  FALSE
-#endif
-
-/****************************************************************************
-** Define memory usage for each CORE component (if not defined in buildcfg.h)
-**  The default for each component is to use static memory allocations.
-*/
-#ifndef BTU_DYNAMIC_MEMORY
-#define BTU_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef BTM_DYNAMIC_MEMORY
-#define BTM_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef SDP_DYNAMIC_MEMORY
-#define SDP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef L2C_DYNAMIC_MEMORY
-#define L2C_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef A2MP_DYNAMIC_MEMORY
-#define A2MP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef RFC_DYNAMIC_MEMORY
-#define RFC_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef TCS_DYNAMIC_MEMORY
-#define TCS_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef OBX_DYNAMIC_MEMORY
-#define OBX_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef BNEP_DYNAMIC_MEMORY
-#define BNEP_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef AVDT_DYNAMIC_MEMORY
-#define AVDT_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef AVCT_DYNAMIC_MEMORY
-#define AVCT_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef MCA_DYNAMIC_MEMORY
-#define MCA_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef GATT_DYNAMIC_MEMORY
-#define GATT_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef SMP_DYNAMIC_MEMORY
-#define SMP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef BRCM_DYNAMIC_MEMORY
-#define BRCM_DYNAMIC_MEMORY  FALSE
-#endif
-
-/****************************************************************************
-** Define memory usage for each PROFILE component (if not defined in buildcfg.h)
-**  The default for each component is to use static memory allocations.
-*/
-#ifndef A2D_DYNAMIC_MEMORY
-#define A2D_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef VDP_DYNAMIC_MEMORY
-#define VDP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef AVRC_DYNAMIC_MEMORY
-#define AVRC_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef BIP_DYNAMIC_MEMORY
-#define BIP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef BPP_DYNAMIC_MEMORY
-#define BPP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef CTP_DYNAMIC_MEMORY
-#define CTP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef DUN_DYNAMIC_MEMORY
-#define DUN_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef FTP_DYNAMIC_MEMORY
-#define FTP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef GAP_DYNAMIC_MEMORY
-#define GAP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef GOEP_DYNAMIC_MEMORY
-#define GOEP_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef HCRP_DYNAMIC_MEMORY
-#define HCRP_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef HFP_DYNAMIC_MEMORY
-#define HFP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef HID_DYNAMIC_MEMORY
-#define HID_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef HSP2_DYNAMIC_MEMORY
-#define HSP2_DYNAMIC_MEMORY FALSE
-#endif
-
-#ifndef ICP_DYNAMIC_MEMORY
-#define ICP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef OPP_DYNAMIC_MEMORY
-#define OPP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef PAN_DYNAMIC_MEMORY
-#define PAN_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef SPP_DYNAMIC_MEMORY
-#define SPP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef SLIP_DYNAMIC_MEMORY
-#define SLIP_DYNAMIC_MEMORY  FALSE
-#endif
-
-#ifndef LLCP_DYNAMIC_MEMORY
-#define LLCP_DYNAMIC_MEMORY  FALSE
-#endif
-
-/****************************************************************************
-** Define memory usage for BTA (if not defined in buildcfg.h)
-**  The default for each component is to use static memory allocations.
-*/
-#ifndef BTA_DYNAMIC_MEMORY
-#define BTA_DYNAMIC_MEMORY FALSE
-#endif
-
-/****************************************************************************
-** Define memory usage for BT Trace (if not defined in buildcfg.h)
-**  The default is to use static memory allocations.
-*/
-#ifndef BTTRC_DYNAMIC_MEMORY
-#define BTTRC_DYNAMIC_MEMORY FALSE
-#endif
-
-#endif  /* #ifdef DYN_MEM_H */
diff --git a/src/include/hcidefs.h b/src/include/hcidefs.h
deleted file mode 100644
index 1cb8e49..0000000
--- a/src/include/hcidefs.h
+++ /dev/null
@@ -1,2606 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 1999-2013 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-#ifndef HCIDEFS_H
-#define HCIDEFS_H
-
-#define HCI_PROTO_VERSION     0x01      /* Version for BT spec 1.1          */
-#define HCI_PROTO_VERSION_1_2 0x02      /* Version for BT spec 1.2          */
-#define HCI_PROTO_VERSION_2_0 0x03      /* Version for BT spec 2.0          */
-#define HCI_PROTO_VERSION_2_1 0x04      /* Version for BT spec 2.1 [Lisbon] */
-#define HCI_PROTO_VERSION_3_0 0x05      /* Version for BT spec 3.0          */
-#define HCI_PROTO_REVISION    0x000C    /* Current implementation version   */
-/*
-**  Definitions for HCI groups
-*/
-#define HCI_GRP_LINK_CONTROL_CMDS       (0x01 << 10)            /* 0x0400 */
-#define HCI_GRP_LINK_POLICY_CMDS        (0x02 << 10)            /* 0x0800 */
-#define HCI_GRP_HOST_CONT_BASEBAND_CMDS (0x03 << 10)            /* 0x0C00 */
-#define HCI_GRP_INFORMATIONAL_PARAMS    (0x04 << 10)            /* 0x1000 */
-#define HCI_GRP_STATUS_PARAMS           (0x05 << 10)            /* 0x1400 */
-#define HCI_GRP_TESTING_CMDS            (0x06 << 10)            /* 0x1800 */
-
-#define HCI_GRP_VENDOR_SPECIFIC         (0x3F << 10)            /* 0xFC00 */
-
-/* Group occupies high 6 bits of the HCI command rest is opcode itself */
-#define HCI_OGF(p)  (UINT8)((0xFC00 & (p)) >> 10)
-#define HCI_OCF(p)  ( 0x3FF & (p))
-
-/*
-**  Definitions for Link Control Commands
-*/
-/* Following opcode is used only in command complete event for flow control */
-#define HCI_COMMAND_NONE                0x0000
-
-/* Commands of HCI_GRP_LINK_CONTROL_CMDS group */
-#define HCI_INQUIRY                     (0x0001 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_INQUIRY_CANCEL              (0x0002 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_PERIODIC_INQUIRY_MODE       (0x0003 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_EXIT_PERIODIC_INQUIRY_MODE  (0x0004 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_CREATE_CONNECTION           (0x0005 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_DISCONNECT                  (0x0006 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ADD_SCO_CONNECTION          (0x0007 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_CREATE_CONNECTION_CANCEL    (0x0008 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ACCEPT_CONNECTION_REQUEST   (0x0009 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_REJECT_CONNECTION_REQUEST   (0x000A | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_LINK_KEY_REQUEST_REPLY      (0x000B | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_LINK_KEY_REQUEST_NEG_REPLY  (0x000C | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_PIN_CODE_REQUEST_REPLY      (0x000D | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_PIN_CODE_REQUEST_NEG_REPLY  (0x000E | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_CHANGE_CONN_PACKET_TYPE     (0x000F | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_AUTHENTICATION_REQUESTED    (0x0011 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_SET_CONN_ENCRYPTION         (0x0013 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_CHANGE_CONN_LINK_KEY        (0x0015 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_MASTER_LINK_KEY             (0x0017 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_RMT_NAME_REQUEST            (0x0019 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_RMT_NAME_REQUEST_CANCEL     (0x001A | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_READ_RMT_FEATURES           (0x001B | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_READ_RMT_EXT_FEATURES       (0x001C | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_READ_RMT_VERSION_INFO       (0x001D | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_READ_RMT_CLOCK_OFFSET       (0x001F | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_READ_LMP_HANDLE             (0x0020 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_SETUP_ESCO_CONNECTION       (0x0028 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ACCEPT_ESCO_CONNECTION      (0x0029 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_REJECT_ESCO_CONNECTION      (0x002A | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_IO_CAPABILITY_RESPONSE      (0x002B | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_USER_CONF_REQUEST_REPLY     (0x002C | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_USER_CONF_VALUE_NEG_REPLY   (0x002D | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_USER_PASSKEY_REQ_REPLY      (0x002E | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_USER_PASSKEY_REQ_NEG_REPLY  (0x002F | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_REM_OOB_DATA_REQ_REPLY      (0x0030 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_REM_OOB_DATA_REQ_NEG_REPLY  (0x0033 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_IO_CAP_REQ_NEG_REPLY        (0x0034 | HCI_GRP_LINK_CONTROL_CMDS)
-
-/* AMP HCI */
-#define HCI_CREATE_PHYSICAL_LINK        (0x0035 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ACCEPT_PHYSICAL_LINK        (0x0036 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_DISCONNECT_PHYSICAL_LINK    (0x0037 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_CREATE_LOGICAL_LINK         (0x0038 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ACCEPT_LOGICAL_LINK         (0x0039 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_DISCONNECT_LOGICAL_LINK     (0x003A | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_LOGICAL_LINK_CANCEL         (0x003B | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_FLOW_SPEC_MODIFY            (0x003C | HCI_GRP_LINK_CONTROL_CMDS)
-/* End of AMP HCI */
-
-#define HCI_ENH_SETUP_ESCO_CONNECTION   (0x003D | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_ENH_ACCEPT_ESCO_CONNECTION  (0x003E | HCI_GRP_LINK_CONTROL_CMDS)
-
-/* ConnectionLess Broadcast */
-#define HCI_TRUNCATED_PAGE              (0x003F | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_TRUNCATED_PAGE_CANCEL       (0x0040 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_SET_CLB                     (0x0041 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_RECEIVE_CLB                 (0x0042 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_START_SYNC_TRAIN            (0x0043 | HCI_GRP_LINK_CONTROL_CMDS)
-#define HCI_RECEIVE_SYNC_TRAIN          (0x0044 | HCI_GRP_LINK_CONTROL_CMDS)
-
-#define HCI_LINK_CTRL_CMDS_FIRST        HCI_INQUIRY
-#define HCI_LINK_CTRL_CMDS_LAST         HCI_RECEIVE_SYNC_TRAIN
-
-/* Commands of HCI_GRP_LINK_POLICY_CMDS */
-#define HCI_HOLD_MODE                   (0x0001 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_SNIFF_MODE                  (0x0003 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_EXIT_SNIFF_MODE             (0x0004 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_PARK_MODE                   (0x0005 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_EXIT_PARK_MODE              (0x0006 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_QOS_SETUP                   (0x0007 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_ROLE_DISCOVERY              (0x0009 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_SWITCH_ROLE                 (0x000B | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_READ_POLICY_SETTINGS        (0x000C | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_WRITE_POLICY_SETTINGS       (0x000D | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_READ_DEF_POLICY_SETTINGS    (0x000E | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_WRITE_DEF_POLICY_SETTINGS   (0x000F | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_FLOW_SPECIFICATION          (0x0010 | HCI_GRP_LINK_POLICY_CMDS)
-#define HCI_SNIFF_SUB_RATE              (0x0011 | HCI_GRP_LINK_POLICY_CMDS)
-
-#define HCI_LINK_POLICY_CMDS_FIRST      HCI_HOLD_MODE
-#define HCI_LINK_POLICY_CMDS_LAST       HCI_SNIFF_SUB_RATE
-
-
-/* Commands of HCI_GRP_HOST_CONT_BASEBAND_CMDS */
-#define HCI_SET_EVENT_MASK              (0x0001 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_RESET                       (0x0003 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_EVENT_FILTER            (0x0005 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_FLUSH                       (0x0008 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PIN_TYPE               (0x0009 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PIN_TYPE              (0x000A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_CREATE_NEW_UNIT_KEY         (0x000B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_GET_MWS_TRANS_LAYER_CFG     (0x000C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_STORED_LINK_KEY        (0x000D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_STORED_LINK_KEY       (0x0011 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_DELETE_STORED_LINK_KEY      (0x0012 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_CHANGE_LOCAL_NAME           (0x0013 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_LOCAL_NAME             (0x0014 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_CONN_ACCEPT_TOUT       (0x0015 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_CONN_ACCEPT_TOUT      (0x0016 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PAGE_TOUT              (0x0017 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PAGE_TOUT             (0x0018 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_SCAN_ENABLE            (0x0019 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_SCAN_ENABLE           (0x001A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PAGESCAN_CFG           (0x001B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PAGESCAN_CFG          (0x001C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_INQUIRYSCAN_CFG        (0x001D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_INQUIRYSCAN_CFG       (0x001E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_AUTHENTICATION_ENABLE  (0x001F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_AUTHENTICATION_ENABLE (0x0020 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_ENCRYPTION_MODE        (0x0021 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_ENCRYPTION_MODE       (0x0022 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_CLASS_OF_DEVICE        (0x0023 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_CLASS_OF_DEVICE       (0x0024 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_VOICE_SETTINGS         (0x0025 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_VOICE_SETTINGS        (0x0026 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_AUTO_FLUSH_TOUT        (0x0027 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_AUTO_FLUSH_TOUT       (0x0028 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_NUM_BCAST_REXMITS      (0x0029 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_NUM_BCAST_REXMITS     (0x002A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_HOLD_MODE_ACTIVITY     (0x002B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_HOLD_MODE_ACTIVITY    (0x002C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_TRANSMIT_POWER_LEVEL   (0x002D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_SCO_FLOW_CTRL_ENABLE   (0x002E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_SCO_FLOW_CTRL_ENABLE  (0x002F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_HC_TO_HOST_FLOW_CTRL    (0x0031 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_HOST_BUFFER_SIZE            (0x0033 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_HOST_NUM_PACKETS_DONE       (0x0035 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_LINK_SUPER_TOUT        (0x0036 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_LINK_SUPER_TOUT       (0x0037 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_NUM_SUPPORTED_IAC      (0x0038 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_CURRENT_IAC_LAP        (0x0039 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_CURRENT_IAC_LAP       (0x003A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PAGESCAN_PERIOD_MODE   (0x003B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PAGESCAN_PERIOD_MODE  (0x003C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PAGESCAN_MODE          (0x003D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PAGESCAN_MODE         (0x003E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_AFH_CHANNELS            (0x003F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-
-#define HCI_READ_INQSCAN_TYPE           (0x0042 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_INQSCAN_TYPE          (0x0043 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_INQUIRY_MODE           (0x0044 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_INQUIRY_MODE          (0x0045 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_PAGESCAN_TYPE          (0x0046 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_PAGESCAN_TYPE         (0x0047 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_AFH_ASSESSMENT_MODE    (0x0048 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_AFH_ASSESSMENT_MODE   (0x0049 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_EXT_INQ_RESPONSE       (0x0051 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_EXT_INQ_RESPONSE      (0x0052 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_REFRESH_ENCRYPTION_KEY      (0x0053 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_SIMPLE_PAIRING_MODE    (0x0055 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_SIMPLE_PAIRING_MODE   (0x0056 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_LOCAL_OOB_DATA         (0x0057 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_INQ_TX_POWER_LEVEL     (0x0058 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_INQ_TX_POWER_LEVEL    (0x0059 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_ERRONEOUS_DATA_RPT     (0x005A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_ERRONEOUS_DATA_RPT    (0x005B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_ENHANCED_FLUSH              (0x005F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SEND_KEYPRESS_NOTIF         (0x0060 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-
-#define HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT    (0x0061 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT   (0x0062 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_EVENT_MASK_PAGE_2               (0x0063 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_LOCATION_DATA                  (0x0064 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_LOCATION_DATA                 (0x0065 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_FLOW_CONTROL_MODE              (0x0066 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_FLOW_CONTROL_MODE             (0x0067 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_BE_FLUSH_TOUT                  (0x0069 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_BE_FLUSH_TOUT                 (0x006A | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SHORT_RANGE_MODE                    (0x006B | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_LE_HOST_SUPPORTED              (0x006C | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_LE_HOST_SUPPORTED             (0x006D | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-
-
-/* MWS coexistence */
-#define HCI_SET_MWS_CHANNEL_PARAMETERS          (0x006E | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_EXTERNAL_FRAME_CONFIGURATION    (0x006F | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_MWS_SIGNALING                   (0x0070 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_MWS_TRANSPORT_LAYER             (0x0071 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_MWS_SCAN_FREQUENCY_TABLE        (0x0072 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_SET_MWS_PATTERN_CONFIGURATION       (0x0073 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-
-/* ConnectionLess Broadcast */
-#define HCI_SET_RESERVED_LT_ADDR                (0x0074 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_DELETE_RESERVED_LT_ADDR             (0x0075 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_CLB_DATA                      (0x0076 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_READ_SYNC_TRAIN_PARAM               (0x0077 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-#define HCI_WRITE_SYNC_TRAIN_PARAM              (0x0078 | HCI_GRP_HOST_CONT_BASEBAND_CMDS)
-
-
-#define HCI_CONT_BASEBAND_CMDS_FIRST    HCI_SET_EVENT_MASK
-#define HCI_CONT_BASEBAND_CMDS_LAST     HCI_READ_SYNC_TRAIN_PARAM
-
-
-/* Commands of HCI_GRP_INFORMATIONAL_PARAMS group */
-#define HCI_READ_LOCAL_VERSION_INFO     (0x0001 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_LOCAL_SUPPORTED_CMDS   (0x0002 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_LOCAL_FEATURES         (0x0003 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_LOCAL_EXT_FEATURES     (0x0004 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_BUFFER_SIZE            (0x0005 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_COUNTRY_CODE           (0x0007 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_BD_ADDR                (0x0009 | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_DATA_BLOCK_SIZE        (0x000A | HCI_GRP_INFORMATIONAL_PARAMS)
-#define HCI_READ_LOCAL_SUPPORTED_CODECS (0x000B | HCI_GRP_INFORMATIONAL_PARAMS)
-
-
-#define HCI_INFORMATIONAL_CMDS_FIRST    HCI_READ_LOCAL_VERSION_INFO
-#define HCI_INFORMATIONAL_CMDS_LAST     HCI_READ_LOCAL_SUPPORTED_CODECS
-
-
-/* Commands of HCI_GRP_STATUS_PARAMS group */
-#define HCI_READ_FAILED_CONTACT_COUNT   (0x0001 | HCI_GRP_STATUS_PARAMS)
-#define HCI_RESET_FAILED_CONTACT_COUNT  (0x0002 | HCI_GRP_STATUS_PARAMS)
-#define HCI_GET_LINK_QUALITY            (0x0003 | HCI_GRP_STATUS_PARAMS)
-#define HCI_READ_RSSI                   (0x0005 | HCI_GRP_STATUS_PARAMS)
-#define HCI_READ_AFH_CH_MAP             (0x0006 | HCI_GRP_STATUS_PARAMS)
-#define HCI_READ_CLOCK                  (0x0007 | HCI_GRP_STATUS_PARAMS)
-#define HCI_READ_ENCR_KEY_SIZE          (0x0008 | HCI_GRP_STATUS_PARAMS)
-
-/* AMP HCI */
-#define HCI_READ_LOCAL_AMP_INFO         (0x0009 | HCI_GRP_STATUS_PARAMS)
-#define HCI_READ_LOCAL_AMP_ASSOC        (0x000A | HCI_GRP_STATUS_PARAMS)
-#define HCI_WRITE_REMOTE_AMP_ASSOC      (0x000B | HCI_GRP_STATUS_PARAMS)
-
-/* CSA4 (Trigger Clock) */
-#define HCI_SET_TRIGGERED_CLOCK_CAPTURE (0x000D | HCI_GRP_STATUS_PARAMS)
-
-#define HCI_STATUS_PARAMS_CMDS_FIRST    HCI_READ_FAILED_CONTACT_COUNT
-#define HCI_STATUS_PARAMS_CMDS_LAST     HCI_SET_TRIGGERED_CLOCK_CAPTURE
-
-/* Commands of HCI_GRP_TESTING_CMDS group */
-#define HCI_READ_LOOPBACK_MODE          (0x0001 | HCI_GRP_TESTING_CMDS)
-#define HCI_WRITE_LOOPBACK_MODE         (0x0002 | HCI_GRP_TESTING_CMDS)
-#define HCI_ENABLE_DEV_UNDER_TEST_MODE  (0x0003 | HCI_GRP_TESTING_CMDS)
-#define HCI_WRITE_SIMP_PAIR_DEBUG_MODE  (0x0004 | HCI_GRP_TESTING_CMDS)
-
-/* AMP HCI */
-#define HCI_ENABLE_AMP_RCVR_REPORTS     (0x0007 | HCI_GRP_TESTING_CMDS)
-#define HCI_AMP_TEST_END                (0x0008 | HCI_GRP_TESTING_CMDS)
-#define HCI_AMP_TEST                    (0x0009 | HCI_GRP_TESTING_CMDS)
-
-#define HCI_TESTING_CMDS_FIRST          HCI_READ_LOOPBACK_MODE
-#define HCI_TESTING_CMDS_LAST           HCI_AMP_TEST
-
-#define HCI_VENDOR_CMDS_FIRST           0x0001
-#define HCI_VENDOR_CMDS_LAST            0xFFFF
-#define HCI_VSC_MULTI_AV_HANDLE         0x0AAA
-#define HCI_VSC_BURST_MODE_HANDLE       0x0BBB
-
-/* BLE HCI */
-#define HCI_GRP_BLE_CMDS                (0x08 << 10)
-/* Commands of BLE Controller setup and configuration */
-#define HCI_BLE_SET_EVENT_MASK          (0x0001 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_BUFFER_SIZE        (0x0002 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_LOCAL_SPT_FEAT     (0x0003 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_LOCAL_SPT_FEAT    (0x0004 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_RANDOM_ADDR       (0x0005 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_ADV_PARAMS        (0x0006 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_ADV_CHNL_TX_POWER  (0x0007 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_ADV_DATA          (0x0008 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_SCAN_RSP_DATA     (0x0009 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_ADV_ENABLE        (0x000A | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_SCAN_PARAMS       (0x000B | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_WRITE_SCAN_ENABLE       (0x000C | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_CREATE_LL_CONN          (0x000D | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_CREATE_CONN_CANCEL      (0x000E | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_WHITE_LIST_SIZE    (0x000F | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_CLEAR_WHITE_LIST        (0x0010 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_ADD_WHITE_LIST          (0x0011 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_REMOVE_WHITE_LIST       (0x0012 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_UPD_LL_CONN_PARAMS      (0x0013 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_SET_HOST_CHNL_CLASS     (0x0014 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_CHNL_MAP           (0x0015 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_REMOTE_FEAT        (0x0016 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_ENCRYPT                 (0x0017 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_RAND                    (0x0018 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_START_ENC               (0x0019 | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_LTK_REQ_REPLY           (0x001A | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_LTK_REQ_NEG_REPLY       (0x001B | HCI_GRP_BLE_CMDS)
-#define HCI_BLE_READ_SUPPORTED_STATES   (0x001C | HCI_GRP_BLE_CMDS)
-
-#define HCI_BLE_RESET                   (0x0020 | HCI_GRP_BLE_CMDS)
-
-/* LE supported states definition */
-#define HCI_LE_ADV_STATE          0x00000001
-#define HCI_LE_SCAN_STATE         0x00000002
-#define HCI_LE_INIT_STATE         0x00000004
-#define HCI_LE_CONN_SL_STATE      0x00000008
-#define HCI_LE_ADV_SCAN_STATE     0x00000010
-#define HCI_LE_ADV_INIT_STATE     0x00000020
-#define HCI_LE_ADV_MA_STATE       0x00000040
-#define HCI_LE_ADV_SL_STATE       0x00000080
-#define HCI_LE_SCAN_INIT_STATE    0x00000100
-#define HCI_LE_SCAN_MA_STATE      0x00000200
-#define HCI_LE_SCAN_SL_STATE      0x00000400
-#define HCI_LE_INIT_MA_STATE      0x00000800
-
-
-/*
-**  Definitions for HCI Events
-*/
-#define HCI_INQUIRY_COMP_EVT                0x01
-#define HCI_INQUIRY_RESULT_EVT              0x02
-#define HCI_CONNECTION_COMP_EVT             0x03
-#define HCI_CONNECTION_REQUEST_EVT          0x04
-#define HCI_DISCONNECTION_COMP_EVT          0x05
-#define HCI_AUTHENTICATION_COMP_EVT         0x06
-#define HCI_RMT_NAME_REQUEST_COMP_EVT       0x07
-#define HCI_ENCRYPTION_CHANGE_EVT           0x08
-#define HCI_CHANGE_CONN_LINK_KEY_EVT        0x09
-#define HCI_MASTER_LINK_KEY_COMP_EVT        0x0A
-#define HCI_READ_RMT_FEATURES_COMP_EVT      0x0B
-#define HCI_READ_RMT_VERSION_COMP_EVT       0x0C
-#define HCI_QOS_SETUP_COMP_EVT              0x0D
-#define HCI_COMMAND_COMPLETE_EVT            0x0E
-#define HCI_COMMAND_STATUS_EVT              0x0F
-#define HCI_HARDWARE_ERROR_EVT              0x10
-#define HCI_FLUSH_OCCURED_EVT               0x11
-#define HCI_ROLE_CHANGE_EVT                 0x12
-#define HCI_NUM_COMPL_DATA_PKTS_EVT         0x13
-#define HCI_MODE_CHANGE_EVT                 0x14
-#define HCI_RETURN_LINK_KEYS_EVT            0x15
-#define HCI_PIN_CODE_REQUEST_EVT            0x16
-#define HCI_LINK_KEY_REQUEST_EVT            0x17
-#define HCI_LINK_KEY_NOTIFICATION_EVT       0x18
-#define HCI_LOOPBACK_COMMAND_EVT            0x19
-#define HCI_DATA_BUF_OVERFLOW_EVT           0x1A
-#define HCI_MAX_SLOTS_CHANGED_EVT           0x1B
-#define HCI_READ_CLOCK_OFF_COMP_EVT         0x1C
-#define HCI_CONN_PKT_TYPE_CHANGE_EVT        0x1D
-#define HCI_QOS_VIOLATION_EVT               0x1E
-#define HCI_PAGE_SCAN_MODE_CHANGE_EVT       0x1F
-#define HCI_PAGE_SCAN_REP_MODE_CHNG_EVT     0x20
-#define HCI_FLOW_SPECIFICATION_COMP_EVT     0x21
-#define HCI_INQUIRY_RSSI_RESULT_EVT         0x22
-#define HCI_READ_RMT_EXT_FEATURES_COMP_EVT  0x23
-#define HCI_ESCO_CONNECTION_COMP_EVT        0x2C
-#define HCI_ESCO_CONNECTION_CHANGED_EVT     0x2D
-#define HCI_SNIFF_SUB_RATE_EVT              0x2E
-#define HCI_EXTENDED_INQUIRY_RESULT_EVT     0x2F
-#define HCI_ENCRYPTION_KEY_REFRESH_COMP_EVT 0x30
-#define HCI_IO_CAPABILITY_REQUEST_EVT       0x31
-#define HCI_IO_CAPABILITY_RESPONSE_EVT      0x32
-#define HCI_USER_CONFIRMATION_REQUEST_EVT   0x33
-#define HCI_USER_PASSKEY_REQUEST_EVT        0x34
-#define HCI_REMOTE_OOB_DATA_REQUEST_EVT     0x35
-#define HCI_SIMPLE_PAIRING_COMPLETE_EVT     0x36
-#define HCI_LINK_SUPER_TOUT_CHANGED_EVT     0x38
-#define HCI_ENHANCED_FLUSH_COMPLETE_EVT     0x39
-#define HCI_USER_PASSKEY_NOTIFY_EVT         0x3B
-#define HCI_KEYPRESS_NOTIFY_EVT             0x3C
-#define HCI_RMT_HOST_SUP_FEAT_NOTIFY_EVT    0x3D
-
-/*#define HCI_GENERIC_AMP_LINK_KEY_NOTIF_EVT  0x3E Removed from spec */
-#define HCI_PHYSICAL_LINK_COMP_EVT          0x40
-#define HCI_CHANNEL_SELECTED_EVT            0x41
-#define HCI_DISC_PHYSICAL_LINK_COMP_EVT     0x42
-#define HCI_PHY_LINK_LOSS_EARLY_WARNING_EVT 0x43
-#define HCI_PHY_LINK_RECOVERY_EVT           0x44
-#define HCI_LOGICAL_LINK_COMP_EVT           0x45
-#define HCI_DISC_LOGICAL_LINK_COMP_EVT      0x46
-#define HCI_FLOW_SPEC_MODIFY_COMP_EVT       0x47
-#define HCI_NUM_COMPL_DATA_BLOCKS_EVT       0x48
-#define HCI_SHORT_RANGE_MODE_COMPLETE_EVT   0x4C
-#define HCI_AMP_STATUS_CHANGE_EVT           0x4D
-#define HCI_SET_TRIGGERED_CLOCK_CAPTURE_EVT 0x4E
-
-
-
-/* ULP HCI Event */
-#define HCI_BLE_EVENT                       0x03E
-/* ULP Event sub code */
-#define HCI_BLE_CONN_COMPLETE_EVT           0x01
-#define HCI_BLE_ADV_PKT_RPT_EVT             0x02
-#define HCI_BLE_LL_CONN_PARAM_UPD_EVT       0x03
-#define HCI_BLE_READ_REMOTE_FEAT_CMPL_EVT   0x04
-#define HCI_BLE_LTK_REQ_EVT                 0x05
-
-/* ConnectionLess Broadcast events */
-#define HCI_SYNC_TRAIN_COMP_EVT             0x4F
-#define HCI_SYNC_TRAIN_RECEIVED_EVT         0x50
-#define HCI_CLB_RX_DATA_EVT                 0x51
-#define HCI_CLB_RX_TIMEOUT_EVT              0x52
-#define HCI_TRUNCATED_PAGE_COMP_EVT         0x53
-#define HCI_SLAVE_PAGE_RESP_TIMEOUT_EVT     0x54
-#define HCI_CLB_CHANNEL_CHANGE_EVT          0x55
-#define HCI_INQUIRY_RESPONSE_NOTIF          0x56
-
-#define HCI_EVENT_RSP_FIRST                 HCI_INQUIRY_COMP_EVT
-#define HCI_EVENT_RSP_LAST                  HCI_CLB_CHANNEL_CHANGE_EVT
-
-#define HCI_VENDOR_SPECIFIC_EVT             0xFF  /* Vendor specific events */
-#define HCI_NAP_TRACE_EVT                   0xFF  /* was define 0xFE, 0xFD, change to 0xFF
-                                                 because conflict w/ TCI_EVT and per
-                                                 specification compliant */
-
-/*
-**  Defentions for HCI Error Codes that are past in the events
-*/
-#define HCI_SUCCESS                                     0x00
-#define HCI_PENDING                                     0x00
-#define HCI_ERR_ILLEGAL_COMMAND                         0x01
-#define HCI_ERR_NO_CONNECTION                           0x02
-#define HCI_ERR_HW_FAILURE                              0x03
-#define HCI_ERR_PAGE_TIMEOUT                            0x04
-#define HCI_ERR_AUTH_FAILURE                            0x05
-#define HCI_ERR_KEY_MISSING                             0x06
-#define HCI_ERR_MEMORY_FULL                             0x07
-#define HCI_ERR_CONNECTION_TOUT                         0x08
-#define HCI_ERR_MAX_NUM_OF_CONNECTIONS                  0x09
-#define HCI_ERR_MAX_NUM_OF_SCOS                         0x0A
-#define HCI_ERR_CONNECTION_EXISTS                       0x0B
-#define HCI_ERR_COMMAND_DISALLOWED                      0x0C
-#define HCI_ERR_HOST_REJECT_RESOURCES                   0x0D
-#define HCI_ERR_HOST_REJECT_SECURITY                    0x0E
-#define HCI_ERR_HOST_REJECT_DEVICE                      0x0F
-#define HCI_ERR_HOST_TIMEOUT                            0x10
-#define HCI_ERR_UNSUPPORTED_VALUE                       0x11
-#define HCI_ERR_ILLEGAL_PARAMETER_FMT                   0x12
-#define HCI_ERR_PEER_USER                               0x13
-#define HCI_ERR_PEER_LOW_RESOURCES                      0x14
-#define HCI_ERR_PEER_POWER_OFF                          0x15
-#define HCI_ERR_CONN_CAUSE_LOCAL_HOST                   0x16
-#define HCI_ERR_REPEATED_ATTEMPTS                       0x17
-#define HCI_ERR_PAIRING_NOT_ALLOWED                     0x18
-#define HCI_ERR_UNKNOWN_LMP_PDU                         0x19
-#define HCI_ERR_UNSUPPORTED_REM_FEATURE                 0x1A
-#define HCI_ERR_SCO_OFFSET_REJECTED                     0x1B
-#define HCI_ERR_SCO_INTERVAL_REJECTED                   0x1C
-#define HCI_ERR_SCO_AIR_MODE                            0x1D
-#define HCI_ERR_INVALID_LMP_PARAM                       0x1E
-#define HCI_ERR_UNSPECIFIED                             0x1F
-#define HCI_ERR_UNSUPPORTED_LMP_FEATURE                 0x20
-#define HCI_ERR_ROLE_CHANGE_NOT_ALLOWED                 0x21
-#define HCI_ERR_LMP_RESPONSE_TIMEOUT                    0x22
-#define HCI_ERR_LMP_ERR_TRANS_COLLISION                 0x23
-#define HCI_ERR_LMP_PDU_NOT_ALLOWED                     0x24
-#define HCI_ERR_ENCRY_MODE_NOT_ACCEPTABLE               0x25
-#define HCI_ERR_UNIT_KEY_USED                           0x26
-#define HCI_ERR_QOS_NOT_SUPPORTED                       0x27
-#define HCI_ERR_INSTANT_PASSED                          0x28
-#define HCI_ERR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED     0x29
-#define HCI_ERR_DIFF_TRANSACTION_COLLISION              0x2A
-#define HCI_ERR_UNDEFINED_0x2B                          0x2B
-#define HCI_ERR_QOS_UNACCEPTABLE_PARAM                  0x2C
-#define HCI_ERR_QOS_REJECTED                            0x2D
-#define HCI_ERR_CHAN_CLASSIF_NOT_SUPPORTED              0x2E
-#define HCI_ERR_INSUFFCIENT_SECURITY                    0x2F
-#define HCI_ERR_PARAM_OUT_OF_RANGE                      0x30
-#define HCI_ERR_UNDEFINED_0x31                          0x31
-#define HCI_ERR_ROLE_SWITCH_PENDING                     0x32
-#define HCI_ERR_UNDEFINED_0x33                          0x33
-#define HCI_ERR_RESERVED_SLOT_VIOLATION                 0x34
-#define HCI_ERR_ROLE_SWITCH_FAILED                      0x35
-#define HCI_ERR_INQ_RSP_DATA_TOO_LARGE                  0x36
-#define HCI_ERR_SIMPLE_PAIRING_NOT_SUPPORTED            0x37
-#define HCI_ERR_HOST_BUSY_PAIRING                       0x38
-#define HCI_ERR_REJ_NO_SUITABLE_CHANNEL                 0x39
-#define HCI_ERR_CONTROLLER_BUSY                         0x3A
-#define HCI_ERR_UNACCEPT_CONN_INTERVAL                  0x3B
-#define HCI_ERR_DIRECTED_ADVERTISING_TIMEOUT            0x3C
-#define HCI_ERR_CONN_TOUT_DUE_TO_MIC_FAILURE            0x3D
-#define HCI_ERR_CONN_FAILED_ESTABLISHMENT               0x3E
-#define HCI_ERR_MAC_CONNECTION_FAILED                   0x3F
-
-/* ConnectionLess Broadcast errors */
-#define HCI_ERR_LT_ADDR_ALREADY_IN_USE                  0x40
-#define HCI_ERR_LT_ADDR_NOT_ALLOCATED                   0x41
-#define HCI_ERR_CLB_NOT_ENABLED                         0x42
-#define HCI_ERR_CLB_DATA_TOO_BIG                        0x43
-
-#define HCI_ERR_MAX_ERR                                 0x43
-
-#define HCI_HINT_TO_RECREATE_AMP_PHYS_LINK              0xFF
-
-/*
-** Definitions for HCI enable event
-*/
-#define HCI_INQUIRY_COMPLETE_EV(p)          (*((UINT32 *)(p)) & 0x00000001)
-#define HCI_INQUIRY_RESULT_EV(p)            (*((UINT32 *)(p)) & 0x00000002)
-#define HCI_CONNECTION_COMPLETE_EV(p)       (*((UINT32 *)(p)) & 0x00000004)
-#define HCI_CONNECTION_REQUEST_EV(p)        (*((UINT32 *)(p)) & 0x00000008)
-#define HCI_DISCONNECTION_COMPLETE_EV(p)    (*((UINT32 *)(p)) & 0x00000010)
-#define HCI_AUTHENTICATION_COMPLETE_EV(p)   (*((UINT32 *)(p)) & 0x00000020)
-#define HCI_RMT_NAME_REQUEST_COMPL_EV(p)    (*((UINT32 *)(p)) & 0x00000040)
-#define HCI_CHANGE_CONN_ENCRPT_ENABLE_EV(p) (*((UINT32 *)(p)) & 0x00000080)
-#define HCI_CHANGE_CONN_LINK_KEY_EV(p)      (*((UINT32 *)(p)) & 0x00000100)
-#define HCI_MASTER_LINK_KEY_COMPLETE_EV(p)  (*((UINT32 *)(p)) & 0x00000200)
-#define HCI_READ_RMT_FEATURES_COMPL_EV(p)   (*((UINT32 *)(p)) & 0x00000400)
-#define HCI_READ_RMT_VERSION_COMPL_EV(p)    (*((UINT32 *)(p)) & 0x00000800)
-#define HCI_QOS_SETUP_COMPLETE_EV(p)        (*((UINT32 *)(p)) & 0x00001000)
-#define HCI_COMMAND_COMPLETE_EV(p)          (*((UINT32 *)(p)) & 0x00002000)
-#define HCI_COMMAND_STATUS_EV(p)            (*((UINT32 *)(p)) & 0x00004000)
-#define HCI_HARDWARE_ERROR_EV(p)            (*((UINT32 *)(p)) & 0x00008000)
-#define HCI_FLASH_OCCURED_EV(p)             (*((UINT32 *)(p)) & 0x00010000)
-#define HCI_ROLE_CHANGE_EV(p)               (*((UINT32 *)(p)) & 0x00020000)
-#define HCI_NUM_COMPLETED_PKTS_EV(p)        (*((UINT32 *)(p)) & 0x00040000)
-#define HCI_MODE_CHANGE_EV(p)               (*((UINT32 *)(p)) & 0x00080000)
-#define HCI_RETURN_LINK_KEYS_EV(p)          (*((UINT32 *)(p)) & 0x00100000)
-#define HCI_PIN_CODE_REQUEST_EV(p)          (*((UINT32 *)(p)) & 0x00200000)
-#define HCI_LINK_KEY_REQUEST_EV(p)          (*((UINT32 *)(p)) & 0x00400000)
-#define HCI_LINK_KEY_NOTIFICATION_EV(p)     (*((UINT32 *)(p)) & 0x00800000)
-#define HCI_LOOPBACK_COMMAND_EV(p)          (*((UINT32 *)(p)) & 0x01000000)
-#define HCI_DATA_BUF_OVERFLOW_EV(p)         (*((UINT32 *)(p)) & 0x02000000)
-#define HCI_MAX_SLOTS_CHANGE_EV(p)          (*((UINT32 *)(p)) & 0x04000000)
-#define HCI_READ_CLOCK_OFFSET_COMP_EV(p)    (*((UINT32 *)(p)) & 0x08000000)
-#define HCI_CONN_PKT_TYPE_CHANGED_EV(p)     (*((UINT32 *)(p)) & 0x10000000)
-#define HCI_QOS_VIOLATION_EV(p)             (*((UINT32 *)(p)) & 0x20000000)
-#define HCI_PAGE_SCAN_MODE_CHANGED_EV(p)    (*((UINT32 *)(p)) & 0x40000000)
-#define HCI_PAGE_SCAN_REP_MODE_CHNG_EV(p)   (*((UINT32 *)(p)) & 0x80000000)
-
-/* the default event mask for 2.1+EDR (Lisbon) does not include Lisbon events */
-#define HCI_DEFAULT_EVENT_MASK_0            0xFFFFFFFF
-#define HCI_DEFAULT_EVENT_MASK_1            0x00001FFF
-
-/* the event mask for 2.0 + EDR and later (includes Lisbon events) */
-#define HCI_LISBON_EVENT_MASK_0             0xFFFFFFFF
-#define HCI_LISBON_EVENT_MASK_1             0x1DBFFFFF
-#define HCI_LISBON_EVENT_MASK               "\x0D\xBF\xFF\xFF\xFF\xFF\xFF\xFF"
-#define HCI_LISBON_EVENT_MASK_EXT           "\x1D\xBF\xFF\xFF\xFF\xFF\xFF\xFF"
-#define HCI_DUMO_EVENT_MASK_EXT             "\x3D\xBF\xFF\xFF\xFF\xFF\xFF\xFF"
-/*  0x00001FFF FFFFFFFF Default - no Lisbon events
-    0x00000800 00000000 Synchronous Connection Complete Event
-    0x00001000 00000000 Synchronous Connection Changed Event
-    0x00002000 00000000 Sniff Subrate Event
-    0x00004000 00000000 Extended Inquiry Result Event
-    0x00008000 00000000 Encryption Key Refresh Complete Event
-    0x00010000 00000000 IO Capability Request Event
-    0x00020000 00000000 IO Capability Response Event
-    0x00040000 00000000 User Confirmation Request Event
-    0x00080000 00000000 User Passkey Request Event
-    0x00100000 00000000 Remote OOB Data Request Event
-    0x00200000 00000000 Simple Pairing Complete Event
-    0x00400000 00000000 Generic AMP Link Key Notification Event
-    0x00800000 00000000 Link Supervision Timeout Changed Event
-    0x01000000 00000000 Enhanced Flush Complete Event
-    0x04000000 00000000 User Passkey Notification Event
-    0x08000000 00000000 Keypress Notification Event
-    0x10000000 00000000 Remote Host Supported Features Notification Event
-    0x20000000 00000000 LE Meta Event
- */
-
-
-/* the event mask for AMP controllers */
-#define HCI_AMP_EVENT_MASK_3_0               "\x00\x00\x00\x00\x00\x00\x3F\xFF"
-
-/*  0x0000000000000000 No events specified (default)
-    0x0000000000000001 Physical Link Complete Event
-    0x0000000000000002 Channel Selected Event
-    0x0000000000000004 Disconnection Physical Link Event
-    0x0000000000000008 Physical Link Loss Early Warning Event
-    0x0000000000000010 Physical Link Recovery Event
-    0x0000000000000020 Logical Link Complete Event
-    0x0000000000000040 Disconnection Logical Link Complete Event
-    0x0000000000000080 Flow Spec Modify Complete Event
-    0x0000000000000100 Number of Completed Data Blocks Event
-    0x0000000000000200 AMP Start Test Event
-    0x0000000000000400 AMP Test End Event
-    0x0000000000000800 AMP Receiver Report Event
-    0x0000000000001000 Short Range Mode Change Complete Event
-    0x0000000000002000 AMP Status Change Event
-*/
-
-/* the event mask page 2 (CLB + CSA4) for BR/EDR controller */
-#define HCI_PAGE_2_EVENT_MASK                  "\x00\x00\x00\x00\x00\x7F\xC0\x00"
-/*  0x0000000000004000 Triggered Clock Capture Event
-    0x0000000000008000 Sync Train Complete Event
-    0x0000000000010000 Sync Train Received Event
-    0x0000000000020000 Connectionless Broadcast Receive Event
-    0x0000000000040000 Connectionless Broadcast Timeout Event
-    0x0000000000080000 Truncated Page Complete Event
-    0x0000000000100000 Salve Page Response Timeout Event
-    0x0000000000200000 Connectionless Broadcast Channel Map Change Event
-    0x0000000000400000 Inquiry Response Notification Event
-*/
-
-/*
-** Definitions for packet type masks (BT1.2 and BT2.0 definitions)
-*/
-#define HCI_PKT_TYPES_MASK_NO_2_DH1         0x0002
-#define HCI_PKT_TYPES_MASK_NO_3_DH1         0x0004
-#define HCI_PKT_TYPES_MASK_DM1              0x0008
-#define HCI_PKT_TYPES_MASK_DH1              0x0010
-#define HCI_PKT_TYPES_MASK_HV1              0x0020
-#define HCI_PKT_TYPES_MASK_HV2              0x0040
-#define HCI_PKT_TYPES_MASK_HV3              0x0080
-#define HCI_PKT_TYPES_MASK_NO_2_DH3         0x0100
-#define HCI_PKT_TYPES_MASK_NO_3_DH3         0x0200
-#define HCI_PKT_TYPES_MASK_DM3              0x0400
-#define HCI_PKT_TYPES_MASK_DH3              0x0800
-#define HCI_PKT_TYPES_MASK_NO_2_DH5         0x1000
-#define HCI_PKT_TYPES_MASK_NO_3_DH5         0x2000
-#define HCI_PKT_TYPES_MASK_DM5              0x4000
-#define HCI_PKT_TYPES_MASK_DH5              0x8000
-
-/* Packet type should be one of valid but at least one should be specified */
-#define HCI_VALID_SCO_PKT_TYPE(t) (((((t) & ~(HCI_PKT_TYPES_MASK_HV1       \
-                                           |  HCI_PKT_TYPES_MASK_HV2       \
-                                           |  HCI_PKT_TYPES_MASK_HV3)) == 0)) \
-                                    && ((t) != 0))
-
-
-
-
-
-/* Packet type should not be invalid and at least one should be specified */
-#define HCI_VALID_ACL_PKT_TYPE(t) (((((t) & ~(HCI_PKT_TYPES_MASK_DM1        \
-                                           |  HCI_PKT_TYPES_MASK_DH1        \
-                                           |  HCI_PKT_TYPES_MASK_DM3        \
-                                           |  HCI_PKT_TYPES_MASK_DH3        \
-                                           |  HCI_PKT_TYPES_MASK_DM5        \
-                                           |  HCI_PKT_TYPES_MASK_DH5        \
-                                           |  HCI_PKT_TYPES_MASK_NO_2_DH1   \
-                                           |  HCI_PKT_TYPES_MASK_NO_3_DH1   \
-                                           |  HCI_PKT_TYPES_MASK_NO_2_DH3   \
-                                           |  HCI_PKT_TYPES_MASK_NO_3_DH3   \
-                                           |  HCI_PKT_TYPES_MASK_NO_2_DH5   \
-                                           |  HCI_PKT_TYPES_MASK_NO_3_DH5  )) == 0)) \
-                                    && (((t) &  (HCI_PKT_TYPES_MASK_DM1        \
-                                              |  HCI_PKT_TYPES_MASK_DH1        \
-                                              |  HCI_PKT_TYPES_MASK_DM3        \
-                                              |  HCI_PKT_TYPES_MASK_DH3        \
-                                              |  HCI_PKT_TYPES_MASK_DM5        \
-                                              |  HCI_PKT_TYPES_MASK_DH5)) != 0))
-
-/*
-** Definitions for eSCO packet type masks (BT1.2 and BT2.0 definitions)
-*/
-#define HCI_ESCO_PKT_TYPES_MASK_HV1         0x0001
-#define HCI_ESCO_PKT_TYPES_MASK_HV2         0x0002
-#define HCI_ESCO_PKT_TYPES_MASK_HV3         0x0004
-#define HCI_ESCO_PKT_TYPES_MASK_EV3         0x0008
-#define HCI_ESCO_PKT_TYPES_MASK_EV4         0x0010
-#define HCI_ESCO_PKT_TYPES_MASK_EV5         0x0020
-#define HCI_ESCO_PKT_TYPES_MASK_NO_2_EV3    0x0040
-#define HCI_ESCO_PKT_TYPES_MASK_NO_3_EV3    0x0080
-#define HCI_ESCO_PKT_TYPES_MASK_NO_2_EV5    0x0100
-#define HCI_ESCO_PKT_TYPES_MASK_NO_3_EV5    0x0200
-
-/* Packet type should be one of valid but at least one should be specified for 1.2 */
-#define HCI_VALID_ESCO_PKT_TYPE(t) (((((t) & ~(HCI_ESCO_PKT_TYPES_MASK_EV3       \
-                                           |   HCI_ESCO_PKT_TYPES_MASK_EV4       \
-                                           |   HCI_ESCO_PKT_TYPES_MASK_EV5)) == 0)) \
-                                    && ((t) != 0))/* Packet type should be one of valid but at least one should be specified */
-
-#define HCI_VALID_ESCO_SCOPKT_TYPE(t) (((((t) & ~(HCI_ESCO_PKT_TYPES_MASK_HV1       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_HV2       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_HV3)) == 0)) \
-                                    && ((t) != 0))
-
-#define HCI_VALID_SCO_ALL_PKT_TYPE(t) (((((t) & ~(HCI_ESCO_PKT_TYPES_MASK_HV1       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_HV2       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_HV3       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_EV3       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_EV4       \
-                                           |      HCI_ESCO_PKT_TYPES_MASK_EV5)) == 0)) \
-                                    && ((t) != 0))
-
-/*
-** Define parameters to allow role switch during create connection
-*/
-#define HCI_CR_CONN_NOT_ALLOW_SWITCH    0x00
-#define HCI_CR_CONN_ALLOW_SWITCH        0x01
-
-/*
-** Hold Mode command destination
-*/
-#define HOLD_MODE_DEST_LOCAL_DEVICE     0x00
-#define HOLD_MODE_DEST_RMT_DEVICE       0x01
-
-/*
-**  Definitions for different HCI parameters
-*/
-#define HCI_PER_INQ_MIN_MAX_PERIOD      0x0003
-#define HCI_PER_INQ_MAX_MAX_PERIOD      0xFFFF
-#define HCI_PER_INQ_MIN_MIN_PERIOD      0x0002
-#define HCI_PER_INQ_MAX_MIN_PERIOD      0xFFFE
-
-#define HCI_MAX_INQUIRY_LENGTH          0x30
-
-#define HCI_MIN_INQ_LAP                 0x9E8B00
-#define HCI_MAX_INQ_LAP                 0x9E8B3F
-
-/* HCI role defenitions */
-#define HCI_ROLE_MASTER                 0x00
-#define HCI_ROLE_SLAVE                  0x01
-#define HCI_ROLE_UNKNOWN                0xff
-
-/* HCI mode defenitions */
-#define HCI_MODE_ACTIVE                 0x00
-#define HCI_MODE_HOLD                   0x01
-#define HCI_MODE_SNIFF                  0x02
-#define HCI_MODE_PARK                   0x03
-
-/* HCI Flow Control Mode defenitions */
-#define HCI_PACKET_BASED_FC_MODE        0x00
-#define HCI_BLOCK_BASED_FC_MODE         0x01
-
-/* Define Packet types as requested by the Host */
-#define HCI_ACL_PKT_TYPE_NONE           0x0000
-#define HCI_ACL_PKT_TYPE_DM1            0x0008
-#define HCI_ACL_PKT_TYPE_DH1            0x0010
-#define HCI_ACL_PKT_TYPE_AUX1           0x0200
-#define HCI_ACL_PKT_TYPE_DM3            0x0400
-#define HCI_ACL_PKT_TYPE_DH3            0x0800
-#define HCI_ACL_PKT_TYPE_DM5            0x4000
-#define HCI_ACL_PKT_TYPE_DH5            0x8000
-
-/* Define key type in the Master Link Key command */
-#define HCI_USE_SEMI_PERMANENT_KEY      0x00
-#define HCI_USE_TEMPORARY_KEY           0x01
-
-/* Page scan period modes */
-#define HCI_PAGE_SCAN_REP_MODE_R0       0x00
-#define HCI_PAGE_SCAN_REP_MODE_R1       0x01
-#define HCI_PAGE_SCAN_REP_MODE_R2       0x02
-
-/* Define limits for page scan repetition modes */
-#define HCI_PAGE_SCAN_R1_LIMIT          0x0800
-#define HCI_PAGE_SCAN_R2_LIMIT          0x1000
-
-/* Page scan period modes */
-#define HCI_PAGE_SCAN_PER_MODE_P0       0x00
-#define HCI_PAGE_SCAN_PER_MODE_P1       0x01
-#define HCI_PAGE_SCAN_PER_MODE_P2       0x02
-
-/* Page scan modes */
-#define HCI_MANDATARY_PAGE_SCAN_MODE    0x00
-#define HCI_OPTIONAL_PAGE_SCAN_MODE1    0x01
-#define HCI_OPTIONAL_PAGE_SCAN_MODE2    0x02
-#define HCI_OPTIONAL_PAGE_SCAN_MODE3    0x03
-
-/* Page and inquiry scan types */
-#define HCI_SCAN_TYPE_STANDARD          0x00
-#define HCI_SCAN_TYPE_INTERLACED        0x01       /* 1.2 devices or later */
-#define HCI_DEF_SCAN_TYPE               HCI_SCAN_TYPE_STANDARD
-
-/* Definitions for quality of service service types */
-#define HCI_SERVICE_NO_TRAFFIC          0x00
-#define HCI_SERVICE_BEST_EFFORT         0x01
-#define HCI_SERVICE_GUARANTEED          0x02
-
-#define HCI_QOS_LATENCY_DO_NOT_CARE     0xFFFFFFFF
-#define HCI_QOS_DELAY_DO_NOT_CARE       0xFFFFFFFF
-
-/* Definitions for Flow Specification */
-#define HCI_FLOW_SPEC_LATENCY_DO_NOT_CARE 0xFFFFFFFF
-
-/* Definitions for AFH Channel Map */
-#define HCI_AFH_CHANNEL_MAP_LEN         10
-
-/* Definitions for Extended Inquiry Response */
-#define HCI_EXT_INQ_RESPONSE_LEN        240
-#define HCI_EIR_FLAGS_TYPE                   BT_EIR_FLAGS_TYPE
-#define HCI_EIR_MORE_16BITS_UUID_TYPE        BT_EIR_MORE_16BITS_UUID_TYPE
-#define HCI_EIR_COMPLETE_16BITS_UUID_TYPE    BT_EIR_COMPLETE_16BITS_UUID_TYPE
-#define HCI_EIR_MORE_32BITS_UUID_TYPE        BT_EIR_MORE_32BITS_UUID_TYPE
-#define HCI_EIR_COMPLETE_32BITS_UUID_TYPE    BT_EIR_COMPLETE_32BITS_UUID_TYPE
-#define HCI_EIR_MORE_128BITS_UUID_TYPE       BT_EIR_MORE_128BITS_UUID_TYPE
-#define HCI_EIR_COMPLETE_128BITS_UUID_TYPE   BT_EIR_COMPLETE_128BITS_UUID_TYPE
-#define HCI_EIR_SHORTENED_LOCAL_NAME_TYPE    BT_EIR_SHORTENED_LOCAL_NAME_TYPE
-#define HCI_EIR_COMPLETE_LOCAL_NAME_TYPE     BT_EIR_COMPLETE_LOCAL_NAME_TYPE
-#define HCI_EIR_TX_POWER_LEVEL_TYPE          BT_EIR_TX_POWER_LEVEL_TYPE
-#define HCI_EIR_MANUFACTURER_SPECIFIC_TYPE   BT_EIR_MANUFACTURER_SPECIFIC_TYPE
-#define HCI_EIR_OOB_BD_ADDR_TYPE             BT_EIR_OOB_BD_ADDR_TYPE
-#define HCI_EIR_OOB_COD_TYPE                 BT_EIR_OOB_COD_TYPE
-#define HCI_EIR_OOB_SSP_HASH_C_TYPE          BT_EIR_OOB_SSP_HASH_C_TYPE
-#define HCI_EIR_OOB_SSP_RAND_R_TYPE          BT_EIR_OOB_SSP_RAND_R_TYPE
-#define HCI_EIR_3D_SYNC_TYPE                 BT_EIR_3D_SYNC_TYPE
-
-/* Definitions for Write Simple Pairing Mode */
-#define HCI_SP_MODE_UNDEFINED           0x00
-#define HCI_SP_MODE_ENABLED             0x01
-
-/* Definitions for Write Simple Pairing Debug Mode */
-#define HCI_SPD_MODE_DISABLED           0x00
-#define HCI_SPD_MODE_ENABLED            0x01
-
-/* Definitions for IO Capability Response/Command */
-#define HCI_IO_CAP_DISPLAY_ONLY         0x00
-#define HCI_IO_CAP_DISPLAY_YESNO        0x01
-#define HCI_IO_CAP_KEYBOARD_ONLY        0x02
-#define HCI_IO_CAP_NO_IO                0x03
-
-#define HCI_OOB_AUTH_DATA_NOT_PRESENT   0x00
-#define HCI_OOB_REM_AUTH_DATA_PRESENT   0x01
-
-#define HCI_MITM_PROTECT_NOT_REQUIRED  0x00
-#define HCI_MITM_PROTECT_REQUIRED      0x01
-
-
-/* Policy settings status */
-#define HCI_DISABLE_ALL_LM_MODES        0x0000
-#define HCI_ENABLE_MASTER_SLAVE_SWITCH  0x0001
-#define HCI_ENABLE_HOLD_MODE            0x0002
-#define HCI_ENABLE_SNIFF_MODE           0x0004
-#define HCI_ENABLE_PARK_MODE            0x0008
-
-/* By default allow switch, because host can not allow that */
-/* that until he created the connection */
-#define HCI_DEFAULT_POLICY_SETTINGS     HCI_DISABLE_ALL_LM_MODES
-
-/* Filters that are sent in set filter command */
-#define HCI_FILTER_TYPE_CLEAR_ALL       0x00
-#define HCI_FILTER_INQUIRY_RESULT       0x01
-#define HCI_FILTER_CONNECTION_SETUP     0x02
-
-#define HCI_FILTER_COND_NEW_DEVICE      0x00
-#define HCI_FILTER_COND_DEVICE_CLASS    0x01
-#define HCI_FILTER_COND_BD_ADDR         0x02
-
-#define HCI_DO_NOT_AUTO_ACCEPT_CONNECT  1
-#define HCI_DO_AUTO_ACCEPT_CONNECT      2   /* role switch disabled */
-#define HCI_DO_AUTO_ACCEPT_CONNECT_RS   3   /* role switch enabled (1.1 errata 1115) */
-
-/* Auto accept flags */
-#define HCI_AUTO_ACCEPT_OFF             0x00
-#define HCI_AUTO_ACCEPT_ACL_CONNECTIONS 0x01
-#define HCI_AUTO_ACCEPT_SCO_CONNECTIONS 0x02
-
-/* PIN type */
-#define HCI_PIN_TYPE_VARIABLE           0
-#define HCI_PIN_TYPE_FIXED              1
-
-/* Loopback Modes */
-#define HCI_LOOPBACK_MODE_DISABLED      0
-#define HCI_LOOPBACK_MODE_LOCAL         1
-#define HCI_LOOPBACK_MODE_REMOTE        2
-
-#define SLOTS_PER_10MS                  16      /* 0.625 ms slots in a 10 ms tick */
-
-/* Maximum connection accept timeout in 0.625msec */
-#define HCI_MAX_CONN_ACCEPT_TOUT        0xB540  /* 29 sec */
-#define HCI_DEF_CONN_ACCEPT_TOUT        0x1F40  /* 5 sec */
-
-/* Page timeout is used in LC only and LC is counting down slots not using OS */
-#define HCI_DEFAULT_PAGE_TOUT           0x2000  /* 5.12 sec (in slots) */
-
-/* Scan enable flags */
-#define HCI_NO_SCAN_ENABLED             0x00
-#define HCI_INQUIRY_SCAN_ENABLED        0x01
-#define HCI_PAGE_SCAN_ENABLED           0x02
-
-/* Pagescan timer definitions in 0.625 ms */
-#define HCI_MIN_PAGESCAN_INTERVAL       0x12    /* 11.25 ms */
-#define HCI_MAX_PAGESCAN_INTERVAL       0x1000  /* 2.56 sec */
-#define HCI_DEF_PAGESCAN_INTERVAL       0x0800  /* 1.28 sec */
-
-/* Parameter for pagescan window is passed to LC and is kept in slots */
-#define HCI_MIN_PAGESCAN_WINDOW         0x11    /* 10.625 ms */
-#define HCI_MAX_PAGESCAN_WINDOW         0x1000  /* 2.56  sec */
-#define HCI_DEF_PAGESCAN_WINDOW         0x12    /* 11.25 ms  */
-
-/* Inquiryscan timer definitions in 0.625 ms */
-#define HCI_MIN_INQUIRYSCAN_INTERVAL    0x12    /* 11.25 ms */
-#define HCI_MAX_INQUIRYSCAN_INTERVAL    0x1000  /* 2.56 sec */
-#define HCI_DEF_INQUIRYSCAN_INTERVAL    0x1000  /* 2.56 sec */
-
-/* Parameter for inquiryscan window is passed to LC and is kept in slots */
-#define HCI_MIN_INQUIRYSCAN_WINDOW      0x11    /* 10.625 ms */
-#define HCI_MAX_INQUIRYSCAN_WINDOW      0x1000  /* 2.56 sec */
-#define HCI_DEF_INQUIRYSCAN_WINDOW      0x12    /* 11.25 ms */
-
-/* Encryption modes */
-#define HCI_ENCRYPT_MODE_DISABLED       0x00
-#define HCI_ENCRYPT_MODE_POINT_TO_POINT 0x01
-#define HCI_ENCRYPT_MODE_ALL            0x02
-
-/* Voice settings */
-#define HCI_INP_CODING_LINEAR           0x0000 /* 0000000000 */
-#define HCI_INP_CODING_U_LAW            0x0100 /* 0100000000 */
-#define HCI_INP_CODING_A_LAW            0x0200 /* 1000000000 */
-#define HCI_INP_CODING_MASK             0x0300 /* 1100000000 */
-
-#define HCI_INP_DATA_FMT_1S_COMPLEMENT  0x0000 /* 0000000000 */
-#define HCI_INP_DATA_FMT_2S_COMPLEMENT  0x0040 /* 0001000000 */
-#define HCI_INP_DATA_FMT_SIGN_MAGNITUDE 0x0080 /* 0010000000 */
-#define HCI_INP_DATA_FMT_UNSIGNED       0x00c0 /* 0011000000 */
-#define HCI_INP_DATA_FMT_MASK           0x00c0 /* 0011000000 */
-
-#define HCI_INP_SAMPLE_SIZE_8BIT        0x0000 /* 0000000000 */
-#define HCI_INP_SAMPLE_SIZE_16BIT       0x0020 /* 0000100000 */
-#define HCI_INP_SAMPLE_SIZE_MASK        0x0020 /* 0000100000 */
-
-#define HCI_INP_LINEAR_PCM_BIT_POS_MASK 0x001c /* 0000011100 */
-#define HCI_INP_LINEAR_PCM_BIT_POS_OFFS 2
-
-#define HCI_AIR_CODING_FORMAT_CVSD      0x0000 /* 0000000000 */
-#define HCI_AIR_CODING_FORMAT_U_LAW     0x0001 /* 0000000001 */
-#define HCI_AIR_CODING_FORMAT_A_LAW     0x0002 /* 0000000010 */
-#define HCI_AIR_CODING_FORMAT_TRANSPNT  0x0003 /* 0000000011 */
-#define HCI_AIR_CODING_FORMAT_MASK      0x0003 /* 0000000011 */
-
-/* default                                        0001100000 */
-#define HCI_DEFAULT_VOICE_SETTINGS    (HCI_INP_CODING_LINEAR \
-                                     | HCI_INP_DATA_FMT_2S_COMPLEMENT \
-                                     | HCI_INP_SAMPLE_SIZE_16BIT \
-                                     | HCI_AIR_CODING_FORMAT_CVSD)
-
-#define HCI_CVSD_SUPPORTED(x)       (((x) & HCI_AIR_CODING_FORMAT_MASK) == HCI_AIR_CODING_FORMAT_CVSD)
-#define HCI_U_LAW_SUPPORTED(x)      (((x) & HCI_AIR_CODING_FORMAT_MASK) == HCI_AIR_CODING_FORMAT_U_LAW)
-#define HCI_A_LAW_SUPPORTED(x)      (((x) & HCI_AIR_CODING_FORMAT_MASK) == HCI_AIR_CODING_FORMAT_A_LAW)
-#define HCI_TRANSPNT_SUPPORTED(x)   (((x) & HCI_AIR_CODING_FORMAT_MASK) == HCI_AIR_CODING_FORMAT_TRANSPNT)
-
-/* Retransmit timer definitions in 0.625 */
-#define HCI_MAX_AUTO_FLUSH_TOUT         0x07FF
-#define HCI_DEFAULT_AUTO_FLUSH_TOUT     0       /* No auto flush */
-
-/* Broadcast retransmitions */
-#define HCI_DEFAULT_NUM_BCAST_RETRAN    1
-
-/* Define broadcast data types as passed in the hci data packet */
-#define HCI_DATA_POINT_TO_POINT         0x00
-#define HCI_DATA_ACTIVE_BCAST           0x01
-#define HCI_DATA_PICONET_BCAST          0x02
-
-/* Hold mode activity */
-#define HCI_MAINTAIN_CUR_POWER_STATE    0x00
-#define HCI_SUSPEND_PAGE_SCAN           0x01
-#define HCI_SUSPEND_INQUIRY_SCAN        0x02
-#define HCI_SUSPEND_PERIODIC_INQUIRIES  0x04
-
-/* Default Link Supervision timeoout */
-#define HCI_DEFAULT_INACT_TOUT          0x7D00  /* BR/EDR (20 seconds) */
-#define HCI_DEFAULT_AMP_INACT_TOUT      0x3E80  /* AMP    (10 seconds) */
-
-/* Read transmit power level parameter */
-#define HCI_READ_CURRENT                0x00
-#define HCI_READ_MAXIMUM                0x01
-
-/* Link types for connection complete event */
-#define HCI_LINK_TYPE_SCO               0x00
-#define HCI_LINK_TYPE_ACL               0x01
-#define HCI_LINK_TYPE_ESCO              0x02
-
-/* Link Key Notification Event (Key Type) definitions */
-#define HCI_LKEY_TYPE_COMBINATION       0x00
-#define HCI_LKEY_TYPE_LOCAL_UNIT        0x01
-#define HCI_LKEY_TYPE_REMOTE_UNIT       0x02
-#define HCI_LKEY_TYPE_DEBUG_COMB        0x03
-#define HCI_LKEY_TYPE_UNAUTH_COMB       0x04
-#define HCI_LKEY_TYPE_AUTH_COMB         0x05
-#define HCI_LKEY_TYPE_CHANGED_COMB      0x06
-
-/* Internal definitions - not used over HCI */
-#define HCI_LKEY_TYPE_AMP_WIFI          0x80
-#define HCI_LKEY_TYPE_AMP_UWB           0x81
-#define HCI_LKEY_TYPE_UNKNOWN           0xff
-
-/* Read Local Version HCI Version return values (Command Complete Event) */
-#define HCI_VERSION_1_0B                0x00
-#define HCI_VERSION_1_1                 0x01
-
-/* Define an invalid value for a handle */
-#define HCI_INVALID_HANDLE              0xFFFF
-
-/* Define max ammount of data in the HCI command */
-#define HCI_COMMAND_SIZE        255
-
-/* Define the preamble length for all HCI Commands.
-** This is 2-bytes for opcode and 1 byte for length
-*/
-#define HCIC_PREAMBLE_SIZE      3
-
-/* Define the preamble length for all HCI Events
-** This is 1-byte for opcode and 1 byte for length
-*/
-#define HCIE_PREAMBLE_SIZE      2
-#define HCI_SCO_PREAMBLE_SIZE   3
-#define HCI_DATA_PREAMBLE_SIZE  4
-
-/* local Bluetooth controller id for AMP HCI */
-#define LOCAL_BR_EDR_CONTROLLER_ID      0
-
-/* controller id types for AMP HCI */
-#define HCI_CONTROLLER_TYPE_BR_EDR      0
-#define HCI_CONTROLLER_TYPE_802_11      1
-#define HCI_CONTROLLER_TYPE_ECMA        2
-#define HCI_MAX_CONTROLLER_TYPES        3
-
-/*  ConnectionLess Broadcast */
-#define HCI_CLB_DISABLE                 0x00
-#define HCI_CLB_ENABLE                  0x01
-
-/* ConnectionLess Broadcast Data fragment */
-#define HCI_CLB_FRAGMENT_CONT           0x00
-#define HCI_CLB_FRAGMENT_START          0x01
-#define HCI_CLB_FRAGMENT_END            0x02
-#define HCI_CLB_FRAGMENT_SINGLE         0x03
-
-/* AMP Controller Status codes
-*/
-#define HCI_AMP_CTRLR_PHYSICALLY_DOWN   0
-#define HCI_AMP_CTRLR_USABLE_BY_BT      1
-#define HCI_AMP_CTRLR_UNUSABLE_FOR_BT   2
-#define HCI_AMP_CTRLR_LOW_CAP_FOR_BT    3
-#define HCI_AMP_CTRLR_MED_CAP_FOR_BT    4
-#define HCI_AMP_CTRLR_HIGH_CAP_FOR_BT   5
-#define HCI_AMP_CTRLR_FULL_CAP_FOR_BT   6
-
-#define HCI_MAX_AMP_STATUS_TYPES        7
-
-
-/* Define the extended flow specification fields used by AMP */
-typedef struct
-{
-    UINT8       id;
-    UINT8       stype;
-    UINT16      max_sdu_size;
-    UINT32      sdu_inter_time;
-    UINT32      access_latency;
-    UINT32      flush_timeout;
-} tHCI_EXT_FLOW_SPEC;
-
-
-/* HCI message type definitions (for H4 messages) */
-#define HCIT_TYPE_COMMAND   1
-#define HCIT_TYPE_ACL_DATA  2
-#define HCIT_TYPE_SCO_DATA  3
-#define HCIT_TYPE_EVENT     4
-#define HCIT_TYPE_LM_DIAG   7
-#define HCIT_TYPE_NFC       16
-
-#define HCIT_LM_DIAG_LENGTH 63
-
-/* Define values for LMP Test Control parameters
-** Test Scenario, Hopping Mode, Power Control Mode
-*/
-#define LMP_TESTCTL_TESTSC_PAUSE        0
-#define LMP_TESTCTL_TESTSC_TXTEST_0     1
-#define LMP_TESTCTL_TESTSC_TXTEST_1     2
-#define LMP_TESTCTL_TESTSC_TXTEST_1010  3
-#define LMP_TESTCTL_TESTSC_PSRND_BITSEQ 4
-#define LMP_TESTCTL_TESTSC_CLOSEDLB_ACL 5
-#define LMP_TESTCTL_TESTSC_CLOSEDLB_SCO 6
-#define LMP_TESTCTL_TESTSC_ACL_NOWHIT   7
-#define LMP_TESTCTL_TESTSC_SCO_NOWHIT   8
-#define LMP_TESTCTL_TESTSC_TXTEST_11110000  9
-#define LMP_TESTCTL_TESTSC_EXITTESTMODE 255
-
-#define LMP_TESTCTL_HOPMOD_RXTX1FREQ    0
-#define LMP_TESTCTL_HOPMOD_HOP_EURUSA   1
-#define LMP_TESTCTL_HOPMOD_HOP_JAPAN    2
-#define LMP_TESTCTL_HOPMOD_HOP_FRANCE   3
-#define LMP_TESTCTL_HOPMOD_HOP_SPAIN    4
-#define LMP_TESTCTL_HOPMOD_REDUCED_HOP  5
-
-#define LMP_TESTCTL_POWCTL_FIXEDTX_OP   0
-#define LMP_TESTCTL_POWCTL_ADAPTIVE     1
-
-
-/*
-** Define company IDs (from Bluetooth Assigned Numbers v1.1, section 2.2)
-*/
-#define LMP_COMPID_ERICSSON             0
-#define LMP_COMPID_NOKIA                1
-#define LMP_COMPID_INTEL                2
-#define LMP_COMPID_IBM                  3
-#define LMP_COMPID_TOSHIBA              4
-#define LMP_COMPID_3COM                 5
-#define LMP_COMPID_MICROSOFT            6
-#define LMP_COMPID_LUCENT               7
-#define LMP_COMPID_MOTOROLA             8
-#define LMP_COMPID_INFINEON             9
-#define LMP_COMPID_CSR                  10
-#define LMP_COMPID_SILICON_WAVE         11
-#define LMP_COMPID_DIGIANSWER           12
-#define LMP_COMPID_TEXAS_INSTRUMENTS    13
-#define LMP_COMPID_PARTHUS              14
-#define LMP_COMPID_BROADCOM             15
-#define LMP_COMPID_MITEL_SEMI           16
-#define LMP_COMPID_WIDCOMM              17
-#define LMP_COMPID_ZEEVO                18
-#define LMP_COMPID_ATMEL                19
-#define LMP_COMPID_MITSUBISHI           20
-#define LMP_COMPID_RTX_TELECOM          21
-#define LMP_COMPID_KC_TECH              22
-#define LMP_COMPID_NEWLOGIC             23
-#define LMP_COMPID_TRANSILICA           24
-#define LMP_COMPID_ROHDE_SCHWARZ        25
-#define LMP_COMPID_TTPCOM               26
-#define LMP_COMPID_SIGNIA               27
-#define LMP_COMPID_CONEXANT             28
-#define LMP_COMPID_QUALCOMM             29
-#define LMP_COMPID_INVENTEL             30
-#define LMP_COMPID_AVM                  31
-#define LMP_COMPID_BANDSPEED            32
-#define LMP_COMPID_MANSELLA             33
-#define LMP_COMPID_NEC_CORP             34
-#define LMP_COMPID_WAVEPLUS             35
-#define LMP_COMPID_ALCATEL              36
-#define LMP_COMPID_PHILIPS              37
-#define LMP_COMPID_C_TECHNOLOGIES       38
-#define LMP_COMPID_OPEN_INTERFACE       39
-#define LMP_COMPID_RF_MICRO             40
-#define LMP_COMPID_HITACHI              41
-#define LMP_COMPID_SYMBOL_TECH          42
-#define LMP_COMPID_TENOVIS              43
-#define LMP_COMPID_MACRONIX             44
-#define LMP_COMPID_GCT_SEMI             45
-#define LMP_COMPID_NORWOOD_SYSTEMS      46
-#define LMP_COMPID_MEWTEL_TECH          47
-#define LMP_COMPID_STM                  48
-#define LMP_COMPID_SYNOPSYS             49
-#define LMP_COMPID_RED_M_LTD            50
-#define LMP_COMPID_COMMIL_LTD           51
-#define LMP_COMPID_CATC                 52
-#define LMP_COMPID_ECLIPSE              53
-#define LMP_COMPID_RENESAS_TECH         54
-#define LMP_COMPID_MOBILIAN_CORP        55
-#define LMP_COMPID_TERAX                56
-#define LMP_COMPID_ISSC                 57
-#define LMP_COMPID_MATSUSHITA           58
-#define LMP_COMPID_GENNUM_CORP          59
-#define LMP_COMPID_RESEARCH_IN_MOTION   60
-#define LMP_COMPID_IPEXTREME            61
-#define LMP_COMPID_SYSTEMS_AND_CHIPS    62
-#define LMP_COMPID_BLUETOOTH_SIG        63
-#define LMP_COMPID_SEIKO_EPSON_CORP     64
-#define LMP_COMPID_ISS_TAIWAN           65
-#define LMP_COMPID_CONWISE_TECHNOLOGIES 66
-#define LMP_COMPID_PARROT_SA            67
-#define LMP_COMPID_SOCKET_COMM          68
-#define LMP_COMPID_ALTHEROS             69
-#define LMP_COMPID_MEDIATEK             70
-#define LMP_COMPID_BLUEGIGA             71
-#define LMP_COMPID_MARVELL              72
-#define LMP_COMPID_3DSP_CORP            73
-#define LMP_COMPID_ACCEL_SEMICONDUCTOR  74
-#define LMP_COMPID_CONTINENTAL_AUTO     75
-#define LMP_COMPID_APPLE                76
-#define LMP_COMPID_STACCATO             77
-#define LMP_COMPID_AVAGO_TECHNOLOGIES   78
-#define LMP_COMPID_APT_LTD              79
-#define LMP_COMPID_SIRF_TECHNOLOGY      80
-#define LMP_COMPID_TZERO_TECHNOLOGY     81
-#define LMP_COMPID_J_AND_M_CORP         82
-#define LMP_COMPID_FREE_2_MOVE          83
-#define LMP_COMPID_3DIJOY_CORP          84
-#define LMP_COMPID_PLANTRONICS          85
-#define LMP_COMPID_SONY_ERICSSON_MOBILE 86
-#define LMP_COMPID_HARMON_INTL_IND      87
-#define LMP_COMPID_VIZIO                88
-#define LMP_COMPID_NORDIC SEMI          89
-#define LMP_COMPID_EM_MICRO             90
-#define LMP_COMPID_RALINK_TECH          91
-#define LMP_COMPID_BELKIN_INC           92
-#define LMP_COMPID_REALTEK_SEMI         93
-#define LMP_COMPID_STONESTREET_ONE      94
-#define LMP_COMPID_WICENTRIC            95
-#define LMP_COMPID_RIVIERAWAVES         96
-#define LMP_COMPID_RDA_MICRO            97
-#define LMP_COMPID_GIBSON_GUITARS       98
-#define LMP_COMPID_MICOMMAND_INC        99
-#define LMP_COMPID_BAND_XI              100
-#define LMP_COMPID_HP_COMPANY           101
-#define LMP_COMPID_9SOLUTIONS_OY        102
-#define LMP_COMPID_GN_NETCOM            103
-#define LMP_COMPID_GENERAL_MOTORS       104
-#define LMP_COMPID_AD_ENGINEERING       105
-#define LMP_COMPID_MINDTREE_LTD         106
-#define LMP_COMPID_POLAR_ELECTRO        107
-#define LMP_COMPID_BEAUTIFUL_ENTERPRISE 108
-#define LMP_COMPID_BRIARTEK             109
-#define LMP_COMPID_SUMMIT_DATA_COMM     110
-#define LMP_COMPID_SOUND_ID             111
-#define LMP_COMPID_MONSTER LLC          112
-#define LMP_COMPID_CONNECTBLU           113
-
-#define LMP_COMPID_SHANGHAI_SSE         114
-#define LMP_COMPID_GROUP_SENSE          115
-#define LMP_COMPID_ZOMM                 116
-#define LMP_COMPID_SAMSUNG              117
-#define LMP_COMPID_CREATIVE_TECH        118
-#define LMP_COMPID_LAIRD_TECH           119
-#define LMP_COMPID_NIKE                 120
-#define LMP_COMPID_LESSWIRE             121
-#define LMP_COMPID_MSTAR_SEMI           122
-#define LMP_COMPID_HANLYNN_TECH         123
-#define LMP_COMPID_AR_CAMBRIDGE         124
-#define LMP_COMPID_SEERS_TECH           125
-#define LMP_COMPID_SPORTS_TRACKING      126
-#define LMP_COMPID_AUTONET_MOBILE       127
-#define LMP_COMPID_DELORME_PUBLISH      128
-#define LMP_COMPID_WUXI_VIMICRO         129
-#define LMP_COMPID_SENNHEISER           130
-#define LMP_COMPID_TIME_KEEPING_SYS     131
-#define LMP_COMPID_LUDUS_HELSINKI       132
-#define LMP_COMPID_BLUE_RADIOS          133
-#define LMP_COMPID_EQUINUX              134
-#define LMP_COMPID_GARMIN_INTL          135
-#define LMP_COMPID_ECOTEST              136
-#define LMP_COMPID_GN_RESOUND           137
-#define LMP_COMPID_JAWBONE              138
-#define LMP_COMPID_TOPCON_POSITIONING   139
-#define LMP_COMPID_QUALCOMM_LABS        140
-#define LMP_COMPID_ZSCAN_SOFTWARE       141
-#define LMP_COMPID_QUINTIC              142
-#define LMP_COMPID_STOLLMAN_EV          143
-#define LMP_COMPID_FUNAI_ELECTRONIC     144
-#define LMP_COMPID_ADV_PANMOBILE        145
-#define LMP_COMPID_THINK_OPTICS         146
-#define LMP_COMPID_UNIVERSAL_ELEC       147
-#define LMP_COMPID_AIROHA_TECH          148
-#define LMP_COMPID_MAX_ID               149 /* this is a place holder */
-#define LMP_COMPID_INTERNAL             65535
-
-#define MAX_LMP_COMPID                  (LMP_COMPID_MAX_ID)
-/*
-** Define the packet types in the packet header, and a couple extra
-*/
-#define PKT_TYPE_NULL   0x00
-#define PKT_TYPE_POLL   0x01
-#define PKT_TYPE_FHS    0x02
-#define PKT_TYPE_DM1    0x03
-
-#define PKT_TYPE_DH1    0x04
-#define PKT_TYPE_HV1    0x05
-#define PKT_TYPE_HV2    0x06
-#define PKT_TYPE_HV3    0x07
-#define PKT_TYPE_DV     0x08
-#define PKT_TYPE_AUX1   0x09
-
-#define PKT_TYPE_DM3    0x0a
-#define PKT_TYPE_DH3    0x0b
-
-#define PKT_TYPE_DM5    0x0e
-#define PKT_TYPE_DH5    0x0f
-
-
-#define PKT_TYPE_ID     0x10        /* Internally used packet types */
-#define PKT_TYPE_BAD    0x11
-#define PKT_TYPE_NONE   0x12
-
-/*
-** Define packet size
-*/
-#define HCI_DM1_PACKET_SIZE         17
-#define HCI_DH1_PACKET_SIZE         27
-#define HCI_DM3_PACKET_SIZE         121
-#define HCI_DH3_PACKET_SIZE         183
-#define HCI_DM5_PACKET_SIZE         224
-#define HCI_DH5_PACKET_SIZE         339
-#define HCI_AUX1_PACKET_SIZE        29
-#define HCI_HV1_PACKET_SIZE         10
-#define HCI_HV2_PACKET_SIZE         20
-#define HCI_HV3_PACKET_SIZE         30
-#define HCI_DV_PACKET_SIZE          9
-#define HCI_EDR2_DH1_PACKET_SIZE    54
-#define HCI_EDR2_DH3_PACKET_SIZE    367
-#define HCI_EDR2_DH5_PACKET_SIZE    679
-#define HCI_EDR3_DH1_PACKET_SIZE    83
-#define HCI_EDR3_DH3_PACKET_SIZE    552
-#define HCI_EDR3_DH5_PACKET_SIZE    1021
-
-/* Feature Pages */
-#define HCI_EXT_FEATURES_PAGE_0     0       /* Extended Feature Page 0 (regular features) */
-#define HCI_EXT_FEATURES_PAGE_1     1       /* Extended Feature Page 1 */
-#define HCI_EXT_FEATURES_PAGE_2     2       /* Extended Feature Page 2 */
-#define HCI_EXT_FEATURES_PAGE_MAX   HCI_EXT_FEATURES_PAGE_2
-
-#define HCI_FEATURE_BYTES_PER_PAGE      8
-
-#define HCI_FEATURES_KNOWN(x) ((x[0] | x[1] | x[2] | x[3] | x[4] | x[5] | x[6] | x[7]) != 0)
-
-/*
-**   LMP features encoding - page 0
-*/
-#define HCI_FEATURE_3_SLOT_PACKETS_MASK 0x01
-#define HCI_FEATURE_3_SLOT_PACKETS_OFF  0
-#define HCI_3_SLOT_PACKETS_SUPPORTED(x) ((x)[HCI_FEATURE_3_SLOT_PACKETS_OFF] & HCI_FEATURE_3_SLOT_PACKETS_MASK)
-
-#define HCI_FEATURE_5_SLOT_PACKETS_MASK 0x02
-#define HCI_FEATURE_5_SLOT_PACKETS_OFF  0
-#define HCI_5_SLOT_PACKETS_SUPPORTED(x) ((x)[HCI_FEATURE_5_SLOT_PACKETS_OFF] & HCI_FEATURE_5_SLOT_PACKETS_MASK)
-
-#define HCI_FEATURE_ENCRYPTION_MASK     0x04
-#define HCI_FEATURE_ENCRYPTION_OFF      0
-#define HCI_ENCRYPTION_SUPPORTED(x)     ((x)[HCI_FEATURE_ENCRYPTION_OFF] & HCI_FEATURE_ENCRYPTION_MASK)
-
-#define HCI_FEATURE_SLOT_OFFSET_MASK    0x08
-#define HCI_FEATURE_SLOT_OFFSET_OFF     0
-#define HCI_SLOT_OFFSET_SUPPORTED(x)    ((x)[HCI_FEATURE_SLOT_OFFSET_OFF] & HCI_FEATURE_SLOT_OFFSET_MASK)
-
-#define HCI_FEATURE_TIMING_ACC_MASK     0x10
-#define HCI_FEATURE_TIMING_ACC_OFF      0
-#define HCI_TIMING_ACC_SUPPORTED(x)     ((x)[HCI_FEATURE_TIMING_ACC_OFF] & HCI_FEATURE_TIMING_ACC_MASK)
-
-#define HCI_FEATURE_SWITCH_MASK         0x20
-#define HCI_FEATURE_SWITCH_OFF          0
-#define HCI_SWITCH_SUPPORTED(x)         ((x)[HCI_FEATURE_SWITCH_OFF] & HCI_FEATURE_SWITCH_MASK)
-
-#define HCI_FEATURE_HOLD_MODE_MASK      0x40
-#define HCI_FEATURE_HOLD_MODE_OFF       0
-#define HCI_HOLD_MODE_SUPPORTED(x)      ((x)[HCI_FEATURE_HOLD_MODE_OFF] & HCI_FEATURE_HOLD_MODE_MASK)
-
-#define HCI_FEATURE_SNIFF_MODE_MASK     0x80
-#define HCI_FEATURE_SNIFF_MODE_OFF      0
-#define HCI_SNIFF_MODE_SUPPORTED(x)      ((x)[HCI_FEATURE_SNIFF_MODE_OFF] & HCI_FEATURE_SNIFF_MODE_MASK)
-
-#define HCI_FEATURE_PARK_MODE_MASK      0x01
-#define HCI_FEATURE_PARK_MODE_OFF       1
-#define HCI_PARK_MODE_SUPPORTED(x)      ((x)[HCI_FEATURE_PARK_MODE_OFF] & HCI_FEATURE_PARK_MODE_MASK)
-
-#define HCI_FEATURE_RSSI_MASK           0x02
-#define HCI_FEATURE_RSSI_OFF            1
-#define HCI_RSSI_SUPPORTED(x)           ((x)[HCI_FEATURE_RSSI_OFF] & HCI_FEATURE_RSSI_MASK)
-
-#define HCI_FEATURE_CQM_DATA_RATE_MASK  0x04
-#define HCI_FEATURE_CQM_DATA_RATE_OFF   1
-#define HCI_CQM_DATA_RATE_SUPPORTED(x)  ((x)[HCI_FEATURE_CQM_DATA_RATE_OFF] & HCI_FEATURE_CQM_DATA_RATE_MASK)
-
-#define HCI_FEATURE_SCO_LINK_MASK       0x08
-#define HCI_FEATURE_SCO_LINK_OFF        1
-#define HCI_SCO_LINK_SUPPORTED(x)       ((x)[HCI_FEATURE_SCO_LINK_OFF] & HCI_FEATURE_SCO_LINK_MASK)
-
-#define HCI_FEATURE_HV2_PACKETS_MASK    0x10
-#define HCI_FEATURE_HV2_PACKETS_OFF     1
-#define HCI_HV2_PACKETS_SUPPORTED(x)    ((x)[HCI_FEATURE_HV2_PACKETS_OFF] & HCI_FEATURE_HV2_PACKETS_MASK)
-
-#define HCI_FEATURE_HV3_PACKETS_MASK    0x20
-#define HCI_FEATURE_HV3_PACKETS_OFF     1
-#define HCI_HV3_PACKETS_SUPPORTED(x)    ((x)[HCI_FEATURE_HV3_PACKETS_OFF] & HCI_FEATURE_HV3_PACKETS_MASK)
-
-#define HCI_FEATURE_U_LAW_MASK          0x40
-#define HCI_FEATURE_U_LAW_OFF           1
-#define HCI_LMP_U_LAW_SUPPORTED(x)      ((x)[HCI_FEATURE_U_LAW_OFF] & HCI_FEATURE_U_LAW_MASK)
-
-#define HCI_FEATURE_A_LAW_MASK          0x80
-#define HCI_FEATURE_A_LAW_OFF           1
-#define HCI_LMP_A_LAW_SUPPORTED(x)      ((x)[HCI_FEATURE_A_LAW_OFF] & HCI_FEATURE_A_LAW_MASK)
-
-#define HCI_FEATURE_CVSD_MASK           0x01
-#define HCI_FEATURE_CVSD_OFF            2
-#define HCI_LMP_CVSD_SUPPORTED(x)       ((x)[HCI_FEATURE_CVSD_OFF] & HCI_FEATURE_CVSD_MASK)
-
-#define HCI_FEATURE_PAGING_SCHEME_MASK  0x02
-#define HCI_FEATURE_PAGING_SCHEME_OFF   2
-#define HCI_PAGING_SCHEME_SUPPORTED(x) ((x)[HCI_FEATURE_PAGING_SCHEME_OFF] & HCI_FEATURE_PAGING_SCHEME_MASK)
-
-#define HCI_FEATURE_POWER_CTRL_MASK     0x04
-#define HCI_FEATURE_POWER_CTRL_OFF      2
-#define HCI_POWER_CTRL_SUPPORTED(x)     ((x)[HCI_FEATURE_POWER_CTRL_OFF] & HCI_FEATURE_POWER_CTRL_MASK)
-
-#define HCI_FEATURE_TRANSPNT_MASK       0x08
-#define HCI_FEATURE_TRANSPNT_OFF        2
-#define HCI_LMP_TRANSPNT_SUPPORTED(x)   ((x)[HCI_FEATURE_TRANSPNT_OFF] & HCI_FEATURE_TRANSPNT_MASK)
-
-#define HCI_FEATURE_FLOW_CTRL_LAG_MASK  0x70
-#define HCI_FEATURE_FLOW_CTRL_LAG_OFF   2
-#define HCI_FLOW_CTRL_LAG_VALUE(x)      (((x)[HCI_FEATURE_FLOW_CTRL_LAG_OFF] & HCI_FEATURE_FLOW_CTRL_LAG_MASK) >> 4)
-
-#define HCI_FEATURE_BROADCAST_ENC_MASK  0x80
-#define HCI_FEATURE_BROADCAST_ENC_OFF   2
-#define HCI_LMP_BCAST_ENC_SUPPORTED(x)  ((x)[HCI_FEATURE_BROADCAST_ENC_OFF] & HCI_FEATURE_BROADCAST_ENC_MASK)
-
-#define HCI_FEATURE_SCATTER_MODE_MASK   0x01
-#define HCI_FEATURE_SCATTER_MODE_OFF    3
-#define HCI_LMP_SCATTER_MODE_SUPPORTED(x) ((x)[HCI_FEATURE_SCATTER_MODE_OFF] & HCI_FEATURE_SCATTER_MODE_MASK)
-
-#define HCI_FEATURE_EDR_ACL_2MPS_MASK   0x02
-#define HCI_FEATURE_EDR_ACL_2MPS_OFF    3
-#define HCI_EDR_ACL_2MPS_SUPPORTED(x)   ((x)[HCI_FEATURE_EDR_ACL_2MPS_OFF] & HCI_FEATURE_EDR_ACL_2MPS_MASK)
-
-#define HCI_FEATURE_EDR_ACL_3MPS_MASK   0x04
-#define HCI_FEATURE_EDR_ACL_3MPS_OFF    3
-#define HCI_EDR_ACL_3MPS_SUPPORTED(x)   ((x)[HCI_FEATURE_EDR_ACL_3MPS_OFF] & HCI_FEATURE_EDR_ACL_3MPS_MASK)
-
-#define HCI_FEATURE_ENHANCED_INQ_MASK   0x08
-#define HCI_FEATURE_ENHANCED_INQ_OFF    3
-#define HCI_ENHANCED_INQ_SUPPORTED(x)   ((x)[HCI_FEATURE_ENHANCED_INQ_OFF] & HCI_FEATURE_ENHANCED_INQ_MASK)
-
-#define HCI_FEATURE_INTERLACED_INQ_SCAN_MASK   0x10
-#define HCI_FEATURE_INTERLACED_INQ_SCAN_OFF    3
-#define HCI_LMP_INTERLACED_INQ_SCAN_SUPPORTED(x) ((x)[HCI_FEATURE_INTERLACED_INQ_SCAN_OFF] & HCI_FEATURE_INTERLACED_INQ_SCAN_MASK)
-
-#define HCI_FEATURE_INTERLACED_PAGE_SCAN_MASK  0x20
-#define HCI_FEATURE_INTERLACED_PAGE_SCAN_OFF   3
-#define HCI_LMP_INTERLACED_PAGE_SCAN_SUPPORTED(x) ((x)[HCI_FEATURE_INTERLACED_PAGE_SCAN_OFF] & HCI_FEATURE_INTERLACED_PAGE_SCAN_MASK)
-
-#define HCI_FEATURE_INQ_RSSI_MASK       0x40
-#define HCI_FEATURE_INQ_RSSI_OFF        3
-#define HCI_LMP_INQ_RSSI_SUPPORTED(x)   ((x)[HCI_FEATURE_INQ_RSSI_OFF] & HCI_FEATURE_INQ_RSSI_MASK)
-
-#define HCI_FEATURE_ESCO_EV3_MASK       0x80
-#define HCI_FEATURE_ESCO_EV3_OFF        3
-#define HCI_ESCO_EV3_SUPPORTED(x)       ((x)[HCI_FEATURE_ESCO_EV3_OFF] & HCI_FEATURE_ESCO_EV3_MASK)
-
-#define HCI_FEATURE_ESCO_EV4_MASK       0x01
-#define HCI_FEATURE_ESCO_EV4_OFF        4
-#define HCI_ESCO_EV4_SUPPORTED(x)       ((x)[HCI_FEATURE_ESCO_EV4_OFF] & HCI_FEATURE_ESCO_EV4_MASK)
-
-#define HCI_FEATURE_ESCO_EV5_MASK       0x02
-#define HCI_FEATURE_ESCO_EV5_OFF        4
-#define HCI_ESCO_EV5_SUPPORTED(x)       ((x)[HCI_FEATURE_ESCO_EV5_OFF] & HCI_FEATURE_ESCO_EV5_MASK)
-
-#define HCI_FEATURE_ABSENCE_MASKS_MASK  0x04
-#define HCI_FEATURE_ABSENCE_MASKS_OFF   4
-#define HCI_LMP_ABSENCE_MASKS_SUPPORTED(x) ((x)[HCI_FEATURE_ABSENCE_MASKS_OFF] & HCI_FEATURE_ABSENCE_MASKS_MASK)
-
-#define HCI_FEATURE_AFH_CAP_SLAVE_MASK  0x08
-#define HCI_FEATURE_AFH_CAP_SLAVE_OFF   4
-#define HCI_LMP_AFH_CAP_SLAVE_SUPPORTED(x) ((x)[HCI_FEATURE_AFH_CAP_SLAVE_OFF] & HCI_FEATURE_AFH_CAP_SLAVE_MASK)
-
-#define HCI_FEATURE_AFH_CLASS_SLAVE_MASK 0x10
-#define HCI_FEATURE_AFH_CLASS_SLAVE_OFF  4
-#define HCI_LMP_AFH_CLASS_SLAVE_SUPPORTED(x) ((x)[HCI_FEATURE_AFH_CLASS_SLAVE_OFF] & HCI_FEATURE_AFH_CLASS_SLAVE_MASK)
-
-#if 1
-#define HCI_FEATURE_BREDR_NOT_SPT_MASK     0x20
-#define HCI_FEATURE_BREDR_NOT_SPT_OFF      4
-#define HCI_BREDR_NOT_SPT_SUPPORTED(x) ((x)[HCI_FEATURE_BREDR_NOT_SPT_OFF] & HCI_FEATURE_BREDR_NOT_SPT_MASK)
-
-#define HCI_FEATURE_LE_SPT_MASK      0x40
-#define HCI_FEATURE_LE_SPT_OFF       4
-#define HCI_LE_SPT_SUPPORTED(x)  ((x)[HCI_FEATURE_LE_SPT_OFF] & HCI_FEATURE_LE_SPT_MASK)
-#else
-
-#define HCI_FEATURE_ALIAS_AUTH_MASK     0x20
-#define HCI_FEATURE_ALIAS_AUTH_OFF      4
-#define HCI_LMP_ALIAS_AUTH_SUPPORTED(x) ((x)[HCI_FEATURE_ALIAS_AUTH_OFF] & HCI_FEATURE_ALIAS_AUTH_MASK)
-
-#define HCI_FEATURE_ANON_MODE_MASK      0x40
-#define HCI_FEATURE_ANON_MODE_OFF       4
-#define HCI_LMP_ANON_MODE_SUPPORTED(x)  ((x)[HCI_FEATURE_ANON_MODE_OFF] & HCI_FEATURE_ANON_MODE_MASK)
-#endif
-
-#define HCI_FEATURE_3_SLOT_EDR_ACL_MASK 0x80
-#define HCI_FEATURE_3_SLOT_EDR_ACL_OFF  4
-#define HCI_3_SLOT_EDR_ACL_SUPPORTED(x) ((x)[HCI_FEATURE_3_SLOT_EDR_ACL_OFF] & HCI_FEATURE_3_SLOT_EDR_ACL_MASK)
-
-#define HCI_FEATURE_5_SLOT_EDR_ACL_MASK 0x01
-#define HCI_FEATURE_5_SLOT_EDR_ACL_OFF  5
-#define HCI_5_SLOT_EDR_ACL_SUPPORTED(x) ((x)[HCI_FEATURE_5_SLOT_EDR_ACL_OFF] & HCI_FEATURE_5_SLOT_EDR_ACL_MASK)
-
-#define HCI_FEATURE_SNIFF_SUB_RATE_MASK 0x02
-#define HCI_FEATURE_SNIFF_SUB_RATE_OFF  5
-#define HCI_SNIFF_SUB_RATE_SUPPORTED(x) ((x)[HCI_FEATURE_SNIFF_SUB_RATE_OFF] & HCI_FEATURE_SNIFF_SUB_RATE_MASK)
-
-#define HCI_FEATURE_ATOMIC_ENCRYPT_MASK 0x04
-#define HCI_FEATURE_ATOMIC_ENCRYPT_OFF  5
-#define HCI_ATOMIC_ENCRYPT_SUPPORTED(x) ((x)[HCI_FEATURE_ATOMIC_ENCRYPT_OFF] & HCI_FEATURE_ATOMIC_ENCRYPT_MASK)
-
-#define HCI_FEATURE_AFH_CAP_MASTR_MASK  0x08
-#define HCI_FEATURE_AFH_CAP_MASTR_OFF   5
-#define HCI_LMP_AFH_CAP_MASTR_SUPPORTED(x) ((x)[HCI_FEATURE_AFH_CAP_MASTR_OFF] & HCI_FEATURE_AFH_CAP_MASTR_MASK)
-
-#define HCI_FEATURE_AFH_CLASS_MASTR_MASK 0x10
-#define HCI_FEATURE_AFH_CLASS_MASTR_OFF  5
-#define HCI_LMP_AFH_CLASS_MASTR_SUPPORTED(x) ((x)[HCI_FEATURE_AFH_CLASS_MASTR_OFF] & HCI_FEATURE_AFH_CLASS_MASTR_MASK)
-
-#define HCI_FEATURE_EDR_ESCO_2MPS_MASK  0x20
-#define HCI_FEATURE_EDR_ESCO_2MPS_OFF   5
-#define HCI_EDR_ESCO_2MPS_SUPPORTED(x)  ((x)[HCI_FEATURE_EDR_ESCO_2MPS_OFF] & HCI_FEATURE_EDR_ESCO_2MPS_MASK)
-
-#define HCI_FEATURE_EDR_ESCO_3MPS_MASK  0x40
-#define HCI_FEATURE_EDR_ESCO_3MPS_OFF   5
-#define HCI_EDR_ESCO_3MPS_SUPPORTED(x)  ((x)[HCI_FEATURE_EDR_ESCO_3MPS_OFF] & HCI_FEATURE_EDR_ESCO_3MPS_MASK)
-
-#define HCI_FEATURE_3_SLOT_EDR_ESCO_MASK 0x80
-#define HCI_FEATURE_3_SLOT_EDR_ESCO_OFF  5
-#define HCI_3_SLOT_EDR_ESCO_SUPPORTED(x) ((x)[HCI_FEATURE_3_SLOT_EDR_ESCO_OFF] & HCI_FEATURE_3_SLOT_EDR_ESCO_MASK)
-
-#define HCI_FEATURE_EXT_INQ_RSP_MASK    0x01
-#define HCI_FEATURE_EXT_INQ_RSP_OFF     6
-#define HCI_EXT_INQ_RSP_SUPPORTED(x)    ((x)[HCI_FEATURE_EXT_INQ_RSP_OFF] & HCI_FEATURE_EXT_INQ_RSP_MASK)
-
-#if 1 /* TOKYO spec definition */
-#define HCI_FEATURE_SIMUL_LE_BREDR_MASK 0x02
-#define HCI_FEATURE_SIMUL_LE_BREDR_OFF  6
-#define HCI_SIMUL_LE_BREDR_SUPPORTED(x) ((x)[HCI_FEATURE_SIMUL_LE_BREDR_OFF] & HCI_FEATURE_SIMUL_LE_BREDR_MASK)
-
-#else
-#define HCI_FEATURE_ANUM_PIN_AWARE_MASK 0x02
-#define HCI_FEATURE_ANUM_PIN_AWARE_OFF  6
-#define HCI_ANUM_PIN_AWARE_SUPPORTED(x) ((x)[HCI_FEATURE_ANUM_PIN_AWARE_OFF] & HCI_FEATURE_ANUM_PIN_AWARE_MASK)
-#endif
-
-#define HCI_FEATURE_ANUM_PIN_CAP_MASK   0x04
-#define HCI_FEATURE_ANUM_PIN_CAP_OFF    6
-#define HCI_ANUM_PIN_CAP_SUPPORTED(x)   ((x)[HCI_FEATURE_ANUM_PIN_CAP_OFF] & HCI_FEATURE_ANUM_PIN_CAP_MASK)
-
-#define HCI_FEATURE_SIMPLE_PAIRING_MASK 0x08
-#define HCI_FEATURE_SIMPLE_PAIRING_OFF  6
-#define HCI_SIMPLE_PAIRING_SUPPORTED(x) ((x)[HCI_FEATURE_SIMPLE_PAIRING_OFF] & HCI_FEATURE_SIMPLE_PAIRING_MASK)
-
-#define HCI_FEATURE_ENCAP_PDU_MASK      0x10
-#define HCI_FEATURE_ENCAP_PDU_OFF       6
-#define HCI_ENCAP_PDU_SUPPORTED(x)      ((x)[HCI_FEATURE_ENCAP_PDU_OFF] & HCI_FEATURE_ENCAP_PDU_MASK)
-
-#define HCI_FEATURE_ERROR_DATA_MASK     0x20
-#define HCI_FEATURE_ERROR_DATA_OFF      6
-#define HCI_ERROR_DATA_SUPPORTED(x)     ((x)[HCI_FEATURE_ERROR_DATA_OFF] & HCI_FEATURE_ERROR_DATA_MASK)
-
-#define HCI_FEATURE_NON_FLUSHABLE_PB_MASK      0x40
-#define HCI_FEATURE_NON_FLUSHABLE_PB_OFF       6
-#define HCI_NON_FLUSHABLE_PB_SUPPORTED(x)      ((x)[HCI_FEATURE_NON_FLUSHABLE_PB_OFF] & HCI_FEATURE_NON_FLUSHABLE_PB_MASK)
-
-#define HCI_FEATURE_LINK_SUP_TO_EVT_MASK 0x01
-#define HCI_FEATURE_LINK_SUP_TO_EVT_OFF  7
-#define HCI_LINK_SUP_TO_EVT_SUPPORTED(x) ((x)[HCI_FEATURE_LINK_SUP_TO_EVT_OFF] & HCI_FEATURE_LINK_SUP_TO_EVT_MASK)
-
-#define HCI_FEATURE_INQ_RESP_TX_MASK     0x02
-#define HCI_FEATURE_INQ_RESP_TX_OFF      7
-#define HCI_INQ_RESP_TX_SUPPORTED(x)     ((x)[HCI_FEATURE_INQ_RESP_TX_OFF] & HCI_FEATURE_INQ_RESP_TX_MASK)
-
-#define HCI_FEATURE_EXTENDED_MASK           0x80
-#define HCI_FEATURE_EXTENDED_OFF        7
-#define HCI_LMP_EXTENDED_SUPPORTED(x)   ((x)[HCI_FEATURE_EXTENDED_OFF] & HCI_FEATURE_EXTENDED_MASK)
-
-/*
-**   LMP features encoding - page 1
-*/
-#define HCI_EXT_FEATURE_SSP_HOST_MASK 0x01
-#define HCI_EXT_FEATURE_SSP_HOST_OFF  0
-#define HCI_SSP_HOST_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_SSP_HOST_OFF] & HCI_EXT_FEATURE_SSP_HOST_MASK)
-
-#define HCI_EXT_FEATURE_LE_HOST_MASK 0x02
-#define HCI_EXT_FEATURE_LE_HOST_OFF  0
-#define HCI_LE_HOST_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_LE_HOST_OFF] & HCI_EXT_FEATURE_LE_HOST_MASK)
-
-#define HCI_EXT_FEATURE_SIMUL_DUMO_HOST_MASK 0x04
-#define HCI_EXT_FEATURE_SIMUL_DUMO_HOST_OFF  0
-#define HCI_SIMUL_DUMO_HOST_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_SIMUL_DUMO_HOST_OFF] & HCI_EXT_FEATURE_SIMUL_DUMO_HOST_MASK)
-
-/*
-**   LMP features encoding - page 2
-*/
-#define HCI_EXT_FEATURE_CSB_MASTER_MASK         0x01
-#define HCI_EXT_FEATURE_CSB_MASTER_OFF          0
-#define HCI_CSB_MASTER_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_CSB_MASTER_OFF] & HCI_EXT_FEATURE_CSB_MASTER_MASK)
-
-#define HCI_EXT_FEATURE_CSB_SLAVE_MASK          0x02
-#define HCI_EXT_FEATURE_CSB_SLAVE_OFF           0
-#define HCI_CSB_SLAVE_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_CSB_SLAVE_OFF] & HCI_EXT_FEATURE_CSB_SLAVE_MASK)
-
-#define HCI_EXT_FEATURE_SYNC_TRAIN_MASTER_MASK  0x04
-#define HCI_EXT_FEATURE_SYNC_TRAIN_MASTER_OFF   0
-#define HCI_SYNC_TRAIN_MASTER_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_SYNC_TRAIN_MASTER_OFF] & HCI_EXT_FEATURE_SYNC_TRAIN_MASTER_MASK)
-
-#define HCI_EXT_FEATURE_SYNC_SCAN_SLAVE_MASK    0x08
-#define HCI_EXT_FEATURE_SYNC_SCAN_SLAVE_OFF     0
-#define HCI_SYNC_SCAN_SLAVE_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_SYNC_SCAN_SLAVE_OFF] & HCI_EXT_FEATURE_SYNC_SCAN_SLAVE_MASK)
-
-#define HCI_EXT_FEATURE_INQ_RESP_NOTIF_MASK     0x10
-#define HCI_EXT_FEATURE_INQ_RESP_NOTIF_OFF      0
-#define HCI_INQ_RESP_NOTIF_SUPPORTED(x) ((x)[HCI_EXT_FEATURE_INQ_RESP_NOTIF_OFF] & HCI_EXT_FEATURE_INQ_RESP_NOTIF_MASK)
-
-/*
-**   LE features encoding - page 0 (the only page for now)
-*/
-#define HCI_LE_FEATURE_LE_ENCRYPTION_MASK       0x01
-#define HCI_LE_FEATURE_LE_ENCRYPTION_OFF        0
-#define HCI_LE_ENCRYPTION_SUPPORTED(x) ((x)[HCI_LE_FEATURE_LE_ENCRYPTION_OFF] & HCI_LE_FEATURE_LE_ENCRYPTION_MASK)
-
-
-/*
-**   Local Supported Commands encoding
-*/
-#define HCI_NUM_SUPP_COMMANDS_BYTES           64
-
-/* Supported Commands Byte 0 */
-#define HCI_SUPP_COMMANDS_INQUIRY_MASK 0x01
-#define HCI_SUPP_COMMANDS_INQUIRY_OFF  0
-#define HCI_INQUIRY_SUPPORTED(x) ((x)[HCI_SUPP_COMMANDS_INQUIRY_OFF] & HCI_SUPP_COMMANDS_INQUIRY_MASK)
-
-#define HCI_SUPP_COMMANDS_INQUIRY_CANCEL_MASK 0x02
-#define HCI_SUPP_COMMANDS_INQUIRY_CANCEL_OFF  0
-#define HCI_INQUIRY_CANCEL_SUPPORTED(x) ((x)[HCI_SUPP_COMMANDS_INQUIRY_CANCEL_OFF] & HCI_SUPP_COMMANDS_INQUIRY_CANCEL_MASK)
-
-#define HCI_SUPP_COMMANDS_PERIODIC_INQUIRY_MASK     0x04
-#define HCI_SUPP_COMMANDS_PERIODIC_INQUIRY_OFF      0
-#define HCI_PERIODIC_INQUIRY_SUPPORTED(x)     ((x)[HCI_SUPP_COMMANDS_PERIODIC_INQUIRY_OFF] & HCI_SUPP_COMMANDS_PERIODIC_INQUIRY_MASK)
-
-#define HCI_SUPP_COMMANDS_EXIT_PERIODIC_INQUIRY_MASK    0x08
-#define HCI_SUPP_COMMANDS_EXIT_PERIODIC_INQUIRY_OFF     0
-#define HCI_EXIT_PERIODIC_INQUIRY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_EXIT_PERIODIC_INQUIRY_OFF] & HCI_SUPP_COMMANDS_EXIT_PERIODIC_INQUIRY_MASK)
-
-#define HCI_SUPP_COMMANDS_CREATE_CONN_MASK     0x10
-#define HCI_SUPP_COMMANDS_CREATE_CONN_OFF      0
-#define HCI_CREATE_CONN_SUPPORTED(x)     ((x)[HCI_SUPP_COMMANDS_CREATE_CONN_OFF] & HCI_SUPP_COMMANDS_CREATE_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_DISCONNECT_MASK         0x20
-#define HCI_SUPP_COMMANDS_DISCONNECT_OFF          0
-#define HCI_DISCONNECT_SUPPORTED(x)         ((x)[HCI_SUPP_COMMANDS_DISCONNECT_OFF] & HCI_SUPP_COMMANDS_DISCONNECT_MASK)
-
-#define HCI_SUPP_COMMANDS_ADD_SCO_CONN_MASK      0x40
-#define HCI_SUPP_COMMANDS_ADD_SCO_CONN_OFF       0
-#define HCI_ADD_SCO_CONN_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_ADD_SCO_CONN_OFF] & HCI_SUPP_COMMANDS_ADD_SCO_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_CANCEL_CREATE_CONN_MASK     0x80
-#define HCI_SUPP_COMMANDS_CANCEL_CREATE_CONN_OFF      0
-#define HCI_CANCEL_CREATE_CONN_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_CANCEL_CREATE_CONN_OFF] & HCI_SUPP_COMMANDS_CANCEL_CREATE_CONN_MASK)
-
-/* Supported Commands Byte 1 */
-#define HCI_SUPP_COMMANDS_ACCEPT_CONN_REQUEST_MASK      0x01
-#define HCI_SUPP_COMMANDS_ACCEPT_CONN_REQUEST_OFF       1
-#define HCI_ACCEPT_CONN_REQUEST_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_ACCEPT_CONN_REQUEST_OFF] & HCI_SUPP_COMMANDS_ACCEPT_CONN_REQUEST_MASK)
-
-#define HCI_SUPP_COMMANDS_REJECT_CONN_REQUEST_MASK           0x02
-#define HCI_SUPP_COMMANDS_REJECT_CONN_REQUEST_OFF            1
-#define HCI_REJECT_CONN_REQUEST_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_REJECT_CONN_REQUEST_OFF] & HCI_SUPP_COMMANDS_REJECT_CONN_REQUEST_MASK)
-
-#define HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_REPLY_MASK  0x04
-#define HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_REPLY_OFF   1
-#define HCI_LINK_KEY_REQUEST_REPLY_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_NEG_REPLY_MASK       0x08
-#define HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_NEG_REPLY_OFF        1
-#define HCI_LINK_KEY_REQUEST_NEG_REPLY_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_LINK_KEY_REQUEST_NEG_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_REPLY_MASK    0x10
-#define HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_REPLY_OFF     1
-#define HCI_PIN_CODE_REQUEST_REPLY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_NEG_REPLY_MASK    0x20
-#define HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_NEG_REPLY_OFF     1
-#define HCI_PIN_CODE_REQUEST_NEG_REPLY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_PIN_CODE_REQUEST_NEG_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_CHANGE_CONN_PKT_TYPE_MASK          0x40
-#define HCI_SUPP_COMMANDS_CHANGE_CONN_PKT_TYPE_OFF           1
-#define HCI_CHANGE_CONN_PKT_TYPE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_CHANGE_CONN_PKT_TYPE_OFF] & HCI_SUPP_COMMANDS_CHANGE_CONN_PKT_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_AUTH_REQUEST_MASK          0x80
-#define HCI_SUPP_COMMANDS_AUTH_REQUEST_OFF           1
-#define HCI_AUTH_REQUEST_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_AUTH_REQUEST_OFF] & HCI_SUPP_COMMANDS_AUTH_REQUEST_MASK)
-
-/* Supported Commands Byte 2 */
-#define HCI_SUPP_COMMANDS_SET_CONN_ENCRYPTION_MASK      0x01
-#define HCI_SUPP_COMMANDS_SET_CONN_ENCRYPTION_OFF       2
-#define HCI_SET_CONN_ENCRYPTION_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_SET_CONN_ENCRYPTION_OFF] & HCI_SUPP_COMMANDS_SET_CONN_ENCRYPTION_MASK)
-
-#define HCI_SUPP_COMMANDS_CHANGE_CONN_LINK_KEY_MASK           0x02
-#define HCI_SUPP_COMMANDS_CHANGE_CONN_LINK_KEY_OFF            2
-#define HCI_CHANGE_CONN_LINK_KEY_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_CHANGE_CONN_LINK_KEY_OFF] & HCI_SUPP_COMMANDS_CHANGE_CONN_LINK_KEY_MASK)
-
-#define HCI_SUPP_COMMANDS_MASTER_LINK_KEY_MASK  0x04
-#define HCI_SUPP_COMMANDS_MASTER_LINK_KEY_OFF   2
-#define HCI_MASTER_LINK_KEY_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_MASTER_LINK_KEY_OFF] & HCI_SUPP_COMMANDS_MASTER_LINK_KEY_MASK)
-
-#define HCI_SUPP_COMMANDS_REMOTE_NAME_REQUEST_MASK       0x08
-#define HCI_SUPP_COMMANDS_REMOTE_NAME_REQUEST_OFF        2
-#define HCI_REMOTE_NAME_REQUEST_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_REMOTE_NAME_REQUEST_OFF] & HCI_SUPP_COMMANDS_REMOTE_NAME_REQUEST_MASK)
-
-#define HCI_SUPP_COMMANDS_CANCEL_REMOTE_NAME_REQUEST_MASK    0x10
-#define HCI_SUPP_COMMANDS_CANCEL_REMOTE_NAME_REQUEST_OFF     2
-#define HCI_CANCEL_REMOTE_NAME_REQUEST_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_CANCEL_REMOTE_NAME_REQUEST_OFF] & HCI_SUPP_COMMANDS_CANCEL_REMOTE_NAME_REQUEST_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_REMOTE_SUPP_FEATURES_MASK    0x20
-#define HCI_SUPP_COMMANDS_READ_REMOTE_SUPP_FEATURES_OFF     2
-#define HCI_READ_REMOTE_SUPP_FEATURES_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_REMOTE_SUPP_FEATURES_OFF] & HCI_SUPP_COMMANDS_READ_REMOTE_SUPP_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_REMOTE_EXT_FEATURES_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_REMOTE_EXT_FEATURES_OFF           2
-#define HCI_READ_REMOTE_EXT_FEATURES_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_REMOTE_EXT_FEATURES_OFF] & HCI_SUPP_COMMANDS_READ_REMOTE_EXT_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_REMOTE_VER_INFO_MASK          0x80
-#define HCI_SUPP_COMMANDS_READ_REMOTE_VER_INFO_OFF           2
-#define HCI_READ_REMOTE_VER_INFO_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_REMOTE_VER_INFO_OFF] & HCI_SUPP_COMMANDS_READ_REMOTE_VER_INFO_MASK)
-
-/* Supported Commands Byte 3, bits 2-7 reserved */
-#define HCI_SUPP_COMMANDS_READ_CLOCK_OFFSET_MASK           0x01
-#define HCI_SUPP_COMMANDS_READ_CLOCK_OFFSET_OFF            3
-#define HCI_READ_CLOCK_OFFSET_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_CLOCK_OFFSET_OFF] & HCI_SUPP_COMMANDS_READ_CLOCK_OFFSET_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LMP_HANDLE_MASK  0x02
-#define HCI_SUPP_COMMANDS_READ_LMP_HANDLE_OFF   3
-#define HCI_READ_LMP_HANDLE_SUPPORTED(x) ((x)[HCI_SUPP_COMMANDS_READ_LMP_HANDLE_OFF] & HCI_SUPP_COMMANDS_READ_LMP_HANDLE_MASK)
-
-/* Supported Commands Byte 4, bit 0 reserved */
-#define HCI_SUPP_COMMANDS_HOLD_MODE_CMD_MASK           0x02
-#define HCI_SUPP_COMMANDS_HOLD_MODE_CMD_OFF            4
-#define HCI_HOLD_MODE_CMD_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_HOLD_MODE_CMD_OFF] & HCI_SUPP_COMMANDS_HOLD_MODE_CMD_MASK)
-
-#define HCI_SUPP_COMMANDS_SNIFF_MODE_CMD_MASK  0x04
-#define HCI_SUPP_COMMANDS_SNIFF_MODE_CMD_OFF   4
-#define HCI_SNIFF_MODE_CMD_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_SNIFF_MODE_CMD_OFF] & HCI_SUPP_COMMANDS_SNIFF_MODE_CMD_MASK)
-
-#define HCI_SUPP_COMMANDS_EXIT_SNIFF_MODE_MASK       0x08
-#define HCI_SUPP_COMMANDS_EXIT_SNIFF_MODE_OFF        4
-#define HCI_EXIT_SNIFF_MODE_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_EXIT_SNIFF_MODE_OFF] & HCI_SUPP_COMMANDS_EXIT_SNIFF_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_PARK_STATE_MASK    0x10
-#define HCI_SUPP_COMMANDS_PARK_STATE_OFF     4
-#define HCI_PARK_STATE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_PARK_STATE_OFF] & HCI_SUPP_COMMANDS_PARK_STATE_MASK)
-
-#define HCI_SUPP_COMMANDS_EXIT_PARK_STATE_MASK    0x20
-#define HCI_SUPP_COMMANDS_EXIT_PARK_STATE_OFF     4
-#define HCI_EXIT_PARK_STATE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_EXIT_PARK_STATE_OFF] & HCI_SUPP_COMMANDS_EXIT_PARK_STATE_MASK)
-
-#define HCI_SUPP_COMMANDS_QOS_SETUP_MASK          0x40
-#define HCI_SUPP_COMMANDS_QOS_SETUP_OFF           4
-#define HCI_QOS_SETUP_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_QOS_SETUP_OFF] & HCI_SUPP_COMMANDS_QOS_SETUP_MASK)
-
-#define HCI_SUPP_COMMANDS_ROLE_DISCOVERY_MASK          0x80
-#define HCI_SUPP_COMMANDS_ROLE_DISCOVERY_OFF           4
-#define HCI_ROLE_DISCOVERY_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_ROLE_DISCOVERY_OFF] & HCI_SUPP_COMMANDS_ROLE_DISCOVERY_MASK)
-
-/* Supported Commands Byte 5 */
-#define HCI_SUPP_COMMANDS_SWITCH_ROLE_MASK      0x01
-#define HCI_SUPP_COMMANDS_SWITCH_ROLE_OFF       5
-#define HCI_SWITCH_ROLE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_SWITCH_ROLE_OFF] & HCI_SUPP_COMMANDS_SWITCH_ROLE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LINK_POLICY_SET_MASK           0x02
-#define HCI_SUPP_COMMANDS_READ_LINK_POLICY_SET_OFF            5
-#define HCI_READ_LINK_POLICY_SET_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_READ_LINK_POLICY_SET_OFF] & HCI_SUPP_COMMANDS_READ_LINK_POLICY_SET_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LINK_POLICY_SET_MASK  0x04
-#define HCI_SUPP_COMMANDS_WRITE_LINK_POLICY_SET_OFF   5
-#define HCI_WRITE_LINK_POLICY_SET_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_WRITE_LINK_POLICY_SET_OFF] & HCI_SUPP_COMMANDS_WRITE_LINK_POLICY_SET_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_DEF_LINK_POLICY_SET_MASK       0x08
-#define HCI_SUPP_COMMANDS_READ_DEF_LINK_POLICY_SET_OFF        5
-#define HCI_READ_DEF_LINK_POLICY_SET_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_DEF_LINK_POLICY_SET_OFF] & HCI_SUPP_COMMANDS_READ_DEF_LINK_POLICY_SET_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_DEF_LINK_POLICY_SET_MASK    0x10
-#define HCI_SUPP_COMMANDS_WRITE_DEF_LINK_POLICY_SET_OFF     5
-#define HCI_WRITE_DEF_LINK_POLICY_SET_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_DEF_LINK_POLICY_SET_OFF] & HCI_SUPP_COMMANDS_WRITE_DEF_LINK_POLICY_SET_MASK)
-
-#define HCI_SUPP_COMMANDS_FLOW_SPECIFICATION_MASK    0x20
-#define HCI_SUPP_COMMANDS_FLOW_SPECIFICATION_OFF     5
-#define HCI_FLOW_SPECIFICATION_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_FLOW_SPECIFICATION_OFF] & HCI_SUPP_COMMANDS_FLOW_SPECIFICATION_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_EVENT_MASK_MASK          0x40
-#define HCI_SUPP_COMMANDS_SET_EVENT_MASK_OFF           5
-#define HCI_SET_EVENT_MASK_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_SET_EVENT_MASK_OFF] & HCI_SUPP_COMMANDS_SET_EVENT_MASK_MASK)
-
-#define HCI_SUPP_COMMANDS_RESET_MASK          0x80
-#define HCI_SUPP_COMMANDS_RESET_OFF           5
-#define HCI_RESET_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_RESET_OFF] & HCI_SUPP_COMMANDS_RESET_MASK)
-
-/* Supported Commands Byte 6 */
-#define HCI_SUPP_COMMANDS_SET_EVENT_FILTER_MASK      0x01
-#define HCI_SUPP_COMMANDS_SET_EVENT_FILTER_OFF       6
-#define HCI_SET_EVENT_FILTER_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_SET_EVENT_FILTER_OFF] & HCI_SUPP_COMMANDS_SET_EVENT_FILTER_MASK)
-
-#define HCI_SUPP_COMMANDS_FLUSH_MASK           0x02
-#define HCI_SUPP_COMMANDS_FLUSH_OFF            6
-#define HCI_FLUSH_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_FLUSH_OFF] & HCI_SUPP_COMMANDS_FLUSH_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_PIN_TYPE_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_PIN_TYPE_OFF   6
-#define HCI_READ_PIN_TYPE_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_PIN_TYPE_OFF] & HCI_SUPP_COMMANDS_READ_PIN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_PIN_TYPE_MASK       0x08
-#define HCI_SUPP_COMMANDS_WRITE_PIN_TYPE_OFF        6
-#define HCI_WRITE_PIN_TYPE_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_WRITE_PIN_TYPE_OFF] & HCI_SUPP_COMMANDS_WRITE_PIN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_CREATE_NEW_UNIT_KEY_MASK    0x10
-#define HCI_SUPP_COMMANDS_CREATE_NEW_UNIT_KEY_OFF     6
-#define HCI_CREATE_NEW_UNIT_KEY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_CREATE_NEW_UNIT_KEY_OFF] & HCI_SUPP_COMMANDS_CREATE_NEW_UNIT_KEY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_STORED_LINK_KEY_MASK    0x20
-#define HCI_SUPP_COMMANDS_READ_STORED_LINK_KEY_OFF     6
-#define HCI_READ_STORED_LINK_KEY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_STORED_LINK_KEY_OFF] & HCI_SUPP_COMMANDS_READ_STORED_LINK_KEY_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_STORED_LINK_KEY_MASK          0x40
-#define HCI_SUPP_COMMANDS_WRITE_STORED_LINK_KEY_OFF           6
-#define HCI_WRITE_STORED_LINK_KEY_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_STORED_LINK_KEY_OFF] & HCI_SUPP_COMMANDS_WRITE_STORED_LINK_KEY_MASK)
-
-#define HCI_SUPP_COMMANDS_DELETE_STORED_LINK_KEY_MASK          0x80
-#define HCI_SUPP_COMMANDS_DELETE_STORED_LINK_KEY_OFF           6
-#define HCI_DELETE_STORED_LINK_KEY_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_DELETE_STORED_LINK_KEY_OFF] & HCI_SUPP_COMMANDS_DELETE_STORED_LINK_KEY_MASK)
-
-/* Supported Commands Byte 7 */
-#define HCI_SUPP_COMMANDS_WRITE_LOCAL_NAME_MASK      0x01
-#define HCI_SUPP_COMMANDS_WRITE_LOCAL_NAME_OFF       7
-#define HCI_WRITE_LOCAL_NAME_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_LOCAL_NAME_OFF] & HCI_SUPP_COMMANDS_WRITE_LOCAL_NAME_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_NAME_MASK           0x02
-#define HCI_SUPP_COMMANDS_READ_LOCAL_NAME_OFF            7
-#define HCI_READ_LOCAL_NAME_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_NAME_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_NAME_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_CONN_ACCEPT_TOUT_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_CONN_ACCEPT_TOUT_OFF   7
-#define HCI_READ_CONN_ACCEPT_TOUT_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_CONN_ACCEPT_TOUT_OFF] & HCI_SUPP_COMMANDS_READ_CONN_ACCEPT_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_CONN_ACCEPT_TOUT_MASK       0x08
-#define HCI_SUPP_COMMANDS_WRITE_CONN_ACCEPT_TOUT_OFF        7
-#define HCI_WRITE_CONN_ACCEPT_TOUT_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_WRITE_CONN_ACCEPT_TOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_CONN_ACCEPT_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_PAGE_TOUT_MASK    0x10
-#define HCI_SUPP_COMMANDS_READ_PAGE_TOUT_OFF     7
-#define HCI_READ_PAGE_TOUT_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_PAGE_TOUT_OFF] & HCI_SUPP_COMMANDS_READ_PAGE_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_TOUT_MASK    0x20
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_TOUT_OFF     7
-#define HCI_WRITE_PAGE_TOUT_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_PAGE_TOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_PAGE_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_SCAN_ENABLE_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_SCAN_ENABLE_OFF           7
-#define HCI_READ_SCAN_ENABLE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_SCAN_ENABLE_OFF] & HCI_SUPP_COMMANDS_READ_SCAN_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_SCAN_ENABLE_MASK          0x80
-#define HCI_SUPP_COMMANDS_WRITE_SCAN_ENABLE_OFF           7
-#define HCI_WRITE_SCAN_ENABLE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_SCAN_ENABLE_OFF] & HCI_SUPP_COMMANDS_WRITE_SCAN_ENABLE_MASK)
-
-/* Supported Commands Byte 8, bits 4-5 are reserved in the specs but are successfully used in our host/controller */
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_ACTIVITY_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_ACTIVITY_OFF       8
-#define HCI_READ_PAGE_SCAN_ACTIVITY_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_PAGE_SCAN_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_READ_PAGE_SCAN_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_ACTIVITY_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_ACTIVITY_OFF            8
-#define HCI_WRITE_PAGE_SCAN_ACTIVITY_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_INQURIY_SCAN_ACTIVITY_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_INQURIY_SCAN_ACTIVITY_OFF   8
-#define HCI_READ_INQURIY_SCAN_ACTIVITY_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_INQURIY_SCAN_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_READ_INQURIY_SCAN_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_INQURIY_SCAN_ACTIVITY_MASK       0x08
-#define HCI_SUPP_COMMANDS_WRITE_INQURIY_SCAN_ACTIVITY_OFF        8
-#define HCI_WRITE_INQURIY_SCAN_ACTIVITY_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_WRITE_INQURIY_SCAN_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_WRITE_INQURIY_SCAN_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_AUTH_ENABLE_MASK    0x10
-#define HCI_SUPP_COMMANDS_READ_AUTH_ENABLE_OFF     8
-#define HCI_READ_AUTH_ENABLE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_AUTH_ENABLE_OFF] & HCI_SUPP_COMMANDS_READ_AUTH_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_AUTH_ENABLE_MASK    0x20
-#define HCI_SUPP_COMMANDS_WRITE_AUTH_ENABLE_OFF     8
-#define HCI_WRITE_AUTH_ENABLE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_AUTH_ENABLE_OFF] & HCI_SUPP_COMMANDS_WRITE_AUTH_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_ENCRYPT_ENABLE_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_ENCRYPT_ENABLE_OFF           8
-#define HCI_READ_ENCRYPT_ENABLE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_ENCRYPT_ENABLE_OFF] & HCI_SUPP_COMMANDS_READ_ENCRYPT_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_ENCRYPT_ENABLE_MASK          0x80
-#define HCI_SUPP_COMMANDS_WRITE_ENCRYPT_ENABLE_OFF           8
-#define HCI_WRITE_ENCRYPT_ENABLE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_ENCRYPT_ENABLE_OFF] & HCI_SUPP_COMMANDS_WRITE_ENCRYPT_ENABLE_MASK)
-
-/* Supported Commands Byte 9 */
-#define HCI_SUPP_COMMANDS_READ_CLASS_DEVICE_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_CLASS_DEVICE_OFF       9
-#define HCI_READ_CLASS_DEVICE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_CLASS_DEVICE_OFF] & HCI_SUPP_COMMANDS_READ_CLASS_DEVICE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_CLASS_DEVICE_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_CLASS_DEVICE_OFF            9
-#define HCI_WRITE_CLASS_DEVICE_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_CLASS_DEVICE_OFF] & HCI_SUPP_COMMANDS_WRITE_CLASS_DEVICE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_VOICE_SETTING_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_VOICE_SETTING_OFF   9
-#define HCI_READ_VOICE_SETTING_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_VOICE_SETTING_OFF] & HCI_SUPP_COMMANDS_READ_VOICE_SETTING_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_VOICE_SETTING_MASK       0x08
-#define HCI_SUPP_COMMANDS_WRITE_VOICE_SETTING_OFF        9
-#define HCI_WRITE_VOICE_SETTING_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_WRITE_VOICE_SETTING_OFF] & HCI_SUPP_COMMANDS_WRITE_VOICE_SETTING_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_AUTO_FLUSH_TOUT_MASK    0x10
-#define HCI_SUPP_COMMANDS_READ_AUTO_FLUSH_TOUT_OFF     9
-#define HCI_READ_AUTO_FLUSH_TOUT_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_AUTO_FLUSH_TOUT_OFF] & HCI_SUPP_COMMANDS_READ_AUTO_FLUSH_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_AUTO_FLUSH_TOUT_MASK    0x20
-#define HCI_SUPP_COMMANDS_WRITE_AUTO_FLUSH_TOUT_OFF     9
-#define HCI_WRITE_AUTO_FLUSH_TOUT_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_AUTO_FLUSH_TOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_AUTO_FLUSH_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_NUM_BROAD_RETRANS_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_NUM_BROAD_RETRANS_OFF           9
-#define HCI_READ_NUM_BROAD_RETRANS_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_NUM_BROAD_RETRANS_OFF] & HCI_SUPP_COMMANDS_READ_NUM_BROAD_RETRANS_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_NUM_BROAD_RETRANS_MASK          0x80
-#define HCI_SUPP_COMMANDS_WRITE_NUM_BROAD_RETRANS_OFF           9
-#define HCI_WRITE_NUM_BROAD_RETRANS_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_NUM_BROAD_RETRANS_OFF] & HCI_SUPP_COMMANDS_WRITE_NUM_BROAD_RETRANS_MASK)
-
-/* Supported Commands Byte 10 */
-#define HCI_SUPP_COMMANDS_READ_HOLD_MODE_ACTIVITY_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_HOLD_MODE_ACTIVITY_OFF       10
-#define HCI_READ_HOLD_MODE_ACTIVITY_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_HOLD_MODE_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_READ_HOLD_MODE_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_HOLD_MODE_ACTIVITY_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_HOLD_MODE_ACTIVITY_OFF            10
-#define HCI_WRITE_HOLD_MODE_ACTIVITY_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_HOLD_MODE_ACTIVITY_OFF] & HCI_SUPP_COMMANDS_WRITE_HOLD_MODE_ACTIVITY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_TRANS_PWR_LEVEL_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_TRANS_PWR_LEVEL_OFF   10
-#define HCI_READ_TRANS_PWR_LEVEL_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_TRANS_PWR_LEVEL_OFF] & HCI_SUPP_COMMANDS_READ_TRANS_PWR_LEVEL_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_SYNCH_FLOW_CTRL_ENABLE_MASK       0x08
-#define HCI_SUPP_COMMANDS_READ_SYNCH_FLOW_CTRL_ENABLE_OFF        10
-#define HCI_READ_SYNCH_FLOW_CTRL_ENABLE_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_SYNCH_FLOW_CTRL_ENABLE_OFF] & HCI_SUPP_COMMANDS_READ_SYNCH_FLOW_CTRL_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_SYNCH_FLOW_CTRL_ENABLE_MASK    0x10
-#define HCI_SUPP_COMMANDS_WRITE_SYNCH_FLOW_CTRL_ENABLE_OFF     10
-#define HCI_WRITE_SYNCH_FLOW_CTRL_ENABLE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_SYNCH_FLOW_CTRL_ENABLE_OFF] & HCI_SUPP_COMMANDS_WRITE_SYNCH_FLOW_CTRL_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_HOST_CTRLR_TO_HOST_FC_MASK    0x20
-#define HCI_SUPP_COMMANDS_SET_HOST_CTRLR_TO_HOST_FC_OFF     10
-#define HCI_SET_HOST_CTRLR_TO_HOST_FC_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_SET_HOST_CTRLR_TO_HOST_FC_OFF] & HCI_SUPP_COMMANDS_SET_HOST_CTRLR_TO_HOST_FC_MASK)
-
-#define HCI_SUPP_COMMANDS_HOST_BUFFER_SIZE_MASK          0x40
-#define HCI_SUPP_COMMANDS_HOST_BUFFER_SIZE_OFF           10
-#define HCI_HOST_BUFFER_SIZE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_HOST_BUFFER_SIZE_OFF] & HCI_SUPP_COMMANDS_HOST_BUFFER_SIZE_MASK)
-
-#define HCI_SUPP_COMMANDS_HOST_NUM_COMPLETED_PKTS_MASK          0x80
-#define HCI_SUPP_COMMANDS_HOST_NUM_COMPLETED_PKTS_OFF           10
-#define HCI_HOST_NUM_COMPLETED_PKTS_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_HOST_NUM_COMPLETED_PKTS_OFF] & HCI_SUPP_COMMANDS_HOST_NUM_COMPLETED_PKTS_MASK)
-
-/* Supported Commands Byte 11 */
-#define HCI_SUPP_COMMANDS_READ_LINK_SUP_TOUT_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_LINK_SUP_TOUT_OFF       11
-#define HCI_READ_LINK_SUP_TOUT_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_LINK_SUP_TOUT_OFF] & HCI_SUPP_COMMANDS_READ_LINK_SUP_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LINK_SUP_TOUT_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_LINK_SUP_TOUT_OFF            11
-#define HCI_WRITE_LINK_SUP_TOUT_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_LINK_SUP_TOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_LINK_SUP_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_NUM_SUPP_IAC_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_NUM_SUPP_IAC_OFF   11
-#define HCI_READ_NUM_SUPP_IAC_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_NUM_SUPP_IAC_OFF] & HCI_SUPP_COMMANDS_READ_NUM_SUPP_IAC_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_CURRENT_IAC_LAP_MASK       0x08
-#define HCI_SUPP_COMMANDS_READ_CURRENT_IAC_LAP_OFF        11
-#define HCI_READ_CURRENT_IAC_LAP_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_CURRENT_IAC_LAP_OFF] & HCI_SUPP_COMMANDS_READ_CURRENT_IAC_LAP_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_CURRENT_IAC_LAP_MASK    0x10
-#define HCI_SUPP_COMMANDS_WRITE_CURRENT_IAC_LAP_OFF     11
-#define HCI_WRITE_CURRENT_IAC_LAP_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_CURRENT_IAC_LAP_OFF] & HCI_SUPP_COMMANDS_WRITE_CURRENT_IAC_LAP_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_PER_MODE_MASK    0x20
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_PER_MODE_OFF     11
-#define HCI_READ_PAGE_SCAN_PER_MODE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_PAGE_SCAN_PER_MODE_OFF] & HCI_SUPP_COMMANDS_READ_PAGE_SCAN_PER_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_PER_MODE_MASK          0x40
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_PER_MODE_OFF           11
-#define HCI_WRITE_PAGE_SCAN_PER_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_PER_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_PER_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_MODE_MASK          0x80
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_MODE_OFF           11
-#define HCI_READ_PAGE_SCAN_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_PAGE_SCAN_MODE_OFF] & HCI_SUPP_COMMANDS_READ_PAGE_SCAN_MODE_MASK)
-
-/* Supported Commands Byte 12, bits 2-3 reserved */
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_MODE_MASK      0x01
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_MODE_OFF       12
-#define HCI_WRITE_PAGE_SCAN_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_AFH_CHNL_CLASS_MASK           0x02
-#define HCI_SUPP_COMMANDS_SET_AFH_CHNL_CLASS_OFF            12
-#define HCI_SET_AFH_CHNL_CLASS_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_SET_AFH_CHNL_CLASS_OFF] & HCI_SUPP_COMMANDS_SET_AFH_CHNL_CLASS_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_SCAN_TYPE_MASK    0x10
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_SCAN_TYPE_OFF     12
-#define HCI_READ_INQUIRY_SCAN_TYPE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_INQUIRY_SCAN_TYPE_OFF] & HCI_SUPP_COMMANDS_READ_INQUIRY_SCAN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_SCAN_TYPE_MASK    0x20
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_SCAN_TYPE_OFF     12
-#define HCI_WRITE_INQUIRY_SCAN_TYPE_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_WRITE_INQUIRY_SCAN_TYPE_OFF] & HCI_SUPP_COMMANDS_WRITE_INQUIRY_SCAN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_MODE_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_MODE_OFF           12
-#define HCI_READ_INQUIRY_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_INQUIRY_MODE_OFF] & HCI_SUPP_COMMANDS_READ_INQUIRY_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_MODE_MASK          0x80
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_MODE_OFF           12
-#define HCI_WRITE_INQUIRY_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_WRITE_INQUIRY_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_INQUIRY_MODE_MASK)
-
-/* Supported Commands Byte 13, bits 4-7 reserved */
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_TYPE_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_PAGE_SCAN_TYPE_OFF       13
-#define HCI_READ_PAGE_SCAN_TYPE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_PAGE_SCAN_TYPE_OFF] & HCI_SUPP_COMMANDS_READ_PAGE_SCAN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_TYPE_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_TYPE_OFF            13
-#define HCI_WRITE_PAGE_SCAN_TYPE_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_TYPE_OFF] & HCI_SUPP_COMMANDS_WRITE_PAGE_SCAN_TYPE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_AFH_CHNL_ASSESS_MODE_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_AFH_CHNL_ASSESS_MODE_OFF   13
-#define HCI_READ_AFH_CHNL_ASSESS_MODE_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_AFH_CHNL_ASSESS_MODE_OFF] & HCI_SUPP_COMMANDS_READ_AFH_CHNL_ASSESS_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_AFH_CHNL_ASSESS_MODE_MASK       0x08
-#define HCI_SUPP_COMMANDS_WRITE_AFH_CHNL_ASSESS_MODE_OFF        13
-#define HCI_WRITE_AFH_CHNL_ASSESS_MODE_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_WRITE_AFH_CHNL_ASSESS_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_AFH_CHNL_ASSESS_MODE_MASK)
-
-/* Supported Commands Byte 14, bits 0-2 and 4 reserved */
-#define HCI_SUPP_COMMANDS_READ_LOCAL_VER_INFO_MASK       0x08
-#define HCI_SUPP_COMMANDS_READ_LOCAL_VER_INFO_OFF        14
-#define HCI_READ_LOCAL_VER_INFO_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_VER_INFO_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_VER_INFO_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_SUP_CMDS_MASK       0x10
-#define HCI_SUPP_COMMANDS_READ_LOCAL_SUP_CMDS_OFF        14
-#define HCI_READ_LOCAL_SUP_CMDS_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_SUP_CMDS_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_SUP_CMDS_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_SUPP_FEATURES_MASK    0x20
-#define HCI_SUPP_COMMANDS_READ_LOCAL_SUPP_FEATURES_OFF     14
-#define HCI_READ_LOCAL_SUPP_FEATURES_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_SUPP_FEATURES_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_SUPP_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_EXT_FEATURES_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_LOCAL_EXT_FEATURES_OFF           14
-#define HCI_READ_LOCAL_EXT_FEATURES_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_EXT_FEATURES_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_EXT_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_BUFFER_SIZE_MASK          0x80
-#define HCI_SUPP_COMMANDS_READ_BUFFER_SIZE_OFF           14
-#define HCI_READ_BUFFER_SIZE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_BUFFER_SIZE_OFF] & HCI_SUPP_COMMANDS_READ_BUFFER_SIZE_MASK)
-
-/* Supported Commands Byte 15 */
-#define HCI_SUPP_COMMANDS_READ_COUNTRY_CODE_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_COUNTRY_CODE_OFF       15
-#define HCI_READ_COUNTRY_CODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_COUNTRY_CODE_OFF] & HCI_SUPP_COMMANDS_READ_COUNTRY_CODE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_BD_ADDR_MASK           0x02
-#define HCI_SUPP_COMMANDS_READ_BD_ADDR_OFF            15
-#define HCI_READ_BD_ADDR_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_READ_BD_ADDR_OFF] & HCI_SUPP_COMMANDS_READ_BD_ADDR_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_FAIL_CONTACT_CNTR_MASK  0x04
-#define HCI_SUPP_COMMANDS_READ_FAIL_CONTACT_CNTR_OFF   15
-#define HCI_READ_FAIL_CONTACT_CNTR_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_READ_FAIL_CONTACT_CNTR_OFF] & HCI_SUPP_COMMANDS_READ_FAIL_CONTACT_CNTR_MASK)
-
-#define HCI_SUPP_COMMANDS_RESET_FAIL_CONTACT_CNTR_MASK       0x08
-#define HCI_SUPP_COMMANDS_RESET_FAIL_CONTACT_CNTR_OFF        15
-#define HCI_RESET_FAIL_CONTACT_CNTR_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_RESET_FAIL_CONTACT_CNTR_OFF] & HCI_SUPP_COMMANDS_RESET_FAIL_CONTACT_CNTR_MASK)
-
-#define HCI_SUPP_COMMANDS_GET_LINK_QUALITY_MASK    0x10
-#define HCI_SUPP_COMMANDS_GET_LINK_QUALITY_OFF     15
-#define HCI_GET_LINK_QUALITY_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_GET_LINK_QUALITY_OFF] & HCI_SUPP_COMMANDS_GET_LINK_QUALITY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_RSSI_MASK    0x20
-#define HCI_SUPP_COMMANDS_READ_RSSI_OFF     15
-#define HCI_READ_RSSI_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_READ_RSSI_OFF] & HCI_SUPP_COMMANDS_READ_RSSI_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_AFH_CH_MAP_MASK          0x40
-#define HCI_SUPP_COMMANDS_READ_AFH_CH_MAP_OFF           15
-#define HCI_READ_AFH_CH_MAP_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_AFH_CH_MAP_OFF] & HCI_SUPP_COMMANDS_READ_AFH_CH_MAP_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_BD_CLOCK_MASK          0x80
-#define HCI_SUPP_COMMANDS_READ_BD_CLOCK_OFF           15
-#define HCI_READ_BD_CLOCK_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_BD_CLOCK_OFF] & HCI_SUPP_COMMANDS_READ_BD_CLOCK_MASK)
-
-/* Supported Commands Byte 16, bits 6-7 reserved */
-#define HCI_SUPP_COMMANDS_READ_LOOPBACK_MODE_MASK      0x01
-#define HCI_SUPP_COMMANDS_READ_LOOPBACK_MODE_OFF       16
-#define HCI_READ_LOOPBACK_MODE_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_READ_LOOPBACK_MODE_OFF] & HCI_SUPP_COMMANDS_READ_LOOPBACK_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LOOPBACK_MODE_MASK           0x02
-#define HCI_SUPP_COMMANDS_WRITE_LOOPBACK_MODE_OFF            16
-#define HCI_WRITE_LOOPBACK_MODE_SUPPORTED(x)           ((x)[HCI_SUPP_COMMANDS_WRITE_LOOPBACK_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_LOOPBACK_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_ENABLE_DEV_UNDER_TEST_MASK  0x04
-#define HCI_SUPP_COMMANDS_ENABLE_DEV_UNDER_TEST_OFF   16
-#define HCI_ENABLE_DEV_UNDER_TEST_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_ENABLE_DEV_UNDER_TEST_OFF] & HCI_SUPP_COMMANDS_ENABLE_DEV_UNDER_TEST_MASK)
-
-#define HCI_SUPP_COMMANDS_SETUP_SYNCH_CONN_MASK       0x08
-#define HCI_SUPP_COMMANDS_SETUP_SYNCH_CONN_OFF        16
-#define HCI_SETUP_SYNCH_CONN_SUPPORTED(x)       ((x)[HCI_SUPP_COMMANDS_SETUP_SYNCH_CONN_OFF] & HCI_SUPP_COMMANDS_SETUP_SYNCH_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_ACCEPT_SYNCH_CONN_MASK    0x10
-#define HCI_SUPP_COMMANDS_ACCEPT_SYNCH_CONN_OFF     16
-#define HCI_ACCEPT_SYNCH_CONN_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_ACCEPT_SYNCH_CONN_OFF] & HCI_SUPP_COMMANDS_ACCEPT_SYNCH_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_REJECT_SYNCH_CONN_MASK    0x20
-#define HCI_SUPP_COMMANDS_REJECT_SYNCH_CONN_OFF     16
-#define HCI_REJECT_SYNCH_CONN_SUPPORTED(x)    ((x)[HCI_SUPP_COMMANDS_REJECT_SYNCH_CONN_OFF] & HCI_SUPP_COMMANDS_REJECT_SYNCH_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_EXT_INQUIRY_RESP_MASK   0x01
-#define HCI_SUPP_COMMANDS_READ_EXT_INQUIRY_RESP_OFF    17
-#define HCI_READ_EXT_INQUIRY_RESP_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_EXT_INQUIRY_RESP_OFF] & HCI_SUPP_COMMANDS_READ_EXT_INQUIRY_RESP_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_EXT_INQUIRY_RESP_MASK  0x02
-#define HCI_SUPP_COMMANDS_WRITE_EXT_INQUIRY_RESP_OFF   17
-#define HCI_WRITE_EXT_INQUIRY_RESP_SUPPORTED(x)  ((x)[HCI_SUPP_COMMANDS_WRITE_EXT_INQUIRY_RESP_OFF] & HCI_SUPP_COMMANDS_WRITE_EXT_INQUIRY_RESP_MASK)
-
-#define HCI_SUPP_COMMANDS_REFRESH_ENCRYPTION_KEY_MASK   0x04
-#define HCI_SUPP_COMMANDS_REFRESH_ENCRYPTION_KEY_OFF    17
-#define HCI_REFRESH_ENCRYPTION_KEY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_REFRESH_ENCRYPTION_KEY_OFF] & HCI_SUPP_COMMANDS_REFRESH_ENCRYPTION_KEY_MASK)
-
-/* Supported Commands Byte 17, bit 3 reserved */
-#define HCI_SUPP_COMMANDS_SNIFF_SUB_RATE_MASK       0x10
-#define HCI_SUPP_COMMANDS_SNIFF_SUB_RATE_OFF        17
-#define HCI_SNIFF_SUB_RATE_CMD_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SNIFF_SUB_RATE_OFF] & HCI_SUPP_COMMANDS_SNIFF_SUB_RATE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_SIMPLE_PAIRING_MODE_MASK   0x20
-#define HCI_SUPP_COMMANDS_READ_SIMPLE_PAIRING_MODE_OFF    17
-#define HCI_READ_SIMPLE_PAIRING_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_SIMPLE_PAIRING_MODE_OFF] & HCI_SUPP_COMMANDS_READ_SIMPLE_PAIRING_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_MODE_MASK   0x40
-#define HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_MODE_OFF    17
-#define HCI_WRITE_SIMPLE_PAIRING_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_OOB_DATA_MASK   0x80
-#define HCI_SUPP_COMMANDS_READ_LOCAL_OOB_DATA_OFF    17
-#define HCI_READ_LOCAL_OOB_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_OOB_DATA_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_OOB_DATA_MASK)
-
-/* Supported Commands Byte 18, bits 4-7 reserved */
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_RESPONSE_TX_POWER_MASK   0x01
-#define HCI_SUPP_COMMANDS_READ_INQUIRY_RESPONSE_TX_POWER_OFF    18
-#define HCI_READ_INQUIRY_RESPONSE_TX_POWER_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_INQUIRY_RESPONSE_TX_POWER_OFF] & HCI_SUPP_COMMANDS_READ_INQUIRY_RESPONSE_TX_POWER_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_RESPONSE_TX_POWER_MASK   0x02
-#define HCI_SUPP_COMMANDS_WRITE_INQUIRY_RESPONSE_TX_POWER_OFF    18
-#define HCI_WRITE_INQUIRY_RESPONSE_TX_POWER_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_INQUIRY_RESPONSE_TX_POWER_OFF] & HCI_SUPP_COMMANDS_WRITE_INQUIRY_RESPONSE_TX_POWER_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_MASK   0x04
-#define HCI_SUPP_COMMANDS_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_OFF    18
-#define HCI_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_OFF] & HCI_SUPP_COMMANDS_READ_DEFAULT_ERRONEOUS_DATA_REPORTING_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_MASK   0x08
-#define HCI_SUPP_COMMANDS_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_OFF    18
-#define HCI_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_OFF] & HCI_SUPP_COMMANDS_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING_MASK)
-
-#define HCI_SUPP_COMMANDS_IO_CAPABILITY_RESPONSE_MASK   0x80
-#define HCI_SUPP_COMMANDS_IO_CAPABILITY_RESPONSE_OFF    18
-#define HCI_IO_CAPABILITY_RESPONSE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_IO_CAPABILITY_RESPONSE_OFF] & HCI_SUPP_COMMANDS_IO_CAPABILITY_RESPONSE_MASK)
-
-/* Supported Commands Byte 19 */
-#define HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_REPLY_MASK   0x01
-#define HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_REPLY_OFF    19
-#define HCI_USER_CONFIRMATION_REQUEST_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_NEG_REPLY_MASK   0x02
-#define HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_NEG_REPLY_OFF    19
-#define HCI_USER_CONFIRMATION_REQUEST_NEG_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_USER_CONFIRMATION_REQUEST_NEG_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_REPLY_MASK   0x04
-#define HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_REPLY_OFF    19
-#define HCI_USER_PASSKEY_REQUEST_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_NEG_REPLY_MASK   0x08
-#define HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_NEG_REPLY_OFF    19
-#define HCI_USER_PASSKEY_REQUEST_NEG_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_USER_PASSKEY_REQUEST_NEG_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_REPLY_MASK   0x10
-#define HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_REPLY_OFF    19
-#define HCI_REMOTE_OOB_DATA_REQUEST_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_DBG_MODE_MASK       0x20
-#define HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_DBG_MODE_OFF        19
-#define HCI_WRITE_SIMPLE_PAIRING_DBG_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_DBG_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_SIMPLE_PAIRING_DBG_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_ENHANCED_FLUSH_MASK   0x40
-#define HCI_SUPP_COMMANDS_ENHANCED_FLUSH_OFF    19
-#define HCI_ENHANCED_FLUSH_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_ENHANCED_FLUSH_OFF] & HCI_SUPP_COMMANDS_ENHANCED_FLUSH_MASK)
-
-#define HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_MASK       0x80
-#define HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_OFF        19
-#define HCI_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_REMOTE_OOB_DATA_REQUEST_NEG_REPLY_MASK)
-
-/* Supported Commands Byte 20, bits 0-1 and 5-7 reserved */
-#define HCI_SUPP_COMMANDS_SEND_KEYPRESS_NOTIF_MASK       0x04
-#define HCI_SUPP_COMMANDS_SEND_KEYPRESS_NOTIF_OFF        20
-#define HCI_SEND_NOTIF_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SEND_KEYPRESS_NOTIF_OFF] & HCI_SUPP_COMMANDS_SEND_KEYPRESS_NOTIF_MASK)
-
-#define HCI_SUPP_COMMANDS_IO_CAP_REQ_NEG_REPLY_MASK      0x08
-#define HCI_SUPP_COMMANDS_IO_CAP_REQ_NEG_REPLY_OFF       20
-#define HCI_IO_CAP_REQ_NEG_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_IO_CAP_REQ_NEG_REPLY_OFF] & HCI_SUPP_COMMANDS_IO_CAP_REQ_NEG_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_ENCR_KEY_SIZE_MASK      0x10
-#define HCI_SUPP_COMMANDS_READ_ENCR_KEY_SIZE_OFF       20
-#define HCI_READ_ENCR_KEY_SIZE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_ENCR_KEY_SIZE_OFF] & HCI_SUPP_COMMANDS_READ_ENCR_KEY_SIZE_MASK)
-
-/* Supported Commands Byte 21 */
-#define HCI_SUPP_COMMANDS_CREATE_PHYSICAL_LINK_MASK   0x01
-#define HCI_SUPP_COMMANDS_CREATE_PHYSICAL_LINK_OFF    21
-#define HCI_CREATE_PHYSICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_CREATE_PHYSICAL_LINK_OFF] & HCI_SUPP_COMMANDS_CREATE_PHYSICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_ACCEPT_PHYSICAL_LINK_MASK   0x02
-#define HCI_SUPP_COMMANDS_ACCEPT_PHYSICAL_LINK_OFF    21
-#define HCI_ACCEPT_PHYSICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_ACCEPT_PHYSICAL_LINK_OFF] & HCI_SUPP_COMMANDS_ACCEPT_PHYSICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_DISCONNECT_PHYSICAL_LINK_MASK   0x04
-#define HCI_SUPP_COMMANDS_DISCONNECT_PHYSICAL_LINK_OFF    21
-#define HCI_DISCONNECT_PHYSICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_DISCONNECT_PHYSICAL_LINK_OFF] & HCI_SUPP_COMMANDS_DISCONNECT_PHYSICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_CREATE_LOGICAL_LINK_MASK   0x08
-#define HCI_SUPP_COMMANDS_CREATE_LOGICAL_LINK_OFF    21
-#define HCI_CREATE_LOGICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_CREATE_LOGICAL_LINK_OFF] & HCI_SUPP_COMMANDS_CREATE_LOGICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_ACCEPT_LOGICAL_LINK_MASK   0x10
-#define HCI_SUPP_COMMANDS_ACCEPT_LOGICAL_LINK_OFF    21
-#define HCI_ACCEPT_LOGICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_ACCEPT_LOGICAL_LINK_OFF] & HCI_SUPP_COMMANDS_ACCEPT_LOGICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_DISCONNECT_LOGICAL_LINK_MASK   0x20
-#define HCI_SUPP_COMMANDS_DISCONNECT_LOGICAL_LINK_OFF    21
-#define HCI_DISCONNECT_LOGICAL_LINK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_DISCONNECT_LOGICAL_LINK_OFF] & HCI_SUPP_COMMANDS_DISCONNECT_LOGICAL_LINK_MASK)
-
-#define HCI_SUPP_COMMANDS_LOGICAL_LINK_CANCEL_MASK   0x40
-#define HCI_SUPP_COMMANDS_LOGICAL_LINK_CANCEL_OFF    21
-#define HCI_LOGICAL_LINK_CANCEL_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LOGICAL_LINK_CANCEL_OFF] & HCI_SUPP_COMMANDS_LOGICAL_LINK_CANCEL_MASK)
-
-#define HCI_SUPP_COMMANDS_FLOW_SPEC_MODIFY_MASK       0x80
-#define HCI_SUPP_COMMANDS_FLOW_SPEC_MODIFY_OFF        21
-#define HCI_FLOW_SPEC_MODIFY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_FLOW_SPEC_MODIFY_OFF] & HCI_SUPP_COMMANDS_FLOW_SPEC_MODIFY_MASK)
-
-/* Supported Commands Byte 22 */
-#define HCI_SUPP_COMMANDS_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_MASK   0x01
-#define HCI_SUPP_COMMANDS_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_OFF    22
-#define HCI_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_OFF] & HCI_SUPP_COMMANDS_READ_LOGICAL_LINK_ACCEPT_TIMEOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_MASK   0x02
-#define HCI_SUPP_COMMANDS_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_OFF    22
-#define HCI_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_EVENT_MASK_PAGE_2_MASK   0x04
-#define HCI_SUPP_COMMANDS_SET_EVENT_MASK_PAGE_2_OFF    22
-#define HCI_SET_EVENT_MASK_PAGE_2_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_EVENT_MASK_PAGE_2_OFF] & HCI_SUPP_COMMANDS_SET_EVENT_MASK_PAGE_2_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCATION_DATA_MASK   0x08
-#define HCI_SUPP_COMMANDS_READ_LOCATION_DATA_OFF    22
-#define HCI_READ_LOCATION_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LOCATION_DATA_OFF] & HCI_SUPP_COMMANDS_READ_LOCATION_DATA_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LOCATION_DATA_MASK   0x10
-#define HCI_SUPP_COMMANDS_WRITE_LOCATION_DATA_OFF    22
-#define HCI_WRITE_LOCATION_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_LOCATION_DATA_OFF] & HCI_SUPP_COMMANDS_WRITE_LOCATION_DATA_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_AMP_INFO_MASK   0x20
-#define HCI_SUPP_COMMANDS_READ_LOCAL_AMP_INFO_OFF    22
-#define HCI_READ_LOCAL_AMP_INFO_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_AMP_INFO_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_AMP_INFO_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_AMP_ASSOC_MASK   0x40
-#define HCI_SUPP_COMMANDS_READ_LOCAL_AMP_ASSOC_OFF    22
-#define HCI_READ_LOCAL_AMP_ASSOC_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_AMP_ASSOC_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_AMP_ASSOC_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_REMOTE_AMP_ASSOC_MASK   0x80
-#define HCI_SUPP_COMMANDS_WRITE_REMOTE_AMP_ASSOC_OFF    22
-#define HCI_WRITE_REMOTE_AMP_ASSOC_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_REMOTE_AMP_ASSOC_OFF] & HCI_SUPP_COMMANDS_WRITE_REMOTE_AMP_ASSOC_MASK)
-
-/* Supported Commands Byte 23, bits 3-4 reserved */
-#define HCI_SUPP_COMMANDS_READ_FLOW_CONTROL_MODE_MASK   0x01
-#define HCI_SUPP_COMMANDS_READ_FLOW_CONTROL_MODE_OFF    23
-#define HCI_READ_FLOW_CONTROL_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_FLOW_CONTROL_MODE_OFF] & HCI_SUPP_COMMANDS_READ_FLOW_CONTROL_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_FLOW_CONTROL_MODE_MASK   0x02
-#define HCI_SUPP_COMMANDS_WRITE_FLOW_CONTROL_MODE_OFF    23
-#define HCI_WRITE_FLOW_CONTROL_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_FLOW_CONTROL_MODE_OFF] & HCI_SUPP_COMMANDS_WRITE_FLOW_CONTROL_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_DATA_BLOCK_SIZE_MASK   0x04
-#define HCI_SUPP_COMMANDS_READ_DATA_BLOCK_SIZE_OFF    23
-#define HCI_READ_DATA_BLOCK_SIZE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_DATA_BLOCK_SIZE_OFF] & HCI_SUPP_COMMANDS_READ_DATA_BLOCK_SIZE_MASK)
-
-#define HCI_SUPP_COMMANDS_ENABLE_AMP_RCVR_REPORTS_MASK   0x20
-#define HCI_SUPP_COMMANDS_ENABLE_AMP_RCVR_REPORTS_OFF    23
-#define HCI_ENABLE_AMP_RCVR_REPORTS_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_ENABLE_AMP_RCVR_REPORTS_OFF] & HCI_SUPP_COMMANDS_ENABLE_AMP_RCVR_REPORTS_MASK)
-
-#define HCI_SUPP_COMMANDS_AMP_TEST_END_MASK   0x40
-#define HCI_SUPP_COMMANDS_AMP_TEST_END_OFF    23
-#define HCI_AMP_TEST_END_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_AMP_TEST_END_OFF] & HCI_SUPP_COMMANDS_AMP_TEST_END_MASK)
-
-#define HCI_SUPP_COMMANDS_AMP_TEST_MASK   0x80
-#define HCI_SUPP_COMMANDS_AMP_TEST_OFF    23
-#define HCI_AMP_TEST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_AMP_TEST_OFF] & HCI_SUPP_COMMANDS_AMP_TEST_MASK)
-
-/* Supported Commands Byte 24, bits 1, 7 reserved */
-#define HCI_SUPP_COMMANDS_READ_TRANSMIT_POWER_LEVEL_MASK   0x01
-#define HCI_SUPP_COMMANDS_READ_TRANSMIT_POWER_LEVEL_OFF    24
-#define HCI_READ_TRANSMIT_POWER_LEVEL_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_TRANSMIT_POWER_LEVEL_OFF] & HCI_SUPP_COMMANDS_READ_TRANSMIT_POWER_LEVEL_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_BE_FLUSH_TOUT_MASK   0x04
-#define HCI_SUPP_COMMANDS_READ_BE_FLUSH_TOUT_OFF    24
-#define HCI_READ_BE_FLUSH_TOUT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_BE_FLUSH_TOUT_OFF] & HCI_SUPP_COMMANDS_READ_BE_FLUSH_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_BE_FLUSH_TOUT_MASK   0x08
-#define HCI_SUPP_COMMANDS_WRITE_BE_FLUSH_TOUT_OFF    24
-#define HCI_WRITE_BE_FLUSH_TOUT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_BE_FLUSH_TOUT_OFF] & HCI_SUPP_COMMANDS_WRITE_BE_FLUSH_TOUT_MASK)
-
-#define HCI_SUPP_COMMANDS_SHORT_RANGE_MODE_MASK   0x10
-#define HCI_SUPP_COMMANDS_SHORT_RANGE_MODE_OFF    24
-#define HCI_SHORT_RANGE_MODE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SHORT_RANGE_MODE_OFF] & HCI_SUPP_COMMANDS_SHORT_RANGE_MODE_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LE_HOST_SUPPORT_MASK   0x20
-#define HCI_SUPP_COMMANDS_READ_LE_HOST_SUPPORT_OFF    24
-#define HCI_READ_LE_HOST_SUPPORT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_LE_HOST_SUPPORT_OFF] & HCI_SUPP_COMMANDS_READ_LE_HOST_SUPPORT_MASK)
-
-#define HCI_SUPP_COMMANDS_WRITE_LE_HOST_SUPPORT_MASK   0x20
-#define HCI_SUPP_COMMANDS_WRITE_LE_HOST_SUPPORT_OFF    24
-#define HCI_WRITE_LE_HOST_SUPPORT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_LE_HOST_SUPPORT_OFF] & HCI_SUPP_COMMANDS_WRITE_LE_HOST_SUPPORT_MASK)
-
-/* Supported Commands Byte 25, bit 3 reserved */
-#define HCI_SUPP_COMMANDS_LE_SET_EVENT_MASK_MASK   0x01
-#define HCI_SUPP_COMMANDS_LE_SET_EVENT_MASK_OFF    25
-#define HCI_LE_SET_EVENT_MASK_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_EVENT_MASK_OFF] & HCI_SUPP_COMMANDS_LE_SET_EVENT_MASK_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_BUFFER_SIZE_MASK   0x02
-#define HCI_SUPP_COMMANDS_LE_READ_BUFFER_SIZE_OFF    25
-#define HCI_LE_READ_BUFFER_SIZE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_BUFFER_SIZE_OFF] & HCI_SUPP_COMMANDS_LE_READ_BUFFER_SIZE_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_LOCAL_SUPPORTED_FEATURES_MASK   0x04
-#define HCI_SUPP_COMMANDS_LE_READ_LOCAL_SUPPORTED_FEATURES_OFF    25
-#define HCI_LE_READ_LOCAL_SUPPORTED_FEATURES_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_LOCAL_SUPPORTED_FEATURES_OFF] & HCI_SUPP_COMMANDS_LE_READ_LOCAL_SUPPORTED_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_RANDOM_ADDRESS_MASK   0x10
-#define HCI_SUPP_COMMANDS_LE_SET_RANDOM_ADDRESS_OFF    25
-#define HCI_LE_SET_RANDOM_ADDRESS_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_RANDOM_ADDRESS_OFF] & HCI_SUPP_COMMANDS_LE_SET_RANDOM_ADDRESS_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_PARAMETERS_MASK   0x20
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_PARAMETERS_OFF    25
-#define HCI_LE_SET_ADVERTISING_PARAMETERS_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_PARAMETERS_OFF] & HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_PARAMETERS_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_ADVERTISING_CHANNEL_TX_POWER_MASK   0x40
-#define HCI_SUPP_COMMANDS_LE_READ_ADVERTISING_CHANNEL_TX_POWER_OFF    25
-#define HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_ADVERTISING_CHANNEL_TX_POWER_OFF] & HCI_SUPP_COMMANDS_LE_READ_ADVERTISING_CHANNEL_TX_POWER_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_DATA_MASK   0x80
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_DATA_OFF    25
-#define HCI_LE_SET_ADVERTISING_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_DATA_OFF] & HCI_SUPP_COMMANDS_LE_SET_ADVERTISING_DATA_MASK)
-
-/* Supported Commands Byte 26 */
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_RESPONSE_DATA_MASK   0x01
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_RESPONSE_DATA_OFF    26
-#define HCI_LE_SET_SCAN_RESPONSE_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_SCAN_RESPONSE_DATA_OFF] & HCI_SUPP_COMMANDS_LE_SET_SCAN_RESPONSE_DATA_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISE_ENABLE_MASK   0x02
-#define HCI_SUPP_COMMANDS_LE_SET_ADVERTISE_ENABLE_OFF    26
-#define HCI_LE_SET_ADVERTISE_ENABLE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_ADVERTISE_ENABLE_OFF] & HCI_SUPP_COMMANDS_LE_SET_ADVERTISE_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_PARAMETERS_MASK   0x04
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_PARAMETERS_OFF    26
-#define HCI_LE_SET_SCAN_PARAMETERS_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_SCAN_PARAMETERS_OFF] & HCI_SUPP_COMMANDS_LE_SET_SCAN_PARAMETERS_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_ENABLE_MASK   0x08
-#define HCI_SUPP_COMMANDS_LE_SET_SCAN_ENABLE_OFF    26
-#define HCI_LE_SET_SCAN_ENABLE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_SCAN_ENABLE_OFF] & HCI_SUPP_COMMANDS_LE_SET_SCAN_ENABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_MASK   0x10
-#define HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_OFF    26
-#define HCI_LE_CREATE_CONNECTION_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_OFF] & HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_CANCEL_MASK   0x20
-#define HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_CANCEL_OFF    26
-#define HCI_LE_CREATE_CONNECTION_CANCEL_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_CANCEL_OFF] & HCI_SUPP_COMMANDS_LE_CREATE_CONNECTION_CANCEL_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_WHITE_LIST_SIZE_MASK   0x40
-#define HCI_SUPP_COMMANDS_LE_READ_WHITE_LIST_SIZE_OFF    26
-#define HCI_LE_READ_WHITE_LIST_SIZE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_WHITE_LIST_SIZE_OFF] & HCI_SUPP_COMMANDS_LE_READ_WHITE_LIST_SIZE_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_CLEAR_WHITE_LIST_MASK   0x80
-#define HCI_SUPP_COMMANDS_LE_CLEAR_WHITE_LIST_OFF    26
-#define HCI_LE_CLEAR_WHITE_LIST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_CLEAR_WHITE_LIST_OFF] & HCI_SUPP_COMMANDS_LE_CLEAR_WHITE_LIST_MASK)
-
-/* Supported Commands Byte 27 */
-#define HCI_SUPP_COMMANDS_LE_ADD_DEVICE_TO_WHITE_LIST_MASK   0x01
-#define HCI_SUPP_COMMANDS_LE_ADD_DEVICE_TO_WHITE_LIST_OFF    27
-#define HCI_LE_ADD_DEVICE_TO_WHITE_LIST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_ADD_DEVICE_TO_WHITE_LIST_OFF] & HCI_SUPP_COMMANDS_LE_ADD_DEVICE_TO_WHITE_LIST_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_REMOVE_DEVICE_FROM_WHITE_LIST_MASK   0x02
-#define HCI_SUPP_COMMANDS_LE_REMOVE_DEVICE_FROM_WHITE_LIST_OFF    27
-#define HCI_LE_REMOVE_DEVICE_FROM_WHITE_LIST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_REMOVE_DEVICE_FROM_WHITE_LIST_OFF] & HCI_SUPP_COMMANDS_LE_REMOVE_DEVICE_FROM_WHITE_LIST_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_CONNECTION_UPDATE_MASK   0x04
-#define HCI_SUPP_COMMANDS_LE_CONNECTION_UPDATE_OFF    27
-#define HCI_LE_CONNECTION_UPDATE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_CONNECTION_UPDATE_OFF] & HCI_SUPP_COMMANDS_LE_CONNECTION_UPDATE_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_SET_HOST_CHANNEL_CLASSIFICATION_MASK   0x08
-#define HCI_SUPP_COMMANDS_LE_SET_HOST_CHANNEL_CLASSIFICATION_OFF    27
-#define HCI_LE_SET_HOST_CHANNEL_CLASSIFICATION_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_SET_HOST_CHANNEL_CLASSIFICATION_OFF] & HCI_SUPP_COMMANDS_LE_SET_HOST_CHANNEL_CLASSIFICATION_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_CHANNEL_MAP_MASK   0x10
-#define HCI_SUPP_COMMANDS_LE_READ_CHANNEL_MAP_OFF    27
-#define HCI_LE_READ_CHANNEL_MAP_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_CHANNEL_MAP_OFF] & HCI_SUPP_COMMANDS_LE_READ_CHANNEL_MAP_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_REMOTE_USED_FEATURES_MASK   0x20
-#define HCI_SUPP_COMMANDS_LE_READ_REMOTE_USED_FEATURES_OFF    27
-#define HCI_LE_READ_REMOTE_USED_FEATURES_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_REMOTE_USED_FEATURES_OFF] & HCI_SUPP_COMMANDS_LE_READ_REMOTE_USED_FEATURES_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_ENCRYPT_MASK   0x40
-#define HCI_SUPP_COMMANDS_LE_ENCRYPT_OFF    27
-#define HCI_LE_ENCRYPT_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_ENCRYPT_OFF] & HCI_SUPP_COMMANDS_LE_ENCRYPT_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_RAND_MASK   0x80
-#define HCI_SUPP_COMMANDS_LE_RAND_OFF    27
-#define HCI_LE_RAND_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_RAND_OFF] & HCI_SUPP_COMMANDS_LE_RAND_MASK)
-
-
-/* Supported Commands Byte 28, bit 7 reserved */
-#define HCI_SUPP_COMMANDS_LE_START_ENCRYPTION_MASK   0x01
-#define HCI_SUPP_COMMANDS_LE_START_ENCRYPTION_OFF    28
-#define HCI_LE_START_ENCRYPTION_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_START_ENCRYPTION_OFF] & HCI_SUPP_COMMANDS_LE_START_ENCRYPTION_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_REPLY_MASK   0x02
-#define HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_REPLY_OFF    28
-#define HCI_LE_LONG_TERM_KEY_REQUEST_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_REPLY_OFF] & HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_MASK   0x04
-#define HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_OFF    28
-#define HCI_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_OFF] & HCI_SUPP_COMMANDS_LE_LONG_TERM_KEY_REQUEST_NEGATIVE_REPLY_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_READ_SUPPORTED_STATES_MASK   0x08
-#define HCI_SUPP_COMMANDS_LE_READ_SUPPORTED_STATES_OFF    28
-#define HCI_LE_READ_SUPPORTED_STATES_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_READ_SUPPORTED_STATES_OFF] & HCI_SUPP_COMMANDS_LE_READ_SUPPORTED_STATES_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_RECEIVER_TEST_MASK   0x10
-#define HCI_SUPP_COMMANDS_LE_RECEIVER_TEST_OFF    28
-#define HCI_LE_RECEIVER_TEST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_RECEIVER_TEST_OFF] & HCI_SUPP_COMMANDS_LE_RECEIVER_TEST_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_TRANSMITTER_TEST_MASK   0x20
-#define HCI_SUPP_COMMANDS_LE_TRANSMITTER_TEST_OFF    28
-#define HCI_LE_TRANSMITTER_TEST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_TRANSMITTER_TEST_OFF] & HCI_SUPP_COMMANDS_LE_TRANSMITTER_TEST_MASK)
-
-#define HCI_SUPP_COMMANDS_LE_TEST_END_MASK   0x40
-#define HCI_SUPP_COMMANDS_LE_TEST_END_OFF    28
-#define HCI_LE_TEST_END_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_LE_TEST_END_OFF] & HCI_SUPP_COMMANDS_LE_TEST_END_MASK)
-
-/* Supported Commands Byte 29, bits 0-2 reserved */
-#define HCI_SUPP_COMMANDS_ENH_SETUP_SYNCH_CONN_MASK     0x08
-#define HCI_SUPP_COMMANDS_ENH_SETUP_SYNCH_CONN_OFF      29
-#define HCI_READ_ENH_SETUP_SYNCH_CONN_SUPPORTED(x)      ((x)[HCI_SUPP_COMMANDS_ENH_SETUP_SYNCH_CONN_OFF] & HCI_SUPP_COMMANDS_ENH_SETUP_SYNCH_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_ENH_ACCEPT_SYNCH_CONN_MASK    0x10
-#define HCI_SUPP_COMMANDS_ENH_ACCEPT_SYNCH_CONN_OFF     29
-#define HCI_READ_ENH_ACCEPT_SYNCH_CONN_SUPPORTED(x)     ((x)[HCI_SUPP_COMMANDS_ENH_ACCEPT_SYNCH_CONN_OFF] & HCI_SUPP_COMMANDS_ENH_ACCEPT_SYNCH_CONN_MASK)
-
-#define HCI_SUPP_COMMANDS_READ_LOCAL_CODECS_MASK        0x20
-#define HCI_SUPP_COMMANDS_READ_LOCAL_CODECS_OFF         29
-#define HCI_READ_LOCAL_CODECS_SUPPORTED(x)              ((x)[HCI_SUPP_COMMANDS_READ_LOCAL_CODECS_OFF] & HCI_SUPP_COMMANDS_READ_LOCAL_CODECS_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_MWS_CHANN_PARAM_MASK      0x40
-#define HCI_SUPP_COMMANDS_SET_MWS_CHANN_PARAM_OFF       29
-#define HCI_SET_MWS_CHANNEL_PARAMETERS_SUPPORTED(x)     ((x)[HCI_SUPP_COMMANDS_SET_MWS_CHANN_PARAM_OFF] & HCI_SUPP_COMMANDS_SET_MWS_CHANN_PARAM_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_EXT_FRAME_CONF_MASK       0x80
-#define HCI_SUPP_COMMANDS_SET_EXT_FRAME_CONF_OFF        29
-#define HCI_SET_EXTERNAL_FRAME_CONFIGURATION_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_EXT_FRAME_CONF_OFF] & HCI_SUPP_COMMANDS_SET_EXT_FRAME_CONF_MASK)
-
-
-/* Supported Commands Byte 30 */
-#define HCI_SUPP_COMMANDS_SET_MWS_SIGNALING_MASK     0x01
-#define HCI_SUPP_COMMANDS_SET_MWS_SIGNALING_OFF      30
-#define HCI_SET_MWS_SIGNALING_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_MWS_SIGNALING_OFF] & HCI_SUPP_COMMANDS_SET_MWS_SIGNALING_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_MWS_TRANS_LAYER_MASK   0x02
-#define HCI_SUPP_COMMANDS_SET_MWS_TRANS_LAYER_OFF    30
-#define HCI_SET_MWS_TRANSPORT_LAYER_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_MWS_TRANS_LAYER_OFF] & HCI_SUPP_COMMANDS_SET_MWS_TRANS_LAYER_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_MWS_SCAN_FREQ_TABLE_MASK   0x04
-#define HCI_SUPP_COMMANDS_SET_MWS_SCAN_FREQ_TABLE_OFF    30
-#define HCI_SET_MWS_SCAN_FREQUENCY_TABLE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_MWS_SCAN_FREQ_TABLE_OFF] & HCI_SUPP_COMMANDS_SET_MWS_SCAN_FREQ_TABLE_MASK)
-
-#define HCI_SUPP_COMMANDS_GET_TRANS_LAYER_CONF_MASK      0x08
-#define HCI_SUPP_COMMANDS_GET_TRANS_LAYER_CONF_OFF    30
-#define HCI_GET_MWS_TRANS_LAYER_CFG_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_GET_TRANS_LAYER_CONF_OFF] & HCI_SUPP_COMMANDS_GET_TRANS_LAYER_CONF_MASK)
-
-#define HCI_SUPP_COMMANDS_SET_MWS_PATTERN_CONF_MASK      0x10
-#define HCI_SUPP_COMMANDS_SET_MWS_PATTERN_CONF_OFF       30
-#define HCI_SET_MWS_PATTERN_CONFIGURATION_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_MWS_PATTERN_CONF_OFF] & HCI_SUPP_COMMANDS_SET_MWS_PATTERN_CONF_MASK)
-
-/* Supported Commands (Byte 30 bit 5) */
-#define HCI_SUPP_COMMANDS_SET_TRIG_CLK_CAP_MASK         0x20
-#define HCI_SUPP_COMMANDS_SET_TRIG_CLK_CAP_OFF          30
-#define HCI_SET_TRIG_CLK_CAP_SUPPORTED(x)               ((x)[HCI_SUPP_COMMANDS_SET_TRIG_CLK_CAP_OFF] & HCI_SUPP_COMMANDS_SET_TRIG_CLK_CAP_MASK)
-
-
-/* Supported Commands (Byte 30 bit 6-7) */
-#define HCI_SUPP_COMMANDS_TRUNCATED_PAGE             0x06
-#define HCI_SUPP_COMMANDS_TRUNCATED_PAGE_OFF         30
-#define HCI_TRUNCATED_PAGE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_TRUNCATED_PAGE_OFF] & HCI_SUPP_COMMANDS_TRUNCATED_PAGE)
-
-#define HCI_SUPP_COMMANDS_TRUNCATED_PAGE_CANCEL             0x07
-#define HCI_SUPP_COMMANDS_TRUNCATED_PAGE_CANCEL_OFF         30
-#define HCI_TRUNCATED_PAGE_CANCEL_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_TRUNCATED_PAGE_CANCEL_OFF] & HCI_SUPP_COMMANDS_TRUNCATED_PAGE_CANCEL)
-
-/* Supported Commands Byte 31 */
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST             0x00
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_OFF         31
-#define HCI_SET_CONLESS_SLAVE_BRCST_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_OFF] & HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST)
-
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_RECEIVE             0x01
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_RECEIVE_OFF         31
-#define HCI_SET_CONLESS_SLAVE_BRCST_RECEIVE_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_RECEIVE_OFF] & HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_RECEIVE)
-
-#define HCI_SUPP_COMMANDS_START_SYNC_TRAIN             0x02
-#define HCI_SUPP_COMMANDS_START_SYNC_TRAIN_OFF         31
-#define HCI_START_SYNC_TRAIN_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_START_SYNC_TRAIN_OFF] & HCI_SUPP_COMMANDS_START_SYNC_TRAIN)
-
-#define HCI_SUPP_COMMANDS_RECEIVE_SYNC_TRAIN             0x03
-#define HCI_SUPP_COMMANDS_RECEIVE_SYNC_TRAIN_OFF         31
-#define HCI_RECEIVE_SYNC_TRAIN_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_RECEIVE_SYNC_TRAIN_OFF] & HCI_SUPP_COMMANDS_RECEIVE_SYNC_TRAIN)
-
-#define HCI_SUPP_COMMANDS_SET_RESERVED_LT_ADDR             0x04
-#define HCI_SUPP_COMMANDS_SET_RESERVED_LT_ADDR_OFF         31
-#define HCI_SET_RESERVED_LT_ADDR_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_RESERVED_LT_ADDR_OFF] & HCI_SUPP_COMMANDS_SET_RESERVED_LT_ADDR)
-
-#define HCI_SUPP_COMMANDS_DELETE_RESERVED_LT_ADDR             0x05
-#define HCI_SUPP_COMMANDS_DELETE_RESERVED_LT_ADDR_OFF         31
-#define HCI_DELETE_RESERVED_LT_ADDR_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_DELETE_RESERVED_LT_ADDR_OFF] & HCI_SUPP_COMMANDS_DELETE_RESERVED_LT_ADDR)
-
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_DATA             0x06
-#define HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_DATA_OFF         31
-#define HCI_SET_CONLESS_SLAVE_BRCST_DATA_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_DATA_OFF] & HCI_SUPP_COMMANDS_SET_CONLESS_SLAVE_BRCST_DATA)
-
-#define HCI_SUPP_COMMANDS_READ_SYNC_TRAIN_PARAM             0x07
-#define HCI_SUPP_COMMANDS_READ_SYNC_TRAIN_PARAM_OFF         31
-#define HCI_READ_SYNC_TRAIN_PARAM_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_READ_SYNC_TRAIN_PARAM_OFF] & HCI_SUPP_COMMANDS_READ_SYNC_TRAIN_PARAM)
-
-/* Supported Commands Byte 32 bit 0 */
-#define HCI_SUPP_COMMANDS_WRITE_SYNC_TRAIN_PARAM             0x00
-#define HCI_SUPP_COMMANDS_WRITE_SYNC_TRAIN_PARAM_OFF         32
-#define HCI_WRITE_SYNC_TRAIN_PARAM_SUPPORTED(x)   ((x)[HCI_SUPP_COMMANDS_WRITE_SYNC_TRAIN_PARAM_OFF] & HCI_SUPP_COMMANDS_WRITE_SYNC_TRAIN_PARAM)
-
-
-/*
-Commands of HCI_GRP_VENDOR_SPECIFIC group for WIDCOMM SW LM Simulator
-*/
-#ifdef _WIDCOMM
-
-#define HCI_SET_HCI_TRACE               (0x0001 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_SET_LM_TRACE                (0x0002 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_WRITE_COUNTRY_CODE          (0x0004 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_READ_LM_HISTORY             (0x0005 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_WRITE_BD_ADDR               (0x0006 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DISABLE_ENCRYPTION          (0x0007 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DISABLE_AUTHENTICATION      (0x0008 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_GENERIC_LC_CMD              (0x000A | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_INCR_POWER                  (0x000B | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DECR_POWER                  (0x000C | HCI_GRP_VENDOR_SPECIFIC)
-
-/* Definitions for the local transactions */
-#define LM_DISCONNECT                  (0x00D0 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_AUTHENTICATION_REQUESTED    (0x00D1 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_SET_CONN_ENCRYPTION         (0x00D2 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_START_ENCRYPT_KEY_SIZE      (0x00D3 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_START_ENCRYPTION            (0x00D4 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_STOP_ENCRYPTION             (0x00D5 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_CHANGE_CONN_PACKET_TYPE     (0x00D6 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_RMT_NAME_REQUEST            (0x00D7 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_READ_RMT_FEATURES           (0x00D8 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_READ_RMT_VERSION_INFO       (0x00D9 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_READ_RMT_TIMING_INFO        (0x00DA | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_READ_RMT_CLOCK_OFFSET       (0x00DB | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HOLD_MODE                   (0x00DC | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_EXIT_PARK_MODE              (0x00DD | HCI_GRP_VENDOR_SPECIFIC)
-
-#define LM_SCO_LINK_REQUEST            (0x00E0 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_SCO_CHANGE                  (0x00E4 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_SCO_REMOVE                  (0x00E8 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_MAX_SLOTS                   (0x00F1 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_MAX_SLOTS_REQUEST           (0x00F2 | HCI_GRP_VENDOR_SPECIFIC)
-
-#ifdef INCLUDE_OPTIONAL_PAGING_SCHEME
-#define LM_OPTIONAL_PAGE_REQUEST       (0x00F3 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_OPTIONAL_PAGESCAN_REQUEST   (0x00F4 | HCI_GRP_VENDOR_SPECIFIC)
-#endif
-
-#define LM_SETUP_COMPLETE              (0x00FF | HCI_GRP_VENDOR_SPECIFIC)
-
-#define LM_HIST_SEND_LMP_FRAME         (0x0100 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_RECV_LMP_FRAME         (0x0101 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_HCIT_ERROR             (0x0102 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_PER_INQ_TOUT           (0x0103 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_INQ_SCAN_TOUT          (0x0104 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_PAGE_SCAN_TOUT         (0x0105 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_RESET_TOUT             (0x0106 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_MANDAT_PSCAN_TOUT      (0x0107 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_START_TRANS        (0x0108 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_HOST_REPLY         (0x0109 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_TIMEOUT            (0x010A | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_TX_COMP            (0x010B | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_HCID_SUSPENDED     (0x010C | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_ACL_FAILED             (0x010D | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_HCI_COMMAND            (0x010E | HCI_GRP_VENDOR_SPECIFIC)
-
-#define LM_HIST_HCI_EVENT              (0x010F | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_HCI_UPDATA             (0x0110 | HCI_GRP_VENDOR_SPECIFIC)
-#define LM_HIST_HCI_DNDATA             (0x0111 | HCI_GRP_VENDOR_SPECIFIC)
-
-#define HCI_ENTER_TEST_MODE            (0x0300 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_LMP_TEST_CNTRL             (0x0301 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DEBUG_LC_CMD_MIN           (0x0300 | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DEBUG_LC_CMD_MAX           (0x03FF | HCI_GRP_VENDOR_SPECIFIC)
-#define HCI_DEBUG_LC_COMMAND           HCI_DEBUG_LC_CMD_MAX
-#endif
-
-#endif
diff --git a/src/nfa/include/nfa_cho_api.h b/src/nfa/include/nfa_cho_api.h
deleted file mode 100755
index 3722adc..0000000
--- a/src/nfa/include/nfa_cho_api.h
+++ /dev/null
@@ -1,372 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2010-2014 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-
-/******************************************************************************
- *
- *  This is the public interface file for NFA Connection Handover,
- *  Broadcom's NFC application layer for mobile phones.
- *
- ******************************************************************************/
-#ifndef NFA_CHO_API_H
-#define NFA_CHO_API_H
-
-#include "nfa_api.h"
-#include "ndef_utils.h"
-
-/*****************************************************************************
-**  Constants and data types
-*****************************************************************************/
-
-/* Handover version */
-#define NFA_CHO_VERSION             0x12    /* version 1.2 */
-#define NFA_CHO_GET_MAJOR_VERSION(x) ((UINT8)(x) >> 4)
-#define NFA_CHO_GET_MINOR_VERSION(x) ((UINT8)(x) & 0x0F)
-
-/*
-** NFA Connection Handover callback events
-*/
-#define NFA_CHO_REG_EVT             0x00    /* Registered                       */
-#define NFA_CHO_ACTIVATED_EVT       0x01    /* LLCP link activated              */
-#define NFA_CHO_DEACTIVATED_EVT     0x02    /* LLCP link deactivated            */
-#define NFA_CHO_CONNECTED_EVT       0x03    /* data link connected              */
-#define NFA_CHO_DISCONNECTED_EVT    0x04    /* data link disconnected           */
-#define NFA_CHO_REQUEST_EVT         0x05    /* AC information in "Hr" record    */
-#define NFA_CHO_SELECT_EVT          0x06    /* AC information in "Hs" record    */
-#define NFA_CHO_SEL_ERR_EVT         0x07    /* Received select with error       */
-#define NFA_CHO_TX_FAIL_EVT         0x08    /* Cannot send message to peer      */
-
-typedef UINT8 tNFA_CHO_EVT;
-
-/*
-** Data for NFA_CHO_ACTIVATED_EVT
-*/
-typedef struct
-{
-    BOOLEAN         is_initiator;   /* TRUE if local LLCP is initiator */
-} tNFA_CHO_ACTIVATED;
-
-/* NFA Connection Handover Carrier Power State */
-#define NFA_CHO_CPS_INACTIVE        0x00    /* Carrier is currently off         */
-#define NFA_CHO_CPS_ACTIVE          0x01    /* Carrier is currently on          */
-#define NFA_CHO_CPS_ACTIVATING      0x02    /* Activating carrier               */
-#define NFA_CHO_CPS_UNKNOWN         0x03    /* Unknown                          */
-
-typedef UINT8 tNFA_CHO_CPS;
-
-/* Data for Alternative Carrier Information */
-typedef struct
-{
-    tNFA_CHO_CPS        cps;            /* carrier power state                      */
-    UINT8               num_aux_data;   /* number of Auxiliary NDEF records         */
-} tNFA_CHO_AC_INFO;
-
-/* Device Role of Handover */
-#define NFA_CHO_ROLE_REQUESTER  0
-#define NFA_CHO_ROLE_SELECTOR   1
-#define NFA_CHO_ROLE_UNDECIDED  2
-
-typedef UINT8 tNFA_CHO_ROLE_TYPE;
-
-/*
-** Data for NFA_CHO_CONNECTED_EVT
-*/
-typedef struct
-{
-    tNFA_CHO_ROLE_TYPE  initial_role;   /* NFA_CHO_ROLE_REQUESTER if local initiated */
-                                        /* NFA_CHO_ROLE_SELECTOR if remote initiated */
-} tNFA_CHO_CONNECTED;
-
-/* Disconnected reason */
-#define NFA_CHO_DISC_REASON_API_REQUEST         0
-#define NFA_CHO_DISC_REASON_ALEADY_CONNECTED    1
-#define NFA_CHO_DISC_REASON_CONNECTION_FAIL     2
-#define NFA_CHO_DISC_REASON_PEER_REQUEST        3
-#define NFA_CHO_DISC_REASON_LINK_DEACTIVATED    4
-#define NFA_CHO_DISC_REASON_TIMEOUT             5
-#define NFA_CHO_DISC_REASON_UNKNOWN_MSG         6
-#define NFA_CHO_DISC_REASON_INVALID_MSG         7
-#define NFA_CHO_DISC_REASON_SEMANTIC_ERROR      8
-#define NFA_CHO_DISC_REASON_INTERNAL_ERROR      9
-
-typedef UINT8 tNFA_CHO_DISC_REASON;
-
-/*
-** Data for NFA_CHO_DISCONNECTED_EVT
-*/
-typedef struct
-{
-    tNFA_CHO_DISC_REASON    reason;     /* disconnected reason */
-} tNFA_CHO_DISCONNECTED;
-
-/* Reference ID */
-typedef struct
-{
-    UINT8               ref_len;
-    UINT8               ref_name[NFA_CHO_MAX_REF_NAME_LEN];
-} tNFA_CHO_REF_ID;
-
-/* Alternative Carrier records including carrier power state, carrier data reference and aux data reference */
-typedef struct
-{
-    tNFA_CHO_CPS        cps;                                      /* carrier power state    */
-    tNFA_CHO_REF_ID     carrier_data_ref;                         /* carrier data reference */
-    UINT8               aux_data_ref_count;                       /* number of aux data     */
-    tNFA_CHO_REF_ID     aux_data_ref[NFA_CHO_MAX_AUX_DATA_COUNT]; /* aux data reference     */
-} tNFA_CHO_AC_REC;
-
-/*
-** Data for NFA_CHO_REQUEST_EVT
-** Application may receive it while waiting for NFA_CHO_SELECT_EVT because of handover collision.
-*/
-typedef struct
-{
-    tNFA_STATUS         status;
-    UINT8               num_ac_rec;                     /* number of Alternative Carrier records*/
-    tNFA_CHO_AC_REC     ac_rec[NFA_CHO_MAX_AC_INFO];    /* Alternative Carrier records          */
-    UINT8               *p_ref_ndef;                    /* pointer of NDEF including AC records */
-    UINT32              ref_ndef_len;                   /* length of NDEF                       */
-} tNFA_CHO_REQUEST;
-
-/*
-** Data for NFA_CHO_SELECT_EVT
-*/
-typedef struct
-{
-    tNFA_STATUS         status;
-    UINT8               num_ac_rec;                     /* number of Alternative Carrier records*/
-    tNFA_CHO_AC_REC     ac_rec[NFA_CHO_MAX_AC_INFO];    /* Alternative Carrier records          */
-    UINT8               *p_ref_ndef;                    /* pointer of NDEF including AC records */
-    UINT32              ref_ndef_len;                   /* length of NDEF                       */
-} tNFA_CHO_SELECT;
-
-/* Error reason */
-#define NFA_CHO_ERROR_TEMP_MEM  0x01
-#define NFA_CHO_ERROR_PERM_MEM  0x02
-#define NFA_CHO_ERROR_CARRIER   0x03
-
-/*
-** Data for NFA_CHO_SEL_ERR_EVT
-*/
-typedef struct
-{
-    UINT8               error_reason;   /* Error reason          */
-    UINT32              error_data;     /* Error Data per reason */
-} tNFA_CHO_SEL_ERR;
-
-/* Union of all Connection Handover callback structures */
-typedef union
-{
-    tNFA_STATUS             status;         /* NFA_CHO_REG_EVT          */
-                                            /* NFA_CHO_DEACTIVATED_EVT  */
-                                            /* NFA_CHO_TX_FAIL_EVT      */
-    tNFA_CHO_ACTIVATED      activated;      /* NFA_CHO_ACTIVATED_EVT    */
-    tNFA_CHO_CONNECTED      connected;      /* NFA_CHO_CONNECTED_EVT    */
-    tNFA_CHO_DISCONNECTED   disconnected;   /* NFA_CHO_DISCONNECTED_EVT */
-    tNFA_CHO_SELECT         select;         /* NFA_CHO_SELECT_EVT       */
-    tNFA_CHO_REQUEST        request;        /* NFA_CHO_REQUEST_EVT      */
-    tNFA_CHO_SEL_ERR        sel_err;        /* NFA_CHO_SEL_ERR_EVT      */
-} tNFA_CHO_EVT_DATA;
-
-/* NFA Connection Handover callback */
-typedef void (tNFA_CHO_CBACK) (tNFA_CHO_EVT event, tNFA_CHO_EVT_DATA *p_data);
-
-/*****************************************************************************
-**  External Function Declarations
-*****************************************************************************/
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*******************************************************************************
-**
-** Function         NFA_ChoRegister
-**
-** Description      This function is called to register callback function to receive
-**                  connection handover events.
-**
-**                  On this registration, "urn:nfc:sn:handover" server will be
-**                  registered on LLCP if enable_server is TRUE.
-**
-**                  The result of the registration is reported with NFA_CHO_REG_EVT.
-**
-** Note:            If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
-**                  should happen before calling this function
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoRegister (BOOLEAN        enable_server,
-                                            tNFA_CHO_CBACK *p_cback);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoDeregister
-**
-** Description      This function is called to deregister callback function from NFA
-**                  Connection Handover Application.
-**
-**                  If this is the valid deregistration, NFA Connection Handover
-**                  Application will close the service with "urn:nfc:sn:handover"
-**                  on LLCP and deregister NDEF type handler if any.
-**
-** Note:            If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT
-**                  should happen before calling this function
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoDeregister (void);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoConnect
-**
-** Description      This function is called to create data link connection to
-**                  Connection Handover server on peer device.
-**
-**                  It must be called after receiving NFA_CHO_ACTIVATED_EVT.
-**                  NFA_CHO_CONNECTED_EVT will be returned if successful.
-**                  Otherwise, NFA_CHO_DISCONNECTED_EVT will be returned.
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoConnect (void);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoDisconnect
-**
-** Description      This function is called to disconnect data link connection with
-**                  Connection Handover server on peer device.
-**
-**                  NFA_CHO_DISCONNECTED_EVT will be returned.
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoDisconnect (void);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoSendHr
-**
-** Description      This function is called to send Handover Request Message with
-**                  Handover Carrier records or Alternative Carrier records.
-**
-**                  It must be called after receiving NFA_CHO_CONNECTED_EVT.
-**
-**                  NDEF may include one or more Handover Carrier records or Alternative
-**                  Carrier records with auxiliary data.
-**                  The records in NDEF must be matched with tNFA_CHO_AC_INFO in order.
-**                  Payload ID must be unique and Payload ID length must be less than
-**                  or equal to NFA_CHO_MAX_REF_NAME_LEN.
-**
-**                  The alternative carrier information of Handover Select record
-**                  will be sent to application by NFA_CHO_SELECT_EVT. Application
-**                  may receive NFA_CHO_REQUEST_EVT because of handover collision.
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoSendHr (UINT8             num_ac_info,
-                                          tNFA_CHO_AC_INFO *p_ac_info,
-                                          UINT8            *p_ndef,
-                                          UINT32            ndef_len);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoSendHs
-**
-** Description      This function is called to send Handover Select message with
-**                  Alternative Carrier records as response to Handover Request
-**                  message.
-**
-**                  NDEF may include one or more Alternative Carrier records with
-**                  auxiliary data.
-**                  The records in NDEF must be matched with tNFA_CHO_AC_INFO in order.
-**                  Payload ID must be unique and Payload ID length must be less than
-**                  or equal to NFA_CHO_MAX_REF_NAME_LEN.
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoSendHs (UINT8             num_ac_info,
-                                          tNFA_CHO_AC_INFO *p_ac_info,
-                                          UINT8            *p_ndef,
-                                          UINT32            ndef_len);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoSendSelectError
-**
-** Description      This function is called to send Error record to indicate failure
-**                  to process the most recently received Handover Request message.
-**
-**                  error_reason : NFA_CHO_ERROR_TEMP_MEM
-**                                 NFA_CHO_ERROR_PERM_MEM
-**                                 NFA_CHO_ERROR_CARRIER
-**
-** Returns          NFA_STATUS_OK if successfully initiated
-**                  NFA_STATUS_FAILED otherwise
-**
-*******************************************************************************/
-NFC_API extern tNFA_STATUS NFA_ChoSendSelectError (UINT8  error_reason,
-                                                   UINT32 error_data);
-
-/*******************************************************************************
-**
-** Function         NFA_ChoSetTraceLevel
-**
-** Description      This function sets the trace level for CHO.  If called with
-**                  a value of 0xFF, it simply returns the current trace level.
-**
-** Returns          The new or current trace level
-**
-*******************************************************************************/
-NFC_API extern UINT8 NFA_ChoSetTraceLevel (UINT8 new_level);
-
-#if (defined (NFA_CHO_TEST_INCLUDED) && (NFA_CHO_TEST_INCLUDED == TRUE))
-
-#define NFA_CHO_TEST_VERSION    0x01
-#define NFA_CHO_TEST_RANDOM     0x02
-/*******************************************************************************
-**
-** Function         NFA_ChoSetTestParam
-**
-** Description      This function is called to set test parameters.
-**
-*******************************************************************************/
-NFC_API extern void NFA_ChoSetTestParam (UINT8  test_enable,
-                                         UINT8  test_version,
-                                         UINT16 test_random_number);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* NFA_CHO_API_H */
diff --git a/src/nfa/int/nfa_cho_int.h b/src/nfa/int/nfa_cho_int.h
deleted file mode 100755
index eaeebf5..0000000
--- a/src/nfa/int/nfa_cho_int.h
+++ /dev/null
@@ -1,292 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2010-2014 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-
-/******************************************************************************
- *
- *  This is the private interface file for the NFA Connection Handover.
- *
- ******************************************************************************/
-#ifndef NFA_CHO_INT_H
-#define NFA_CHO_INT_H
-
-#if (defined (NFA_CHO_INCLUDED) && (NFA_CHO_INCLUDED==TRUE))
-#include "llcp_api.h"
-#include "llcp_defs.h"
-#include "nfa_cho_api.h"
-
-/*****************************************************************************
-**  Constants and data types
-*****************************************************************************/
-
-/* NFA Connection Handover state */
-enum
-{
-    NFA_CHO_ST_DISABLED,        /* Application has not registered      */
-    NFA_CHO_ST_IDLE,            /* No data link connection             */
-    NFA_CHO_ST_W4_CC,           /* Waiting for connection confirm      */
-    NFA_CHO_ST_CONNECTED,       /* Data link connected                 */
-
-    NFA_CHO_ST_MAX
-};
-
-typedef UINT8 tNFA_CHO_STATE;
-
-/* NFA Connection Handover substate in NFA_CHO_ST_CONNECTED */
-enum
-{
-    NFA_CHO_SUBSTATE_W4_LOCAL_HR,   /* Waiting for Hs record from local     */
-    NFA_CHO_SUBSTATE_W4_LOCAL_HS,   /* Waiting for Hs record from local     */
-    NFA_CHO_SUBSTATE_W4_REMOTE_HR,  /* Waiting for Hr record from remote    */
-    NFA_CHO_SUBSTATE_W4_REMOTE_HS,  /* Waiting for Hs record from remote    */
-
-    NFA_CHO_SUBSTATE_MAX
-};
-
-typedef UINT8 tNFA_CHO_SUBSTATE;
-
-/* Handover Message receiving status for SAR */
-#define NFA_CHO_RX_NDEF_COMPLETE    0   /* received complete NDEF message */
-#define NFA_CHO_RX_NDEF_TEMP_MEM    1   /* Cannot process due to temporary memory constraint */
-#define NFA_CHO_RX_NDEF_PERM_MEM    2   /* Cannot process due to permanent memory constraint */
-#define NFA_CHO_RX_NDEF_INCOMPLTE   3   /* Need more date       */
-#define NFA_CHO_RX_NDEF_INVALID     4   /* Invalid NDEF message */
-
-typedef UINT8 tNFA_CHO_RX_NDEF_STATUS;
-
-/* Handover Message Type */
-#define NFA_CHO_MSG_UNKNOWN         0   /* Unknown Message           */
-#define NFA_CHO_MSG_HR              1   /* Handover Request Message  */
-#define NFA_CHO_MSG_HS              2   /* Handover Select Message   */
-#define NFA_CHO_MSG_BT_OOB          3   /* Simplified BT OOB message */
-#define NFA_CHO_MSG_WIFI            4   /* Simplified WIFI message   */
-
-typedef UINT8 tNFA_CHO_MSG_TYPE;
-
-/* Timeout */
-#define NFA_CHO_TIMEOUT_FOR_HS          1000    /* ms, waiting for Hs record */
-#define NFA_CHO_TIMEOUT_FOR_RETRY       1000    /* ms, retry because of temp memory constrain */
-#define NFA_CHO_TIMEOUT_SEGMENTED_HR    500     /* ms, waiting for next segmented Hr */
-
-#define NFA_CHO_EXCLUDING_PAYLOAD_ID    0xFF    /* don't include payload ID string */
-
-/* NFA Connection Handover internal events */
-enum
-{
-    NFA_CHO_API_REG_EVT     = NFA_SYS_EVT_START (NFA_ID_CHO), /* NFA_ChoRegister () */
-    NFA_CHO_API_DEREG_EVT,            /* NFA_ChoDeregister ()       */
-    NFA_CHO_API_CONNECT_EVT,          /* NFA_ChoConnect ()          */
-    NFA_CHO_API_DISCONNECT_EVT,       /* NFA_ChoDisconnect ()       */
-    NFA_CHO_API_SEND_HR_EVT,          /* NFA_ChoSendHr ()           */
-    NFA_CHO_API_SEND_HS_EVT,          /* NFA_ChoSendHs ()           */
-    NFA_CHO_API_SEL_ERR_EVT,          /* NFA_ChoSendSelectError ()  */
-
-    NFA_CHO_RX_HANDOVER_MSG_EVT,      /* Received Handover Message  */
-
-    NFA_CHO_LLCP_CONNECT_IND_EVT,     /* LLCP_SAP_EVT_CONNECT_IND       */
-    NFA_CHO_LLCP_CONNECT_RESP_EVT,    /* LLCP_SAP_EVT_CONNECT_RESP      */
-    NFA_CHO_LLCP_DISCONNECT_IND_EVT,  /* LLCP_SAP_EVT_DISCONNECT_IND    */
-    NFA_CHO_LLCP_DISCONNECT_RESP_EVT, /* LLCP_SAP_EVT_DISCONNECT_RESP   */
-    NFA_CHO_LLCP_CONGEST_EVT,         /* LLCP_SAP_EVT_CONGEST           */
-    NFA_CHO_LLCP_LINK_STATUS_EVT,     /* LLCP_SAP_EVT_LINK_STATUS       */
-
-    NFA_CHO_NDEF_TYPE_HANDLER_EVT,    /* Callback event from NDEF Type handler */
-    NFA_CHO_TIMEOUT_EVT,              /* Timeout event              */
-
-    NFA_CHO_LAST_EVT
-};
-
-typedef UINT16 tNFA_CHO_INT_EVT;
-
-/* data type for NFA_CHO_API_REG_EVT */
-typedef struct
-{
-    BT_HDR              hdr;
-    BOOLEAN             enable_server;
-    tNFA_CHO_CBACK     *p_cback;
-} tNFA_CHO_API_REG;
-
-/* data type for NFA_CHO_API_DEREG_EVT */
-typedef BT_HDR tNFA_CHO_API_DEREG;
-
-/* data type for NFA_CHO_API_CONNECT_EVT */
-typedef BT_HDR tNFA_CHO_API_CONNECT;
-
-/* data type for NFA_CHO_API_DISCONNECT_EVT */
-typedef BT_HDR tNFA_CHO_API_DISCONNECT;
-
-/* data type for NFA_CHO_API_SEND_HR_EVT */
-typedef struct
-{
-    BT_HDR              hdr;
-    UINT8               num_ac_info;
-    tNFA_CHO_AC_INFO   *p_ac_info;
-    UINT8              *p_ndef;
-    UINT32              max_ndef_size;
-    UINT32              cur_ndef_size;
-} tNFA_CHO_API_SEND_HR;
-
-/* data type for NFA_CHO_API_SEND_HS_EVT */
-typedef struct
-{
-    BT_HDR              hdr;
-    UINT8               num_ac_info;
-    tNFA_CHO_AC_INFO   *p_ac_info;
-    UINT8              *p_ndef;
-    UINT32              max_ndef_size;
-    UINT32              cur_ndef_size;
-} tNFA_CHO_API_SEND_HS;
-
-/* data type for NFA_CHO_API_STOP_EVT */
-typedef BT_HDR tNFA_CHO_API_STOP;
-
-/* data type for NFA_CHO_API_SEL_ERR_EVT */
-typedef struct
-{
-    BT_HDR              hdr;
-    UINT8               error_reason;
-    UINT32              error_data;
-} tNFA_CHO_API_SEL_ERR;
-
-/* data type for NFA_CHO_NDEF_TYPE_HANDLER_EVT */
-typedef struct
-{
-    BT_HDR              hdr;
-    tNFA_NDEF_EVT       event;
-    tNFA_NDEF_EVT_DATA  data;
-} tNFA_CHO_NDEF_TYPE_HDLR_EVT;
-
-/* union of all event data types */
-typedef union
-{
-    BT_HDR                      hdr;                /* NFA_CHO_TIMEOUT_EVT        */
-    tNFA_CHO_API_REG            api_reg;            /* NFA_CHO_API_REG_EVT        */
-    tNFA_CHO_API_DEREG          api_dereg;          /* NFA_CHO_API_DEREG_EVT      */
-    tNFA_CHO_API_CONNECT        api_connect;        /* NFA_CHO_API_CONNECT_EVT    */
-    tNFA_CHO_API_DISCONNECT     api_disconnect;     /* NFA_CHO_API_DISCONNECT_EVT */
-    tNFA_CHO_API_SEND_HR        api_send_hr;        /* NFA_CHO_API_SEND_HR_EVT    */
-    tNFA_CHO_API_SEND_HS        api_send_hs;        /* NFA_CHO_API_SEND_HS_EVT    */
-    tNFA_CHO_API_SEL_ERR        api_sel_err;        /* NFA_CHO_API_SEL_ERR_EVT    */
-    tNFA_CHO_NDEF_TYPE_HDLR_EVT ndef_type_hdlr;     /* NFA_CHO_NDEF_TYPE_HANDLER_EVT */
-    tLLCP_SAP_CBACK_DATA        llcp_cback_data;    /* LLCP callback data         */
-} tNFA_CHO_INT_EVENT_DATA;
-
-/*****************************************************************************
-**  control block
-*****************************************************************************/
-
-#define NFA_CHO_FLAGS_LLCP_ACTIVATED    0x01
-#define NFA_CHO_FLAGS_CLIENT_ONLY       0x02    /* Handover server is not enabled       */
-#define NFA_CHO_FLAGS_CONN_COLLISION    0x04    /* collision when creating data link    */
-
-/* NFA Connection Handover control block */
-typedef struct
-{
-    tNFA_CHO_STATE      state;                  /* main state                           */
-    tNFA_CHO_SUBSTATE   substate;               /* substate in connected state          */
-    TIMER_LIST_ENT      timer;                  /* timer for rx handover message        */
-
-    UINT8               server_sap;             /* SAP for local handover server        */
-    UINT8               client_sap;             /* SAP for connection to remote handover server */
-    UINT8               local_sap;              /* SSAP for connection, either server_sap or client_sap */
-    UINT8               remote_sap;             /* DSAP for connection                  */
-
-    UINT8               flags;                  /* internal flags                       */
-    tNFA_CHO_DISC_REASON disc_reason;           /* disconnection reason                 */
-
-    tNFA_HANDLE         hs_ndef_type_handle;    /* handle for HS NDEF Type handler      */
-    tNFA_HANDLE         bt_ndef_type_handle;    /* handle for BT OOB NDEF Type handler  */
-    tNFA_HANDLE         wifi_ndef_type_handle;  /* handle for WiFi NDEF Type handler    */
-
-    UINT16              local_link_miu;         /* MIU of local LLCP                    */
-    UINT16              remote_miu;             /* peer's MIU of data link connection   */
-    BOOLEAN             congested;              /* TRUE if data link is congested       */
-
-    UINT8               collision_local_sap;    /* SSAP for collision connection        */
-    UINT8               collision_remote_sap;   /* DSAP for collision connection        */
-    UINT16              collision_remote_miu;   /* peer's MIU of collision  connection  */
-    BOOLEAN             collision_congested;    /* TRUE if collision connection is congested */
-
-    UINT16              tx_random_number;       /* it has been sent in Hr for collision */
-
-    UINT8              *p_tx_ndef_msg;          /* allocate buffer for tx NDEF msg      */
-    UINT32              tx_ndef_cur_size;       /* current size of NDEF message         */
-    UINT32              tx_ndef_sent_size;      /* transmitted size of NDEF message     */
-
-    UINT8              *p_rx_ndef_msg;          /* allocate buffer for rx NDEF msg      */
-    UINT32              rx_ndef_buf_size;       /* allocate buffer size for rx NDEF msg */
-    UINT32              rx_ndef_cur_size;       /* current rx size of NDEF message      */
-
-    tNFA_CHO_CBACK     *p_cback;                /* callback registered by application   */
-
-    UINT8               trace_level;
-
-#if (defined (NFA_CHO_TEST_INCLUDED) && (NFA_CHO_TEST_INCLUDED == TRUE))
-    UINT8               test_enabled;
-    UINT8               test_version;
-    UINT16              test_random_number;
-#endif
-} tNFA_CHO_CB;
-
-/*****************************************************************************
-**  External variables
-*****************************************************************************/
-
-/* NFA Connection Handover control block */
-#if NFA_DYNAMIC_MEMORY == FALSE
-extern tNFA_CHO_CB nfa_cho_cb;
-#else
-extern tNFA_CHO_CB *nfa_cho_cb_ptr;
-#define nfa_cho_cb (*nfa_cho_cb_ptr)
-#endif
-
-/*****************************************************************************
-**  External functions
-*****************************************************************************/
-/* nfa_cho_main.c */
-void nfa_cho_init (void);
-
-/* nfa_cho_sm.c */
-void nfa_cho_sm_llcp_cback (tLLCP_SAP_CBACK_DATA *p_data);
-void nfa_cho_sm_execute (tNFA_CHO_INT_EVT event, tNFA_CHO_INT_EVENT_DATA *p_evt_data);
-
-/* nfa_cho_util.c */
-void nfa_cho_proc_ndef_type_handler_evt (tNFA_CHO_INT_EVENT_DATA *p_evt_data);
-tNFA_STATUS nfa_cho_proc_api_reg (tNFA_CHO_INT_EVENT_DATA *p_evt_data);
-void        nfa_cho_proc_api_dereg (void);
-tNFA_STATUS nfa_cho_create_connection (void);
-void nfa_cho_process_disconnection (tNFA_CHO_DISC_REASON disc_reason);
-void nfa_cho_notify_tx_fail_evt (tNFA_STATUS status);
-
-tNFA_STATUS nfa_cho_send_handover_msg (void);
-tNFA_CHO_RX_NDEF_STATUS nfa_cho_read_ndef_msg (UINT8 local_sap, UINT8 remote_sap);
-tNFA_CHO_RX_NDEF_STATUS nfa_cho_reassemble_ho_msg (UINT8 local_sap, UINT8 remote_sap);
-
-tNFA_STATUS nfa_cho_send_hr (tNFA_CHO_API_SEND_HR *p_api_send_hr);
-tNFA_STATUS nfa_cho_send_hs (tNFA_CHO_API_SEND_HS *p_api_select);
-tNFA_STATUS nfa_cho_send_hs_error (UINT8 error_reason, UINT32 error_data);
-
-void nfa_cho_proc_hr (UINT32 length, UINT8 *p_ndef_msg);
-void nfa_cho_proc_hs (UINT32 length, UINT8 *p_ndef_msg);
-void nfa_cho_proc_simplified_format (UINT32 length, UINT8 *p_ndef_msg);
-
-tNFA_CHO_MSG_TYPE  nfa_cho_get_msg_type (UINT32 length, UINT8 *p_ndef_msg);
-tNFA_CHO_ROLE_TYPE nfa_cho_get_local_device_role (UINT32 length, UINT8 *p_ndef_msg);
-tNFA_STATUS nfa_cho_update_random_number (UINT8 *p_ndef_msg);
-#endif /* (defined (NFA_CHO_INCLUDED) && (NFA_CHO_INCLUDED==TRUE)) */
-#endif /* NFA_CHO_INT_H */
diff --git a/src/nfc/ndef/ndef_cho_utils.c b/src/nfc/ndef/ndef_cho_utils.c
deleted file mode 100755
index de50e25..0000000
--- a/src/nfc/ndef/ndef_cho_utils.c
+++ /dev/null
@@ -1,625 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2010-2014 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-
-/******************************************************************************
- *
- *  This file contains source code for some utility functions to help parse
- *  and build NFC Data Exchange Format (NDEF) messages for Connection
- *  Handover
- *
- ******************************************************************************/
-
-#include <string.h>
-#include "ndef_utils.h"
-
-/*******************************************************************************
-**
-** Static Local Functions
-*/
-static UINT8 *ndef_get_bt_oob_record (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                      char *p_id_str);
-
-/*******************************************************************************
-**
-** Static data
-*/
-
-/* Handover Request Record Type */
-static UINT8 hr_rec_type[HR_REC_TYPE_LEN] = { 0x48, 0x72 }; /* "Hr" */
-
-/* Handover Select Record Type */
-static UINT8 hs_rec_type[HS_REC_TYPE_LEN] = { 0x48, 0x73 }; /* "Hs" */
-
-/* Handover Carrier recrod Type */
-static UINT8 hc_rec_type[HC_REC_TYPE_LEN] = { 0x48, 0x63 }; /* "Hc" */
-
-/* Collision Resolution Record Type */
-static UINT8 cr_rec_type[CR_REC_TYPE_LEN] = { 0x63, 0x72 }; /* "cr" */
-
-/* Alternative Carrier Record Type */
-static UINT8 ac_rec_type[AC_REC_TYPE_LEN] = { 0x61, 0x63 }; /* "ac" */
-
-/* Error Record Type */
-static UINT8 err_rec_type[ERR_REC_TYPE_LEN] = { 0x65, 0x72, 0x72 }; /* "err" */
-
-/* Bluetooth OOB Data Type */
-static UINT8 *p_bt_oob_rec_type = (UINT8 *)"application/vnd.bluetooth.ep.oob";
-
-/* Wifi WSC Data Type */
-static UINT8 *p_wifi_wsc_rec_type = (UINT8 *)"application/vnd.wfa.wsc";
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgCreateWktHr
-**
-** Description      This function creates Handover Request Record with version.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgCreateWktHr (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                  UINT8 version )
-{
-    tNDEF_STATUS    status;
-
-    NDEF_MsgInit (p_msg, max_size, p_cur_size);
-
-    /* Add record with version */
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, hr_rec_type, HR_REC_TYPE_LEN,
-                             NULL, 0, &version, 1);
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgCreateWktHs
-**
-** Description      This function creates Handover Select Record with version.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgCreateWktHs (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                  UINT8 version )
-{
-    tNDEF_STATUS    status;
-
-    NDEF_MsgInit (p_msg, max_size, p_cur_size);
-
-    /* Add record with version */
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, hs_rec_type, HS_REC_TYPE_LEN,
-                             NULL, 0, &version, 1);
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddWktHc
-**
-** Description      This function adds Handover Carrier Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddWktHc (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                               char  *p_id_str, UINT8 ctf,
-                               UINT8 carrier_type_len, UINT8 *p_carrier_type,
-                               UINT8 carrier_data_len, UINT8 *p_carrier_data)
-{
-    tNDEF_STATUS    status;
-    UINT8           payload[256], *p, id_len;
-    UINT32          payload_len;
-
-    if (carrier_type_len + carrier_data_len + 2 > 256)
-    {
-        return (NDEF_MSG_INSUFFICIENT_MEM);
-    }
-
-    p = payload;
-
-    UINT8_TO_STREAM (p, (ctf & 0x07));
-    UINT8_TO_STREAM (p, carrier_type_len);
-    ARRAY_TO_STREAM (p, p_carrier_type, carrier_type_len);
-    ARRAY_TO_STREAM (p, p_carrier_data, carrier_data_len);
-
-    payload_len = (UINT32)carrier_type_len + carrier_data_len + 2;
-
-    id_len = (UINT8)strlen (p_id_str);
-
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, hc_rec_type, HC_REC_TYPE_LEN,
-                             (UINT8*)p_id_str, id_len, payload, payload_len);
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddWktAc
-**
-** Description      This function adds Alternative Carrier Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddWktAc (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                               UINT8 cps, char *p_carrier_data_ref_str,
-                               UINT8 aux_data_ref_count, char *p_aux_data_ref_str[])
-{
-    tNDEF_STATUS    status;
-    UINT32          payload_len;
-    UINT8           ref_str_len, xx;
-    UINT8 *p_rec, *p;
-
-    /* get payload length first */
-
-    /* CPS, length of carrier data ref, carrier data ref, Aux data reference count */
-    payload_len = 3 + (UINT8)strlen (p_carrier_data_ref_str);
-    for (xx = 0; xx < aux_data_ref_count; xx++)
-    {
-        /* Aux Data Reference length (1 byte) */
-        payload_len += 1 + (UINT8)strlen (p_aux_data_ref_str[xx]);
-    }
-
-    /* reserve memory for payload */
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, ac_rec_type, AC_REC_TYPE_LEN,
-                             NULL, 0, NULL, payload_len);
-
-    if (status == NDEF_OK)
-    {
-        /* get AC record added at the end */
-        p_rec = NDEF_MsgGetLastRecInMsg (p_msg);
-
-        /* get start pointer of reserved payload */
-        p = NDEF_RecGetPayload (p_rec, &payload_len);
-        if(p == NULL)
-        {
-            status = NDEF_MSG_EMPTY_PAYLOAD;
-        }
-        else
-        {
-            /* Add Carrier Power State */
-            UINT8_TO_BE_STREAM (p, cps);
-
-            /* Carrier Data Reference length */
-            ref_str_len = (UINT8)strlen (p_carrier_data_ref_str);
-
-            UINT8_TO_BE_STREAM (p, ref_str_len);
-
-            /* Carrier Data Reference */
-            ARRAY_TO_BE_STREAM (p, p_carrier_data_ref_str, ref_str_len);
-
-            /* Aux Data Reference Count */
-            UINT8_TO_BE_STREAM (p, aux_data_ref_count);
-
-            for (xx = 0; xx < aux_data_ref_count; xx++)
-            {
-                /* Aux Data Reference length (1 byte) */
-                ref_str_len = (UINT8)strlen (p_aux_data_ref_str[xx]);
-
-                UINT8_TO_BE_STREAM (p, ref_str_len);
-
-                /* Aux Data Reference */
-                ARRAY_TO_BE_STREAM (p, p_aux_data_ref_str[xx], ref_str_len);
-            }
-        }
-    }
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddWktCr
-**
-** Description      This function adds Collision Resolution Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddWktCr (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                               UINT16 random_number )
-{
-    tNDEF_STATUS    status;
-    UINT8           data[2], *p;
-
-    p = data;
-    UINT16_TO_BE_STREAM (p, random_number);
-
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, cr_rec_type, CR_REC_TYPE_LEN,
-                             NULL, 0, data, 2);
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddWktErr
-**
-** Description      This function adds Error Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddWktErr (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                UINT8 error_reason, UINT32 error_data )
-{
-    tNDEF_STATUS    status;
-    UINT8           payload[5], *p;
-    UINT32          payload_len;
-
-    p = payload;
-
-    UINT8_TO_BE_STREAM (p, error_reason);
-
-    if (error_reason == 0x02)
-    {
-        UINT32_TO_BE_STREAM (p, error_data);
-        payload_len = 5;
-    }
-    else
-    {
-        UINT8_TO_BE_STREAM (p, error_data);
-        payload_len = 2;
-    }
-
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_WKT, err_rec_type, ERR_REC_TYPE_LEN,
-                             NULL, 0, payload, payload_len);
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddMediaBtOob
-**
-** Description      This function adds BT OOB Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddMediaBtOob (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                    char *p_id_str, BD_ADDR bd_addr)
-{
-    tNDEF_STATUS    status;
-    UINT8           payload[BD_ADDR_LEN + 2];
-    UINT8          *p;
-    UINT8           payload_len, id_len;
-
-    p = payload;
-
-    /* length including itself */
-    UINT16_TO_STREAM (p, BD_ADDR_LEN + 2);
-
-    /* BD Addr */
-    BDADDR_TO_STREAM (p, bd_addr);
-
-    payload_len = BD_ADDR_LEN + 2;
-    id_len = (UINT8)strlen (p_id_str);
-
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_MEDIA, p_bt_oob_rec_type, BT_OOB_REC_TYPE_LEN,
-                             (UINT8*)p_id_str, id_len, payload, payload_len);
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAppendMediaBtOobCod
-**
-** Description      This function appends COD EIR data at the end of BT OOB Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAppendMediaBtOobCod (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                          char *p_id_str, DEV_CLASS cod)
-{
-    tNDEF_STATUS    status;
-    UINT8          *p_rec;
-    UINT8           eir_data[BT_OOB_COD_SIZE + 2];
-    UINT8          *p;
-    UINT8           eir_data_len;
-    UINT32          oob_data_len;
-
-    /* find record by Payload ID */
-    p_rec = ndef_get_bt_oob_record (p_msg, max_size, p_cur_size, p_id_str);
-
-    if (!p_rec)
-        return (NDEF_REC_NOT_FOUND);
-
-    /* create EIR data format for COD */
-    p = eir_data;
-    UINT8_TO_STREAM (p, BT_OOB_COD_SIZE + 1);
-    UINT8_TO_STREAM (p, BT_EIR_OOB_COD_TYPE);
-    DEVCLASS_TO_STREAM (p, cod);
-    eir_data_len = BT_OOB_COD_SIZE + 2;
-
-    /* append EIR data at the end of record */
-    status = NDEF_MsgAppendPayload(p_msg, max_size, p_cur_size,
-                                   p_rec, eir_data, eir_data_len);
-
-    /* update BT OOB data length, if success */
-    if (status == NDEF_OK)
-    {
-        /* payload length is the same as BT OOB data length */
-        p = NDEF_RecGetPayload (p_rec, &oob_data_len);
-        if(p == NULL)
-        {
-            status = NDEF_MSG_EMPTY_PAYLOAD;
-        }
-        else
-        {
-            UINT16_TO_STREAM (p, oob_data_len);
-        }
-    }
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAppendMediaBtOobName
-**
-** Description      This function appends Bluetooth Local Name EIR data
-**                  at the end of BT OOB Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAppendMediaBtOobName (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                           char *p_id_str, BOOLEAN is_complete,
-                                           UINT8 name_len, UINT8 *p_name)
-{
-    tNDEF_STATUS    status;
-    UINT8          *p_rec;
-    UINT8           eir_data[256];
-    UINT8          *p;
-    UINT8           eir_data_len;
-    UINT32          oob_data_len;
-
-    /* find record by Payload ID */
-    p_rec = ndef_get_bt_oob_record (p_msg, max_size, p_cur_size, p_id_str);
-
-    if (!p_rec)
-        return (NDEF_REC_NOT_FOUND);
-
-    /* create EIR data format for COD */
-    p = eir_data;
-    UINT8_TO_STREAM (p, name_len + 1);
-
-    if (is_complete)
-    {
-        UINT8_TO_STREAM (p, BT_EIR_COMPLETE_LOCAL_NAME_TYPE);
-    }
-    else
-    {
-        UINT8_TO_STREAM (p, BT_EIR_SHORTENED_LOCAL_NAME_TYPE);
-    }
-
-    ARRAY_TO_STREAM (p, p_name, name_len);
-    eir_data_len = name_len + 2;
-
-    /* append EIR data at the end of record */
-    status = NDEF_MsgAppendPayload(p_msg, max_size, p_cur_size,
-                                   p_rec, eir_data, eir_data_len);
-
-    /* update BT OOB data length, if success */
-    if (status == NDEF_OK)
-    {
-        /* payload length is the same as BT OOB data length */
-        p = NDEF_RecGetPayload (p_rec, &oob_data_len);
-        if(p == NULL)
-        {
-            status = NDEF_MSG_EMPTY_PAYLOAD;
-        }
-        else
-        {
-            UINT16_TO_STREAM (p, oob_data_len);
-        }
-    }
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAppendMediaBtOobHashCRandR
-**
-** Description      This function appends Hash C and Rand R at the end of BT OOB Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAppendMediaBtOobHashCRandR (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                                 char *p_id_str, UINT8 *p_hash_c, UINT8 *p_rand_r)
-{
-    tNDEF_STATUS    status;
-    UINT8          *p_rec;
-    UINT8           eir_data[BT_OOB_HASH_C_SIZE + BT_OOB_RAND_R_SIZE + 4];
-    UINT8          *p;
-    UINT8           eir_data_len;
-    UINT32          oob_data_len;
-
-    /* find record by Payload ID */
-    p_rec = ndef_get_bt_oob_record (p_msg, max_size, p_cur_size, p_id_str);
-
-    if (!p_rec)
-        return (NDEF_REC_NOT_FOUND);
-
-    /* create EIR data format */
-    p = eir_data;
-
-    UINT8_TO_STREAM   (p, BT_OOB_HASH_C_SIZE + 1);
-    UINT8_TO_STREAM   (p, BT_EIR_OOB_SSP_HASH_C_TYPE);
-    ARRAY16_TO_STREAM (p, p_hash_c);
-
-    UINT8_TO_STREAM   (p, BT_OOB_RAND_R_SIZE + 1);
-    UINT8_TO_STREAM   (p, BT_EIR_OOB_SSP_RAND_R_TYPE);
-    ARRAY16_TO_STREAM (p, p_rand_r);
-
-    eir_data_len = BT_OOB_HASH_C_SIZE + BT_OOB_RAND_R_SIZE + 4;
-
-    /* append EIR data at the end of record */
-    status = NDEF_MsgAppendPayload(p_msg, max_size, p_cur_size,
-                                   p_rec, eir_data, eir_data_len);
-
-    /* update BT OOB data length, if success */
-    if (status == NDEF_OK)
-    {
-        /* payload length is the same as BT OOB data length */
-        p = NDEF_RecGetPayload (p_rec, &oob_data_len);
-        if(p == NULL)
-        {
-            status = NDEF_MSG_EMPTY_PAYLOAD;
-        }
-        else
-        {
-            UINT16_TO_STREAM (p, oob_data_len);
-        }
-    }
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAppendMediaBtOobEirData
-**
-** Description      This function appends EIR Data at the end of BT OOB Record.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAppendMediaBtOobEirData (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                              char *p_id_str,
-                                              UINT8 eir_type, UINT8 data_len, UINT8 *p_data)
-{
-    tNDEF_STATUS    status;
-    UINT8          *p_rec;
-    UINT8           eir_data[256];
-    UINT8          *p;
-    UINT8           eir_data_len;
-    UINT32          oob_data_len;
-
-    /* find record by Payload ID */
-    p_rec = ndef_get_bt_oob_record (p_msg, max_size, p_cur_size, p_id_str);
-
-    if (!p_rec)
-        return (NDEF_REC_NOT_FOUND);
-
-    /* create EIR data format */
-    p = eir_data;
-    UINT8_TO_STREAM (p, data_len + 1);
-    UINT8_TO_STREAM (p, eir_type);
-    ARRAY_TO_STREAM (p, p_data, data_len);
-    eir_data_len = data_len + 2;
-
-    /* append EIR data at the end of record */
-    status = NDEF_MsgAppendPayload(p_msg, max_size, p_cur_size,
-                                   p_rec, eir_data, eir_data_len);
-
-    /* update BT OOB data length, if success */
-    if (status == NDEF_OK)
-    {
-        /* payload length is the same as BT OOB data length */
-        p = NDEF_RecGetPayload (p_rec, &oob_data_len);
-        if(p == NULL)
-        {
-            status = NDEF_MSG_EMPTY_PAYLOAD;
-        }
-        else
-        {
-            UINT16_TO_STREAM (p, oob_data_len);
-        }
-    }
-
-    return (status);
-}
-
-/*******************************************************************************
-**
-** Function         NDEF_MsgAddMediaWifiWsc
-**
-** Description      This function adds Wifi Wsc Record header.
-**
-** Returns          NDEF_OK if all OK
-**
-*******************************************************************************/
-tNDEF_STATUS NDEF_MsgAddMediaWifiWsc (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                    char *p_id_str, UINT8 *p_payload, UINT32 payload_len)
-{
-    tNDEF_STATUS    status;
-    UINT8           id_len = 0;
-
-    if (p_id_str)
-        id_len = (UINT8)strlen (p_id_str);
-
-    status = NDEF_MsgAddRec (p_msg, max_size, p_cur_size,
-                             NDEF_TNF_MEDIA, p_wifi_wsc_rec_type, WIFI_WSC_REC_TYPE_LEN,
-                             (UINT8*)p_id_str, id_len, p_payload, payload_len);
-    return (status);
-}
-
-/*******************************************************************************
-**
-**              Static Local Functions
-**
-*******************************************************************************/
-/*******************************************************************************
-**
-** Function         ndef_get_bt_oob_record
-**
-** Description      This function returns BT OOB record which has matched payload ID
-**
-** Returns          pointer of record if found, otherwise NULL
-**
-*******************************************************************************/
-static UINT8 *ndef_get_bt_oob_record (UINT8 *p_msg, UINT32 max_size, UINT32 *p_cur_size,
-                                      char *p_id_str)
-{
-    UINT8  *p_rec, *p_type;
-    UINT8   id_len, tnf, type_len;
-    (void)(max_size);
-    (void)(p_cur_size);
-
-    /* find record by Payload ID */
-    id_len = (UINT8)strlen (p_id_str);
-    p_rec = NDEF_MsgGetFirstRecById (p_msg, (UINT8*)p_id_str, id_len);
-
-    if (!p_rec)
-        return (NULL);
-
-    p_type = NDEF_RecGetType (p_rec, &tnf, &type_len);
-
-    /* check type if this is BT OOB record */
-    if ((!p_rec)
-      ||(tnf != NDEF_TNF_MEDIA)
-      ||(type_len != BT_OOB_REC_TYPE_LEN)
-      ||(memcmp (p_type, p_bt_oob_rec_type, BT_OOB_REC_TYPE_LEN)))
-    {
-        return (NULL);
-    }
-
-    return (p_rec);
-}
diff --git a/src/udrv/include/uamp_api.h b/src/udrv/include/uamp_api.h
deleted file mode 100644
index 9eb733c..0000000
--- a/src/udrv/include/uamp_api.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2009-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains serial definitions from WIDCOMM's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-#ifndef UAMP_API_H
-#define UAMP_API_H
-
-/*****************************************************************************
-**  Constant and Type Definitions
-*****************************************************************************/
-
-/* UAMP identifiers */
-#define UAMP_ID_1   1
-#define UAMP_ID_2   2
-typedef UINT8 tUAMP_ID;
-
-/* UAMP event ids (used by UAMP_CBACK) */
-#define UAMP_EVT_RX_READY           0   /* Data from AMP controller is ready to be read */
-#define UAMP_EVT_CTLR_REMOVED       1   /* Controller removed */
-#define UAMP_EVT_CTLR_READY         2   /* Controller added/ready */
-typedef UINT8 tUAMP_EVT;
-
-
-/* UAMP Channels */
-#define UAMP_CH_HCI_CMD            0   /* HCI Command channel */
-#define UAMP_CH_HCI_EVT            1   /* HCI Event channel */
-#define UAMP_CH_HCI_DATA           2   /* HCI ACL Data channel */
-typedef UINT8 tUAMP_CH;
-
-/* tUAMP_EVT_DATA: union for event-specific data, used by UAMP_CBACK */
-typedef union {
-    tUAMP_CH channel;       /* UAMP_EVT_RX_READY: channel for which rx occured */
-} tUAMP_EVT_DATA;
-
-
-
-
-/*****************************************************************************
-**
-** Function:    UAMP_CBACK
-**
-** Description: Callback for events. Register callback using UAMP_Init.
-**
-** Parameters   amp_id:         AMP device identifier that generated the event
-**              amp_evt:        event id
-**              p_amp_evt_data: pointer to event-specific data
-**
-*****************************************************************************/
-typedef void (tUAMP_CBACK)(tUAMP_ID amp_id, tUAMP_EVT amp_evt, tUAMP_EVT_DATA *p_amp_evt_data);
-
-/*****************************************************************************
-**  external function declarations
-*****************************************************************************/
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*****************************************************************************
-**
-** Function:    UAMP_Init
-**
-** Description: Initialize UAMP driver
-**
-** Parameters   p_cback:    Callback function for UAMP event notification
-**
-*****************************************************************************/
-BT_API BOOLEAN UAMP_Init(tUAMP_CBACK *p_cback);
-
-
-/*****************************************************************************
-**
-** Function:    UAMP_Open
-**
-** Description: Open connection to local AMP device.
-**
-** Parameters   app_id: Application specific AMP identifer. This value
-**                      will be included in AMP messages sent to the
-**                      BTU task, to identify source of the message
-**
-*****************************************************************************/
-BT_API BOOLEAN UAMP_Open(tUAMP_ID amp_id);
-
-/*****************************************************************************
-**
-** Function:    UAMP_Close
-**
-** Description: Close connection to local AMP device.
-**
-** Parameters   app_id: Application specific AMP identifer.
-**
-*****************************************************************************/
-BT_API void UAMP_Close(tUAMP_ID amp_id);
-
-
-/*****************************************************************************
-**
-** Function:    UAMP_Write
-**
-** Description: Send buffer to AMP device.
-**
-**
-** Parameters:  app_id:     AMP identifer.
-**              p_buf:      pointer to buffer to write
-**              num_bytes:  number of bytes to write
-**              channel:    UAMP_CH_HCI_ACL, or UAMP_CH_HCI_CMD
-**
-** Returns:     number of bytes written
-**
-*****************************************************************************/
-BT_API UINT16 UAMP_Write(tUAMP_ID amp_id, UINT8 *p_buf, UINT16 num_bytes, tUAMP_CH channel);
-
-
-/*****************************************************************************
-**
-** Function:    UAMP_WriteBuf
-**
-** Description: Send GKI buffer to AMP device. Frees GKI buffer when done.
-**
-** Parameters   app_amp_id: AMP identifer (BTM_AMP_1, BTM_AMP_2, ...)
-**              p_msg:      message to send.
-**
-*****************************************************************************/
-BT_API UINT16 UAMP_WriteBuf(tUAMP_ID amp_id, BT_HDR *p_msg);
-
-
-/*****************************************************************************
-**
-** Function:    UAMP_Read
-**
-** Description: Read incoming data from AMP. Call after receiving a
-**              UAMP_EVT_RX_READY callback event.
-**
-** Parameters:  app_id:     AMP identifer.
-**              p_buf:      pointer to buffer for holding incoming AMP data
-**              buf_size:   size of p_buf
-**              channel:    UAMP_CH_HCI_ACL, or UAMP_CH_HCI_EVT
-**
-** Returns:     number of bytes read
-**
-*****************************************************************************/
-BT_API UINT16 UAMP_Read(tUAMP_ID amp_id, UINT8 *p_buf, UINT16 buf_size, tUAMP_CH channel);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* UAMP_API_H */
diff --git a/src/udrv/include/ucodec.h b/src/udrv/include/ucodec.h
deleted file mode 100644
index 6178fdc..0000000
--- a/src/udrv/include/ucodec.h
+++ /dev/null
@@ -1,385 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2001-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains codec definitions from Widcomm's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-
-#ifndef UCODEC_H
-#define UCODEC_H
-
-#include "bt_target.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*******************************************************************************
-** Codec APIs
-*******************************************************************************/
-
-/**** Codec IDs ****/
-#define UCODEC_ID_1             0
-#define UCODEC_ID_2             1
-#define UCODEC_ID_3             2
-#define UCODEC_ID_4             3
-#define UCODEC_NUMBER           4
-
-typedef UINT8 tUCODEC_ID;
-
-/**** Status ****/
-#define UCODEC_SUCCESS              0x00
-#define UCODEC_TX_DONE              0x01
-#define UCODEC_RX_READY             0x02
-#define UCODEC_FLOW_CTRL_ON         0x03
-#define UCODEC_FLOW_CTRL_OFF        0x04
-#define UCODEC_OVERFLOW             0x05
-#define UCODEC_UNSUPORTED_CNF       0x06
-#define UCODEC_WRONG_PARAM          0x07
-#define UCODEC_NOT_CONFIGURED       0x08
-#define UCODEC_OUT_OF_MEMORY        0x09
-#define UCODEC_GENERIC_ERROR        0x0a
-#define UCODEC_RECOVERABLE_ERROR    0x0b
-#define UCODEC_UNRECOVERABLE_ERROR  0x0c
-#define UCODEC_LOW_LEVEL_DRIVER_ERROR   (0x0d)
-
-typedef UINT8 tUCODEC_STATUS;
-
-/**** Media type ****/
-#define UCODEC_MEDIA_TYPE_AUDIO 0
-#define UCODEC_MEDIA_TYPE_VIDEO 1
-#define UCODEC_MEDIA_TYPE_MULTI 2
-
-typedef UINT8 tUCODEC_MEDIA_TYPE;
-
-/**** Audio Codec type ****/
-#define UCODEC_AUDIO_SBC        0
-#define UCODEC_AUDIO_M12_LAYER1 1   /* layer1 (mp1) */
-#define UCODEC_AUDIO_M12_LAYER2 2   /* layer2 (mp2) */
-#define UCODEC_AUDIO_M12_LAYER3 3   /* layer3 (mp3) */
-#define UCODEC_AUDIO_M24_2LC    4   /* MPEG-2 AAC LC */
-#define UCODEC_AUDIO_M24_4LC    5   /* MPEG-4 AAC LC */
-#define UCODEC_AUDIO_M24_4LTP   6   /* MPEG-4 AAC LTP */
-#define UCODEC_AUDIO_M24_4S     7   /* MPEG-4 AAC scalable */
-#define UCODEC_AUDIO_VOLUME     8   /* Volume settings */
-#define UCODEC_AUDIO_BALANCE    9   /* Balance settings */
-
-typedef UINT8 tUCODEC_AUDIO_FEAT_TYPE;
-
-/**** Video Codec type -> TODO ****/
-/*TBD*/
-
-typedef UINT8 tUCODEC_VIDEO_FEAT_TYPE;
-
-/**** SBC sample frequency ****/
-#define UCODEC_SBC_SMP_FREQ_16    0  /* 16 */
-#define UCODEC_SBC_SMP_FREQ_32    1  /* 23 */
-#define UCODEC_SBC_SMP_FREQ_44    2  /* 44.1 */
-#define UCODEC_SBC_SMP_FREQ_48    3  /* 48 */
-
-typedef UINT8 tUCODEC_SBC_SMP_FREQ;
-
-/**** SBC sample frequency ****/
-#define UCODEC_SBC_SUBBAND_4    4
-#define UCODEC_SBC_SUBBAND_8    8
-
-typedef UINT8 tUCODEC_SBC_SUBBAND;
-/**** Allocation method ****/
-#define UCODEC_SBC_ALLOC_MD_S   0   /* SNR */
-#define UCODEC_SBC_ALLOC_MD_L   1   /* loundess */
-
-typedef UINT8 tUCODEC_SBC_ALLOC_MD;
-
-/**** MPEG sample frequency ****/
-#define UCODEC_M12_SMP_FREQ_16    0   /* 16 */
-#define UCODEC_M12_SMP_FREQ_22    1   /* 22 */
-#define UCODEC_M12_SMP_FREQ_24    2  /* 24 */
-#define UCODEC_M12_SMP_FREQ_32    3  /* 32 */
-#define UCODEC_M12_SMP_FREQ_44    4  /* 44 */
-#define UCODEC_M12_SMP_FREQ_48    5  /* 48 */
-
-typedef UINT8 tUCODEC_M12_SMP_FREQ;
-
-/**** Channel mode ****/
-#define UCODEC_CHN_MONO            0
-#define UCODEC_CHN_DUAL            1
-#define UCODEC_CHN_STEREO          2
-#define UCODEC_CHN_JOINT_STEREO    3
-
-typedef UINT8 tUCODEC_CH_MODE;
-/**** Audio Codec type ****/
-#define UCODEC_M24_SMP_FREQ_8     0   /*  8 */
-#define UCODEC_M24_SMP_FREQ_11    1   /* 11 */
-#define UCODEC_M24_SMP_FREQ_12    2   /* 12 */
-#define UCODEC_M24_SMP_FREQ_16    3   /* 16 */
-#define UCODEC_M24_SMP_FREQ_22    4   /* 22.05 */
-#define UCODEC_M24_SMP_FREQ_24    5   /* 24 */
-#define UCODEC_M24_SMP_FREQ_32    6   /* 32 */
-#define UCODEC_M24_SMP_FREQ_44    7   /* 44.1 */
-#define UCODEC_M24_SMP_FREQ_48    8   /* 48 */
-#define UCODEC_M24_SMP_FREQ_64    9   /* 64 */
-#define UCODEC_M24_SMP_FREQ_88    10  /* 88 */
-#define UCODEC_M24_SMP_FREQ_96    11  /* 96 */
-
-typedef UINT8 tUCODEC_M24_SMP_FREQ;
-
-/**** Codec configuration structure ****/
-typedef struct tUCODEC_CNF_SBC_TAG
-{
-    tUCODEC_SBC_SMP_FREQ    SampleFreq;
-    tUCODEC_CH_MODE         ChannelMode;
-    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
-    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
-    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
-    UINT8                   NumBlock;   /* Number of block in block unit : 4 blocks 8 blocks 12 blocks 16 blocks are the possible value */
-    UINT8                   Subband;
-    tUCODEC_SBC_ALLOC_MD    AllocMthd;
-    UINT8                   MinBitPool;
-    UINT8                   MaxBitPool;
-} tUCODEC_CNF_SBC;
-
-typedef struct tUCODEC_CNF_M12_TAG
-{
-    tUCODEC_CH_MODE         ChannelMode; /* Mono, Dual, stereo, joint stereo */
-    tUCODEC_M12_SMP_FREQ    SampleFreq; /* Sample freq: 16, 22, 24, 32, 44, 48 */
-    UINT16                  BitRate;    /* Bit rate in bit per sec */
-    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
-    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
-    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
-    BOOLEAN                 VBR;        /* Variable Bit Rate */
-    BOOLEAN                 CRC_On;     /* CRC error detection */
-    BOOLEAN                 MPF;        /* Media payload format */
-} tUCODEC_CNF_M12;
-
-typedef struct tUCODEC_CNF_M24_TAG
-{
-    tUCODEC_M24_SMP_FREQ    SampleFreq; /* Sample freq: 8, 11, 12, 16, 22.05, 24, 32, 44.1, 48, 64, 88, 96 */
-    UINT32                  BitRate;    /* Bit rate */
-    UINT16                  Offset;     /* GKI buffer based offset for UCODEC_ReadBuf */
-    UINT16                  MtuSize;    /* Max buffer len for UCODEC_ReadBuf*/
-    UINT8                   PoolId;     /* GKI pool ID for UCODEC_ReadBuf */
-    UINT8                   Chanels;    /* 1 or 2 chanels */
-} tUCODEC_CNF_M24;
-
-
-typedef union tUCODEC_CODEC_TYPE_TAG
-{
-    tUCODEC_AUDIO_FEAT_TYPE AudioType;
-    tUCODEC_VIDEO_FEAT_TYPE VideoType;
-} tUCODEC_CODEC_TYPE;
-
-typedef union tUCODEC_FEATURE_TAG
-{
-    /* Add here the audio feature structure */
-    tUCODEC_CNF_SBC SBCConfig;
-    tUCODEC_CNF_M12 M12Config;
-    tUCODEC_CNF_M24 M24Config;
-    UINT8           Volume;     /* 0 to mute. 0xFF for the max volume */
-    UINT8           Balance;    /* 0->100% right, 255->100% left */
-    /* Add here the video feature structure */
-    /* TBD */
-} tUCODEC_FEATURE;
-
-typedef struct tUCODEC_CNF_TAG
-{
-    tUCODEC_MEDIA_TYPE  MediaType;
-    tUCODEC_CODEC_TYPE  Type;
-    tUCODEC_FEATURE     Feature;
-} tUCODEC_CNF;
-
-typedef struct tUCODEC_BUF_INFO_TAG
-{
-    UINT8       NumOfFrames;
-    UINT32      TimesStamp;
-} tUCODEC_BUF_INFO;
-
-
-/******************************************************************************
-**
-** Function         tUCODEC_CBACK_PTR
-**
-** Description      This call back report CODEC indication.
-**                  It report codec error as well as flow onfrol indication.
-**
-**                  Input : CodecId: Id of the codec that calls this call back.
-**                          Status: ->UCODEC_FLOW_CTRL_OFF if the Tx Q just
-**                                  went below the low watermark
-**                                  ->UCODEC_RX_READY if data are ready to be
-**                                  read. This olny hapens when the Rx Q was
-**                                  empty before receiving data.
-**                                  ->UCODEC_INTERNAL_ERROR if something went
-**                                  wrong with the driver
-**
-**                  Output Parameters : None
-**
-** Returns          None.
-**
-******************************************************************************/
-typedef void (* tUCODEC_CBACK_PTR)(tUCODEC_ID, tUCODEC_STATUS);
-
-/*******************************************************************************
-** Function Prototypes
-*******************************************************************************/
-
-/******************************************************************************
-**
-** Function         UCODEC_Init
-**
-** Description      Startup initialisation function. This function is called
-**                  before any orther function of UCODEC it initialize UCODEC
-**                  internal structure an the external codec.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS if The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS    UCODEC_Init       (void *);
-
-/******************************************************************************
-**
-** Function         UCODEC_Configure
-**
-** Description      Initialise the CODEC for a particular stream.
-**
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**                          CbackPrt: Call back pointer for codec feedback.
-**                          pConfig: Pointer on a codec configuration structure.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS if The action was performed with sucess.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS    UCODEC_Configure  (tUCODEC_ID, tUCODEC_CBACK_PTR, tUCODEC_CNF *);
-
-/******************************************************************************
-**
-** Function         UCODEC_FlushTx
-**
-** Description      Fluch Tx buffer Q.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS if The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS    UCODEC_FlushTx      (tUCODEC_ID);
-
-/******************************************************************************
-**
-** Function         UCODEC_FlushRx
-**
-** Description      Fluch Rx buffer Q.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS if The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS    UCODEC_FlushRx      (tUCODEC_ID);
-
-/******************************************************************************
-**
-** Function         UCODEC_WriteBuf
-**
-** Description      Send a buffer to the codec.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**                          pBuf: Pointer onto the GKI buffer to be send to the CODEC.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS if The action was performed with sucess.
-**                  UCODEC_FLOW_CTRL_ON if The codec buffer Q had reach a UCODEC_HIGH_WM
-**                                      watermark. The buffer is queued
-**                  UCODEC_OVERFLOW if The codec buffer Q had reach a critical
-**                                     watermark. The buffer is dropped.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS    UCODEC_WriteBuf   (tUCODEC_ID, BT_HDR *);
-
-/******************************************************************************
-**
-** Function         UCODEC_ReadBuf
-**
-** Description      Get a buffer from the codec.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          Pointer on the GKI buffer. NULL if the Rx Q is empty
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS  UCODEC_ReadBuf    (tUCODEC_ID, BT_HDR **, tUCODEC_BUF_INFO *);
-
-/******************************************************************************
-**
-** Function         UCODEC_Close
-**
-** Description      This function is called to put the codec in low power mode
-**
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS : The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS   UCODEC_Close   (tUCODEC_ID);
-
-/******************************************************************************
-**
-** Function         UCODEC_Open
-**
-** Description      This function is called to resume the codec from low power
-**                  mode after UCODEC_Close had been called. It will put the
-**                  codec in the state it was before UCODEC_Close being called.
-**
-**                  Input : CodecId: Id of the codec to perform the operation on.
-**
-**                  Output Parameters : None
-**
-** Returns          UCODEC_SUCCESS : The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUCODEC_STATUS   UCODEC_Open     (tUCODEC_ID);
-
-#ifdef __cplusplus
-};
-#endif
-
-
-#endif /* UCODEC_H */
diff --git a/src/udrv/include/udac.h b/src/udrv/include/udac.h
deleted file mode 100644
index a2d7ab1..0000000
--- a/src/udrv/include/udac.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2001-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  Definitions for UDAC driver
- *
- ******************************************************************************/
-#ifndef UDAC_H
-#define UDAC_H
-
-
-#define UDAC_GAIN_MAX     0x00FFF
-typedef UINT16 tUDAC_GAIN;
-
-/* API functions for DAC driver */
-
-
-/*****************************************************************************
-**
-** Function         DAC_Init
-**
-** Description
-**      Initialize the DAC subsystem
-**
-** Input parameters
-**      Nothing
-**
-** Output parameters
-**      Nothing
-**
-** Returns
-**      Nothing
-**
-*****************************************************************************/
-void UDAC_Init(void *p_cfg);
-
-
-/*****************************************************************************
-**
-** Function         DAC_Read
-**
-** Description
-**      Read current DAC gain
-**
-** Input parameters
-**      Nothing
-**
-** Output parameters
-**      Nothing
-**
-** Returns
-**      Current gain setting
-**
-*****************************************************************************/
-tUDAC_GAIN UDAC_Read(void);
-
-
-/*****************************************************************************
-**
-** Function         DAC_Set
-**
-** Description
-**      Set the DAC gain
-**
-** Input parameters
-**      gain        Gain setting
-**
-** Output parameters
-**      Nothing
-**
-** Returns
-**      Nothing
-**
-*****************************************************************************/
-void UDAC_Set(tUDAC_GAIN gain);
-
-#endif /* #ifndef UDAC_H */
diff --git a/src/udrv/include/uipc.h b/src/udrv/include/uipc.h
deleted file mode 100644
index 7a29645..0000000
--- a/src/udrv/include/uipc.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2007-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  UIPC wrapper interface
- *
- ******************************************************************************/
-#ifndef UIPC_H
-#define UIPC_H
-
-#ifndef UDRV_API
-#define UDRV_API
-#endif
-
-
-#define UIPC_CH_ID_ALL  0   /* used to address all the ch id at once */
-#define UIPC_CH_ID_0    1   /* shared mem interface */
-#define UIPC_CH_ID_1    2   /* TCP socket (GPS) */
-#define UIPC_CH_ID_2    3   /* BTIF control socket */
-#define UIPC_CH_ID_3    4   /* BTIF HH */
-#define UIPC_CH_ID_4    5   /* Future usage */
-#define UIPC_CH_ID_5    6   /* Future usage */
-#define UIPC_CH_ID_6    7   /* Future usage */
-#define UIPC_CH_ID_7    8   /* Future usage */
-#define UIPC_CH_ID_8    9   /* Future usage */
-#define UIPC_CH_ID_9    10  /* Future usage */
-#define UIPC_CH_ID_10   11  /* Future usage */
-#define UIPC_CH_ID_11   12  /* Future usage */
-#define UIPC_CH_ID_12   13  /* Future usage */
-#define UIPC_CH_ID_13   14  /* Future usage */
-#define UIPC_CH_ID_14   15  /* Future usage */
-#define UIPC_CH_ID_15   16  /* Future usage */
-#define UIPC_CH_ID_16   17  /* Future usage */
-#define UIPC_CH_ID_17   18  /* Future usage */
-#define UIPC_CH_ID_18   19  /* Future usage */
-#define UIPC_CH_ID_19   20  /* Future usage */
-#define UIPC_CH_ID_20   21  /* Future usage */
-#define UIPC_CH_ID_21   22  /* Future usage */
-#define UIPC_CH_ID_22   23  /* Future usage */
-#define UIPC_CH_ID_23   24  /* Future usage */
-#define UIPC_CH_ID_24   25  /* Future usage */
-
-
-
-#define UIPC_CH_NUM 25
-
-typedef UINT8 tUIPC_CH_ID;
-
-
-typedef void (tUIPC_RCV_CBACK)(BT_HDR *p_msg); /* points to BT_HDR which describes event type and length of data; len contains the number of bytes of entire message (sizeof(BT_HDR) + offset + size of data) */
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*******************************************************************************
-**
-** Function         UIPC_Init
-**
-** Description      Initialize UIPC module
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern void UIPC_Init(void *);
-
-/*******************************************************************************
-**
-** Function         UIPC_Open
-**
-** Description      Open UIPC interface
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern BOOLEAN UIPC_Open(tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK *p_cback);
-
-/*******************************************************************************
-**
-** Function         UIPC_Close
-**
-** Description      Close UIPC interface
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern void UIPC_Close(tUIPC_CH_ID ch_id);
-
-/*******************************************************************************
-**
-** Function         UIPC_SendBuf
-**
-** Description      Called to transmit a message over UIPC.
-**                  Message buffer will be freed by UIPC_SendBuf.
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern BOOLEAN UIPC_SendBuf(tUIPC_CH_ID ch_id, BT_HDR *p_msg);
-
-/*******************************************************************************
-**
-** Function         UIPC_Send
-**
-** Description      Called to transmit a message over UIPC.
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern BOOLEAN UIPC_Send(tUIPC_CH_ID ch_id, UINT16 msg_evt, UINT8 *p_buf, UINT16 msglen);
-
-/*******************************************************************************
-**
-** Function         UIPC_Read
-**
-** Description      Called to read a message from UIPC.
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern UINT32 UIPC_Read(tUIPC_CH_ID ch_id, UINT16 *p_msg_evt, UINT8 *p_buf, UINT32 len);
-
-/*******************************************************************************
-**
-** Function         UIPC_Ioctl
-**
-** Description      Called to control UIPC.
-**
-** Returns          void
-**
-*******************************************************************************/
-UDRV_API extern BOOLEAN UIPC_Ioctl(tUIPC_CH_ID ch_id, UINT32 request, void *param);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif  /* UIPC_H */
diff --git a/src/udrv/include/unv.h b/src/udrv/include/unv.h
deleted file mode 100644
index 7964021..0000000
--- a/src/udrv/include/unv.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2002-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains NV definitions from WIDCOMM's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-
-#ifndef UNV_H
-#define UNV_H
-
-#include "data_types.h"
-
-/*******************************************************************************
-** NV APIs
-*******************************************************************************/
-
-/**** Storage preferences ****/
-#define UNV_BLOCK         1
-#define UNV_BYTE          2
-#define UNV_NOPREF        3
-
-typedef UINT8 tUNV_STORAGE_PREF;
-
-/**** Status ****/
-#define UNV_REINIT      (-1)
-#define UNV_WRITELOCKED (-2)
-#define UNV_ERROR       (-3)
-
-typedef INT16 tUNV_STATUS;
-
-/* Prototype for function to restore defaults to a block */
-typedef void  (tUNV_DEFAULT_FUNC)(void);
-
-/*******************************************************************************
-** Function Prototypes
-*******************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef UDRV_API
-#define UDRV_API
-#endif
-
-UDRV_API extern void        UNV_Init(void *);
-UDRV_API extern BOOLEAN     UNV_MapBlock(UINT16, tUNV_STORAGE_PREF, UINT16,
-                                         UINT16, UINT16 *, void *);
-UDRV_API extern BOOLEAN     UNV_ReadMap(UINT16, tUNV_STORAGE_PREF *, UINT16 *,
-                                        UINT16 *, UINT16 *);
-UDRV_API extern BOOLEAN     UNV_EraseBlock(UINT16);
-UDRV_API extern void        UNV_Default(UINT16);
-UDRV_API extern tUNV_STATUS UNV_Read(UINT16, UINT16, UINT16, UINT16, void *);
-UDRV_API extern tUNV_STATUS UNV_Write(UINT16, UINT16, UINT16, UINT16, void *);
-UDRV_API extern tUNV_STATUS UNV_ReadBlock(UINT16, UINT16, void *);
-UDRV_API extern tUNV_STATUS UNV_WriteBlock(UINT16, void *);
-UDRV_API extern UINT32      UNV_BytesRemaining(void);
-UDRV_API extern void        UNV_Consolidate(void);
-UDRV_API extern tUNV_STATUS UNV_ReadPtr(UINT16, UINT16, UINT8 **);
-UDRV_API extern tUNV_STATUS UNV_FreePtr(UINT16, UINT16);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* UNV_H */
diff --git a/src/udrv/include/usb.h b/src/udrv/include/usb.h
deleted file mode 100644
index c9ecda0..0000000
--- a/src/udrv/include/usb.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2001-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains serial definitions from WIDCOMM's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-
-#ifndef USB_H
-#define USB_H
-
-/*******************************************************************************
-** Serial APIs
-*******************************************************************************/
-
-/**** port IDs ****/
-#define USB_PORT_1            0
-#define USB_PORT_2            1
-#define USB_PORT_3            2
-#define USB_PORT_4            3
-
-typedef UINT8 tUSB_PORT;
-
-/**** baud rates ****/
-#define USB_BAUD_300          0
-#define USB_BAUD_600          1
-#define USB_BAUD_1200         2
-#define USB_BAUD_2400         3
-#define USB_BAUD_9600         4
-#define USB_BAUD_19200        5
-#define USB_BAUD_57600        6
-#define USB_BAUD_115200       7
-#define USB_BAUD_230400       8
-#define USB_BAUD_460800       9
-#define USB_BAUD_921600       10
-#define USB_BAUD_AUTO         11
-
-/**** Data Format ****/
-
-/* Stop Bits */
-#define USB_STOPBITS_1        1
-#define USB_STOPBITS_1_5      (1<<1)
-#define USB_STOPBITS_2        (1<<2)
-
-/* Parity Bits */
-#define USB_PARITY_NONE       (1<<3)
-#define USB_PARITY_EVEN       (1<<4)
-#define USB_PARITY_ODD        (1<<5)
-
-/* Data Bits */
-#define USB_DATABITS_5        (1<<6)
-#define USB_DATABITS_6        (1<<7)
-#define USB_DATABITS_7        (1<<8)
-#define USB_DATABITS_8        (1<<9)
-
-
-/**** Flow Control ****/
-#define USB_FC_NONE           0
-#define USB_FC_HW             1
-#define USB_FC_SW             2
-
-/**** Data Buffering Mechanism ****/
-#define USB_BUF_BYTE          0
-#define USB_BUF_GKI           1
-
-/**** Signals ****/
-#define USB_SIG_RTSCTS        1
-#define USB_SIG_DSRDTR        (1<<1)
-#define USB_SIG_RI            (1<<2)
-#define USB_SIG_CD            (1<<3)
-#define USB_SIG_DTE_DEVICE    (1<<4)
-
-/**** Errors *****/
-#define USB_ERR_OVERRUN       1
-#define USB_ERR_PARITY        (1<<1)
-#define USB_ERR_FRAMING       (1<<2)
-#define USB_ERR_BREAK         (1<<3)
-
-/**** Serial Operations ****/
-#define USB_OP_FLUSH          0
-#define USB_OP_FLUSH_RX       1
-#define USB_OP_FLUSH_TX       2
-#define USB_OP_BREAK_OFF      3
-#define USB_OP_BREAK_ON       4
-#define USB_OP_BAUD_RD        5
-#define USB_OP_BAUD_WR        6
-#define USB_OP_FMT_RD         7
-#define USB_OP_FMT_WR         8
-#define USB_OP_SIG_RD         9
-#define USB_OP_SIG_WR         10
-#define USB_OP_FC_RD          11
-#define USB_OP_FC_WR          12
-
-typedef UINT8 tUSB_OP;
-
-
-/**** Serial feature types ****/
-#define USB_FEAT_PORT_1       0
-#define USB_FEAT_PORT_2       1
-#define USB_FEAT_PORT_3       2
-#define USB_FEAT_PORT_4       3
-#define USB_FEAT_BAUD_AUTO    4
-#define USB_FEAT_BAUD_300     5
-#define USB_FEAT_BAUD_600     6
-#define USB_FEAT_BAUD_1200    7
-#define USB_FEAT_BAUD_2400    8
-#define USB_FEAT_BAUD_9600    9
-#define USB_FEAT_BAUD_19200   10
-#define USB_FEAT_BAUD_57600   11
-#define USB_FEAT_BAUD_115200  12
-#define USB_FEAT_BAUD_230400  13
-#define USB_FEAT_BAUD_460800  14
-#define USB_FEAT_BAUD_921600  15
-#define USB_FEAT_STOPBITS_1   16
-#define USB_FEAT_STOPBITS_1_5 17
-#define USB_FEAT_STOPBITS_2   18
-#define USB_FEAT_PARITY_NONE  19
-#define USB_FEAT_PARITY_EVEN  20
-#define USB_FEAT_PARITY_ODD   21
-#define USB_FEAT_DATABITS_5   22
-#define USB_FEAT_DATABITS_6   23
-#define USB_FEAT_DATABITS_7   24
-#define USB_FEAT_DATABITS_8   25
-#define USB_FEAT_FC_NONE      26
-#define USB_FEAT_FC_HW        27
-#define USB_FEAT_FC_SW        28
-#define USB_FEAT_BUF_BYTE     29
-#define USB_FEAT_BUF_GKI      30
-#define USB_FEAT_SIG_RTS      31
-#define USB_FEAT_SIG_CTS      32
-#define USB_FEAT_SIG_DSR      33
-#define USB_FEAT_SIG_DTR      34
-#define USB_FEAT_SIG_RI       35
-#define USB_FEAT_SIG_CD       36
-#define USB_FEAT_OP_FLUSH     37
-#define USB_FEAT_OP_FLUSH_RX  38
-#define USB_FEAT_OP_FLUSH_TX  39
-#define USB_FEAT_OP_BREAK     40
-#define USB_FEAT_OP_BAUD_RD   41
-#define USB_FEAT_OP_BAUD_WR   42
-#define USB_FEAT_OP_FMT_RD    43
-#define USB_FEAT_OP_FMT_WR    44
-#define USB_FEAT_OP_SIG_RD    45
-#define USB_FEAT_OP_SIG_WR    46
-#define USB_FEAT_OP_FC_RD     47
-#define USB_FEAT_OP_FC_WR     48
-
-typedef UINT8 tUSB_FEATURE;
-
-
-/**** Event types ****/
-#define USB_RX_READY_EVT      0
-#define USB_TX_DONE_EVT       1
-#define USB_SIG_EVT           2
-#define USB_ERR_EVT           3
-
-typedef UINT8 tUSB_EVT;
-
-
-/* Structure used to configure serial port during open        */
-typedef struct
-{
-    UINT16 fmt;          /* Data format                       */
-    UINT8  baud;         /* Baud rate                         */
-    UINT8  fc;           /* Flow control                      */
-    UINT8  buf;          /* Data buffering mechanism          */
-    UINT8  pool;         /* GKI buffer pool for received data */
-    UINT16 size;         /* Size of GKI buffer pool           */
-    UINT16 offset;       /* Offset in GKI buffer pool         */
-} tUSB_OPEN_CFG;
-
-/* Union used to pass ioctl arguments */
-typedef union
-{
-    UINT16 fmt;
-    UINT8  baud;
-    UINT8  fc;
-    UINT8  sigs;
-} tUSB_IOCTL_DATA;
-
-
-/* Union to pass event data */
-typedef union
-{
-    UINT8 sigs;
-    UINT8 error;
-} tUSB_EVT_DATA;
-
-/* callback for events */
-typedef void (tUSB_CBACK)(tUSB_PORT, tUSB_EVT, tUSB_EVT_DATA *);
-
-
-/*******************************************************************************
-** Function Prototypes
-*******************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-UDRV_API extern void    USB_Init(void *);
-UDRV_API extern void    USB_Open(tUSB_PORT, tUSB_OPEN_CFG *, tUSB_CBACK *);
-UDRV_API extern void    USB_ReadBuf(tUSB_PORT, BT_HDR **);
-UDRV_API extern UINT16  USB_Read(tUSB_PORT, UINT8 *, UINT16);
-UDRV_API extern BOOLEAN USB_WriteBuf(tUSB_PORT, BT_HDR *);
-UDRV_API extern UINT16  USB_Write(tUSB_PORT, UINT8 *, UINT16);
-UDRV_API extern void    USB_Ioctl(tUSB_PORT, tUSB_OP, tUSB_IOCTL_DATA *);
-UDRV_API extern void    USB_Close(tUSB_PORT);
-UDRV_API extern BOOLEAN USB_Feature(tUSB_FEATURE);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* USB_H */
diff --git a/src/udrv/include/utimer.h b/src/udrv/include/utimer.h
deleted file mode 100644
index a663ad7..0000000
--- a/src/udrv/include/utimer.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2001-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains timer definitions from WIDCOMM's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-
-#ifndef UTIMER_H
-#define UTIMER_H
-
-/*******************************************************************************
-** Timer APIs
-*******************************************************************************/
-
-/**** Timer IDs ****/
-
-#define UTIMER_ID_1               0
-#define UTIMER_ID_2               1
-#define UTIMER_ID_3               2
-#define UTIMER_ID_4               3
-
-#define UTIMER_NUM_TIMERS         4     /* Number of timers supported */
-
-typedef UINT8 tUTIMER_ID;
-
-/**** Timer types ****/
-
-#define UTIMER_TYPE_PERIODIC      0
-#define UTIMER_TYPE_ONESHOT       1
-
-typedef UINT8 tUTIMER_TYPE;
-
-
-/**** Timer time ****/
-
-typedef UINT32 tUTIMER_TIME;
-
-
-/**** Timer configuration ****/
-
-typedef struct
-{
-    tUTIMER_TIME period;
-    tUTIMER_TYPE type;
-} tUTIMER_CFG;
-
-
-/**** Timer feature types ****/
-#define UTIMER_FEAT_ID_1          0
-#define UTIMER_FEAT_ID_2          1
-#define UTIMER_FEAT_ID_3          2
-#define UTIMER_FEAT_ID_4          3
-#define UTIMER_FEAT_TYPE_PERIODIC 4
-#define UTIMER_FEAT_TYPE_ONESHOT  5
-
-typedef UINT8 tUTIMER_FEATURE;
-
-
-/**** Callback for timer expiration ****/
-typedef void (tUTIMER_CBACK)(tUTIMER_ID);
-
-
-/*******************************************************************************
-** Function Prototypes
-*******************************************************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-UDRV_API extern void    UTIMER_Init(void *);
-UDRV_API extern void    UTIMER_Start(tUTIMER_ID, tUTIMER_CFG *, tUTIMER_CBACK *);
-UDRV_API extern void    UTIMER_Read(tUTIMER_ID, tUTIMER_TIME *);
-UDRV_API extern void    UTIMER_Stop(tUTIMER_ID);
-UDRV_API extern BOOLEAN UTIMER_Feature(tUTIMER_FEATURE);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* UTIMER_H */
diff --git a/src/udrv/include/uusb.h b/src/udrv/include/uusb.h
deleted file mode 100644
index 7a93920..0000000
--- a/src/udrv/include/uusb.h
+++ /dev/null
@@ -1,290 +0,0 @@
-/******************************************************************************
- *
- *  Copyright (C) 2001-2012 Broadcom Corporation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at:
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- *  This file contains usb definitions from Widcomm's Universal Embedded
- *  Drivers API.
- *
- ******************************************************************************/
-
-#ifndef UUSB_H
-#define UUSB_H
-
-#include "bt_target.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*******************************************************************************
-** Codec APIs
-*******************************************************************************/
-
-
-/**** Status ****/
-#define UUSB_SUCCESS                                  0
-#define UUSB_DRV_INVALID_PARM                         1   // Invalid parameter(s) passed to Driver
-#define UUSB_DRV_INVALID_STATE                        2   // Driver is not in correct state to accept
-#define UUSB_DRV_UNSUPPORTED_SETUP_REQ                3   // Unsupported SETUP request (use with tUSER_EP0_SETUP_CB)
-#define UUSB_DRV_NO_BUFFER_AVAILABLE                  4   // User cannot provide a Buffer (use with CB functions)
-
-typedef UINT8 tUUSB_STATUS;
-
-
-#define  UUSB_EP1   0
-#define  UUSB_EP2   1
-#define  UUSB_EP3   2
-#define  UUSB_EP4   3
-#define  UUSB_EP5   4
-#define  UUSB_EP6   5
-#define  UUSB_EP7   6
-
-typedef UINT8 tUUSB_EP_ID;
-
-typedef enum {
-  UUSB_EP_TYPE_CONTROL = 0,
-  UUSB_EP_TYPE_ISOCHRONOUS,
-  UUSB_EP_TYPE_BULK,
-  UUSB_EP_TYPE_INTERRUPT
-} tUUSB_EP_TYPE;
-
-typedef enum {
-  UUSB_DIR_OUT = 0,
-  UUSB_DIR_IN
-} tUUSB_EP_DIRECTION;
-
-typedef struct tUUSB_SETUP_PKTTag
-{
-/* Definition of "USBbmRequestType" */
-#define UUSB_DATA_PHASE_DIR      0x80    /* Mask to get data phase transfer direction */
-#define UUSB_HOST_TO_DEVICE      0x00    /* Data transfer directions */
-#define UUSB_DEVICE_TO_HOST      0x80    /* Data transfer directions */
-/* Types of requests */
-#define UUSB_REQUEST_TYPE       0x60    /* Mask to get request type */
-#define UUSB_STANDARD_REQUEST   0x00    /* Standard request */
-#define UUSB_CLASS_REQUEST      0x20    /* Class request */
-#define UUSB_VENDOR_REQUEST     0x40    /* Vendor request */
-  UINT8 bmRequestType;
-  UINT8 bRequest;
-  UINT16 wValue;
-  UINT16 wIndex;
-  UINT16 wLength;
-} tUUSB_SETUP_PKT;
-
-typedef union
-{
-#define UUSB_HEAD_SIZE (8)
-    UINT8           HeadBytes[UUSB_HEAD_SIZE];
-    tUUSB_SETUP_PKT Setup;
-} tSETUP_OR_HEAD;
-
-typedef struct
-{
-  UINT8        BufSize;
-  UINT8        NumBytesInBuf;
-  tSETUP_OR_HEAD Buf;
-} tUUSB_RX_HEAD;
-
-typedef enum
-{
-  UUSB_EP_DISABLE,
-  UUSB_EP_ENABLE,
-  UUSB_EP_STALL
-} tUUSB_EP_STATE;
-
-typedef UINT8 tEndPoint;
-
-#if 0
-#define  UUSB_ATTACHED      0
-#define  UUSB_POWERED       1
-#define  UUSB_DEFAULT       2
-#define  UUSB_ADDRESS       3
-#define  UUSB_CONFIGURED    4
-#define  UUSB_SUSPENDED     5
-
-typedef UINT8 tUUSB_BUS_STATE;
-#else
-typedef enum
-{
-  UUSB_ATTACHED,
-  UUSB_POWERED,
-  UUSB_DEFAULT,
-  UUSB_ADDRESS,
-  UUSB_CONFIGURED,
-  UUSB_SUSPENDED
-} tUUSB_BUS_STATE;
-#endif
-
-typedef enum _tUUSB_STANDART_REQ
-{
-    UUSB_GET_STATUS = 0,
-    UUSB_CLEAR_FEATURE,
-    UUSB_RESERVED1,
-    UUSB_SET_FEATURE,
-    UUSB_RESERVED2,
-    UUSB_SET_ADDRESS,
-    UUSB_GET_DESCRIPTOR,
-    UUSB_SET_DESCRIPTOR,
-    UUSB_GET_CONFIGURATION,
-    UUSB_SET_CONFIGURATION,
-    UUSB_GET_INTERFACE,
-    UUSB_SET_INTERFACE,
-    UUSB_TOTAL_sREQUEST,                /* Total number of Standard request */
-    UUSB_SYNCH_FRAME = 12
-} tUUSB_STANDART_REQ;
-
-
-typedef void (*tUUSB_STATE_CB)          (tUUSB_BUS_STATE State);
-typedef void (*tUUSB_PROT_COMPLETE_CB ) (UINT8 *pBuf,UINT16 NumBytesInBuf);
-
-typedef tUUSB_STATUS (*tUUSB_PROT_SETUP_CB ) (UINT8 **ppBuf,UINT16 *pBufSize);
-
-typedef void (*tUUSB_RX_START_CB )      (tUUSB_EP_ID EndPoint,
-                                        UINT8 **ppBuf,
-                                        UINT16 *pBufSize);
-
-typedef void (*tUUSB_RX_COMPLETE_CB )   (tUUSB_EP_ID EndPoint,
-                                        UINT8 *pRxBuf,
-                                        UINT16 NumBytesInBuf);
-
-typedef void (*tUUSB_TX_COMPLETE_CB )   (tUUSB_EP_ID EndPoint,
-                                        UINT8 *pRxBuf);
-/*******************************************************************************
-** Function Prototypes
-*******************************************************************************/
-
-/******************************************************************************
-**
-** Function         UCODEC_Init
-**
-** Description      Startup initialisation function. This function is called
-**                  before any orther function of UUSB it initialize UUSB
-**                  internal structure an the external hw.
-**
-**                  Input :
-**
-**                  Output Parameters :
-**
-** Returns          UUSB_SUCCESS if The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS    UUSB_Init    (tUUSB_PROT_SETUP_CB       userProtSetupCallBack,
-                                            tUUSB_PROT_COMPLETE_CB    userProtCompleteCallBack,
-                                            tUUSB_RX_START_CB         userRxStartCallBack,
-                                            tUUSB_STATE_CB            userStateCallBack,
-                                            tUUSB_TX_COMPLETE_CB      userTxCompleteCallBack,
-                                            tUUSB_RX_COMPLETE_CB      userRxCompleteCallBack);
-
-
-
-
-/******************************************************************************
-**
-** Function         UUSB_Start
-**
-** Description
-**
-**
-**
-**
-**
-** Returns          UUSB_SUCCESS if The action was performed with sucess.
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS    UUSB_Start  (void);
-
-/******************************************************************************
-**
-** Function         UUSB_Stop
-**
-** Description
-**
-**
-**
-**
-** Returns          UUSB_SUCCESS if The action was performed with sucess.
-**                  Error code else.
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS    UUSB_Stop      (void);
-
-/******************************************************************************
-**
-** Function         UUSB_SetEndPointCnf
-**
-** Description
-**
-**
-** Returns
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS    UUSB_SetEndPointCnf ( BOOLEAN         IsIN_EndPoint,
-                                                    tUUSB_EP_ID     EndPoint,
-                                                    UINT8           MaxPacketSize,
-                                                    tUUSB_EP_TYPE   EndPointType,
-                                                    tUUSB_RX_HEAD   *pRxHead,
-                                                    UINT16          RxTimeOut);
-
-
-/******************************************************************************
-**
-** Function         UUSB_SetEndPointState
-**
-** Description
-**
-**
-** Returns
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS UUSB_SetEndPointState (tUUSB_EP_ID    EndPoint,
-                                                    tUUSB_EP_STATE EndPointState);
-
-/******************************************************************************
-**
-** Function         UUSB_WriteEndPoint
-**
-** Description
-**
-**
-** Returns
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS UUSB_WriteEndPoint (tUUSB_EP_ID     EndPoint,
-                                                UINT16     Length,
-                                                UINT8*    pBuf);
-
-/******************************************************************************
-**
-** Function         UUSB_GenerateRemoteWakeUp
-**
-** Description
-**
-**
-** Returns
-**
-******************************************************************************/
-BT_API extern tUUSB_STATUS UUSB_GenerateRemoteWakeUp (void);
-
-#ifdef __cplusplus
-};
-#endif
-
-
-#endif /* UUSB_H */