/****************************************************************************** * * Copyright (C) 2003-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 is the private interface file for the BTA device manager. * ******************************************************************************//* ... */#ifndefBTA_DM_INT_H#defineBTA_DM_INT_H#include"common/bt_target.h"#include"freertos/semphr.h"#include"bta/bta_sys.h"#if(BLE_INCLUDED==TRUE&&(definedBTA_GATT_INCLUDED)&&(BTA_GATT_INCLUDED==TRUE))#include"bta/bta_gatt_api.h"#endif/******************************************************************************* Constants and data types*****************************************************************************//* ... */#defineBTA_COPY_DEVICE_CLASS(coddst,codsrc){((UINT8*)(coddst))[0]=((UINT8*)(codsrc))[0];\((UINT8*)(coddst))[1]=((UINT8*)(codsrc))[1];\((UINT8*)(coddst))[2]=((UINT8*)(codsrc))[2];}{...}#defineBTA_DM_MSG_LEN50#defineBTA_SERVICE_ID_TO_SERVICE_MASK(id)(1<<(id))/* DM events */enum{/* device manager local device API events */BTA_DM_API_ENABLE_EVT=BTA_SYS_EVT_START(BTA_ID_DM),BTA_DM_API_DISABLE_EVT,BTA_DM_API_SET_NAME_EVT,BTA_DM_API_GET_NAME_EVT,#if(ESP_COEX_VSC_INCLUDED==TRUE)BTA_DM_API_CFG_COEX_ST_EVT,#endifBTA_DM_API_SEND_VENDOR_HCI_CMD_EVT,#if(CLASSIC_BT_INCLUDED==TRUE)BTA_DM_API_CONFIG_EIR_EVT,BTA_DM_API_PAGE_TO_SET_EVT,BTA_DM_API_PAGE_TO_GET_EVT,BTA_DM_API_SET_ACL_PKT_TYPES_EVT,#if(ENC_KEY_SIZE_CTRL_MODE!=ENC_KEY_SIZE_CTRL_MODE_NONE)BTA_DM_API_SET_MIN_ENC_KEY_SIZE_EVT,#endif/* ... */#endifBTA_DM_API_SET_AFH_CHANNELS_EVT,#if(SDP_INCLUDED==TRUE)BTA_DM_API_GET_REMOTE_NAME_EVT,#endifBTA_DM_API_SET_VISIBILITY_EVT,BTA_DM_ACL_CHANGE_EVT,BTA_DM_API_ADD_DEVICE_EVT,BTA_DM_API_REMOVE_ACL_EVT,#if(SMP_INCLUDED==TRUE)/* security API events */BTA_DM_API_BOND_EVT,BTA_DM_API_BOND_CANCEL_EVT,BTA_DM_API_SET_PIN_TYPE_EVT,BTA_DM_API_PIN_REPLY_EVT,/* ... */#endif///SMP_INCLUDED == TRUE#if(BTA_DM_PM_INCLUDED==TRUE)/* power manager events */BTA_DM_PM_BTM_STATUS_EVT,BTA_DM_PM_TIMER_EVT,/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) */#if(BTA_DM_QOS_INCLUDED==TRUE)/* Quality of Service set events */BTA_DM_API_QOS_SET_EVT,/* ... */#endif/* #if (BTA_DM_QOS_INCLUDED == TRUE) */#if(SMP_INCLUDED==TRUE)#if(CLASSIC_BT_INCLUDED==TRUE)/* simple pairing events */BTA_DM_API_CONFIRM_EVT,BTA_DM_API_KEY_REQ_EVT,/* ... */#endif/* (CLASSIC_BT_INCLUDED == TRUE) */BTA_DM_API_SET_ENCRYPTION_EVT,/* ... */#endif/* (SMP_INCLUDED == TRUE) */#if(BTM_OOB_INCLUDED==TRUE&&SMP_INCLUDED==TRUE)BTA_DM_API_LOC_OOB_EVT,BTA_DM_API_OOB_REPLY_EVT,BTA_DM_API_SC_OOB_REPLY_EVT,BTA_DM_API_SC_CR_OOB_DATA_EVT,BTA_DM_CI_IO_REQ_EVT,BTA_DM_CI_RMT_OOB_EVT,/* ... */#endif/* BTM_OOB_INCLUDED */#ifBLE_INCLUDED==TRUE#ifSMP_INCLUDED==TRUEBTA_DM_API_ADD_BLEKEY_EVT,BTA_DM_API_ADD_BLEDEVICE_EVT,BTA_DM_API_BLE_PASSKEY_REPLY_EVT,BTA_DM_API_BLE_SET_STATIC_PASSKEY_EVT,BTA_DM_API_BLE_CONFIRM_REPLY_EVT,BTA_DM_API_BLE_SEC_GRANT_EVT,/* ... */#endif///SMP_INCLUDED == TRUEBTA_DM_API_BLE_SET_BG_CONN_TYPE,BTA_DM_API_BLE_CONN_PARAM_EVT,BTA_DM_API_BLE_CONN_SCAN_PARAM_EVT,BTA_DM_API_BLE_SCAN_PARAM_EVT,/*******This event added by Yulong at 2016/10/25 to support the scan filter setting for the APP******//* ... */BTA_DM_API_BLE_SCAN_FIL_PARAM_EVT,BTA_DM_API_BLE_OBSERVE_EVT,BTA_DM_API_BLE_SCAN_EVT,BTA_DM_API_UPDATE_CONN_PARAM_EVT,/*******This event added by Yulong at 2016/9/9 to support the random address setting for the APP******//* ... */BTA_DM_API_SET_RAND_ADDR_EVT,BTA_DM_API_CLEAR_RAND_ADDR_EVT,/*******This event added by Yulong at 2016/10/19 to support stop the ble advertising setting by the APP******//* ... */BTA_DM_API_BLE_STOP_ADV_EVT,#ifBLE_PRIVACY_SPT==TRUEBTA_DM_API_LOCAL_PRIVACY_EVT,#endifBTA_DM_API_LOCAL_ICON_EVT,BTA_DM_API_BLE_ADV_PARAM_EVT,/*******This event added by Yulong at 2016/10/20 to support setting the ble advertising param by the APP******//* ... */BTA_DM_API_BLE_ADV_PARAM_All_EVT,BTA_DM_API_BLE_SET_ADV_CONFIG_EVT,/* Add for set raw advertising data */BTA_DM_API_BLE_SET_ADV_CONFIG_RAW_EVT,BTA_DM_API_BLE_SET_SCAN_RSP_EVT,/* Add for set raw scan response data */BTA_DM_API_BLE_SET_SCAN_RSP_RAW_EVT,BTA_DM_API_BLE_BROADCAST_EVT,BTA_DM_API_SET_DATA_LENGTH_EVT,BTA_DM_API_BLE_SET_LONG_ADV_EVT,#ifBLE_ANDROID_CONTROLLER_SCAN_FILTER==TRUEBTA_DM_API_CFG_FILTER_COND_EVT,BTA_DM_API_SCAN_FILTER_SETUP_EVT,BTA_DM_API_SCAN_FILTER_ENABLE_EVT,/* ... */#endifBTA_DM_API_BLE_MULTI_ADV_ENB_EVT,BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT,BTA_DM_API_BLE_MULTI_ADV_DATA_EVT,BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT,BTA_DM_API_BLE_SETUP_STORAGE_EVT,BTA_DM_API_BLE_ENABLE_BATCH_SCAN_EVT,BTA_DM_API_BLE_DISABLE_BATCH_SCAN_EVT,BTA_DM_API_BLE_READ_SCAN_REPORTS_EVT,BTA_DM_API_BLE_TRACK_ADVERTISER_EVT,BTA_DM_API_BLE_ENERGY_INFO_EVT,BTA_DM_API_BLE_DISCONNECT_EVT,/* ... */#endifBTA_DM_API_ENABLE_TEST_MODE_EVT,BTA_DM_API_DISABLE_TEST_MODE_EVT,BTA_DM_API_EXECUTE_CBACK_EVT,BTA_DM_API_REMOVE_ALL_ACL_EVT,BTA_DM_API_REMOVE_DEVICE_EVT,BTA_DM_API_BLE_SET_CHANNELS_EVT,BTA_DM_API_UPDATE_WHITE_LIST_EVT,BTA_DM_API_CLEAR_WHITE_LIST_EVT,BTA_DM_API_BLE_READ_ADV_TX_POWER_EVT,BTA_DM_API_READ_RSSI_EVT,#ifBLE_INCLUDED==TRUEBTA_DM_API_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_EVT,#endif#if(BLE_50_FEATURE_SUPPORT==TRUE)BTA_DM_API_READ_PHY_EVT,BTA_DM_API_SET_PER_DEF_PHY_EVT,BTA_DM_API_SET_PER_PHY_EVT,BTA_DM_API_SET_EXT_ADV_RAND_ADDR_EVT,BTA_DM_API_SET_EXT_ADV_PARAMS_EVT,BTA_DM_API_CFG_ADV_DATA_RAW_EVT,BTA_DM_API_EXT_ADV_ENABLE_EVT,BTA_DM_API_EXT_ADV_SET_REMOVE_EVT,BTA_DM_API_EXT_ADV_SET_CLEAR_EVT,BTA_DM_API_PERIODIC_ADV_SET_PARAMS_EVT,BTA_DM_API_PERIODIC_ADV_CFG_DATA_EVT,BTA_DM_API_PERIODIC_ADV_ENABLE_EVT,BTA_DM_API_PERIODIC_ADV_SYNC_EVT,BTA_DM_API_PERIODIC_ADV_SYNC_CANCEL_EVT,BTA_DM_API_PERIODIC_ADV_SYNC_TERMINATE_EVT,BTA_DM_API_PERIODIC_ADV_ADD_DEV_TO_LSIT_EVT,BTA_DM_API_PERIODIC_ADV_REMOVE_DEV_FROM_LSIT_EVT,BTA_DM_API_PERIODIC_ADV_CLEAR_DEV_EVT,BTA_DM_API_SET_EXT_SCAN_PARAMS_EVT,BTA_DM_API_START_EXT_SCAN_EVT,BTA_DM_API_SET_PERF_EXT_CONN_PARAMS_EVT,BTA_DM_API_EXT_CONN_EVT,BTA_DM_API_DTM_ENH_TX_START_EVT,BTA_DM_API_DTM_ENH_RX_START_EVT,/* ... */#endif// #if (BLE_50_FEATURE_SUPPORT == TRUE)#if(BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER==TRUE)BTA_DM_API_PERIODIC_ADV_RECV_ENABLE_EVT,BTA_DM_API_PERIODIC_ADV_SYNC_TRANS_EVT,BTA_DM_API_PERIODIC_ADV_SET_INFO_TRANS_EVT,BTA_DM_API_SET_PERIODIC_ADV_SYNC_TRANS_PARAMS_EVT,/* ... */#endif// #if (BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER == TRUE)#ifBLE_INCLUDED==TRUEBTA_DM_API_DTM_TX_START_EVT,BTA_DM_API_DTM_RX_START_EVT,BTA_DM_API_DTM_STOP_EVT,BTA_DM_API_BLE_CLEAR_ADV_EVT,BTA_DM_API_SET_RPA_TIMEOUT_EVT,BTA_DM_API_ADD_DEV_TO_RESOLVING_LIST_EVT,BTA_DM_API_SET_PRIVACY_MODE_EVT,BTA_DM_API_BLE_SET_CSA_SUPPORT_EVT,/* ... */#endifBTA_DM_MAX_EVT}{ ... };/* DM search events */enum{/* DM search API events */BTA_DM_API_SEARCH_EVT=BTA_SYS_EVT_START(BTA_ID_DM_SEARCH),BTA_DM_API_SEARCH_CANCEL_EVT,BTA_DM_API_DISCOVER_EVT,BTA_DM_INQUIRY_CMPL_EVT,BTA_DM_REMT_NAME_EVT,BTA_DM_SDP_RESULT_EVT,BTA_DM_SEARCH_CMPL_EVT,BTA_DM_DISCOVERY_RESULT_EVT,BTA_DM_API_DI_DISCOVER_EVT,BTA_DM_DISC_CLOSE_TOUT_EVT,}{ ... };/* data type for BTA_DM_API_ENABLE_EVT */typedefstruct{BT_HDRhdr;tBTA_DM_SEC_CBACK*p_sec_cback;}{ ... }tBTA_DM_API_ENABLE;/* data type for BTA_DM_API_SET_NAME_EVT */typedefstruct{BT_HDRhdr;BD_NAMEname;/* max 248 bytes name, plus must be Null terminated */tBT_DEVICE_TYPEname_type;/* name for BLE, name for BT or name for BTDM */}{ ... }tBTA_DM_API_SET_NAME;typedefstruct{BT_HDRhdr;tBTA_GET_DEV_NAME_CBACK*p_cback;tBT_DEVICE_TYPEname_type;}{ ... }tBTA_DM_API_GET_NAME;#if(ESP_COEX_VSC_INCLUDED==TRUE)typedefstruct{BT_HDRhdr;UINT8op;UINT8type;UINT8status;}{ ... }tBTA_DM_API_CFG_COEX_STATUS;/* ... */#endiftypedefstruct{BT_HDRhdr;UINT16opcode;UINT8param_len;UINT8*p_param_buf;tBTA_SEND_VENDOR_HCI_CMPL_CBACK*vendor_hci_cb;}{ ... }tBTA_DM_API_SEND_VENDOR_HCI_CMD;/* data type for BTA_DM_API_CONFIG_EIR_EVT */typedefstruct{BT_HDRhdr;BOOLEANeir_fec_required;BOOLEANeir_included_name;BOOLEANeir_included_tx_power;BOOLEANeir_included_uuid;UINT8eir_flags;UINT8eir_manufac_spec_len;UINT8*eir_manufac_spec;UINT8eir_url_len;UINT8*eir_url;UINT8data[];}{ ... }tBTA_DM_API_CONFIG_EIR;/* data type for BTA_DM_API_SET_AFH_CHANNELS_EVT */typedefstruct{BT_HDRhdr;AFH_CHANNELSchannels;tBTA_CMPL_CB*set_afh_cb;}{ ... }tBTA_DM_API_SET_AFH_CHANNELS;/* data type for BTA_DM_API_PAGE_TO_SET_EVT */typedefstruct{BT_HDRhdr;UINT16page_to;tBTM_CMPL_CB*set_page_to_cb;}{ ... }tBTA_DM_API_PAGE_TO_SET;/* data type for BTA_DM_API_PAGE_TO_GET_EVT */typedefstruct{BT_HDRhdr;tBTM_CMPL_CB*get_page_to_cb;}{ ... }tBTA_DM_API_PAGE_TO_GET;/* data type for BTA_DM_API_SET_ACL_PKT_TYPES_EVT */typedefstruct{BT_HDRhdr;BD_ADDRrmt_addr;UINT16pkt_types;tBTM_CMPL_CB*set_acl_pkt_types_cb;}{ ... }tBTA_DM_API_SET_ACL_PKT_TYPES;#if(ENC_KEY_SIZE_CTRL_MODE!=ENC_KEY_SIZE_CTRL_MODE_NONE)/* data type for BTA_DM_API_SET_MIN_ENC_KEY_SIZE_EVT */typedefstruct{BT_HDRhdr;UINT8key_size;tBTM_CMPL_CB*set_min_enc_key_size_cb;}{...}tBTA_DM_API_SET_MIN_ENC_KEY_SIZE;/* ... */#endif/* data type for BTA_DM_API_GET_REMOTE_NAME_EVT */typedefstruct{BT_HDRhdr;BD_ADDRrmt_addr;BD_NAMErmt_name;tBTA_TRANSPORTtransport;tBTA_CMPL_CB*rmt_name_cb;}{ ... }tBTA_DM_API_GET_REMOTE_NAME;#if(BLE_INCLUDED==TRUE)/* data type for BTA_DM_API_BLE_SET_CHANNELS_EVT */typedefstruct{BT_HDRhdr;AFH_CHANNELSchannels;tBTA_CMPL_CB*set_channels_cb;}{ ... }tBTA_DM_API_BLE_SET_CHANNELS;typedefstruct{BT_HDRhdr;BOOLEANadd_remove;BD_ADDRremote_addr;tBLE_ADDR_TYPEaddr_type;tBTA_UPDATE_WHITELIST_CBACK*update_wl_cb;}{ ... }tBTA_DM_API_UPDATE_WHITE_LIST;typedefstruct{BT_HDRhdr;UINT8subcode;UINT32type;BD_ADDRdevice_info;tBTA_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_CMPL_CBACK*exceptional_list_cb;}{ ... }tBTA_DM_API_UPDATE_DUPLICATE_EXCEPTIONAL_LIST;typedefstruct{BT_HDRhdr;tBTA_CMPL_CB*read_tx_power_cb;}{ ... }tBTA_DM_API_READ_ADV_TX_POWER;/* ... */#endif///BLE_INCLUDED == TRUEtypedefstruct{BT_HDRhdr;BD_ADDRremote_addr;tBTA_TRANSPORTtransport;tBTA_CMPL_CB*read_rssi_cb;}{ ... }tBTA_DM_API_READ_RSSI;/* data type for BTA_DM_API_SET_VISIBILITY_EVT */typedefstruct{BT_HDRhdr;tBTA_DM_DISCdisc_mode;tBTA_DM_CONNconn_mode;UINT8pair_mode;UINT8conn_paired_only;}{ ... }tBTA_DM_API_SET_VISIBILITY;enum{BTA_DM_RS_NONE,/* straight API call */BTA_DM_RS_OK,/* the role switch result - successful */BTA_DM_RS_FAIL/* the role switch result - failed */}{ ... };typedefUINT8tBTA_DM_RS_RES;/* data type for BTA_DM_API_SEARCH_EVT */typedefstruct{BT_HDRhdr;tBTA_DM_INQinq_params;tBTA_SERVICE_MASKservices;tBTA_DM_SEARCH_CBACK*p_cback;tBTA_DM_RS_RESrs_res;#ifBLE_INCLUDED==TRUE&&BTA_GATT_INCLUDED==TRUEUINT8num_uuid;tBT_UUID*p_uuid;/* ... */#endif}{ ... }tBTA_DM_API_SEARCH;#if(SDP_INCLUDED==TRUE)/* data type for BTA_DM_API_DISCOVER_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_SERVICE_MASKservices;tBTA_DM_SEARCH_CBACK*p_cback;BOOLEANsdp_search;tBTA_TRANSPORTtransport;#ifBLE_INCLUDED==TRUE&&BTA_GATT_INCLUDED==TRUEUINT8num_uuid;tBT_UUID*p_uuid;/* ... */#endiftSDP_UUIDuuid;}{...}tBTA_DM_API_DISCOVER;/* ... */#endif///SDP_INCLUDED == TRUE/* data type for BTA_DM_API_DI_DISC_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;#if(SDP_INCLUDED==TRUE)tBTA_DISCOVERY_DB*p_sdp_db;#endif///SDP_INCLUDED == TRUEUINT32len;tBTA_DM_SEARCH_CBACK*p_cback;}{ ... }tBTA_DM_API_DI_DISC;/* data type for BTA_DM_API_BOND_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_TRANSPORTtransport;}{ ... }tBTA_DM_API_BOND;/* data type for BTA_DM_API_BOND_CANCEL_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_TRANSPORTtransport;}{ ... }tBTA_DM_API_BOND_CANCEL;/* data type for BTA_DM_API_SET_PIN_TYPE_EVT */typedefstruct{BT_HDRhdr;UINT8pin_type;UINT8pin_len;UINT8p_pin[PIN_CODE_LEN];}{ ... }tBTA_DM_API_SET_PIN_TYPE;/* data type for BTA_DM_API_PIN_REPLY_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BOOLEANaccept;UINT8pin_len;UINT8p_pin[PIN_CODE_LEN];}{ ... }tBTA_DM_API_PIN_REPLY;/* data type for BTA_DM_API_LOC_OOB_EVT */typedefstruct{BT_HDRhdr;}{ ... }tBTA_DM_API_LOC_OOB;/* data type for BTA_DM_API_OOB_REPLY_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT8len;UINT8value[BT_OCTET16_LEN];UINT8c[BT_OCTET16_LEN];UINT8r[BT_OCTET16_LEN];}{ ... }tBTA_DM_API_OOB_REPLY;/* data type for BTA_DM_API_SC_OOB_REPLY_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT8c[BT_OCTET16_LEN];UINT8r[BT_OCTET16_LEN];}{ ... }tBTA_DM_API_SC_OOB_REPLY;/* data type for BTA_DM_API_SC_CR_OOB_DATA_EVT */typedefstruct{BT_HDRhdr;}{ ... }tBTA_DM_API_SC_CR_OOB_DATA;/* data type for BTA_DM_API_CONFIRM_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BOOLEANaccept;}{ ... }tBTA_DM_API_CONFIRM;/* data type for BTA_DM_API_KEY_REQ_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BOOLEANaccept;UINT32passkey;}{ ... }tBTA_DM_API_KEY_REQ;/* data type for BTA_DM_CI_IO_REQ_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_IO_CAPio_cap;tBTA_OOB_DATAoob_data;tBTA_AUTH_REQauth_req;}{ ... }tBTA_DM_CI_IO_REQ;/* data type for BTA_DM_CI_RMT_OOB_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BT_OCTET16c;BT_OCTET16r;BOOLEANaccept;}{ ... }tBTA_DM_CI_RMT_OOB;/* data type for BTA_DM_REMT_NAME_EVT */typedefstruct{BT_HDRhdr;tBTA_DM_SEARCHresult;}{ ... }tBTA_DM_REM_NAME;/* data type for tBTA_DM_DISC_RESULT */typedefstruct{BT_HDRhdr;tBTA_DM_SEARCHresult;}{ ... }tBTA_DM_DISC_RESULT;/* data type for BTA_DM_INQUIRY_CMPL_EVT */typedefstruct{BT_HDRhdr;UINT8num;}{ ... }tBTA_DM_INQUIRY_CMPL;/* data type for BTA_DM_SDP_RESULT_EVT */typedefstruct{BT_HDRhdr;UINT16sdp_result;}{ ... }tBTA_DM_SDP_RESULT;/* data type for BTA_DM_ACL_CHANGE_EVT */typedefstruct{BT_HDRhdr;tBTM_BL_EVENTevent;UINT8busy_level;UINT8busy_level_flags;BOOLEANis_new;UINT8new_role;BD_ADDRbd_addr;UINT8hci_status;BOOLEANsc_downgrade;#ifBLE_INCLUDED==TRUEUINT16handle;#endiftBT_TRANSPORTtransport;}{ ... }tBTA_DM_ACL_CHANGE;#if(BTA_DM_PM_INCLUDED==TRUE)/* data type for BTA_DM_PM_BTM_STATUS_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTM_PM_STATUSstatus;UINT16value;UINT8hci_status;}{...}tBTA_DM_PM_BTM_STATUS;/* data type for BTA_DM_PM_TIMER_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_DM_PM_ACTIONpm_request;}{...}tBTA_DM_PM_TIMER;/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) */#if(BTA_DM_QOS_INCLUDED==TRUE)/* data type for BTA_DM_API_QOS_SET_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT32t_poll;tBTM_CMPL_CB*p_cb;}{...}tBTA_DM_API_QOS_SET;/* ... */#endif/* #if (BTA_DM_QOS_INCLUDED == TRUE) *//* data type for BTA_DM_API_ADD_DEVICE_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;DEV_CLASSdc;LINK_KEYlink_key;tBTA_SERVICE_MASKtm;BOOLEANis_trusted;UINT8key_type;tBTA_IO_CAPio_cap;BOOLEANlink_key_known;BOOLEANdc_known;BD_NAMEbd_name;UINT8features[BTA_FEATURE_BYTES_PER_PAGE*(BTA_EXT_FEATURES_PAGE_MAX+1)];UINT8pin_length;UINT8sc_support;}{ ... }tBTA_DM_API_ADD_DEVICE;/* data type for BTA_DM_API_REMOVE_ACL_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT8transport;}{ ... }tBTA_DM_API_REMOVE_DEVICE;/* data type for BTA_DM_API_EXECUTE_CBACK_EVT */typedefstruct{BT_HDRhdr;void*p_param;tBTA_DM_EXEC_CBACK*p_exec_cback;}{ ... }tBTA_DM_API_EXECUTE_CBACK;/* data type for tBTA_DM_API_SET_ENCRYPTION */typedefstruct{BT_HDRhdr;tBTA_TRANSPORTtransport;tBTA_DM_ENCRYPT_CBACK*p_callback;tBTA_DM_BLE_SEC_ACTsec_act;BD_ADDRbd_addr;}{ ... }tBTA_DM_API_SET_ENCRYPTION;#ifBLE_INCLUDED==TRUEtypedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_LE_KEY_VALUEblekey;tBTA_LE_KEY_TYPEkey_type;}{ ... }tBTA_DM_API_ADD_BLEKEY;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBT_DEVICE_TYPEdev_type;UINT32auth_mode;tBLE_ADDR_TYPEaddr_type;}{ ... }tBTA_DM_API_ADD_BLE_DEVICE;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BOOLEANaccept;UINT32passkey;}{ ... }tBTA_DM_API_PASSKEY_REPLY;typedefstruct{BT_HDRhdr;BOOLEANadd;UINT32static_passkey;}{ ... }tBTA_DM_API_SET_DEFAULT_PASSKEY;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;tBTA_DM_BLE_SEC_GRANTres;}{ ... }tBTA_DM_API_BLE_SEC_GRANT;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_CONN_TYPEbg_conn_type;tBTA_DM_BLE_SEL_CBACK*p_select_cback;}{ ... }tBTA_DM_API_BLE_SET_BG_CONN_TYPE;/* set preferred BLE connection parameters for a device */typedefstruct{BT_HDRhdr;BD_ADDRpeer_bda;UINT16conn_int_min;UINT16conn_int_max;UINT16supervision_tout;UINT16slave_latency;}{ ... }tBTA_DM_API_BLE_CONN_PARAMS;typedefstruct{BT_HDRhdr;BD_ADDRpeer_bda;BOOLEANprivacy_enable;}{ ... }tBTA_DM_API_ENABLE_PRIVACY;typedefstruct{BT_HDRhdr;BOOLEANprivacy_enable;tBTA_SET_LOCAL_PRIVACY_CBACK*set_local_privacy_cback;}{ ... }tBTA_DM_API_LOCAL_PRIVACY;typedefstruct{BT_HDRhdr;uint16_ticon;}{ ... }tBTA_DM_API_LOCAL_ICON;/* set scan parameter for BLE connections */typedefstruct{BT_HDRhdr;tBTA_GATTC_IFclient_if;UINT32scan_int;UINT32scan_window;tBLE_SCAN_MODEscan_mode;tBLE_SCAN_PARAM_SETUP_CBACKscan_param_setup_cback;}{ ... }tBTA_DM_API_BLE_SCAN_PARAMS;typedefstruct{BT_HDRhdr;tBTA_GATTC_IFclient_if;UINT32scan_int;UINT32scan_window;tBLE_SCAN_MODEscan_mode;UINT8addr_type_own;UINT8scan_duplicate_filter;UINT8scan_filter_policy;tBLE_SCAN_PARAM_SETUP_CBACKscan_param_setup_cback;}{ ... }tBTA_DM_API_BLE_SCAN_FILTER_PARAMS;/* set scan parameter for BLE connections */typedefstruct{BT_HDRhdr;UINT16scan_int;UINT16scan_window;}{ ... }tBTA_DM_API_BLE_CONN_SCAN_PARAMS;/* Data type for start/stop observe */typedefstruct{BT_HDRhdr;BOOLEANstart;UINT32duration;tBTA_DM_SEARCH_CBACK*p_cback;tBTA_START_STOP_SCAN_CMPL_CBACK*p_start_scan_cback;tBTA_START_STOP_SCAN_CMPL_CBACK*p_stop_scan_cback;tBTA_START_STOP_ADV_CMPL_CBACK*p_stop_adv_cback;}{ ... }tBTA_DM_API_BLE_OBSERVE;/* Data type for start/stop scan */typedefstruct{BT_HDRhdr;BOOLEANstart;UINT32duration;tBTA_DM_SEARCH_CBACK*p_cback;tBTA_START_STOP_SCAN_CMPL_CBACK*p_start_scan_cback;tBTA_START_STOP_SCAN_CMPL_CBACK*p_stop_scan_cback;tBTA_START_STOP_ADV_CMPL_CBACK*p_stop_adv_cback;}{ ... }tBTA_DM_API_BLE_SCAN;typedefstruct{BT_HDRhdr;BD_ADDRremote_bda;UINT16tx_data_length;tBTA_SET_PKT_DATA_LENGTH_CBACK*p_set_pkt_data_cback;}{ ... }tBTA_DM_API_BLE_SET_DATA_LENGTH;/* set the address for BLE device this type added by Yulong at 2016/9/9*//* ... */typedefstruct{BT_HDRhdr;tBLE_ADDR_TYPEaddr_type;BD_ADDRaddress;tBTA_SET_RAND_ADDR_CBACK*p_set_rand_addr_cback;}{ ... }tBTA_DM_APT_SET_DEV_ADDR;typedefstruct{BT_HDRhdr;}{ ... }tBTA_DM_APT_CLEAR_ADDR;typedefstruct{BT_HDRhdr;UINT16rpa_timeout;tBTA_SET_RPA_TIMEOUT_CMPL_CBACK*p_set_rpa_timeout_cback;}{ ... }tBTA_DM_API_SET_RPA_TIMEOUT;typedefstruct{BT_HDRhdr;// Event headeresp_bd_addr_taddr;// Bluetooth device addressUINT8addr_type;// Type of the addressUINT8irk[PEER_IRK_LEN];// Identity Resolving Key (IRK)tBTA_ADD_DEV_TO_RESOLVING_LIST_CMPL_CBACK*p_add_dev_to_resolving_list_callback;// Callback function pointer}{ ... }tBTA_DM_API_ADD_DEV_TO_RESOLVING_LIST;/* set adv parameter for BLE advertising */typedefstruct{BT_HDRhdr;UINT16adv_int_min;UINT16adv_int_max;tBLE_BD_ADDR*p_dir_bda;}{ ... }tBTA_DM_API_BLE_ADV_PARAMS;/* set adv parameter for BLE advertising */typedefstruct{BT_HDRhdr;UINT16adv_int_min;UINT16adv_int_max;UINT8adv_type;tBLE_ADDR_TYPEaddr_type_own;tBTM_BLE_ADV_CHNL_MAPchannel_map;tBTM_BLE_AFPadv_filter_policy;tBLE_BD_ADDR*p_dir_bda;tBTA_START_ADV_CMPL_CBACK*p_start_adv_cback;}{ ... }tBTA_DM_API_BLE_ADV_PARAMS_ALL;typedefstruct{BT_HDRhdr;BOOLEANenable;}{ ... }tBTA_DM_API_BLE_FEATURE;/* multi adv data structure */typedefstruct{BT_HDRhdr;tBTA_BLE_MULTI_ADV_CBACK*p_cback;void*p_ref;tBTA_BLE_ADV_PARAMS*p_params;}{ ... }tBTA_DM_API_BLE_MULTI_ADV_ENB;typedefstruct{BT_HDRhdr;UINT8inst_id;tBTA_BLE_ADV_PARAMS*p_params;}{ ... }tBTA_DM_API_BLE_MULTI_ADV_PARAM;typedefstruct{BT_HDRhdr;UINT8inst_id;BOOLEANis_scan_rsp;tBTA_BLE_AD_MASKdata_mask;tBTA_BLE_ADV_DATA*p_data;}{ ... }tBTA_DM_API_BLE_MULTI_ADV_DATA;typedefstruct{BT_HDRhdr;UINT8inst_id;}{ ... }tBTA_DM_API_BLE_MULTI_ADV_DISABLE;typedefstruct{BT_HDRhdr;UINT32data_mask;tBTA_BLE_ADV_DATA*p_adv_cfg;tBTA_SET_ADV_DATA_CMPL_CBACK*p_adv_data_cback;}{ ... }tBTA_DM_API_SET_ADV_CONFIG;/* raw scan response and raw advertising data use the same structure *//* ... */typedefstruct{BT_HDRhdr;UINT8*p_raw_adv;UINT32raw_adv_len;tBTA_SET_ADV_DATA_CMPL_CBACK*p_adv_data_cback;}{ ... }tBTA_DM_API_SET_ADV_CONFIG_RAW;typedefstruct{BT_HDRhdr;UINT8*adv_data;UINT8adv_data_len;tBTA_SET_ADV_DATA_CMPL_CBACK*p_adv_data_cback;}{ ... }tBTA_DM_API_SET_LONG_ADV;typedefstruct{BT_HDRhdr;UINT8batch_scan_full_max;UINT8batch_scan_trunc_max;UINT8batch_scan_notify_threshold;tBTA_BLE_SCAN_SETUP_CBACK*p_setup_cback;tBTA_BLE_SCAN_THRESHOLD_CBACK*p_thres_cback;tBTA_BLE_SCAN_REP_CBACK*p_read_rep_cback;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_SET_STORAGE_CONFIG;typedefstruct{BT_HDRhdr;tBTA_BLE_BATCH_SCAN_MODEscan_mode;UINT32scan_int;UINT32scan_window;tBTA_BLE_DISCARD_RULEdiscard_rule;tBLE_ADDR_TYPEaddr_type;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_ENABLE_SCAN;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_DISABLE_SCAN;typedefstruct{BT_HDRhdr;tBTA_BLE_BATCH_SCAN_MODEscan_type;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_READ_SCAN_REPORTS;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_REF_VALUEref_value;tBTA_BLE_TRACK_ADV_CBACK*p_track_adv_cback;}{ ... }tBTA_DM_API_TRACK_ADVERTISER;typedefstruct{BT_HDRhdr;tBTA_BLE_ENERGY_INFO_CBACK*p_energy_info_cback;}{ ... }tBTA_DM_API_ENERGY_INFO;typedefstruct{BT_HDRhdr;BD_ADDRremote_bda;}{ ... }tBTA_DM_API_BLE_DISCONNECT;typedefstruct{BT_HDRhdr;UINT8tx_channel;UINT8len_of_data;UINT8pkt_payload;tBTA_DTM_CMD_CMPL_CBACK*p_dtm_cmpl_cback;}{ ... }tBTA_DM_API_BLE_DTM_TX_START;typedefstruct{BT_HDRhdr;UINT8rx_channel;tBTA_DTM_CMD_CMPL_CBACK*p_dtm_cmpl_cback;}{ ... }tBTA_DM_API_BLE_DTM_RX_START;typedefstruct{BT_HDRhdr;tBTA_DTM_CMD_CMPL_CBACK*p_dtm_cmpl_cback;}{ ... }tBTA_DM_API_BLE_DTM_STOP;typedefstruct{BT_HDRhdr;tBTA_CLEAR_ADV_CMPL_CBACK*p_clear_adv_cback;}{ ... }tBTA_DM_API_CLEAR_ADV;typedefstruct{BT_HDRhdr;tBLE_ADDR_TYPEaddr_type;BD_ADDRaddr;UINT8privacy_mode;tBTA_SET_PRIVACY_MODE_CMPL_CBACK*p_cback;}{ ... }tBTA_DM_API_SET_PRIVACY_MODE;typedefstruct{BT_HDRhdr;UINT8csa_select;tBTA_SET_CSA_SUPPORT_CMPL_CBACK*p_cback;}{ ... }tBTA_DM_API_BLE_SET_CSA_SUPPORT;/* ... */#endif/* BLE_INCLUDED *//* data type for BTA_DM_API_REMOVE_ACL_EVT */typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;BOOLEANremove_dev;tBTA_TRANSPORTtransport;}{ ... }tBTA_DM_API_REMOVE_ACL;/* data type for BTA_DM_API_REMOVE_ALL_ACL_EVT */typedefstruct{BT_HDRhdr;tBTA_DM_LINK_TYPElink_type;}{ ... }tBTA_DM_API_REMOVE_ALL_ACL;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT16min_int;UINT16max_int;UINT16latency;UINT16timeout;}{ ... }tBTA_DM_API_UPDATE_CONN_PARAM;#ifBLE_ANDROID_CONTROLLER_SCAN_FILTER==TRUEtypedefstruct{BT_HDRhdr;tBTA_DM_BLE_SCAN_COND_OPaction;tBTA_DM_BLE_PF_COND_TYPEcond_type;tBTA_DM_BLE_PF_FILT_INDEXfilt_index;tBTA_DM_BLE_PF_COND_PARAM*p_cond_param;tBTA_DM_BLE_PF_CFG_CBACK*p_filt_cfg_cback;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_CFG_FILTER_COND;typedefstruct{BT_HDRhdr;UINT8action;tBTA_DM_BLE_PF_STATUS_CBACK*p_filt_status_cback;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_ENABLE_SCAN_FILTER;typedefstruct{BT_HDRhdr;UINT8action;tBTA_DM_BLE_PF_FILT_INDEXfilt_index;tBTA_DM_BLE_PF_FILT_PARAMSfilt_params;tBLE_BD_ADDR*p_target;tBTA_DM_BLE_PF_PARAM_CBACK*p_filt_param_cback;tBTA_DM_BLE_REF_VALUEref_value;}{ ... }tBTA_DM_API_SCAN_FILTER_PARAM_SETUP;/* ... */#endif#if(BLE_50_FEATURE_SUPPORT==TRUE)typedefstruct{BT_HDRhdr;UINT8tx_channel;UINT8len_of_data;UINT8pkt_payload;UINT8phy;tBTA_DTM_CMD_CMPL_CBACK*p_dtm_cmpl_cback;}{...}tBTA_DM_API_BLE_DTM_ENH_TX_START;typedefstruct{BT_HDRhdr;UINT8rx_channel;UINT8phy;UINT8modulation_index;tBTA_DTM_CMD_CMPL_CBACK*p_dtm_cmpl_cback;}{...}tBTA_DM_API_BLE_DTM_ENH_RX_START;#defineBTA_PHY_1M_MASK(1<<0)#defineBTA_PHY_2M_MASK(1<<1)#defineBTA_PHY_CODED_MASK(1<<2)typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;}{...}tBTA_DM_API_READ_PHY;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_GAP_PHY_MASKtx_phy_mask;tBTA_DM_BLE_GAP_PHY_MASKrx_phy_mask;}{...}tBTA_DM_API_SET_PER_DEF_PHY;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT8all_phys;tBTA_DM_BLE_GAP_PHY_MASKtx_phy_mask;tBTA_DM_BLE_GAP_PHY_MASKrx_phy_mask;UINT16phy_options;}{...}tBTA_DM_API_SET_PER_PHY;typedefstruct{BT_HDRhdr;UINT16instance;BD_ADDRrand_addr;}{...}tBTA_DM_API_EXT_ADV_SET_RAND_ADDR;typedefstruct{BT_HDRhdr;UINT16instance;tBTA_DM_BLE_GAP_EXT_ADV_PARAMSparams;}{...}tBTA_DM_API_EXT_ADV_SET_PARAMS;typedefstruct{BT_HDRhdr;BOOLEANis_scan_rsp;UINT8instance;UINT16length;UINT8*data;}{...}tBTA_DM_API_CFG_EXT_ADV_DATA;typedefstruct{BT_HDRhdr;BOOLEANenable;UINT8num;tBTA_DM_BLE_EXT_ADV*ext_adv;}{...}tBTA_DM_API_BLE_EXT_ADV;typedefstruct{BT_HDRhdr;UINT16instance;}{...}tBTA_DM_API_BLE_EXT_ADV_SET_REMOVE;typedefstruct{BT_HDRhdr;}{...}tBTA_DM_API_BLE_EXT_ADV_SET_CLEAR;typedefstruct{BT_HDRhdr;UINT8instance;tBTA_DM_BLE_Periodic_Adv_Paramsparams;}{...}tBTA_DM_API_BLE_PERIODIC_ADV_SET_PARAMS;typedefstruct{BT_HDRhdr;UINT8instance;UINT16length;UINT8*data;BOOLEANonly_update_did;}{...}tBTA_DM_API_CFG_PERIODIC_ADV_DATA;typedefstruct{BT_HDRhdr;UINT8instance;UINT8enable;}{...}tBTA_DM_API_ENABLE_PERIODIC_ADV;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_Periodic_Sync_Paramsparams;}{...}tBTA_DM_API_PERIODIC_ADV_SYNC;typedefstruct{BT_HDRhdr;}{...}tBTA_DM_API_PERIODIC_ADV_SYNC_CANCEL;typedefstruct{BT_HDRhdr;UINT16sync_handle;}{...}tBTA_DM_API_PERIODIC_ADV_SYNC_TERM;typedefstruct{BT_HDRhdr;tBLE_ADDR_TYPEaddr_type;BD_ADDRaddr;UINT16sid;}{...}tBTA_DM_API_PERIODIC_ADV_ADD_DEV_TO_LIST;typedefstruct{BT_HDRhdr;tBLE_ADDR_TYPEaddr_type;BD_ADDRaddr;UINT16sid;}{...}tBTA_DM_API_PERIODIC_ADV_REMOVE_DEV_FROM_LIST;typedefstruct{BT_HDRhdr;}{...}tBTA_DM_API_PERIODIC_ADV_DEV_CLEAR;typedefstruct{BT_HDRhdr;tBTA_DM_BLE_EXT_SCAN_PARAMSparams;}{...}tBTA_DM_API_SET_EXT_SCAN_PARAMS;typedefstruct{BT_HDRhdr;BOOLEANstart;UINT32duration;UINT16period;}{...}tBTA_DM_API_EXT_SCAN;typedefstruct{BT_HDRhdr;BD_ADDRbd_addr;UINT8phy_mask;tBTA_DM_BLE_CONN_PARAMSphy_1m_conn_params;tBTA_DM_BLE_CONN_PARAMSphy_2m_conn_params;tBTA_DM_BLE_CONN_PARAMSphy_coded_conn_params;}{...}tBTA_DM_API_SET_PER_EXT_CONN_PARAMS;typedefstruct{BT_HDRhdr;tBLE_ADDR_TYPEown_addr_type;BD_ADDRpeer_addr;}{...}tBTA_DM_API_EXT_CONN;/* ... */#endif//#if (BLE_50_FEATURE_SUPPORT == TRUE)#if(BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER==TRUE)typedefstruct{BT_HDRhdr;UINT16sync_handle;UINT8enable;}{...}tBTA_DM_API_PERIODIC_ADV_RECV_ENABLE;typedefstruct{BT_HDRhdr;BD_ADDRaddr;UINT16service_data;UINT16sync_handle;}{...}tBTA_DM_API_PERIODIC_ADV_SYNC_TRANS;typedefstruct{BT_HDRhdr;BD_ADDRaddr;UINT16service_data;UINT8adv_hanlde;}{...}tBTA_DM_API_PERIODIC_ADV_SET_INFO_TRANS;typedefstruct{BT_HDRhdr;BD_ADDRaddr;tBTA_DM_BLE_PAST_PARAMSparams;}{...}tBTA_DM_API_SET_PAST_PARAMS;/* ... */#endif// #if (BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER == TRUE)/* union of all data types */typedefunion{/* event buffer header */BT_HDRhdr;tBTA_DM_API_ENABLEenable;tBTA_DM_API_SET_NAMEset_name;tBTA_DM_API_GET_NAMEget_name;#if(ESP_COEX_VSC_INCLUDED==TRUE)tBTA_DM_API_CFG_COEX_STATUScfg_coex_status;#endiftBTA_DM_API_SEND_VENDOR_HCI_CMDvendor_hci_cmd;tBTA_DM_API_CONFIG_EIRconfig_eir;tBTA_DM_API_SET_AFH_CHANNELSset_afh_channels;tBTA_DM_API_PAGE_TO_SETset_page_timeout;tBTA_DM_API_PAGE_TO_GETget_page_timeout;tBTA_DM_API_SET_ACL_PKT_TYPESset_acl_pkt_types;#if(ENC_KEY_SIZE_CTRL_MODE!=ENC_KEY_SIZE_CTRL_MODE_NONE)tBTA_DM_API_SET_MIN_ENC_KEY_SIZEset_min_enc_key_size;#endif#if(SDP_INCLUDED==TRUE)tBTA_DM_API_GET_REMOTE_NAMEget_rmt_name;#endif#if(BLE_INCLUDED==TRUE)tBTA_DM_API_BLE_SET_CHANNELSble_set_channels;tBTA_DM_API_UPDATE_WHITE_LISTwhite_list;tBTA_DM_API_READ_ADV_TX_POWERread_tx_power;/* ... */#endif///BLE_INCLUDED == TRUEtBTA_DM_API_READ_RSSIrssi;tBTA_DM_API_SET_VISIBILITYset_visibility;tBTA_DM_API_ADD_DEVICEadd_dev;tBTA_DM_API_REMOVE_DEVICEremove_dev;tBTA_DM_API_SEARCHsearch;#if(SDP_INCLUDED==TRUE)tBTA_DM_API_DISCOVERdiscover;#endif///SDP_INCLUDED == TRUEtBTA_DM_API_BONDbond;tBTA_DM_API_BOND_CANCELbond_cancel;tBTA_DM_API_SET_PIN_TYPEset_pin_type;tBTA_DM_API_PIN_REPLYpin_reply;tBTA_DM_API_LOC_OOBloc_oob;tBTA_DM_API_OOB_REPLYoob_reply;tBTA_DM_API_SC_OOB_REPLYsc_oob_reply;tBTA_DM_API_CONFIRMconfirm;tBTA_DM_API_KEY_REQkey_req;tBTA_DM_CI_IO_REQci_io_req;tBTA_DM_CI_RMT_OOBci_rmt_oob;tBTA_DM_REM_NAMErem_name;tBTA_DM_DISC_RESULTdisc_result;tBTA_DM_INQUIRY_CMPLinq_cmpl;tBTA_DM_SDP_RESULTsdp_event;tBTA_DM_ACL_CHANGEacl_change;#if(BTA_DM_PM_INCLUDED==TRUE)tBTA_DM_PM_BTM_STATUSpm_status;tBTA_DM_PM_TIMERpm_timer;/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) */#if(BTA_DM_QOS_INCLUDED==TRUE)/* Quality of Service set events */tBTA_DM_API_QOS_SETqos_set;/* ... */#endif/* #if (BTA_DM_QOS_INCLUDED == TRUE) */tBTA_DM_API_DI_DISCdi_disc;tBTA_DM_API_EXECUTE_CBACKexec_cback;tBTA_DM_API_SET_ENCRYPTIONset_encryption;#ifBLE_INCLUDED==TRUEtBTA_DM_API_ADD_BLEKEYadd_ble_key;tBTA_DM_API_ADD_BLE_DEVICEadd_ble_device;tBTA_DM_API_PASSKEY_REPLYble_passkey_reply;tBTA_DM_API_SET_DEFAULT_PASSKEYble_set_static_passkey;tBTA_DM_API_BLE_SEC_GRANTble_sec_grant;tBTA_DM_API_BLE_SET_BG_CONN_TYPEble_set_bd_conn_type;tBTA_DM_API_BLE_CONN_PARAMSble_set_conn_params;tBTA_DM_API_BLE_CONN_SCAN_PARAMSble_set_conn_scan_params;tBTA_DM_API_BLE_SCAN_PARAMSble_set_scan_params;tBTA_DM_API_BLE_SCAN_FILTER_PARAMSble_set_scan_fil_params;tBTA_DM_API_BLE_OBSERVEble_observe;tBTA_DM_API_BLE_SCANble_scan;tBTA_DM_API_ENABLE_PRIVACYble_remote_privacy;tBTA_DM_API_LOCAL_PRIVACYble_local_privacy;tBTA_DM_API_LOCAL_ICONble_local_icon;tBTA_DM_API_BLE_ADV_PARAMSble_set_adv_params;tBTA_DM_API_BLE_ADV_PARAMS_ALLble_set_adv_params_all;tBTA_DM_API_SET_ADV_CONFIGble_set_adv_data;tBTA_DM_API_SET_ADV_CONFIG_RAWble_set_adv_data_raw;tBTA_DM_API_SET_LONG_ADVble_set_long_adv_data;#ifBLE_ANDROID_CONTROLLER_SCAN_FILTER==TRUEtBTA_DM_API_SCAN_FILTER_PARAM_SETUPble_scan_filt_param_setup;tBTA_DM_API_CFG_FILTER_CONDble_cfg_filter_cond;tBTA_DM_API_ENABLE_SCAN_FILTERble_enable_scan_filt;/* ... */#endiftBTA_DM_API_UPDATE_CONN_PARAMble_update_conn_params;tBTA_DM_API_BLE_SET_DATA_LENGTHble_set_data_length;tBTA_DM_APT_SET_DEV_ADDRset_addr;tBTA_DM_APT_CLEAR_ADDRclear_addr;tBTA_DM_API_SET_RPA_TIMEOUTset_rpa_timeout;tBTA_DM_API_ADD_DEV_TO_RESOLVING_LISTadd_dev_to_resolving_list;tBTA_DM_API_BLE_MULTI_ADV_ENBble_multi_adv_enb;tBTA_DM_API_BLE_MULTI_ADV_PARAMble_multi_adv_param;tBTA_DM_API_BLE_MULTI_ADV_DATAble_multi_adv_data;tBTA_DM_API_BLE_MULTI_ADV_DISABLEble_multi_adv_disable;tBTA_DM_API_SET_STORAGE_CONFIGble_set_storage;tBTA_DM_API_ENABLE_SCANble_enable_scan;tBTA_DM_API_READ_SCAN_REPORTSble_read_reports;tBTA_DM_API_DISABLE_SCANble_disable_scan;tBTA_DM_API_TRACK_ADVERTISERble_track_advert;tBTA_DM_API_ENERGY_INFOble_energy_info;tBTA_DM_API_BLE_DISCONNECTble_disconnect;tBTA_DM_API_UPDATE_DUPLICATE_EXCEPTIONAL_LISTble_duplicate_exceptional_list;#if(BLE_50_FEATURE_SUPPORT==TRUE)tBTA_DM_API_READ_PHYble_read_phy;tBTA_DM_API_SET_PER_DEF_PHYble_set_per_def_phy;tBTA_DM_API_SET_PER_PHYble_set_per_phy;tBTA_DM_API_EXT_ADV_SET_RAND_ADDRble_set_ext_adv_rand_addr;tBTA_DM_API_EXT_ADV_SET_PARAMSble_set_ext_adv_params;tBTA_DM_API_CFG_EXT_ADV_DATAble_cfg_ext_adv_data;tBTA_DM_API_BLE_EXT_ADVble_start_ext_adv;tBTA_DM_API_BLE_EXT_ADV_SET_REMOVEble_ext_adv_set_remove;tBTA_DM_API_BLE_EXT_ADV_SET_CLEARble_ext_adv_set_clear;tBTA_DM_API_BLE_PERIODIC_ADV_SET_PARAMSble_set_periodic_adv_params;tBTA_DM_API_CFG_PERIODIC_ADV_DATAble_cfg_periodic_adv_data;tBTA_DM_API_ENABLE_PERIODIC_ADVble_enable_periodic_adv;tBTA_DM_API_PERIODIC_ADV_SYNCble_periodic_adv_sync;tBTA_DM_API_PERIODIC_ADV_SYNC_CANCELble_periodic_adv_sync_cancel;tBTA_DM_API_PERIODIC_ADV_SYNC_TERMble_periodic_adv_sync_term;tBTA_DM_API_PERIODIC_ADV_ADD_DEV_TO_LISTble_periodic_adv_add_dev_to_list;tBTA_DM_API_PERIODIC_ADV_REMOVE_DEV_FROM_LISTble_periodic_adv_remove_dev_from_list;tBTA_DM_API_PERIODIC_ADV_DEV_CLEARble_periodic_adv_clear_dev;tBTA_DM_API_SET_EXT_SCAN_PARAMSble_set_ext_scan_params;tBTA_DM_API_EXT_SCANble_ext_scan;tBTA_DM_API_SET_PER_EXT_CONN_PARAMSble_set_per_ext_conn_params;tBTA_DM_API_BLE_DTM_ENH_TX_STARTdtm_enh_tx_start;tBTA_DM_API_BLE_DTM_ENH_RX_STARTdtm_enh_rx_start;/* ... */#endif// #if (BLE_50_FEATURE_SUPPORT == TRUE)#if(BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER==TRUE)tBTA_DM_API_PERIODIC_ADV_RECV_ENABLEble_periodic_adv_recv_enable;tBTA_DM_API_PERIODIC_ADV_SYNC_TRANSble_periodic_adv_sync_trans;tBTA_DM_API_PERIODIC_ADV_SET_INFO_TRANSble_periodic_adv_set_info_trans;tBTA_DM_API_SET_PAST_PARAMSble_set_past_params;/* ... */#endif// #if (BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER == TRUE)tBTA_DM_API_BLE_DTM_TX_STARTdtm_tx_start;tBTA_DM_API_BLE_DTM_RX_STARTdtm_rx_start;tBTA_DM_API_BLE_DTM_STOPdtm_stop;tBTA_DM_API_CLEAR_ADVble_clear_adv;tBTA_DM_API_SET_PRIVACY_MODEble_set_privacy_mode;tBTA_DM_API_BLE_SET_CSA_SUPPORTble_set_csa_support;/* ... */#endiftBTA_DM_API_REMOVE_ACLremove_acl;tBTA_DM_API_REMOVE_ALL_ACLremove_all_acl;}{ ... }tBTA_DM_MSG;#defineBTA_DM_NUM_PEER_DEVICEMAX_ACL_CONNECTIONS#defineBTA_DM_NOT_CONNECTED0#defineBTA_DM_CONNECTED1#defineBTA_DM_UNPAIRING2typedefUINT8tBTA_DM_CONN_STATE;#defineBTA_DM_DI_NONE0x00/* nothing special */#defineBTA_DM_DI_USE_SSR0x10/* set this bit if ssr is supported for this link */#defineBTA_DM_DI_AV_ACTIVE0x20/* set this bit if AV is active for this link */#defineBTA_DM_DI_SET_SNIFF0x01/* set this bit if call BTM_SetPowerMode(sniff) */#defineBTA_DM_DI_INT_SNIFF0x02/* set this bit if call BTM_SetPowerMode(sniff) & enter sniff mode */#defineBTA_DM_DI_ACP_SNIFF0x04/* set this bit if peer init sniff */6 definestypedefUINT8tBTA_DM_DEV_INFO;/* set power mode request type */#defineBTA_DM_PM_RESTART1#defineBTA_DM_PM_NEW_REQ2#defineBTA_DM_PM_EXECUTE3typedefUINT8tBTA_DM_PM_REQ;typedefstruct{BD_ADDRpeer_bdaddr;UINT16link_policy;tBTA_DM_CONN_STATEconn_state;tBTA_PREF_ROLESpref_role;BOOLEANin_use;tBTA_DM_DEV_INFOinfo;tBTA_DM_ENCRYPT_CBACK*p_encrypt_cback;#if(BTM_SSR_INCLUDED==TRUE)tBTM_PM_STATUSprev_low;/* previous low power mode used */#endiftBTA_DM_PM_ACTIONpm_mode_attempted;tBTA_DM_PM_ACTIONpm_mode_failed;BOOLEANremove_dev_pending;#ifBLE_INCLUDED==TRUEUINT16conn_handle;#endiftBT_TRANSPORTtransport;}{ ... }tBTA_DM_PEER_DEVICE;/* structure to store list of active connections *//* ... */typedefstruct{tBTA_DM_PEER_DEVICEpeer_device[BTA_DM_NUM_PEER_DEVICE];UINT8count;#ifBLE_INCLUDED==TRUEUINT8le_count;#endif}{ ... }tBTA_DM_ACTIVE_LINK;typedefstruct{BD_ADDRpeer_bdaddr;tBTA_SYS_IDid;UINT8app_id;tBTA_SYS_CONN_STATUSstate;BOOLEANnew_request;}{ ... }tBTA_DM_SRVCS;#ifndefBTA_DM_NUM_CONN_SRVS#defineBTA_DM_NUM_CONN_SRVS10#endiftypedefstruct{UINT8count;tBTA_DM_SRVCSconn_srvc[BTA_DM_NUM_CONN_SRVS];}{ ... }tBTA_DM_CONNECTED_SRVCS;#if(BTA_DM_PM_INCLUDED==TRUE)typedefstruct{#defineBTA_DM_PM_SNIFF_TIMER_IDX0#defineBTA_DM_PM_PARK_TIMER_IDX1#defineBTA_DM_PM_SUSPEND_TIMER_IDX2#defineBTA_DM_PM_MODE_TIMER_MAX3/* * Keep three different timers for PARK, SNIFF and SUSPEND if TBFC is * supported. *//* ... */TIMER_LIST_ENTtimer[BTA_DM_PM_MODE_TIMER_MAX];UINT8srvc_id[BTA_DM_PM_MODE_TIMER_MAX];UINT8pm_action[BTA_DM_PM_MODE_TIMER_MAX];UINT8active;/* number of active timer */BD_ADDRpeer_bdaddr;BOOLEANin_use;}{...}tBTA_PM_TIMER;#defineBTA_DM_NUM_PM_TIMER7/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) *//* DM control block */typedefstruct{BOOLEANis_bta_dm_active;tBTA_DM_ACTIVE_LINKdevice_list;tBTA_DM_SEC_CBACK*p_sec_cback;#if((definedBLE_INCLUDED)&&(BLE_INCLUDED==TRUE))tBTA_BLE_SCAN_SETUP_CBACK*p_setup_cback;tBTA_DM_BLE_PF_CFG_CBACK*p_scan_filt_cfg_cback;tBTA_DM_BLE_PF_STATUS_CBACK*p_scan_filt_status_cback;tBTA_DM_BLE_PF_PARAM_CBACK*p_scan_filt_param_cback;tBTA_BLE_MULTI_ADV_CBACK*p_multi_adv_cback;tBTA_BLE_ENERGY_INFO_CBACK*p_energy_info_cback;/* ... */#endifUINT16state;BOOLEANdisabling;TIMER_LIST_ENTdisable_timer;UINT32wbt_sdp_handle;/* WIDCOMM Extensions SDP record handle */UINT8wbt_scn;/* WIDCOMM Extensions SCN */UINT8num_master_only;#if(BTA_DM_PM_INCLUDED==TRUE)UINT8pm_id;tBTA_PM_TIMERpm_timer[BTA_DM_NUM_PM_TIMER];/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) */UINT32role_policy_mask;/* the bits set indicates the modules that wants to remove role switch from the default link policy */UINT16cur_policy;/* current default link policy */UINT16rs_event;/* the event waiting for role switch */UINT8cur_av_count;/* current AV connections */BOOLEANdisable_pair_mode;/* disable pair mode or not */BOOLEANconn_paired_only;/* allow connectable to paired device only or not */tBTA_DM_API_SEARCHsearch_msg;#if(CLASSIC_BT_INCLUDED==TRUE)UINT16page_scan_interval;UINT16page_scan_window;UINT16inquiry_scan_interval;UINT16inquiry_scan_window;/* Storage for pin code request parameters */BD_ADDRpin_bd_addr;DEV_CLASSpin_dev_class;tBTA_DM_SEC_EVTpin_evt;UINT32num_val;/* the numeric value for comparison. If just_works, do not show this number to UI */BOOLEANjust_works;/* TRUE, if "Just Works" association model *//* ... */#endif#if(BTA_EIR_CANNED_UUID_LIST!=TRUE)/* store UUID list for EIR */TIMER_LIST_ENTapp_ready_timer;UINT32eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];#if(BTA_EIR_SERVER_NUM_CUSTOM_UUID>0)tBT_UUIDcustom_uuid[BTA_EIR_SERVER_NUM_CUSTOM_UUID];#endif/* ... */#endiftBTA_DM_ENCRYPT_CBACK*p_encrypt_cback;TIMER_LIST_ENTswitch_delay_timer[BTA_DM_NUM_PEER_DEVICE];}{ ... }tBTA_DM_CB;#ifndefBTA_DM_SDP_DB_SIZE#defineBTA_DM_SDP_DB_SIZE250#endif/* DM search control block */typedefstruct{tBTA_DM_SEARCH_CBACK*p_search_cback;tBTM_INQ_INFO*p_btm_inq_info;tBTA_SERVICE_MASKservices;tBTA_SERVICE_MASKservices_to_search;tBTA_SERVICE_MASKservices_found;#if(SDP_INCLUDED==TRUE)tSDP_DISCOVERY_DB*p_sdp_db;#endif///SDP_INCLUDED == TRUEUINT16state;BD_ADDRpeer_bdaddr;BOOLEANname_discover_done;BD_NAMEpeer_name;TIMER_LIST_ENTsearch_timer;UINT8service_index;tBTA_DM_MSG*p_search_queue;/* search or discover commands during search cancel stored here */BOOLEANwait_disc;BOOLEANsdp_results;#if(SDP_INCLUDED==TRUE)tSDP_UUIDuuid;#endif///SDP_INCLUDED == TRUEUINT8peer_scn;BOOLEANsdp_search;BOOLEANcancel_pending;/* inquiry cancel is pending */tBTA_TRANSPORTtransport;#if((definedBLE_INCLUDED)&&(BLE_INCLUDED==TRUE))tBTA_DM_SEARCH_CBACK*p_scan_cback;#if((definedBTA_GATT_INCLUDED)&&(BTA_GATT_INCLUDED==TRUE)&&SDP_INCLUDED==TRUE)tBTA_GATTC_IFclient_if;UINT8num_uuid;tBT_UUID*p_srvc_uuid;UINT8uuid_to_search;BOOLEANgatt_disc_active;UINT16conn_id;UINT8*p_ble_rawdata;UINT32ble_raw_size;UINT32ble_raw_used;TIMER_LIST_ENTgatt_close_timer;/* GATT channel close delay timer */BD_ADDRpending_close_bda;/* pending GATT channel remote device address *//* ... */#endif/* ... */#endif}{ ... }tBTA_DM_SEARCH_CB;/* DI control block */typedefstruct{#if(SDP_INCLUDED==TRUE)tSDP_DISCOVERY_DB*p_di_db;/* pointer to the DI discovery database */#endif///SDP_INCLUDED == TRUEBOOLEANuuid_added;UINT8di_num;/* total local DI record number */UINT32di_handle[BTA_DI_NUM_MAX];/* local DI record handle, the first one is primary record */}{ ... }tBTA_DM_DI_CB;/* DM search state */enum{BTA_DM_SEARCH_IDLE,BTA_DM_SEARCH_ACTIVE,BTA_DM_SEARCH_CANCELLING,BTA_DM_DISCOVER_ACTIVE}{ ... };typedefstruct{DEV_CLASSdev_class;/* local device class */UINT16policy_settings;/* link policy setting hold, sniff, park, MS switch */UINT16page_timeout;/* timeout for page in slots */UINT16link_timeout;/* link supervision timeout in slots */BOOLEANavoid_scatter;/* TRUE to avoid scatternet when av is streaming (be the master) */}{ ... }tBTA_DM_CFG;externconstUINT32bta_service_id_to_btm_srv_id_lkup_tbl[];typedefstruct{UINT8id;UINT8app_id;UINT8cfg;}{ ... }tBTA_DM_RM;externtBTA_DM_CFG*constp_bta_dm_cfg;externtBTA_DM_RM*constp_bta_dm_rm_cfg;typedefstruct{UINT8id;UINT8app_id;UINT8spec_idx;/* index of spec table to use */}{ ... }tBTA_DM_PM_CFG;typedefstruct{tBTA_DM_PM_ACTIONpower_mode;UINT16timeout;}{ ... }tBTA_DM_PM_ACTN;typedefstruct{UINT8allow_mask;/* mask of sniff/hold/park modes to allow */#if(BTM_SSR_INCLUDED==TRUE)UINT8ssr;/* set SSR on conn open/unpark */#endiftBTA_DM_PM_ACTNactn_tbl[BTA_DM_PM_NUM_EVTS][2];}{ ... }tBTA_DM_PM_SPEC;typedefstruct{UINT16max_lat;UINT16min_rmt_to;UINT16min_loc_to;}{ ... }tBTA_DM_SSR_SPEC;typedefstruct{UINT16manufacturer;UINT16lmp_sub_version;UINT8lmp_version;}{ ... }tBTA_DM_LMP_VER_INFO;#if(BTA_DM_PM_INCLUDED==TRUE)externtBTA_DM_PM_CFG*constp_bta_dm_pm_cfg;externtBTA_DM_PM_SPEC*constp_bta_dm_pm_spec;externtBTM_PM_PWR_MD*constp_bta_dm_pm_md;#if(BTM_SSR_INCLUDED==TRUE)externtBTA_DM_SSR_SPEC*constp_bta_dm_ssr_spec;#endif/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) *//* update dynamic BRCM Aware EIR data */externtBTA_DM_EIR_CONFbta_dm_eir_cfg;externtBTA_DM_EIR_CONF*p_bta_dm_eir_cfg;/* DM control block */#ifBTA_DYNAMIC_MEMORY==FALSEexterntBTA_DM_CBbta_dm_cb;#elseexterntBTA_DM_CB*bta_dm_cb_ptr;#definebta_dm_cb(*bta_dm_cb_ptr)/* ... */#endif/* DM search control block */#ifBTA_DYNAMIC_MEMORY==FALSEexterntBTA_DM_SEARCH_CBbta_dm_search_cb;#elseexterntBTA_DM_SEARCH_CB*bta_dm_search_cb_ptr;#definebta_dm_search_cb(*bta_dm_search_cb_ptr)/* ... */#endif/* DI control block */#ifBTA_DYNAMIC_MEMORY==FALSEexterntBTA_DM_DI_CBbta_dm_di_cb;#elseexterntBTA_DM_DI_CB*bta_dm_di_cb_ptr;#definebta_dm_di_cb(*bta_dm_di_cb_ptr)externSemaphoreHandle_tdeinit_semaphore;/* ... */#endif#ifBTA_DYNAMIC_MEMORY==FALSEexterntBTA_DM_CONNECTED_SRVCSbta_dm_conn_srvcs;#elseexterntBTA_DM_CONNECTED_SRVCS*bta_dm_conn_srvcs_ptr;#definebta_dm_conn_srvcs(*bta_dm_conn_srvcs_ptr)/* ... */#endif/* Discovery raw data buffer */#defineMAX_DISC_RAW_DATA_BUF(1024)#ifBTA_DYNAMIC_MEMORY==TRUEexternUINT8*g_disc_raw_data_buf;#endifexternBOOLEANbta_dm_sm_execute(BT_HDR*p_msg);externvoidbta_dm_sm_disable(void);externvoidbta_dm_sm_deinit(void);externBOOLEANbta_dm_search_sm_execute(BT_HDR*p_msg);externvoidbta_dm_search_sm_disable(void);externvoidbta_dm_enable(tBTA_DM_MSG*p_data);externvoidbta_dm_disable(tBTA_DM_MSG*p_data);externvoidbta_dm_set_dev_name(tBTA_DM_MSG*p_data);externvoidbta_dm_get_dev_name(tBTA_DM_MSG*p_data);#if(ESP_COEX_VSC_INCLUDED==TRUE)externvoidbta_dm_cfg_coex_status(tBTA_DM_MSG*p_data);#endifexternvoidbta_dm_send_vendor_hci(tBTA_DM_MSG*p_data);#if(CLASSIC_BT_INCLUDED==TRUE)externvoidbta_dm_config_eir(tBTA_DM_MSG*p_data);externvoidbta_dm_set_page_timeout(tBTA_DM_MSG*p_data);externvoidbta_dm_get_page_timeout(tBTA_DM_MSG*p_data);externvoidbta_dm_set_acl_pkt_types(tBTA_DM_MSG*p_data);#if(ENC_KEY_SIZE_CTRL_MODE!=ENC_KEY_SIZE_CTRL_MODE_NONE)externvoidbta_dm_set_min_enc_key_size(tBTA_DM_MSG*p_data);#endif/* ... */#endifexternvoidbta_dm_set_afh_channels(tBTA_DM_MSG*p_data);externvoidbta_dm_read_rmt_name(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_channels(tBTA_DM_MSG*p_data);externvoidbta_dm_update_white_list(tBTA_DM_MSG*p_data);externvoidbta_dm_clear_white_list(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_read_adv_tx_power(tBTA_DM_MSG*p_data);externvoidbta_dm_read_rssi(tBTA_DM_MSG*p_data);externvoidbta_dm_set_visibility(tBTA_DM_MSG*p_data);externvoidbta_dm_set_scan_config(tBTA_DM_MSG*p_data);externvoidbta_dm_vendor_spec_command(tBTA_DM_MSG*p_data);externvoidbta_dm_bond(tBTA_DM_MSG*p_data);externvoidbta_dm_bond_cancel(tBTA_DM_MSG*p_data);externvoidbta_dm_set_pin_type(tBTA_DM_MSG*p_data);externvoidbta_dm_pin_reply(tBTA_DM_MSG*p_data);externvoidbta_dm_acl_change(tBTA_DM_MSG*p_data);externvoidbta_dm_add_device(tBTA_DM_MSG*p_data);externvoidbta_dm_remove_device(tBTA_DM_MSG*p_data);externvoidbta_dm_close_acl(tBTA_DM_MSG*p_data);externvoidbta_dm_add_ampkey(tBTA_DM_MSG*p_data);#ifBLE_INCLUDED==TRUEexternvoidbta_dm_add_blekey(tBTA_DM_MSG*p_data);externvoidbta_dm_add_ble_device(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_passkey_reply(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_static_passkey(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_confirm_reply(tBTA_DM_MSG*p_data);externvoidbta_dm_security_grant(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_bg_conn_type(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_conn_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_scan_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_scan_fil_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_conn_scan_params(tBTA_DM_MSG*p_data);#if((definedBTA_GATT_INCLUDED)&&(BTA_GATT_INCLUDED==TRUE)&&SDP_INCLUDED==TRUE)&&(GATTC_INCLUDED==TRUE)externvoidbta_dm_close_gatt_conn(tBTA_DM_MSG*p_data);#endif/* ((defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE) && SDP_INCLUDED == TRUE) && (GATTC_INCLUDED == TRUE) */externvoidbta_dm_ble_observe(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_scan(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_update_conn_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_disconnect(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_rand_address(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_clear_rand_address(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_stop_advertising(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_config_local_privacy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_config_local_icon(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_adv_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_adv_params_all(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_adv_config(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_long_adv(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_adv_config_raw(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_scan_rsp(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_scan_rsp_raw(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_broadcast(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_set_data_length(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_update_duplicate_exceptional_list(tBTA_DM_MSG*p_data);#ifSMP_INCLUDED==TRUEexternvoidbta_dm_co_security_param_init(void);#endif#ifBLE_ANDROID_CONTROLLER_SCAN_FILTER==TRUEexternvoidbta_dm_cfg_filter_cond(tBTA_DM_MSG*p_data);externvoidbta_dm_scan_filter_param_setup(tBTA_DM_MSG*p_data);externvoidbta_dm_enable_scan_filter(tBTA_DM_MSG*p_data);/* ... */#endifexternvoidbtm_dm_ble_multi_adv_disable(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_multi_adv_data(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_multi_adv_enb(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_dtm_tx_start(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_dtm_rx_start(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_dtm_stop(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_clear_adv(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_rpa_timeout(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_add_dev_to_resolving_list(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_privacy_mode(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_csa_support(tBTA_DM_MSG*p_data);#if(BLE_50_FEATURE_SUPPORT==TRUE)externvoidbta_dm_ble_gap_dtm_enhance_tx_start(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_dtm_enhance_rx_start(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_read_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_default_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_rand_addr(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_config_ext_adv_data_raw(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_ext_scan_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_scan(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_ext_conn_params(tBTA_DM_MSG*p_data);/* ... */#endif// #if (BLE_50_FEATURE_SUPPORT == TRUE)externvoidbta_dm_ble_setup_storage(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_enable_batch_scan(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_disable_batch_scan(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_read_scan_reports(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_track_advertiser(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_get_energy_info(tBTA_DM_MSG*p_data);/* ... */#endifexternvoidbta_dm_set_encryption(tBTA_DM_MSG*p_data);externvoidbta_dm_confirm(tBTA_DM_MSG*p_data);externvoidbta_dm_key_req(tBTA_DM_MSG*p_data);#if(BTA_HD_INCLUDED==TRUE)externBOOLEANbta_dm_check_if_only_hd_connected(BD_ADDRpeer_addr);#endif/* BTA_HD_INCLUDED */#if(BTM_OOB_INCLUDED==TRUE)externvoidbta_dm_loc_oob(tBTA_DM_MSG*p_data);externvoidbta_dm_oob_reply(tBTA_DM_MSG*p_data);externvoidbta_dm_sc_oob_reply(tBTA_DM_MSG*p_data);externvoidbta_dm_sc_create_oob_data(tBTA_DM_MSG*p_data);externvoidbta_dm_ci_io_req_act(tBTA_DM_MSG*p_data);externvoidbta_dm_ci_rmt_oob_act(tBTA_DM_MSG*p_data);/* ... */#endif/* BTM_OOB_INCLUDED */#if(BTA_DM_PM_INCLUDED==TRUE)externvoidbta_dm_init_pm(void);externvoidbta_dm_disable_pm(void);externvoidbta_dm_pm_active(BD_ADDRpeer_addr);externvoidbta_dm_pm_btm_status(tBTA_DM_MSG*p_data);externvoidbta_dm_pm_timer(tBTA_DM_MSG*p_data);/* ... */#endif/* #if (BTA_DM_PM_INCLUDED == TRUE) */#if(BTA_DM_QOS_INCLUDED==TRUE)externvoidbta_dm_set_qos(tBTA_DM_MSG*p_data);#endif/* #if (BTA_DM_QOS_INCLUDED == TRUE) */externUINT8bta_dm_get_av_count(void);externvoidbta_dm_search_start(tBTA_DM_MSG*p_data);externvoidbta_dm_search_cancel(tBTA_DM_MSG*p_data);externvoidbta_dm_discover(tBTA_DM_MSG*p_data);#if(SDP_INCLUDED==TRUE)externvoidbta_dm_di_disc(tBTA_DM_MSG*p_data);#endif///SDP_INCLUDED == TRUEexternvoidbta_dm_inq_cmpl(tBTA_DM_MSG*p_data);externvoidbta_dm_rmt_name(tBTA_DM_MSG*p_data);#if(SDP_INCLUDED==TRUE)externvoidbta_dm_sdp_result(tBTA_DM_MSG*p_data);#endif///SDP_INCLUDED == TRUEexternvoidbta_dm_search_cmpl(tBTA_DM_MSG*p_data);externvoidbta_dm_free_sdp_db(tBTA_DM_MSG*p_data);externvoidbta_dm_disc_result(tBTA_DM_MSG*p_data);externvoidbta_dm_search_result(tBTA_DM_MSG*p_data);externvoidbta_dm_discovery_cmpl(tBTA_DM_MSG*p_data);externvoidbta_dm_queue_search(tBTA_DM_MSG*p_data);externvoidbta_dm_queue_disc(tBTA_DM_MSG*p_data);externvoidbta_dm_search_clear_queue(tBTA_DM_MSG*p_data);externvoidbta_dm_search_cancel_cmpl(tBTA_DM_MSG*p_data);externvoidbta_dm_search_cancel_notify(tBTA_DM_MSG*p_data);externvoidbta_dm_search_cancel_transac_cmpl(tBTA_DM_MSG*p_data);externvoidbta_dm_disc_rmt_name(tBTA_DM_MSG*p_data);externtBTA_DM_PEER_DEVICE*bta_dm_find_peer_device(BD_ADDRpeer_addr);voidbta_dm_eir_update_uuid(tBT_UUIDuuid,BOOLEANadding);externvoidbta_dm_enable_test_mode(tBTA_DM_MSG*p_data);externvoidbta_dm_disable_test_mode(tBTA_DM_MSG*p_data);externvoidbta_dm_execute_callback(tBTA_DM_MSG*p_data);externvoidbta_dm_remove_all_acl(tBTA_DM_MSG*p_data);#if(BLE_50_FEATURE_SUPPORT==TRUE)externvoidbta_dm_ble_gap_read_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_default_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_phy(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_rand_addr(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_config_ext_adv_data_raw(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_start_ext_adv(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_remove(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_adv_set_clear(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_set_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_cfg_data_raw(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_enable(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_create_sync(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_sync_cancel(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_sync_terminate(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_add_dev_to_list(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_remove_dev_from_list(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_clear_dev(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_ext_scan_params(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_ext_scan(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_prefer_ext_conn_params(tBTA_DM_MSG*p_data);/* ... */#endif// #if (BLE_50_FEATURE_SUPPORT == TRUE)#if(BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER==TRUE)externvoidbta_dm_ble_gap_periodic_adv_recv_enable(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_sync_trans(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_periodic_adv_set_info_trans(tBTA_DM_MSG*p_data);externvoidbta_dm_ble_gap_set_periodic_adv_sync_trans_params(tBTA_DM_MSG*p_data);/* ... */#endif// #if (BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER == TRUE)/* ... */#endif/* BTA_DM_INT_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.