OSDN Git Service

Add stack/btm/neighbor_inquiry.h
authorChris Manton <cmanton@google.com>
Mon, 7 Sep 2020 21:04:35 +0000 (14:04 -0700)
committerChris Manton <cmanton@google.com>
Mon, 14 Sep 2020 00:09:53 +0000 (00:09 +0000)
Towards readable code

Bug: 163134718
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: I828e59a5c5b630b7936b85bf1dc045b1bff136eb

main/shim/btm.h
main/shim/btm_api.h
stack/btm/btm_ble_int_types.h
stack/btm/btm_int_types.h
stack/btm/neighbor_inquiry.h [new file with mode: 0644]
stack/btm/security_device_record.h
stack/include/btm_api.h
stack/include/btm_api_types.h
stack/include/btm_ble_api.h

index 695216f..333cf3a 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "hci/hci_packets.h"
 
+#include "stack/btm/neighbor_inquiry.h"
 #include "stack/include/btm_api_types.h"
 #include "types/raw_address.h"
 
index 261bfbb..a6d7973 100644 (file)
@@ -17,6 +17,7 @@
 #pragma once
 
 #include "stack/btm/btm_sec.h"
+#include "stack/btm/neighbor_inquiry.h"
 #include "stack/include/acl_api_types.h"
 #include "stack/include/btm_api_types.h"
 #include "stack/include/btm_ble_api_types.h"
index cc0c919..90b4182 100644 (file)
@@ -20,6 +20,7 @@
 #define BTM_BLE_INT_TYPES_H
 
 #include "osi/include/alarm.h"
+#include "stack/btm/neighbor_inquiry.h"
 #include "stack/include/btm_ble_api_types.h"
 
 /* scanning enable status */
index 605a420..45801bc 100644 (file)
@@ -24,6 +24,7 @@
 #include "stack/acl/acl.h"
 #include "stack/btm/btm_ble_int_types.h"
 #include "stack/btm/btm_sco.h"
+#include "stack/btm/neighbor_inquiry.h"
 #include "stack/btm/security_device_record.h"
 #include "stack/include/btm_ble_api_types.h"
 
@@ -121,62 +122,6 @@ typedef void(tBTM_BT_QUALITY_REPORT_RECEIVER)(uint8_t len, uint8_t* p_stream);
 /* Define a structure to hold all the BTM data
 */
 
-typedef struct {
-  uint32_t inq_count; /* Used for determining if a response has already been */
-  /* received for the current inquiry operation. (We do not   */
-  /* want to flood the caller with multiple responses from    */
-  /* the same device.                                         */
-  RawAddress bd_addr;
-} tINQ_BDADDR;
-
-typedef struct {
-  tBTM_CMPL_CB* p_remname_cmpl_cb;
-
-#define BTM_EXT_RMT_NAME_TIMEOUT_MS (40 * 1000) /* 40 seconds */
-
-  alarm_t* remote_name_timer;
-
-  uint16_t discoverable_mode;
-  uint16_t connectable_mode;
-  uint16_t page_scan_window;
-  uint16_t page_scan_period;
-  uint16_t inq_scan_window;
-  uint16_t inq_scan_period;
-  uint16_t inq_scan_type;
-  uint16_t page_scan_type; /* current page scan type */
-
-  RawAddress remname_bda; /* Name of bd addr for active remote name request */
-#define BTM_RMT_NAME_EXT 0x1 /* Initiated through API */
-  bool remname_active; /* State of a remote name request by external API */
-
-  tBTM_CMPL_CB* p_inq_cmpl_cb;
-  tBTM_INQ_RESULTS_CB* p_inq_results_cb;
-  uint32_t inq_counter; /* Counter incremented each time an inquiry completes */
-  /* Used for determining whether or not duplicate devices */
-  /* have responded to the same inquiry */
-  tINQ_BDADDR* p_bd_db;    /* Pointer to memory that holds bdaddrs */
-  uint16_t num_bd_entries; /* Number of entries in database */
-  uint16_t max_bd_entries; /* Maximum number of entries that can be stored */
-  tINQ_DB_ENT inq_db[BTM_INQ_DB_SIZE];
-  tBTM_INQ_PARMS inqparms; /* Contains the parameters for the current inquiry */
-  tBTM_INQUIRY_CMPL
-      inq_cmpl_info; /* Status and number of responses from the last inquiry */
-
-  uint16_t per_min_delay; /* Current periodic minimum delay */
-  uint16_t per_max_delay; /* Current periodic maximum delay */
-  /* inquiry that has been cancelled*/
-  uint8_t inqfilt_type; /* Contains the inquiry filter type (BD ADDR, COD, or
-                           Clear) */
-
-#define BTM_INQ_INACTIVE_STATE 0
-#define BTM_INQ_ACTIVE_STATE \
-  3 /* Actual inquiry or periodic inquiry is in progress */
-
-  uint8_t state;      /* Current state that the inquiry process is in */
-  uint8_t inq_active; /* Bit Mask indicating type of inquiry is active */
-  bool no_inc_ssp;    /* true, to stop inquiry on incoming SSP */
-} tBTM_INQUIRY_VAR_ST;
-
 #define BTM_STATE_BUFFER_SIZE 5 /* size of state buffer */
 
 /* Define the Device Management control structure
diff --git a/stack/btm/neighbor_inquiry.h b/stack/btm/neighbor_inquiry.h
new file mode 100644 (file)
index 0000000..009334c
--- /dev/null
@@ -0,0 +1,250 @@
+/*
+ * Copyright 2020 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.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+#include "osi/include/alarm.h"
+#include "stack/include/btm_api_types.h"
+
+/* Discoverable modes */
+#define BTM_NON_DISCOVERABLE 0
+#define BTM_LIMITED_DISCOVERABLE 1
+#define BTM_GENERAL_DISCOVERABLE 2
+#define BTM_DISCOVERABLE_MASK \
+  (BTM_LIMITED_DISCOVERABLE | BTM_GENERAL_DISCOVERABLE)
+#define BTM_MAX_DISCOVERABLE BTM_GENERAL_DISCOVERABLE
+/* high byte for BLE Discoverable modes */
+#define BTM_BLE_NON_DISCOVERABLE 0x0000
+#define BTM_BLE_LIMITED_DISCOVERABLE 0x0100
+#define BTM_BLE_GENERAL_DISCOVERABLE 0x0200
+#define BTM_BLE_MAX_DISCOVERABLE BTM_BLE_GENERAL_DISCOVERABLE
+#define BTM_BLE_DISCOVERABLE_MASK                            \
+  (BTM_BLE_NON_DISCOVERABLE | BTM_BLE_LIMITED_DISCOVERABLE | \
+   BTM_BLE_GENERAL_DISCOVERABLE)
+
+/* Connectable modes */
+#define BTM_NON_CONNECTABLE 0
+#define BTM_CONNECTABLE 1
+#define BTM_CONNECTABLE_MASK (BTM_NON_CONNECTABLE | BTM_CONNECTABLE)
+/* high byte for BLE Connectable modes */
+#define BTM_BLE_NON_CONNECTABLE 0x0000
+#define BTM_BLE_CONNECTABLE 0x0100
+#define BTM_BLE_MAX_CONNECTABLE BTM_BLE_CONNECTABLE
+#define BTM_BLE_CONNECTABLE_MASK (BTM_BLE_NON_CONNECTABLE | BTM_BLE_CONNECTABLE)
+
+/* Inquiry modes
+ * Note: These modes are associated with the inquiry active values (BTM_*ACTIVE)
+ */
+#define BTM_INQUIRY_NONE 0
+#define BTM_GENERAL_INQUIRY 0x01
+#define BTM_BR_INQUIRY_MASK (BTM_GENERAL_INQUIRY)
+
+/* high byte of inquiry mode for BLE inquiry mode */
+#define BTM_BLE_INQUIRY_NONE 0x00
+#define BTM_BLE_GENERAL_INQUIRY 0x10
+#define BTM_BLE_INQUIRY_MASK (BTM_BLE_GENERAL_INQUIRY)
+
+/* BTM_IsInquiryActive return values (Bit Mask)
+ * Note: These bit masks are associated with the inquiry modes (BTM_*_INQUIRY)
+ */
+/* no inquiry in progress */
+#define BTM_INQUIRY_INACTIVE 0x0
+/* a general inquiry is in progress */
+#define BTM_GENERAL_INQUIRY_ACTIVE BTM_GENERAL_INQUIRY
+/* SSP is active, so inquiry is disallowed (work around for FW bug) */
+#define BTM_SSP_INQUIRY_ACTIVE 0x4
+/* a general inquiry is in progress */
+#define BTM_LE_GENERAL_INQUIRY_ACTIVE BTM_BLE_GENERAL_INQUIRY
+
+/* inquiry activity mask */
+/* BR/EDR inquiry activity mask */
+#define BTM_BR_INQ_ACTIVE_MASK (BTM_GENERAL_INQUIRY_ACTIVE)
+/* LE scan activity mask */
+#define BTM_BLE_SCAN_ACTIVE_MASK 0xF0
+/* LE inquiry activity mask*/
+#define BTM_BLE_INQ_ACTIVE_MASK (BTM_LE_GENERAL_INQUIRY_ACTIVE)
+/* inquiry activity mask */
+#define BTM_INQUIRY_ACTIVE_MASK \
+  (BTM_BR_INQ_ACTIVE_MASK | BTM_BLE_INQ_ACTIVE_MASK)
+
+/* Define scan types */
+#define BTM_SCAN_TYPE_STANDARD 0
+#define BTM_SCAN_TYPE_INTERLACED 1 /* 1.2 devices only */
+
+/* Define inquiry results mode */
+#define BTM_INQ_RESULT_STANDARD 0
+#define BTM_INQ_RESULT_WITH_RSSI 1
+#define BTM_INQ_RESULT_EXTENDED 2
+/* RSSI value not supplied (ignore it) */
+#define BTM_INQ_RES_IGNORE_RSSI 0x7f
+
+/* Inquiry Filter Condition types (see tBTM_INQ_PARMS) */
+/* Inquiry Filtering is turned off */
+#define BTM_CLR_INQUIRY_FILTER 0
+
+/* These are the fields returned in each device's response to the inquiry.  It
+ * is returned in the results callback if registered.
+ */
+typedef struct {
+  uint16_t clock_offset;
+  RawAddress remote_bd_addr;
+  DEV_CLASS dev_class;
+  uint8_t page_scan_rep_mode;
+  uint8_t page_scan_per_mode;
+  uint8_t page_scan_mode;
+  int8_t rssi; /* Set to BTM_INQ_RES_IGNORE_RSSI if  not valid */
+  uint32_t eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];
+  bool eir_complete_list;
+  tBT_DEVICE_TYPE device_type;
+  uint8_t inq_result_type;
+  tBLE_ADDR_TYPE ble_addr_type;
+  uint16_t ble_evt_type;
+  uint8_t ble_primary_phy;
+  uint8_t ble_secondary_phy;
+  uint8_t ble_advertising_sid;
+  int8_t ble_tx_power;
+  uint16_t ble_periodic_adv_int;
+  uint8_t flag;
+} tBTM_INQ_RESULTS;
+
+/****************************************
+ *  Device Discovery Callback Functions
+ ****************************************/
+/* Callback function for notifications when the BTM gets inquiry response.
+ * First param is inquiry results database, second is pointer of EIR.
+ */
+typedef void(tBTM_INQ_RESULTS_CB)(tBTM_INQ_RESULTS* p_inq_results,
+                                  uint8_t* p_eir, uint16_t eir_len);
+
+typedef struct {
+  uint32_t inq_count; /* Used for determining if a response has already been */
+  /* received for the current inquiry operation. (We do not   */
+  /* want to flood the caller with multiple responses from    */
+  /* the same device.                                         */
+  RawAddress bd_addr;
+} tINQ_BDADDR;
+
+/* This is the inquiry response information held in its database by BTM, and
+ * available to applications via BTM_InqDbRead, BTM_InqDbFirst, and
+ * BTM_InqDbNext.
+ */
+typedef struct {
+  tBTM_INQ_RESULTS results;
+
+  bool appl_knows_rem_name; /* set by application if it knows the remote name of
+                               the peer device.
+                               This is later used by application to determine if
+                               remote name request is
+                               required to be done. Having the flag here avoid
+                               duplicate store of inquiry results */
+  uint16_t remote_name_len;
+  tBTM_BD_NAME remote_name;
+  uint8_t remote_name_state;
+  uint8_t remote_name_type;
+
+} tBTM_INQ_INFO;
+
+typedef struct {
+  uint64_t time_of_resp;
+  uint32_t
+      inq_count; /* "timestamps" the entry with a particular inquiry count   */
+                 /* Used for determining if a response has already been      */
+                 /* received for the current inquiry operation. (We do not   */
+                 /* want to flood the caller with multiple responses from    */
+                 /* the same device.                                         */
+  tBTM_INQ_INFO inq_info;
+  bool in_use;
+  bool scan_rsp;
+} tINQ_DB_ENT;
+
+typedef struct /* contains the parameters passed to the inquiry functions */
+{
+  uint8_t mode;     /* general or limited */
+  uint8_t duration; /* duration of the inquiry (1.28 sec increments) */
+} tBTM_INQ_PARMS;
+
+/* Structure returned with inquiry complete callback */
+typedef struct {
+  tBTM_STATUS status;
+  uint8_t num_resp; /* Number of results from the current inquiry */
+} tBTM_INQUIRY_CMPL;
+
+typedef struct {
+  tBTM_CMPL_CB* p_remname_cmpl_cb;
+
+#define BTM_EXT_RMT_NAME_TIMEOUT_MS (40 * 1000) /* 40 seconds */
+
+  alarm_t* remote_name_timer;
+
+  uint16_t discoverable_mode;
+  uint16_t connectable_mode;
+  uint16_t page_scan_window;
+  uint16_t page_scan_period;
+  uint16_t inq_scan_window;
+  uint16_t inq_scan_period;
+  uint16_t inq_scan_type;
+  uint16_t page_scan_type; /* current page scan type */
+
+  RawAddress remname_bda; /* Name of bd addr for active remote name request */
+#define BTM_RMT_NAME_EXT 0x1 /* Initiated through API */
+  bool remname_active; /* State of a remote name request by external API */
+
+  tBTM_CMPL_CB* p_inq_cmpl_cb;
+  tBTM_INQ_RESULTS_CB* p_inq_results_cb;
+  uint32_t inq_counter; /* Counter incremented each time an inquiry completes */
+  /* Used for determining whether or not duplicate devices */
+  /* have responded to the same inquiry */
+  tINQ_BDADDR* p_bd_db;    /* Pointer to memory that holds bdaddrs */
+  uint16_t num_bd_entries; /* Number of entries in database */
+  uint16_t max_bd_entries; /* Maximum number of entries that can be stored */
+  tINQ_DB_ENT inq_db[BTM_INQ_DB_SIZE];
+  tBTM_INQ_PARMS inqparms; /* Contains the parameters for the current inquiry */
+  tBTM_INQUIRY_CMPL
+      inq_cmpl_info; /* Status and number of responses from the last inquiry */
+
+  uint16_t per_min_delay; /* Current periodic minimum delay */
+  uint16_t per_max_delay; /* Current periodic maximum delay */
+  /* inquiry that has been cancelled*/
+  uint8_t inqfilt_type; /* Contains the inquiry filter type (BD ADDR, COD, or
+                           Clear) */
+
+#define BTM_INQ_INACTIVE_STATE 0
+#define BTM_INQ_ACTIVE_STATE \
+  3 /* Actual inquiry or periodic inquiry is in progress */
+
+  uint8_t state;      /* Current state that the inquiry process is in */
+  uint8_t inq_active; /* Bit Mask indicating type of inquiry is active */
+  bool no_inc_ssp;    /* true, to stop inquiry on incoming SSP */
+} tBTM_INQUIRY_VAR_ST;
+
+/* Structure returned with remote name  request */
+typedef struct {
+  uint16_t status;
+  RawAddress bd_addr;
+  uint16_t length;
+  BD_NAME remote_bd_name;
+} tBTM_REMOTE_DEV_NAME;
+
+typedef union /* contains the inquiry filter condition */
+{
+  RawAddress bdaddr_cond;
+  tBTM_COD_COND cod_cond;
+} tBTM_INQ_FILT_COND;
+
+#define BTM_INQ_RESULT_BR 0x01
+#define BTM_INQ_RESULT_BLE 0x02
index ae908ca..6709311 100644 (file)
@@ -39,19 +39,6 @@ typedef struct {
 
 } tBTM_LE_CONN_PRAMS;
 
-typedef struct {
-  uint64_t time_of_resp;
-  uint32_t
-      inq_count; /* "timestamps" the entry with a particular inquiry count   */
-                 /* Used for determining if a response has already been      */
-                 /* received for the current inquiry operation. (We do not   */
-                 /* want to flood the caller with multiple responses from    */
-                 /* the same device.                                         */
-  tBTM_INQ_INFO inq_info;
-  bool in_use;
-  bool scan_rsp;
-} tINQ_DB_ENT;
-
 /* The MSB of the clock offset field indicates whether the offset is valid. */
 #define BTM_CLOCK_OFFSET_VALID 0x8000
 
index 2257dd4..8814837 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <cstdint>
 
+#include "stack/btm/neighbor_inquiry.h"
 #include "stack/include/btm_api_types.h"
 #include "stack/include/btm_status.h"
 #include "stack/include/sdp_api.h"
index 343034d..9f47f71 100644 (file)
@@ -68,82 +68,6 @@ typedef void(tBTM_VSC_CMPL_CB)(tBTM_VSC_CMPL* p1);
 /*******************************
  *  Device Discovery Constants
  *******************************/
-/* Discoverable modes */
-#define BTM_NON_DISCOVERABLE 0
-#define BTM_LIMITED_DISCOVERABLE 1
-#define BTM_GENERAL_DISCOVERABLE 2
-#define BTM_DISCOVERABLE_MASK \
-  (BTM_LIMITED_DISCOVERABLE | BTM_GENERAL_DISCOVERABLE)
-#define BTM_MAX_DISCOVERABLE BTM_GENERAL_DISCOVERABLE
-/* high byte for BLE Discoverable modes */
-#define BTM_BLE_NON_DISCOVERABLE 0x0000
-#define BTM_BLE_LIMITED_DISCOVERABLE 0x0100
-#define BTM_BLE_GENERAL_DISCOVERABLE 0x0200
-#define BTM_BLE_MAX_DISCOVERABLE BTM_BLE_GENERAL_DISCOVERABLE
-#define BTM_BLE_DISCOVERABLE_MASK                            \
-  (BTM_BLE_NON_DISCOVERABLE | BTM_BLE_LIMITED_DISCOVERABLE | \
-   BTM_BLE_GENERAL_DISCOVERABLE)
-
-/* Connectable modes */
-#define BTM_NON_CONNECTABLE 0
-#define BTM_CONNECTABLE 1
-#define BTM_CONNECTABLE_MASK (BTM_NON_CONNECTABLE | BTM_CONNECTABLE)
-/* high byte for BLE Connectable modes */
-#define BTM_BLE_NON_CONNECTABLE 0x0000
-#define BTM_BLE_CONNECTABLE 0x0100
-#define BTM_BLE_MAX_CONNECTABLE BTM_BLE_CONNECTABLE
-#define BTM_BLE_CONNECTABLE_MASK (BTM_BLE_NON_CONNECTABLE | BTM_BLE_CONNECTABLE)
-
-/* Inquiry modes
- * Note: These modes are associated with the inquiry active values (BTM_*ACTIVE)
- */
-#define BTM_INQUIRY_NONE 0
-#define BTM_GENERAL_INQUIRY 0x01
-#define BTM_BR_INQUIRY_MASK (BTM_GENERAL_INQUIRY)
-
-/* high byte of inquiry mode for BLE inquiry mode */
-#define BTM_BLE_INQUIRY_NONE 0x00
-#define BTM_BLE_GENERAL_INQUIRY 0x10
-#define BTM_BLE_INQUIRY_MASK (BTM_BLE_GENERAL_INQUIRY)
-
-/* BTM_IsInquiryActive return values (Bit Mask)
- * Note: These bit masks are associated with the inquiry modes (BTM_*_INQUIRY)
- */
-/* no inquiry in progress */
-#define BTM_INQUIRY_INACTIVE 0x0
-/* a general inquiry is in progress */
-#define BTM_GENERAL_INQUIRY_ACTIVE BTM_GENERAL_INQUIRY
-/* SSP is active, so inquiry is disallowed (work around for FW bug) */
-#define BTM_SSP_INQUIRY_ACTIVE 0x4
-/* a general inquiry is in progress */
-#define BTM_LE_GENERAL_INQUIRY_ACTIVE BTM_BLE_GENERAL_INQUIRY
-
-/* inquiry activity mask */
-/* BR/EDR inquiry activity mask */
-#define BTM_BR_INQ_ACTIVE_MASK (BTM_GENERAL_INQUIRY_ACTIVE)
-/* LE scan activity mask */
-#define BTM_BLE_SCAN_ACTIVE_MASK 0xF0
-/* LE inquiry activity mask*/
-#define BTM_BLE_INQ_ACTIVE_MASK (BTM_LE_GENERAL_INQUIRY_ACTIVE)
-/* inquiry activity mask */
-#define BTM_INQUIRY_ACTIVE_MASK \
-  (BTM_BR_INQ_ACTIVE_MASK | BTM_BLE_INQ_ACTIVE_MASK)
-
-/* Define scan types */
-#define BTM_SCAN_TYPE_STANDARD 0
-#define BTM_SCAN_TYPE_INTERLACED 1 /* 1.2 devices only */
-
-/* Define inquiry results mode */
-#define BTM_INQ_RESULT_STANDARD 0
-#define BTM_INQ_RESULT_WITH_RSSI 1
-#define BTM_INQ_RESULT_EXTENDED 2
-/* RSSI value not supplied (ignore it) */
-#define BTM_INQ_RES_IGNORE_RSSI 0x7f
-
-/* Inquiry Filter Condition types (see tBTM_INQ_PARMS) */
-/* Inquiry Filtering is turned off */
-#define BTM_CLR_INQUIRY_FILTER 0
-
 /****************************
  * minor device class field
  ****************************/
@@ -395,21 +319,6 @@ typedef struct /* contains the two device class condition fields */
   DEV_CLASS dev_class_mask;
 } tBTM_COD_COND;
 
-typedef union /* contains the inquiry filter condition */
-{
-  RawAddress bdaddr_cond;
-  tBTM_COD_COND cod_cond;
-} tBTM_INQ_FILT_COND;
-
-typedef struct /* contains the parameters passed to the inquiry functions */
-{
-  uint8_t mode;      /* general or limited */
-  uint8_t duration;  /* duration of the inquiry (1.28 sec increments) */
-} tBTM_INQ_PARMS;
-
-#define BTM_INQ_RESULT_BR 0x01
-#define BTM_INQ_RESULT_BLE 0x02
-
 constexpr uint8_t BLE_EVT_CONNECTABLE_BIT = 0;
 constexpr uint8_t BLE_EVT_SCANNABLE_BIT = 1;
 constexpr uint8_t BLE_EVT_DIRECTED_BIT = 2;
@@ -424,65 +333,6 @@ constexpr uint8_t PHY_LE_CODED = 0x04;
 constexpr uint8_t NO_ADI_PRESENT = 0xFF;
 constexpr uint8_t TX_POWER_NOT_PRESENT = 0x7F;
 
-/* These are the fields returned in each device's response to the inquiry.  It
- * is returned in the results callback if registered.
-*/
-typedef struct {
-  uint16_t clock_offset;
-  RawAddress remote_bd_addr;
-  DEV_CLASS dev_class;
-  uint8_t page_scan_rep_mode;
-  uint8_t page_scan_per_mode;
-  uint8_t page_scan_mode;
-  int8_t rssi; /* Set to BTM_INQ_RES_IGNORE_RSSI if  not valid */
-  uint32_t eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];
-  bool eir_complete_list;
-  tBT_DEVICE_TYPE device_type;
-  uint8_t inq_result_type;
-  tBLE_ADDR_TYPE ble_addr_type;
-  uint16_t ble_evt_type;
-  uint8_t ble_primary_phy;
-  uint8_t ble_secondary_phy;
-  uint8_t ble_advertising_sid;
-  int8_t ble_tx_power;
-  uint16_t ble_periodic_adv_int;
-  uint8_t flag;
-} tBTM_INQ_RESULTS;
-
-/* This is the inquiry response information held in its database by BTM, and
- * available to applications via BTM_InqDbRead, BTM_InqDbFirst, and
- * BTM_InqDbNext.
-*/
-typedef struct {
-  tBTM_INQ_RESULTS results;
-
-  bool appl_knows_rem_name; /* set by application if it knows the remote name of
-                               the peer device.
-                               This is later used by application to determine if
-                               remote name request is
-                               required to be done. Having the flag here avoid
-                               duplicate store of inquiry results */
-  uint16_t remote_name_len;
-  tBTM_BD_NAME remote_name;
-  uint8_t remote_name_state;
-  uint8_t remote_name_type;
-
-} tBTM_INQ_INFO;
-
-/* Structure returned with inquiry complete callback */
-typedef struct {
-  tBTM_STATUS status;
-  uint8_t num_resp; /* Number of results from the current inquiry */
-} tBTM_INQUIRY_CMPL;
-
-/* Structure returned with remote name  request */
-typedef struct {
-  uint16_t status;
-  RawAddress bd_addr;
-  uint16_t length;
-  BD_NAME remote_bd_name;
-} tBTM_REMOTE_DEV_NAME;
-
 typedef struct {
   uint8_t pcm_intf_rate; /* PCM interface rate: 0: 128kbps, 1: 256 kbps;
                              2:512 bps; 3: 1024kbps; 4: 2048kbps */
@@ -492,15 +342,6 @@ typedef struct {
 
 } tBTM_SCO_PCM_PARAM;
 
-/****************************************
- *  Device Discovery Callback Functions
- ****************************************/
-/* Callback function for notifications when the BTM gets inquiry response.
- * First param is inquiry results database, second is pointer of EIR.
-*/
-typedef void(tBTM_INQ_RESULTS_CB)(tBTM_INQ_RESULTS* p_inq_results,
-                                  uint8_t* p_eir, uint16_t eir_len);
-
 /*****************************************************************************
  *  ACL CHANNEL MANAGEMENT
  ****************************************************************************/
index 3c0dcfc..b991a0f 100644 (file)
@@ -32,6 +32,7 @@
 #include "btm_api.h"
 #include "btm_ble_api_types.h"
 #include "osi/include/alarm.h"
+#include "stack/btm/neighbor_inquiry.h"
 #include "types/bt_transport.h"
 
 /*****************************************************************************