bt_interface_t 結構體參考資料
#include <
bluetooth.h
>
資料欄位 |
|
size_t | size |
int(* | init )( bt_callbacks_t *callbacks) |
int(* | enable )(bool guest_mode) |
int(* | disable )(void) |
void(* | cleanup )(void) |
int(* | get_adapter_properties )(void) |
int(* | get_adapter_property )( bt_property_type_t type) |
int(* | set_adapter_property )(const bt_property_t *property) |
int(* | get_remote_device_properties )(bt_bdaddr_t *remote_addr) |
int(* | get_remote_device_property )(bt_bdaddr_t *remote_addr, bt_property_type_t type) |
int(* | set_remote_device_property )(bt_bdaddr_t *remote_addr, const bt_property_t *property) |
int(* | get_remote_service_record )(bt_bdaddr_t *remote_addr, bt_uuid_t *uuid) |
int(* | get_remote_services )(bt_bdaddr_t *remote_addr) |
int(* | start_discovery )(void) |
int(* | cancel_discovery )(void) |
int(* | create_bond )(const bt_bdaddr_t *bd_addr, int transport) |
int(* | create_bond_out_of_band )(const bt_bdaddr_t *bd_addr, int transport, const bt_out_of_band_data_t *oob_data) |
int(* | remove_bond )(const bt_bdaddr_t *bd_addr) |
int(* | cancel_bond )(const bt_bdaddr_t *bd_addr) |
int(* | get_connection_state )(const bt_bdaddr_t *bd_addr) |
int(* | pin_reply )(const bt_bdaddr_t *bd_addr, uint8_t accept, uint8_t pin_len, bt_pin_code_t *pin_code) |
int(* | ssp_reply )(const bt_bdaddr_t *bd_addr, bt_ssp_variant_t variant, uint8_t accept, uint32_t passkey) |
const void *(* | get_profile_interface )(const char *profile_id) |
int(* | dut_mode_configure )(uint8_t enable ) |
int(* | dut_mode_send )(uint16_t opcode, uint8_t *buf, uint8_t len) |
int(* | le_test_mode )(uint16_t opcode, uint8_t *buf, uint8_t len) |
int(* | config_hci_snoop_log )(uint8_t enable ) |
int(* | set_os_callouts )( bt_os_callouts_t *callouts) |
int(* | read_energy_info )() |
void(* | dump )(int fd, const char **arguments) |
int(* | config_clear )(void) |
void(* | interop_database_clear )(void) |
void(* | interop_database_add )(uint16_t feature, const bt_bdaddr_t *addr, size_t len) |
詳細說明
注意:根據預設,系統不會在初始化/啟用時初始化任何設定檔。每當應用程式叫用設定檔的「init」API 時,就會發生下列任一情況:
1.) 如果未啟用藍牙,藍牙核心會將設定檔標示為已啟用。接著,當應用程式叫用藍牙「啟用」時,系統會在啟用序列中呼叫適當的堆疊 API,啟用已標示的設定檔。'adapter_properties_cb' 應傳回已啟用設定檔的 UUID 清單。
2.) 如果已啟用藍牙,則藍牙核心應叫用堆疊設定檔 API,以便初始化設定檔,並使用目前的 UUID 清單 (包括新加入的設定檔 UUID) 觸發「adapter_properties_cb」。
只要叫用設定檔「cleanup」API,就會發生反向操作。代表標準藍牙 DM 介面。
定義位於檔案 bluetooth.h 的 456 行。
欄位說明文件
int(* cancel_bond)(const bt_bdaddr_t *bd_addr) |
取消連結
定義位於檔案 bluetooth.h 的 521 行。
int(* cancel_discovery)(void) |
取消探索
定義位於檔案 bluetooth.h 的 508 行。
void(* cleanup)(void) |
關閉介面。
定義位於檔案 bluetooth.h 的 472 行。
int(* config_clear)(void) |
清除 /data/misc/bt_config.conf 並刪除所有已儲存的連線
定義位於檔案 bluetooth.h 的 580 行。
int(* config_hci_snoop_log)(uint8_t enable ) |
定義位於檔案 bluetooth.h 的 557 行。
int(* create_bond)(const bt_bdaddr_t *bd_addr, int transport) |
建立藍牙綁定
定義位於檔案 bluetooth.h 的 511 行。
int(* create_bond_out_of_band)(const bt_bdaddr_t *bd_addr, int transport, const bt_out_of_band_data_t *oob_data) |
使用非頻道資料建立藍牙連結
定義位於檔案 bluetooth.h 的 514 行。
int(* disable)(void) |
停用藍牙。
定義位於檔案 bluetooth.h 的 469 行。
void(* dump)(int fd, const char **arguments) |
原生支援 dumpsys 函式,函式為同步,且 |fd| 由呼叫端擁有。|arguments| 是可能影響輸出的引數,並以 UTF-8 字串編碼。
定義位於檔案 bluetooth.h 的 575 行。
int(* dut_mode_configure)(uint8_t enable ) |
Bluetooth 測試模式 API:必須為這些 API 啟用 Bluetooth
定義位於檔案 bluetooth.h 的 548 行。
int(* dut_mode_send)(uint16_t opcode, uint8_t *buf, uint8_t len) |
定義位於檔案 bluetooth.h 的 551 行。
int(* enable)(bool guest_mode) |
開啟藍牙。
定義位於檔案 bluetooth.h 的 466 行。
int(* get_adapter_properties)(void) |
在初始化時取得所有藍牙適配器屬性
定義位於檔案 bluetooth.h 的 475 行。
int(* get_adapter_property)( bt_property_type_t type) |
取得「type」的藍牙轉接器屬性
定義位於檔案 bluetooth.h 的 478 行。
int(* get_connection_state)(const bt_bdaddr_t *bd_addr) |
取得指定遠端裝置的連線狀態。傳回值為 0 表示裝置未連線,傳回值非零則表示裝置已連線。
定義位於檔案 bluetooth.h 的 528 行。
const void*(* get_profile_interface)(const char *profile_id) |
取得藍牙設定檔介面
定義位於檔案 bluetooth.h 的 544 行。
int(* get_remote_device_properties)(bt_bdaddr_t *remote_addr) |
取得所有 Remote Device 屬性
定義位於檔案 bluetooth.h 的 487 行。
int(* get_remote_device_property)(bt_bdaddr_t *remote_addr, bt_property_type_t type) |
取得「type」的遠端裝置屬性
定義位於檔案 bluetooth.h 的 490 行。
int(* get_remote_service_record)(bt_bdaddr_t *remote_addr, bt_uuid_t *uuid) |
取得指定 UUID 的遠端裝置服務記錄
定義位於檔案 bluetooth.h 的 498 行。
int(* get_remote_services)(bt_bdaddr_t *remote_addr) |
啟動 SDP 以取得遠端服務
定義位於檔案 bluetooth.h 的 502 行。
int(* init)( bt_callbacks_t *callbacks) |
開啟介面,並為此介面的實作提供回呼例程。
定義位於檔案 bluetooth.h 的 463 行。
void(* interop_database_add)(uint16_t feature, const bt_bdaddr_t *addr, size_t len) |
為遠端裝置新增裝置互通性解決方法,該裝置的裝置位址前 |len| 個位元組與 |addr| 相符。注意:|feature| 必須與 interop_feature_t (interop.h) 中定義的項目相符。
定義位於檔案 bluetooth.h 的 592 行。
void(* interop_database_clear)(void) |
清除 (重設) 裝置互通性資料庫的動態部分。
定義位於檔案 bluetooth.h 的 585 行。
int(* le_test_mode)(uint16_t opcode, uint8_t *buf, uint8_t len) |
BLE 測試模式 API
定義位於檔案 bluetooth.h 的 554 行。
int(* pin_reply)(const bt_bdaddr_t *bd_addr, uint8_t accept, uint8_t pin_len, bt_pin_code_t *pin_code) |
BT 舊版 PinKey 回覆。如果 accept==FALSE,則 pin_len 和 pin_code 應為 0x0
定義位於檔案 bluetooth.h 的 532 行。
int(* read_energy_info)() |
讀取能源資訊詳細資料 - 傳回值表示 BT_STATUS_SUCCESS 或 BT_STATUS_NOT_READY。成功表示 VSC 指令已傳送至控制器
定義位於檔案 bluetooth.h 的 567 行。
int(* remove_bond)(const bt_bdaddr_t *bd_addr) |
移除 Bond
定義位於檔案 bluetooth.h 的 518 行。
int(* set_adapter_property)(const bt_property_t *property) |
設定「type」的藍牙轉接器屬性
定義位於檔案 bluetooth.h 的 484 行。
int(* set_os_callouts)( bt_os_callouts_t *callouts) |
設定 bluedroid 需要用於鬧鐘和喚醒鎖定功能的 OS 呼叫函式。應在 |init| 成功後立即呼叫此方法。
定義位於檔案 bluetooth.h 的 562 行。
int(* set_remote_device_property)(bt_bdaddr_t *remote_addr, const bt_property_t *property) |
設定「type」的 Remote Device 屬性
定義位於檔案 bluetooth.h 的 494 行。
size_t size |
設為 sizeof(bt_interface_t)
定義位於檔案 bluetooth.h 的 458 行。
int(* ssp_reply)(const bt_bdaddr_t *bd_addr, bt_ssp_variant_t variant, uint8_t accept, uint32_t passkey) |
BT SSP 回覆 - Just Works、數字比較和密碼金鑰:如果是 BT_SSP_VARIANT_PASSKEY_COMPARISON 和 BT_SSP_VARIANT_CONSENT,密碼金鑰應為零;如果是 BT_SSP_VARIANT_PASSKEY_ENTRY,如果 accept==FALSE,則密碼金鑰應為零
定義位於檔案 bluetooth.h 的 540 行。
int(* start_discovery)(void) |
開始探索
定義位於檔案 bluetooth.h 的 505 行。
這個結構體的說明文件是由下列檔案產生:
- hardware/libhardware/include/hardware/ bluetooth.h