OSDN Git Service

am f29a2fb..e07ad10 from mirror-m-wireless-internal-release
[android-x86/system-bt.git] / bta / include / bta_api.h
index 22eab79..e6de6bb 100644 (file)
@@ -25,7 +25,6 @@
 #ifndef BTA_API_H
 #define BTA_API_H
 
-#include "data_types.h"
 #include "bt_target.h"
 #include "bt_types.h"
 #include "btm_api.h"
@@ -75,7 +74,7 @@ typedef UINT8 tBTA_STATUS;
 #define BTA_NAP_SERVICE_ID      15          /* PAN Network access point */
 #define BTA_GN_SERVICE_ID       16          /* PAN Group Ad-hoc networks */
 #define BTA_SAP_SERVICE_ID      17          /* SIM Access profile */
-#define BTA_A2DP_SERVICE_ID     18          /* A2DP Sink */
+#define BTA_A2DP_SINK_SERVICE_ID        18  /* A2DP Sink */
 #define BTA_AVRCP_SERVICE_ID    19          /* A/V remote control */
 #define BTA_HID_SERVICE_ID      20          /* HID */
 #define BTA_VDP_SERVICE_ID      21          /* Video distribution */
@@ -86,19 +85,19 @@ typedef UINT8 tBTA_STATUS;
 #define BTA_MN_SERVICE_ID       26          /* Message Notification Service */
 #define BTA_HDP_SERVICE_ID      27          /* Health Device Profile */
 #define BTA_PCE_SERVICE_ID      28          /* PhoneBook Access Client*/
-
+#define BTA_SDP_SERVICE_ID      29          /* SDP Search*/
 #if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
 /* BLE profile service ID */
-#define BTA_BLE_SERVICE_ID      29          /* GATT profile */
+#define BTA_BLE_SERVICE_ID      30          /* GATT profile */
 
 // btla-specific ++
-#define BTA_USER_SERVICE_ID     30          /* User requested UUID */
+#define BTA_USER_SERVICE_ID     31          /* User requested UUID */
 
-#define BTA_MAX_SERVICE_ID      31
+#define BTA_MAX_SERVICE_ID      32
 // btla-specific --
 #else
-#define BTA_USER_SERVICE_ID     29          /* User requested UUID */
-#define BTA_MAX_SERVICE_ID      30
+#define BTA_USER_SERVICE_ID     30          /* User requested UUID */
+#define BTA_MAX_SERVICE_ID      31
 #endif
 /* service IDs (BTM_SEC_SERVICE_FIRST_EMPTY + 1) to (BTM_SEC_MAX_SERVICES - 1)
  * are used by BTA JV */
@@ -170,6 +169,7 @@ typedef struct
 #define BTA_SEC_AUTHORIZE       (BTM_SEC_IN_AUTHORIZE )                              /* Authorization required (only needed for out going connection )*/
 #define BTA_SEC_AUTHENTICATE    (BTM_SEC_IN_AUTHENTICATE | BTM_SEC_OUT_AUTHENTICATE) /* Authentication required. */
 #define BTA_SEC_ENCRYPT         (BTM_SEC_IN_ENCRYPT | BTM_SEC_OUT_ENCRYPT)           /* Encryption required. */
+#define BTA_SEC_MODE4_LEVEL4    (BTM_SEC_MODE4_LEVEL4)                               /* Mode 4 level 4 service, i.e. incoming/outgoing MITM and P-256 encryption */
 
 typedef UINT8 tBTA_SEC;
 
@@ -215,7 +215,7 @@ typedef tBT_TRANSPORT tBTA_TRANSPORT;
 #define BTA_DM_CONN_PAIRED      1
 
 /* Inquiry Modes */
-#define BTA_DM_INQUIRY_NONE            BTM_INQUIRY_NONE            /*No BR inquiry. */
+#define BTA_DM_INQUIRY_NONE     BTM_INQUIRY_NONE            /*No BR inquiry. */
 #define BTA_DM_GENERAL_INQUIRY  BTM_GENERAL_INQUIRY         /* Perform general inquiry. */
 #define BTA_DM_LIMITED_INQUIRY  BTM_LIMITED_INQUIRY         /* Perform limited inquiry. */
 
@@ -498,10 +498,10 @@ typedef tBTM_BLE_TRACK_ADV_ACTION tBTA_BLE_TRACK_ADV_ACTION;
 #define BTA_BLE_RSSI_ALERT_LO        2
 typedef UINT8 tBTA_DM_BLE_RSSI_ALERT_TYPE;
 
-#define BTA_BLE_RSSI_ALERT_NONE                    BTM_BLE_RSSI_ALERT_NONE             /*      (0) */
-#define BTA_BLE_RSSI_ALERT_HI_BIT              BTM_BLE_RSSI_ALERT_HI_BIT               /*      (1) */
-#define BTA_BLE_RSSI_ALERT_RANGE_BIT   BTM_BLE_RSSI_ALERT_RANGE_BIT    /*      (1 << 1) */
-#define BTA_BLE_RSSI_ALERT_LO_BIT              BTM_BLE_RSSI_ALERT_LO_BIT               /*      (1 << 2) */
+#define BTA_BLE_RSSI_ALERT_NONE         BTM_BLE_RSSI_ALERT_NONE         /*    (0) */
+#define BTA_BLE_RSSI_ALERT_HI_BIT       BTM_BLE_RSSI_ALERT_HI_BIT       /*    (1) */
+#define BTA_BLE_RSSI_ALERT_RANGE_BIT    BTM_BLE_RSSI_ALERT_RANGE_BIT    /*    (1 << 1) */
+#define BTA_BLE_RSSI_ALERT_LO_BIT       BTM_BLE_RSSI_ALERT_LO_BIT       /*    (1 << 2) */
 typedef UINT8     tBTA_DM_BLE_RSSI_ALERT_MASK;
 
 
@@ -511,7 +511,7 @@ typedef void (tBTA_DM_BLE_RSSI_CBACK) (BD_ADDR bd_addr, tBTA_DM_BLE_RSSI_ALERT_T
 #define BTA_DM_BLE_MAX_UUID_FILTER     BTM_BLE_MAX_UUID_FILTER    /* 8 */
 #define BTA_DM_BLE_MAX_ADDR_FILTER     BTM_BLE_MAX_ADDR_FILTER    /* 8 */
 #define BTA_DM_BLE_PF_STR_COND_MAX     BTM_BLE_PF_STR_COND_MAX    /* 4    apply to manu data , or local name */
-#define BTA_DM_BLE_PF_STR_LEN_MAX      BTM_BLE_PF_STR_LEN_MAX  /* match for first 20 bytes */
+#define BTA_DM_BLE_PF_STR_LEN_MAX      BTM_BLE_PF_STR_LEN_MAX     /* match for first 20 bytes */
 
 #define BTA_DM_BLE_PF_LOGIC_OR              0
 #define BTA_DM_BLE_PF_LOGIC_AND             1
@@ -601,10 +601,6 @@ typedef INT8 tBTA_DM_RSSI_VALUE;
 typedef UINT8 tBTA_DM_LINK_QUALITY_VALUE;
 
 
-/* signal strength mask */
-#define BTA_SIG_STRENGTH_RSSI_MASK          1
-#define BTA_SIG_STRENGTH_LINK_QUALITY_MASK  2
-
 typedef UINT8 tBTA_SIG_STRENGTH_MASK;
 
 
@@ -631,19 +627,20 @@ typedef UINT8 tBTA_SIG_STRENGTH_MASK;
 #define BTA_DM_BLE_OOB_REQ_EVT          19      /* SMP OOB request event */
 #define BTA_DM_BLE_LOCAL_IR_EVT         20      /* BLE local IR event */
 #define BTA_DM_BLE_LOCAL_ER_EVT         21      /* BLE local ER event */
+#define BTA_DM_BLE_NC_REQ_EVT           22      /* SMP Numeric Comparison request event */
 // btla-specific ++
-#define BTA_DM_BLE_AUTH_CMPL_EVT        22      /* BLE Auth complete */
+#define BTA_DM_SP_RMT_OOB_EXT_EVT       23      /* Simple Pairing Remote OOB Extended Data request. */
+#define BTA_DM_BLE_AUTH_CMPL_EVT        24      /* BLE Auth complete */
 // btla-specific --
-#define BTA_DM_DEV_UNPAIRED_EVT         23
-#define BTA_DM_HW_ERROR_EVT             24      /* BT Chip H/W error */
-#define BTA_DM_LE_FEATURES_READ         25      /* Cotroller specific LE features are read */
-#define BTA_DM_ENER_INFO_READ           26      /* Energy info read */
+#define BTA_DM_DEV_UNPAIRED_EVT         25
+#define BTA_DM_HW_ERROR_EVT             26      /* BT Chip H/W error */
+#define BTA_DM_LE_FEATURES_READ         27      /* Cotroller specific LE features are read */
+#define BTA_DM_ENER_INFO_READ           28      /* Energy info read */
 typedef UINT8 tBTA_DM_SEC_EVT;
 
 /* Structure associated with BTA_DM_ENABLE_EVT */
 typedef struct
 {
-    BD_ADDR         bd_addr;            /* BD address of local device. */
     tBTA_STATUS    status;
 } tBTA_DM_ENABLE;
 
@@ -669,6 +666,7 @@ typedef struct
 #define BTA_DM_AUTH_SMP_INVALID_CMD             (BTA_DM_AUTH_FAIL_BASE + SMP_INVALID_CMD)
 #define BTA_DM_AUTH_SMP_UNKNOWN_ERR             (BTA_DM_AUTH_FAIL_BASE + SMP_PAIR_FAIL_UNKNOWN)
 #define BTA_DM_AUTH_SMP_REPEATED_ATTEMPT        (BTA_DM_AUTH_FAIL_BASE + SMP_REPEATED_ATTEMPTS)
+#define BTA_DM_AUTH_SMP_INVALID_PARAMETERS      (BTA_DM_AUTH_FAIL_BASE + SMP_INVALID_PARAMETERS)
 #define BTA_DM_AUTH_SMP_INTERNAL_ERR            (BTA_DM_AUTH_FAIL_BASE + SMP_PAIR_INTERNAL_ERR)
 #define BTA_DM_AUTH_SMP_UNKNOWN_IO              (BTA_DM_AUTH_FAIL_BASE + SMP_UNKNOWN_IO_CAP)
 #define BTA_DM_AUTH_SMP_INIT_FAIL               (BTA_DM_AUTH_FAIL_BASE + SMP_INIT_FAIL)
@@ -712,6 +710,7 @@ typedef union
     tBTA_LE_PID_KEYS    pid_key;        /* peer device ID key */
     tBTA_LE_LENC_KEYS   lenc_key;       /* local encryption reproduction keys LTK = = d1(ER,DIV,0)*/
     tBTA_LE_LCSRK_KEYS  lcsrk_key;      /* local device CSRK = d1(ER,DIV,1)*/
+    tBTA_LE_PID_KEYS    lid_key;        /* local device ID key for the particular remote */
 }tBTA_LE_KEY_VALUE;
 
 #define BTA_BLE_LOCAL_KEY_TYPE_ID         1
@@ -749,7 +748,7 @@ typedef struct
 {
     BD_ADDR                 bd_addr;        /* peer address */
     tBTM_LE_KEY_TYPE        key_type;
-    tBTM_LE_KEY_VALUE       key_value;
+    tBTM_LE_KEY_VALUE       *p_key_value;
 }tBTA_DM_BLE_KEY;
 
 /* Structure associated with BTA_DM_AUTH_CMPL_EVT */
@@ -762,7 +761,9 @@ typedef struct
     UINT8           key_type;           /* The type of Link Key */
     BOOLEAN         success;            /* TRUE of authentication succeeded, FALSE if failed. */
     UINT8           fail_reason;        /* The HCI reason/error code for when success=FALSE */
-
+#if BLE_INCLUDED == TRUE && SMP_INCLUDED == TRUE
+    tBLE_ADDR_TYPE  addr_type;      /* peer device address type */
+#endif
 } tBTA_DM_AUTH_CMPL;
 
 
@@ -804,16 +805,6 @@ typedef struct
     UINT8           new_role;           /* the new connection role */
 } tBTA_DM_ROLE_CHG;
 
-/* Structure associated with BTA_DM_SIG_STRENGTH_EVT */
-typedef struct
-{
-    BD_ADDR         bd_addr;            /* BD address peer device. */
-    tBTA_SIG_STRENGTH_MASK mask;        /* mask for the values that are valid */
-    tBTA_DM_RSSI_VALUE  rssi_value;
-    tBTA_DM_LINK_QUALITY_VALUE link_quality_value;
-
-} tBTA_DM_SIG_STRENGTH;
-
 /* Structure associated with BTA_DM_BUSY_LEVEL_EVT */
 typedef struct
 {
@@ -822,10 +813,13 @@ typedef struct
     UINT8           level_flags; /* indicates individual flags */
 } tBTA_DM_BUSY_LEVEL;
 
-#define BTA_IO_CAP_OUT      BTM_IO_CAP_OUT      /* DisplayOnly */
-#define BTA_IO_CAP_IO       BTM_IO_CAP_IO       /* DisplayYesNo */
-#define BTA_IO_CAP_IN       BTM_IO_CAP_IN       /* KeyboardOnly */
-#define BTA_IO_CAP_NONE     BTM_IO_CAP_NONE     /* NoInputNoOutput */
+#define BTA_IO_CAP_OUT      BTM_IO_CAP_OUT      /* 0 DisplayOnly */
+#define BTA_IO_CAP_IO       BTM_IO_CAP_IO       /* 1 DisplayYesNo */
+#define BTA_IO_CAP_IN       BTM_IO_CAP_IN       /* 2 KeyboardOnly */
+#define BTA_IO_CAP_NONE     BTM_IO_CAP_NONE     /* 3 NoInputNoOutput */
+#if BLE_INCLUDED == TRUE && SMP_INCLUDED == TRUE
+#define BTA_IO_CAP_KBDISP   BTM_IO_CAP_KBDISP   /* 4 Keyboard display */
+#endif
 typedef tBTM_IO_CAP     tBTA_IO_CAP;
 
 #define BTA_AUTH_SP_NO    BTM_AUTH_SP_NO      /* 0 MITM Protection Not Required - Single Profile/non-bonding
@@ -849,6 +843,11 @@ typedef tBTM_AUTH_REQ   tBTA_AUTH_REQ;
 #define BTA_LE_AUTH_NO_BOND    BTM_LE_AUTH_REQ_NO_BOND  /* 0*/
 #define BTA_LE_AUTH_BOND       BTM_LE_AUTH_REQ_BOND     /* 1 << 0 */
 #define BTA_LE_AUTH_REQ_MITM   BTM_LE_AUTH_REQ_MITM    /* 1 << 2 */
+
+#define BTA_LE_AUTH_REQ_SC_ONLY         BTM_LE_AUTH_REQ_SC_ONLY         /* 1 << 3 */
+#define BTA_LE_AUTH_REQ_SC_BOND         BTM_LE_AUTH_REQ_SC_BOND      /* 1001 */
+#define BTA_LE_AUTH_REQ_SC_MITM         BTM_LE_AUTH_REQ_SC_MITM      /* 1100 */
+#define BTA_LE_AUTH_REQ_SC_MITM_BOND    BTM_LE_AUTH_REQ_SC_MITM_BOND /* 1101 */
 typedef tBTM_LE_AUTH_REQ       tBTA_LE_AUTH_REQ;       /* combination of the above bit pattern */
 
 #define BTA_OOB_NONE        BTM_OOB_NONE
@@ -924,7 +923,6 @@ typedef union
     tBTA_DM_AUTHORIZE   authorize;      /* Authorization request. */
     tBTA_DM_LINK_UP     link_up;       /* ACL connection down event */
     tBTA_DM_LINK_DOWN   link_down;       /* ACL connection down event */
-    tBTA_DM_SIG_STRENGTH sig_strength;  /* rssi and link quality value */
     tBTA_DM_BUSY_LEVEL  busy_level;     /* System busy level */
     tBTA_DM_SP_CFM_REQ  cfm_req;        /* user confirm request */
     tBTA_DM_SP_KEY_NOTIF key_notif;     /* passkey notification */
@@ -960,20 +958,10 @@ typedef UINT32 tBTA_DM_BLE_REF_VALUE;
 #define BTA_DM_BLE_PF_CONFIG_EVT       BTM_BLE_PF_CONFIG
 typedef UINT8 tBTA_DM_BLE_PF_EVT;
 
-typedef UINT8   tBTA_DM_BLE_PF_COND_TYPE;
-
-#define BTA_DM_BLE_PF_LOGIC_OR              0
-#define BTA_DM_BLE_PF_LOGIC_AND             1
-typedef UINT8 tBTA_DM_BLE_PF_LOGIC_TYPE;
-
 #define BTA_DM_BLE_PF_ENABLE       1
 #define BTA_DM_BLE_PF_CONFIG       2
 typedef UINT8 tBTA_DM_BLE_PF_ACTION;
 
-typedef UINT8 tBTA_DM_BLE_PF_FILT_INDEX;
-
-typedef UINT8 tBTA_DM_BLE_PF_AVBL_SPACE;
-
 /* Config callback */
 typedef void (tBTA_DM_BLE_PF_CFG_CBACK) (tBTA_DM_BLE_PF_ACTION action,
                                          tBTA_DM_BLE_PF_COND_TYPE cfg_cond,
@@ -1009,6 +997,7 @@ typedef UINT8  tBTA_DM_BLE_PF_RSSI_THRESHOLD;
 typedef UINT8  tBTA_DM_BLE_PF_DELIVERY_MODE;
 typedef UINT16 tBTA_DM_BLE_PF_TIMEOUT;
 typedef UINT8  tBTA_DM_BLE_PF_TIMEOUT_CNT;
+typedef UINT16 tBTA_DM_BLE_PF_ADV_TRACK_ENTRIES;
 
 typedef struct
 {
@@ -1021,11 +1010,9 @@ typedef struct
     tBTA_DM_BLE_PF_TIMEOUT found_timeout;
     tBTA_DM_BLE_PF_TIMEOUT lost_timeout;
     tBTA_DM_BLE_PF_TIMEOUT_CNT found_timeout_cnt;
+    tBTA_DM_BLE_PF_ADV_TRACK_ENTRIES num_of_tracking_entries;
 } tBTA_DM_BLE_PF_FILT_PARAMS;
 
-/* Vendor Specific Command Callback */
-typedef tBTM_VSC_CMPL_CB        tBTA_VENDOR_CMPL_CBACK;
-
 /* Search callback events */
 #define BTA_DM_INQ_RES_EVT              0       /* Inquiry result for a peer device. */
 #define BTA_DM_INQ_CMPL_EVT             1       /* Inquiry complete. */
@@ -1137,6 +1124,12 @@ typedef tBTM_BLE_ENERGY_USED        tBTA_DM_BLE_ENERGY_USED;
 
 typedef UINT8 tBTA_DM_CONTRL_STATE;
 
+typedef UINT8 tBTA_DM_BLE_ADV_STATE;
+typedef UINT8 tBTA_DM_BLE_ADV_INFO_PRESENT;
+typedef UINT8 tBTA_DM_BLE_RSSI_VALUE;
+typedef UINT16 tBTA_DM_BLE_ADV_INFO_TIMESTAMP;
+
+typedef tBTM_BLE_TRACK_ADV_DATA tBTA_DM_BLE_TRACK_ADV_DATA;
 
 typedef void (tBTA_BLE_SCAN_THRESHOLD_CBACK)(tBTA_DM_BLE_REF_VALUE ref_value);
 
@@ -1152,8 +1145,7 @@ typedef void (tBTA_BLE_TRACK_ADV_CMPL_CBACK)(int action, tBTA_STATUS status,
                                              tBTA_DM_BLE_PF_AVBL_SPACE avbl_space,
                                              tBTA_DM_BLE_REF_VALUE ref_value);
 
-typedef void (tBTA_BLE_TRACK_ADV_CBACK)(int filt_index, tBLE_ADDR_TYPE addr_type, BD_ADDR bda,
-                                        int adv_state, tBTA_DM_BLE_REF_VALUE ref_value);
+typedef void (tBTA_BLE_TRACK_ADV_CBACK)(tBTA_DM_BLE_TRACK_ADV_DATA *p_adv_data);
 
 typedef void (tBTA_BLE_ENERGY_INFO_CBACK)(tBTA_DM_BLE_TX_TIME_MS tx_time,
                                           tBTA_DM_BLE_RX_TIME_MS rx_time,
@@ -1376,7 +1368,7 @@ extern "C"
 **                  BTA_FAIL if internal failure.
 **
 *******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_EnableBluetooth(tBTA_DM_SEC_CBACK *p_cback);
+extern tBTA_STATUS BTA_EnableBluetooth(tBTA_DM_SEC_CBACK *p_cback);
 
 /*******************************************************************************
 **
@@ -1390,7 +1382,7 @@ BTA_API extern tBTA_STATUS BTA_EnableBluetooth(tBTA_DM_SEC_CBACK *p_cback);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DisableBluetooth(void);
+extern tBTA_STATUS BTA_DisableBluetooth(void);
 
 /*******************************************************************************
 **
@@ -1402,7 +1394,7 @@ BTA_API extern tBTA_STATUS BTA_DisableBluetooth(void);
 ** Returns          tBTA_STATUS
 **
 *******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_EnableTestMode(void);
+extern tBTA_STATUS BTA_EnableTestMode(void);
 
 /*******************************************************************************
 **
@@ -1414,22 +1406,7 @@ BTA_API extern tBTA_STATUS BTA_EnableTestMode(void);
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DisableTestMode(void);
-
-/*******************************************************************************
-**
-** Function         BTA_DmIsDeviceUp
-**
-** Description      This function tests whether the Bluetooth module is up
-**                  and ready.  This is a direct execution function that
-**                  may lock task scheduling on some platforms.
-**
-**
-** Returns          TRUE if the module is ready.
-**                  FALSE if the module is not ready.
-**
-*******************************************************************************/
-BTA_API extern BOOLEAN BTA_DmIsDeviceUp(void);
+extern void BTA_DisableTestMode(void);
 
 /*******************************************************************************
 **
@@ -1441,7 +1418,7 @@ BTA_API extern BOOLEAN BTA_DmIsDeviceUp(void);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetDeviceName(char *p_name);
+extern void BTA_DmSetDeviceName(char *p_name);
 
 /*******************************************************************************
 **
@@ -1456,51 +1433,7 @@ BTA_API extern void BTA_DmSetDeviceName(char *p_name);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetVisibility(tBTA_DM_DISC disc_mode, tBTA_DM_CONN conn_mode, UINT8 pairable_mode, UINT8 conn_filter);
-
-/*******************************************************************************
-**
-** Function         BTA_DmSetScanParam
-**
-** Description      This function sets the parameters for page scan and
-**                  inquiry scan.
-**
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmSetScanParam (UINT16 page_scan_interval, UINT16 page_scan_window,
-                                  UINT16 inquiry_scan_interval, UINT16 inquiry_scan_window);
-
-/*******************************************************************************
-**
-** Function         BTA_DmSetAfhChannels
-**
-** Description      This function sets the AFH first and
-**                  last disable channel, so channels within
-**                  that range are disabled.
-**                  In order to use this API, BTM_BYPASS_AMP_AUTO_AFH must be set
-**                  to be TRUE
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmSetAfhChannels(UINT8 first, UINT8 last);
-
-
-/*******************************************************************************
-**
-** Function         BTA_DmVendorSpecificCommand
-**
-** Description      This function sends the vendor specific command
-**                  to the controller
-**
-**
-** Returns          tBTA_STATUS
-**
-*******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DmVendorSpecificCommand (UINT16 opcode, UINT8 param_len,UINT8 *p_param_buf, tBTA_VENDOR_CMPL_CBACK *p_cback);
-
+extern void BTA_DmSetVisibility(tBTA_DM_DISC disc_mode, tBTA_DM_CONN conn_mode, UINT8 pairable_mode, UINT8 conn_filter);
 
 /*******************************************************************************
 **
@@ -1516,8 +1449,8 @@ BTA_API extern tBTA_STATUS BTA_DmVendorSpecificCommand (UINT16 opcode, UINT8 par
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSearch(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK services,
-                                 tBTA_DM_SEARCH_CBACK *p_cback);
+extern void BTA_DmSearch(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK services,
+                         tBTA_DM_SEARCH_CBACK *p_cback);
 
 /*******************************************************************************
 **
@@ -1530,7 +1463,7 @@ BTA_API extern void BTA_DmSearch(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK servic
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSearchCancel(void);
+extern void BTA_DmSearchCancel(void);
 
 /*******************************************************************************
 **
@@ -1543,8 +1476,8 @@ BTA_API extern void BTA_DmSearchCancel(void);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmDiscover(BD_ADDR bd_addr, tBTA_SERVICE_MASK services,
-                                   tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
+extern void BTA_DmDiscover(BD_ADDR bd_addr, tBTA_SERVICE_MASK services,
+                           tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
 
 // btla-specific ++
 /*******************************************************************************
@@ -1558,8 +1491,8 @@ BTA_API extern void BTA_DmDiscover(BD_ADDR bd_addr, tBTA_SERVICE_MASK services,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmDiscoverUUID(BD_ADDR bd_addr, tSDP_UUID *uuid,
-                    tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
+extern void BTA_DmDiscoverUUID(BD_ADDR bd_addr, tSDP_UUID *uuid,
+                               tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
 
 /*******************************************************************************
 **
@@ -1576,19 +1509,6 @@ tBTA_STATUS BTA_DmGetCachedRemoteName(BD_ADDR remote_device, UINT8 **pp_cached_n
 
 /*******************************************************************************
 **
-** Function         BTA_DmIsMaster
-**
-** Description      This function checks if the local device is the master of
-**                  the link to the given device
-**
-** Returns          TRUE if master.
-**                  FALSE if not.
-**
-*******************************************************************************/
-BTA_API extern BOOLEAN BTA_DmIsMaster(BD_ADDR bd_addr);
-
-/*******************************************************************************
-**
 ** Function         BTA_DmBond
 **
 ** Description      This function initiates a bonding procedure with a peer
@@ -1599,7 +1519,7 @@ BTA_API extern BOOLEAN BTA_DmIsMaster(BD_ADDR bd_addr);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBond(BD_ADDR bd_addr);
+extern void BTA_DmBond(BD_ADDR bd_addr);
 
 /*******************************************************************************
 **
@@ -1613,7 +1533,7 @@ BTA_API extern void BTA_DmBond(BD_ADDR bd_addr);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBondByTransport(BD_ADDR bd_addr, tBTA_TRANSPORT transport);
+extern void BTA_DmBondByTransport(BD_ADDR bd_addr, tBTA_TRANSPORT transport);
 
 
 /*******************************************************************************
@@ -1627,7 +1547,7 @@ BTA_API extern void BTA_DmBondByTransport(BD_ADDR bd_addr, tBTA_TRANSPORT transp
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBondCancel(BD_ADDR bd_addr);
+extern void BTA_DmBondCancel(BD_ADDR bd_addr);
 
 /*******************************************************************************
 **
@@ -1642,23 +1562,8 @@ BTA_API extern void BTA_DmBondCancel(BD_ADDR bd_addr);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmPinReply(BD_ADDR bd_addr, BOOLEAN accept, UINT8 pin_len,
-                                   UINT8 *p_pin);
-
-/*******************************************************************************
-**
-** Function         BTA_DmLinkPolicy
-**
-** Description      This function sets/clears the link policy mask to the given
-**                  bd_addr.
-**                  If clearing the sniff or park mode mask, the link is put
-**                  in active mode.
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmLinkPolicy(BD_ADDR bd_addr, tBTA_DM_LP_MASK policy_mask,
-                                     BOOLEAN set);
+extern void BTA_DmPinReply(BD_ADDR bd_addr, BOOLEAN accept, UINT8 pin_len,
+                           UINT8 *p_pin);
 
 #if (BTM_OOB_INCLUDED == TRUE)
 /*******************************************************************************
@@ -1671,7 +1576,7 @@ BTA_API extern void BTA_DmLinkPolicy(BD_ADDR bd_addr, tBTA_DM_LP_MASK policy_mas
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmLocalOob(void);
+extern void BTA_DmLocalOob(void);
 #endif /* BTM_OOB_INCLUDED */
 
 /*******************************************************************************
@@ -1684,19 +1589,7 @@ BTA_API extern void BTA_DmLocalOob(void);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmConfirm(BD_ADDR bd_addr, BOOLEAN accept);
-
-/*******************************************************************************
-**
-** Function         BTA_DmPasskeyCancel
-**
-** Description      This function is called to cancel the simple pairing process
-**                  reported by BTA_DM_SP_KEY_NOTIF_EVT
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmPasskeyCancel(BD_ADDR bd_addr);
+extern void BTA_DmConfirm(BD_ADDR bd_addr, BOOLEAN accept);
 
 /*******************************************************************************
 **
@@ -1711,30 +1604,10 @@ BTA_API extern void BTA_DmPasskeyCancel(BD_ADDR bd_addr);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmAddDevice(BD_ADDR bd_addr, DEV_CLASS dev_class,
-                                    LINK_KEY link_key, tBTA_SERVICE_MASK trusted_mask,
-                                    BOOLEAN is_trusted, UINT8 key_type,
-                                    tBTA_IO_CAP io_cap);
-
-/*******************************************************************************
-**
-** Function         BTA_DmAddDevWithName
-**
-** Description      This function is newer version of  BTA_DmAddDevice()
-**                  which added bd_name and features as input parameters.
-**
-**
-** Returns          void
-**
-** Note:            features points to the remote device features array.
-**                  The array size is
-**                  BTA_FEATURE_BYTES_PER_PAGE * (BTA_EXT_FEATURES_PAGE_MAX + 1)
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmAddDevWithName (BD_ADDR bd_addr, DEV_CLASS dev_class,
-                                      BD_NAME bd_name, UINT8 *features,
-                                      LINK_KEY link_key, tBTA_SERVICE_MASK trusted_mask,
-                                      BOOLEAN is_trusted, UINT8 key_type, tBTA_IO_CAP io_cap);
+extern void BTA_DmAddDevice(BD_ADDR bd_addr, DEV_CLASS dev_class,
+                            LINK_KEY link_key, tBTA_SERVICE_MASK trusted_mask,
+                            BOOLEAN is_trusted, UINT8 key_type,
+                            tBTA_IO_CAP io_cap);
 
 /*******************************************************************************
 **
@@ -1749,108 +1622,7 @@ BTA_API extern void BTA_DmAddDevWithName (BD_ADDR bd_addr, DEV_CLASS dev_class,
 **                  BTA_FAIL if operation failed.
 **
 *******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DmRemoveDevice(BD_ADDR bd_addr);
-
-/*******************************************************************************
-**
-** Function         BTA_DmAuthorizeReply
-**
-** Description      This function provides an authorization reply when
-**                  authorization is requested by BTA.  The application calls
-**                  this function after the security callback is called with
-**                  a BTA_DM_AUTHORIZE_EVT.
-**
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmAuthorizeReply(BD_ADDR bd_addr, tBTA_SERVICE_ID service,
-                                         tBTA_AUTH_RESP response);
-
-/*******************************************************************************
-**
-** Function         BTA_DmSignalStrength
-**
-** Description      This function initiates RSSI and channnel quality
-**                  measurments. BTA_DM_SIG_STRENGTH_EVT is sent to
-**                  application with the values of RSSI and channel
-**                  quality
-**
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmSignalStrength(tBTA_SIG_STRENGTH_MASK mask, UINT16 period, BOOLEAN start);
-
-/*******************************************************************************
-**
-** Function         BTA_DmWriteInqTxPower
-**
-** Description      This command is used to write the inquiry transmit power level
-**                  used to transmit the inquiry (ID) data packets.
-**
-** Parameters       tx_power - tx inquiry power to use, valid value is -70 ~ 20
-
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmWriteInqTxPower(INT8 tx_power);
-
-/*******************************************************************************
-**
-** Function         BTA_DmEirAddUUID
-**
-** Description      This function is called to add UUID into EIR.
-**
-** Parameters       tBT_UUID - UUID
-**
-** Returns          None
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmEirAddUUID (tBT_UUID *p_uuid);
-
-/*******************************************************************************
-**
-** Function         BTA_DmEirRemoveUUID
-**
-** Description      This function is called to remove UUID from EIR.
-**
-** Parameters       tBT_UUID - UUID
-**
-** Returns          None
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmEirRemoveUUID (tBT_UUID *p_uuid);
-
-/*******************************************************************************
-**
-** Function         BTA_DmSetEIRConfig
-**
-** Description      This function is called to override the BTA default EIR parameters.
-**                  This funciton is only valid in a system where BTU & App task
-**                  are in the same memory space.
-**
-** Parameters       Pointer to User defined EIR config
-**
-** Returns          None
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmSetEIRConfig (tBTA_DM_EIR_CONF *p_eir_cfg);
-
-/*******************************************************************************
-**
-** Function         BTA_CheckEirData
-**
-** Description      This function is called to get EIR data from significant part.
-**
-** Parameters       p_eir - pointer of EIR significant part
-**                  type   - finding EIR data type
-**                  p_length - return the length of EIR data
-**
-** Returns          pointer of EIR data
-**
-*******************************************************************************/
-BTA_API extern UINT8 *BTA_CheckEirData( UINT8 *p_eir, UINT8 tag, UINT8 *p_length );
+extern tBTA_STATUS BTA_DmRemoveDevice(BD_ADDR bd_addr);
 
 /*******************************************************************************
 **
@@ -1864,19 +1636,7 @@ BTA_API extern UINT8 *BTA_CheckEirData( UINT8 *p_eir, UINT8 tag, UINT8 *p_length
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_GetEirService( UINT8 *p_eir, tBTA_SERVICE_MASK *p_services );
-
-/*******************************************************************************
-**
-** Function         BTA_DmUseSsr
-**
-** Description      This function is called to check if the connected peer device
-**                  supports SSR or not.
-**
-** Returns          TRUE, if SSR is supported
-**
-*******************************************************************************/
-BTA_API extern BOOLEAN BTA_DmUseSsr( BD_ADDR bd_addr );
+extern void BTA_GetEirService( UINT8 *p_eir, tBTA_SERVICE_MASK *p_services );
 
 /*******************************************************************************
 **
@@ -1887,7 +1647,7 @@ BTA_API extern BOOLEAN BTA_DmUseSsr( BD_ADDR bd_addr );
 ** Returns          0 if the device is NOT connected.
 **
 *******************************************************************************/
-BTA_API extern UINT16 BTA_DmGetConnectionState( BD_ADDR bd_addr );
+extern UINT16 BTA_DmGetConnectionState( BD_ADDR bd_addr );
 
 
 /*******************************************************************************
@@ -1899,47 +1659,8 @@ BTA_API extern UINT16 BTA_DmGetConnectionState( BD_ADDR bd_addr );
 ** Returns          BTA_SUCCESS if record set sucessfully, otherwise error code.
 **
 *******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DmSetLocalDiRecord( tBTA_DI_RECORD *p_device_info,
-                                 UINT32 *p_handle );
-
-/*******************************************************************************
-**
-** Function         BTA_DmGetLocalDiRecord
-**
-** Description      Get a specified DI record to the local SDP database. If no
-**                  record handle is provided, the primary DI record will be
-**                  returned.
-**
-** Returns          BTA_SUCCESS if record set sucessfully, otherwise error code.
-**
-*******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DmGetLocalDiRecord( tBTA_DI_GET_RECORD *p_device_info,
-                                 UINT32 *p_handle );
-
-/*******************************************************************************
-**
-** Function         BTA_DmDiDiscover
-**
-** Description      This function queries a remote device for DI information.
-**
-** Returns          None.
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmDiDiscover( BD_ADDR remote_device, tBTA_DISCOVERY_DB *p_db,
-                       UINT32 len, tBTA_DM_SEARCH_CBACK *p_cback );
-
-/*******************************************************************************
-**
-** Function         BTA_DmGetDiRecord
-**
-** Description      This function retrieves a remote device's DI record from
-**                  the specified database.
-**
-** Returns          None.
-**
-*******************************************************************************/
-BTA_API extern tBTA_STATUS BTA_DmGetDiRecord( UINT8 get_record_index, tBTA_DI_GET_RECORD *p_device_info,
-                        tBTA_DISCOVERY_DB *p_db );
+extern tBTA_STATUS BTA_DmSetLocalDiRecord( tBTA_DI_RECORD *p_device_info,
+                                           UINT32 *p_handle );
 
 /*******************************************************************************
 **
@@ -1957,18 +1678,7 @@ BTA_API extern tBTA_STATUS BTA_DmGetDiRecord( UINT8 get_record_index, tBTA_DI_GE
 ** Returns          void.
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmCloseACL(BD_ADDR bd_addr, BOOLEAN remove_dev, tBTA_TRANSPORT transport);
-
-/*******************************************************************************
-**
-** Function         BTA_SysFeatures
-**
-** Description      This function is called to set system features.
-**
-** Returns          void
-**
-*******************************************************************************/
-BTA_API extern void BTA_SysFeatures (UINT16 sys_features);
+extern void BTA_DmCloseACL(BD_ADDR bd_addr, BOOLEAN remove_dev, tBTA_TRANSPORT transport);
 
 /*******************************************************************************
 **
@@ -1981,7 +1691,7 @@ BTA_API extern void BTA_SysFeatures (UINT16 sys_features);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void bta_dmexecutecallback (tBTA_DM_EXEC_CBACK* p_callback, void * p_param);
+extern void bta_dmexecutecallback (tBTA_DM_EXEC_CBACK* p_callback, void * p_param);
 
 #if (BTM_SCO_HCI_INCLUDED == TRUE)
 /*******************************************************************************
@@ -1998,7 +1708,7 @@ BTA_API extern void bta_dmexecutecallback (tBTA_DM_EXEC_CBACK* p_callback, void
 ** Returns          none
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmPcmInitSamples (UINT32 src_sps, UINT32 bits, UINT32 n_channels);
+extern void BTA_DmPcmInitSamples (UINT32 src_sps, UINT32 bits, UINT32 n_channels);
 
 /**************************************************************************************
 ** Function         BTA_DmPcmResample
@@ -2016,7 +1726,7 @@ BTA_API extern void BTA_DmPcmInitSamples (UINT32 src_sps, UINT32 bits, UINT32 n_
 ** Returns          INT32: number of samples converted.
 **
 **************************************************************************************/
-BTA_API extern INT32 BTA_DmPcmResample (void *p_src, UINT32 in_bytes, void *p_dst);
+extern INT32 BTA_DmPcmResample (void *p_src, UINT32 in_bytes, void *p_dst);
 #endif
 
 #if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
@@ -2033,7 +1743,7 @@ BTA_API extern INT32 BTA_DmPcmResample (void *p_src, UINT32 in_bytes, void *p_ds
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleSecurityGrant(BD_ADDR bd_addr, tBTA_DM_BLE_SEC_GRANT res);
+extern void BTA_DmBleSecurityGrant(BD_ADDR bd_addr, tBTA_DM_BLE_SEC_GRANT res);
 
 
 
@@ -2051,7 +1761,7 @@ BTA_API extern void BTA_DmBleSecurityGrant(BD_ADDR bd_addr, tBTA_DM_BLE_SEC_GRAN
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleSetBgConnType(tBTA_DM_BLE_CONN_TYPE bg_conn_type, tBTA_DM_BLE_SEL_CBACK *p_select_cback);
+extern void BTA_DmBleSetBgConnType(tBTA_DM_BLE_CONN_TYPE bg_conn_type, tBTA_DM_BLE_SEL_CBACK *p_select_cback);
 
 /*******************************************************************************
 **
@@ -2067,7 +1777,21 @@ BTA_API extern void BTA_DmBleSetBgConnType(tBTA_DM_BLE_CONN_TYPE bg_conn_type, t
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBlePasskeyReply(BD_ADDR bd_addr, BOOLEAN accept, UINT32 passkey);
+extern void BTA_DmBlePasskeyReply(BD_ADDR bd_addr, BOOLEAN accept, UINT32 passkey);
+
+/*******************************************************************************
+**
+** Function         BTA_DmBleConfirmReply
+**
+** Description      Send BLE SMP SC user confirmation reply.
+**
+** Parameters:      bd_addr          - BD address of the peer
+**                  accept           - numbers to compare are the same or different.
+**
+** Returns          void
+**
+*******************************************************************************/
+extern void BTA_DmBleConfirmReply(BD_ADDR bd_addr, BOOLEAN accept);
 
 /*******************************************************************************
 **
@@ -2084,8 +1808,8 @@ BTA_API extern void BTA_DmBlePasskeyReply(BD_ADDR bd_addr, BOOLEAN accept, UINT3
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmAddBleDevice(BD_ADDR bd_addr, tBLE_ADDR_TYPE addr_type,
-                                       tBT_DEVICE_TYPE dev_type);
+extern void BTA_DmAddBleDevice(BD_ADDR bd_addr, tBLE_ADDR_TYPE addr_type,
+                               tBT_DEVICE_TYPE dev_type);
 
 
 /*******************************************************************************
@@ -2103,9 +1827,9 @@ BTA_API extern void BTA_DmAddBleDevice(BD_ADDR bd_addr, tBLE_ADDR_TYPE addr_type
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmAddBleKey (BD_ADDR bd_addr,
-                                     tBTA_LE_KEY_VALUE *p_le_key,
-                                     tBTA_LE_KEY_TYPE key_type);
+extern void BTA_DmAddBleKey (BD_ADDR bd_addr,
+                             tBTA_LE_KEY_VALUE *p_le_key,
+                             tBTA_LE_KEY_TYPE key_type);
 
 /*******************************************************************************
 **
@@ -2124,9 +1848,9 @@ BTA_API extern void BTA_DmAddBleKey (BD_ADDR bd_addr,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetBlePrefConnParams(BD_ADDR bd_addr,
-                               UINT16 min_conn_int, UINT16 max_conn_int,
-                               UINT16 slave_latency, UINT16 supervision_tout );
+extern void BTA_DmSetBlePrefConnParams(BD_ADDR bd_addr,
+                                       UINT16 min_conn_int, UINT16 max_conn_int,
+                                       UINT16 slave_latency, UINT16 supervision_tout );
 
 /*******************************************************************************
 **
@@ -2135,15 +1859,14 @@ BTA_API extern void BTA_DmSetBlePrefConnParams(BD_ADDR bd_addr,
 ** Description      This function is called to set scan parameters used in
 **                  BLE connection request
 **
-** Parameters:      bd_addr          - BD address of the peripheral
-**                  scan_interval    - scan interval
+** Parameters:      scan_interval    - scan interval
 **                  scan_window      - scan window
 **
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetBleConnScanParams(UINT16 scan_interval,
-                                               UINT16 scan_window );
+extern void BTA_DmSetBleConnScanParams(UINT16 scan_interval,
+                                       UINT16 scan_window );
 
 /*******************************************************************************
 **
@@ -2160,8 +1883,8 @@ BTA_API extern void BTA_DmSetBleConnScanParams(UINT16 scan_interval,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetBleAdvParams (UINT16 adv_int_min, UINT16 adv_int_max,
-                                           tBLE_BD_ADDR *p_dir_bda);
+extern void BTA_DmSetBleAdvParams (UINT16 adv_int_min, UINT16 adv_int_max,
+                                   tBLE_BD_ADDR *p_dir_bda);
 /*******************************************************************************
 **
 ** Function         BTA_DmSearchExt
@@ -2181,8 +1904,8 @@ BTA_API extern void BTA_DmSetBleAdvParams (UINT16 adv_int_min, UINT16 adv_int_ma
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSearchExt(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK_EXT *p_services,
-                                    tBTA_DM_SEARCH_CBACK *p_cback);
+extern void BTA_DmSearchExt(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK_EXT *p_services,
+                            tBTA_DM_SEARCH_CBACK *p_cback);
 
 /*******************************************************************************
 **
@@ -2199,8 +1922,8 @@ BTA_API extern void BTA_DmSearchExt(tBTA_DM_INQ *p_dm_inq, tBTA_SERVICE_MASK_EXT
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmDiscoverExt(BD_ADDR bd_addr, tBTA_SERVICE_MASK_EXT *p_services,
-                                    tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
+extern void BTA_DmDiscoverExt(BD_ADDR bd_addr, tBTA_SERVICE_MASK_EXT *p_services,
+                              tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search);
 
 /*******************************************************************************
 **
@@ -2218,9 +1941,9 @@ BTA_API extern void BTA_DmDiscoverExt(BD_ADDR bd_addr, tBTA_SERVICE_MASK_EXT *p_
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmDiscoverByTransport(BD_ADDR bd_addr, tBTA_SERVICE_MASK_EXT *p_services,
-                                              tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search,
-                                              tBTA_TRANSPORT transport);
+extern void BTA_DmDiscoverByTransport(BD_ADDR bd_addr, tBTA_SERVICE_MASK_EXT *p_services,
+                                      tBTA_DM_SEARCH_CBACK *p_cback, BOOLEAN sdp_search,
+                                      tBTA_TRANSPORT transport);
 
 /*******************************************************************************
 **
@@ -2245,9 +1968,9 @@ BTA_API extern void BTA_DmDiscoverByTransport(BD_ADDR bd_addr, tBTA_SERVICE_MASK
 **
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmSetEncryption(BD_ADDR bd_addr, tBTA_TRANSPORT transport,
-                                        tBTA_DM_ENCRYPT_CBACK *p_callback,
-                                         tBTA_DM_BLE_SEC_ACT sec_act);
+extern void BTA_DmSetEncryption(BD_ADDR bd_addr, tBTA_TRANSPORT transport,
+                                tBTA_DM_ENCRYPT_CBACK *p_callback,
+                                tBTA_DM_BLE_SEC_ACT sec_act);
 
 
 /*******************************************************************************
@@ -2264,24 +1987,12 @@ BTA_API extern void BTA_DmSetEncryption(BD_ADDR bd_addr, tBTA_TRANSPORT transpor
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleObserve(BOOLEAN start, UINT8 duration,
-                                           tBTA_DM_SEARCH_CBACK *p_results_cb);
+extern void BTA_DmBleObserve(BOOLEAN start, UINT8 duration,
+                             tBTA_DM_SEARCH_CBACK *p_results_cb);
 
 
 #endif
 
-// btla-specific ++
-/*******************************************************************************
-**
-** Function         BTA_DmSetAfhChannelAssessment
-**
-** Description      This function is called to set the channel assessment mode on or off
-**
-** Returns          status
-**
-*******************************************************************************/
-BTA_API extern void BTA_DmSetAfhChannelAssessment (BOOLEAN enable_or_disable);
-
 #if BLE_INCLUDED == TRUE
 // btla-specific --
 /*******************************************************************************
@@ -2295,7 +2006,7 @@ BTA_API extern void BTA_DmSetAfhChannelAssessment (BOOLEAN enable_or_disable);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleConfigLocalPrivacy(BOOLEAN privacy_enable);
+extern void BTA_DmBleConfigLocalPrivacy(BOOLEAN privacy_enable);
 
 /*******************************************************************************
 **
@@ -2309,7 +2020,7 @@ BTA_API extern void BTA_DmBleConfigLocalPrivacy(BOOLEAN privacy_enable);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleEnableRemotePrivacy(BD_ADDR bd_addr, BOOLEAN privacy_enable);
+extern void BTA_DmBleEnableRemotePrivacy(BD_ADDR bd_addr, BOOLEAN privacy_enable);
 
 
 /*******************************************************************************
@@ -2323,9 +2034,9 @@ BTA_API extern void BTA_DmBleEnableRemotePrivacy(BD_ADDR bd_addr, BOOLEAN privac
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask,
-                                           tBTA_BLE_ADV_DATA *p_adv_cfg,
-                                           tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);
+extern void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask,
+                                   tBTA_BLE_ADV_DATA *p_adv_cfg,
+                                   tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);
 
 /*******************************************************************************
 **
@@ -2338,9 +2049,9 @@ BTA_API extern void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask,
-                                         tBTA_BLE_ADV_DATA *p_adv_cfg,
-                                         tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);
+extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask,
+                                 tBTA_BLE_ADV_DATA *p_adv_cfg,
+                                 tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback);
 
 /*******************************************************************************
 **
@@ -2353,7 +2064,7 @@ BTA_API extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleBroadcast (BOOLEAN start);
+extern void BTA_DmBleBroadcast (BOOLEAN start);
 
 
 /*******************************************************************************
@@ -2369,7 +2080,7 @@ BTA_API extern void BTA_DmBleBroadcast (BOOLEAN start);
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_BleEnableAdvInstance (tBTA_BLE_ADV_PARAMS *p_params,
+extern void BTA_BleEnableAdvInstance (tBTA_BLE_ADV_PARAMS *p_params,
                                 tBTA_BLE_MULTI_ADV_CBACK *p_cback,void *p_ref);
 
 /*******************************************************************************
@@ -2384,7 +2095,7 @@ BTA_API extern void BTA_BleEnableAdvInstance (tBTA_BLE_ADV_PARAMS *p_params,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_BleUpdateAdvInstParam (UINT8 inst_id,
+extern void BTA_BleUpdateAdvInstParam (UINT8 inst_id,
                                 tBTA_BLE_ADV_PARAMS *p_params);
 
 /*******************************************************************************
@@ -2399,7 +2110,7 @@ BTA_API extern void BTA_BleUpdateAdvInstParam (UINT8 inst_id,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_BleCfgAdvInstData (UINT8 inst_id, BOOLEAN is_scan_rsp,
+extern void BTA_BleCfgAdvInstData (UINT8 inst_id, BOOLEAN is_scan_rsp,
                                 tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_data);
 
 /*******************************************************************************
@@ -2413,7 +2124,7 @@ BTA_API extern void BTA_BleCfgAdvInstData (UINT8 inst_id, BOOLEAN is_scan_rsp,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_BleDisableAdvInstance(UINT8 inst_id);
+extern void BTA_BleDisableAdvInstance(UINT8 inst_id);
 
 /*******************************************************************************
 **
@@ -2430,7 +2141,7 @@ BTA_API extern void BTA_BleDisableAdvInstance(UINT8 inst_id);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_int,
+extern void BTA_DmBleUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_int,
                                    UINT16 max_int, UINT16 latency, UINT16 timeout);
 
 /*******************************************************************************
@@ -2451,7 +2162,7 @@ BTA_API extern void BTA_DmBleUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_
 ** Returns           None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleSetStorageParams(UINT8 batch_scan_full_max,
+extern void BTA_DmBleSetStorageParams(UINT8 batch_scan_full_max,
                                          UINT8 batch_scan_trunc_max,
                                          UINT8 batch_scan_notify_threshold,
                                          tBTA_BLE_SCAN_SETUP_CBACK *p_setup_cback,
@@ -2475,7 +2186,7 @@ BTA_API extern void BTA_DmBleSetStorageParams(UINT8 batch_scan_full_max,
 ** Returns           None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleEnableBatchScan(tBTA_BLE_SCAN_MODE scan_mode,
+extern void BTA_DmBleEnableBatchScan(tBTA_BLE_SCAN_MODE scan_mode,
                                          UINT32 scan_interval, UINT32 scan_window,
                                          tBTA_BLE_DISCARD_RULE discard_rule,
                                          tBLE_ADDR_TYPE        addr_type,
@@ -2493,7 +2204,7 @@ BTA_API extern void BTA_DmBleEnableBatchScan(tBTA_BLE_SCAN_MODE scan_mode,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type,
+extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type,
                                              tBTA_DM_BLE_REF_VALUE ref_value);
 
 /*******************************************************************************
@@ -2507,7 +2218,7 @@ BTA_API extern void BTA_DmBleReadScanReports(tBTA_BLE_SCAN_MODE scan_type,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleDisableBatchScan(tBTA_DM_BLE_REF_VALUE ref_value);
+extern void BTA_DmBleDisableBatchScan(tBTA_DM_BLE_REF_VALUE ref_value);
 
 /*******************************************************************************
 **
@@ -2522,7 +2233,7 @@ BTA_API extern void BTA_DmBleDisableBatchScan(tBTA_DM_BLE_REF_VALUE ref_value);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmEnableScanFilter(UINT8 action,
+extern void BTA_DmEnableScanFilter(UINT8 action,
                                         tBTA_DM_BLE_PF_STATUS_CBACK *p_cmpl_cback,
                                         tBTA_DM_BLE_REF_VALUE ref_value);
 
@@ -2542,7 +2253,7 @@ BTA_API extern void BTA_DmEnableScanFilter(UINT8 action,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleScanFilterSetup(UINT8 action,
+extern void BTA_DmBleScanFilterSetup(UINT8 action,
                                                    tBTA_DM_BLE_PF_FILT_INDEX filt_index,
                                                    tBTA_DM_BLE_PF_FILT_PARAMS *p_filt_params,
                                                    tBLE_BD_ADDR *p_target,
@@ -2566,7 +2277,7 @@ BTA_API extern void BTA_DmBleScanFilterSetup(UINT8 action,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleCfgFilterCondition(tBTA_DM_BLE_SCAN_COND_OP action,
+extern void BTA_DmBleCfgFilterCondition(tBTA_DM_BLE_SCAN_COND_OP action,
                                                  tBTA_DM_BLE_PF_COND_TYPE cond_type,
                                                  tBTA_DM_BLE_PF_FILT_INDEX filt_index,
                                                  tBTA_DM_BLE_PF_COND_PARAM *p_cond,
@@ -2586,7 +2297,7 @@ BTA_API extern void BTA_DmBleCfgFilterCondition(tBTA_DM_BLE_SCAN_COND_OP action,
 ** Returns          None
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value,
+extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value,
                             tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback);
 
 /*******************************************************************************
@@ -2600,7 +2311,7 @@ BTA_API extern void BTA_DmBleTrackAdvertiser(tBTA_DM_BLE_REF_VALUE ref_value,
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_DmBleGetEnergyInfo(tBTA_BLE_ENERGY_INFO_CBACK *p_cmpl_cback);
+extern void BTA_DmBleGetEnergyInfo(tBTA_BLE_ENERGY_INFO_CBACK *p_cmpl_cback);
 
 /*******************************************************************************
 **
@@ -2611,7 +2322,7 @@ BTA_API extern void BTA_DmBleGetEnergyInfo(tBTA_BLE_ENERGY_INFO_CBACK *p_cmpl_cb
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_VendorInit  (void);
+extern void BTA_VendorInit  (void);
 
 /*******************************************************************************
 **
@@ -2622,7 +2333,7 @@ BTA_API extern void BTA_VendorInit  (void);
 ** Returns          void
 **
 *******************************************************************************/
-BTA_API extern void BTA_VendorCleanup (void);
+extern void BTA_VendorCleanup (void);
 
 #endif
 
@@ -2631,4 +2342,3 @@ BTA_API extern void BTA_VendorCleanup (void);
 #endif
 
 #endif /* BTA_API_H */
-