.BTM_ReadDevInfo = BTM_ReadDevInfo,
.BTM_ReadRemoteDeviceName = BTM_ReadRemoteDeviceName,
.BTM_ReadRemoteFeatures = BTM_ReadRemoteFeatures,
- .BTM_SetEncryption = BTM_SetEncryption,
.BTM_GetMaxPacketSize = BTM_GetMaxPacketSize,
.BTM_ReadRemoteVersion = BTM_ReadRemoteVersion,
},
.BTM_SecBond = BTM_SecBond,
.BTM_SecBondCancel = BTM_SecBondCancel,
.BTM_SecClearSecurityFlags = BTM_SecClearSecurityFlags,
+ .BTM_SecClrService = BTM_SecClrService,
.BTM_SecClrServiceByPsm = BTM_SecClrServiceByPsm,
.BTM_SecDeleteDevice = BTM_SecDeleteDevice,
.BTM_SecDeleteRmtNameNotifyCallback =
BTM_SecDeleteRmtNameNotifyCallback,
.BTM_SecReadDevName = BTM_SecReadDevName,
.BTM_SecRegister = BTM_SecRegister,
+ .BTM_SetEncryption = BTM_SetEncryption,
+ .BTM_IsEncrypted = BTM_IsEncrypted,
+ .BTM_SecIsSecurityPending = BTM_SecIsSecurityPending,
+ .BTM_IsLinkKeyKnown = BTM_IsLinkKeyKnown,
},
.ble =
.BTM_BleSetPhy = BTM_BleSetPhy,
.BTM_BleSetPrefConnParams = BTM_BleSetPrefConnParams,
.BTM_SetBleDataLength = BTM_SetBleDataLength,
+ .BTM_UseLeLink = BTM_UseLeLink,
},
.sco =
// Acl peer and lifecycle
struct {
+ struct {
+ bool (*SupportTransparentSynchronousData)(const RawAddress& bd_addr);
+ } features;
+
bool (*BTM_IsAclConnectionUp)(const RawAddress& bd_addr,
tBT_TRANSPORT transport);
bool (*BTM_ReadConnectedTransportAddress)(RawAddress* bd_addr,
tBTM_STATUS (*BTM_ReadRemoteDeviceName)(const RawAddress& bd_addr,
tBTM_CMPL_CB* p_cb,
tBT_TRANSPORT transport);
- tBTM_STATUS (*BTM_SetEncryption)(const RawAddress& bd_addr,
- tBT_TRANSPORT transport,
- tBTM_SEC_CALLBACK* p_callback,
- void* p_ref_data,
- tBTM_BLE_SEC_ACT sec_act);
uint8_t* (*BTM_ReadRemoteFeatures)(const RawAddress&);
void (*BTM_ReadDevInfo)(const RawAddress& bd_addr,
tBT_DEVICE_TYPE* p_dev_type,
tBT_DEVICE_TYPE dev_type,
tBLE_ADDR_TYPE addr_type);
void (*BTM_SecClearSecurityFlags)(const RawAddress& bd_addr);
+ uint8_t (*BTM_SecClrService)(uint8_t service_id);
uint8_t (*BTM_SecClrServiceByPsm)(uint16_t psm);
void (*BTM_RemoteOobDataReply)(tBTM_STATUS res, const RawAddress& bd_addr,
const Octet16& c, const Octet16& r);
void (*BTM_ConfirmReqReply)(tBTM_STATUS res, const RawAddress& bd_addr);
bool (*BTM_SecDeleteRmtNameNotifyCallback)(
tBTM_RMT_NAME_CALLBACK* p_callback);
-
+ tBTM_STATUS (*BTM_SetEncryption)(const RawAddress& bd_addr,
+ tBT_TRANSPORT transport,
+ tBTM_SEC_CALLBACK* p_callback,
+ void* p_ref_data,
+ tBTM_BLE_SEC_ACT sec_act);
+ bool (*BTM_IsEncrypted)(const RawAddress& bd_addr, tBT_TRANSPORT transport);
+ bool (*BTM_SecIsSecurityPending)(const RawAddress& bd_addr);
+ bool (*BTM_IsLinkKeyKnown)(const RawAddress& bd_addr,
+ tBT_TRANSPORT transport);
} security;
struct {
uint16_t max_conn_int,
uint16_t peripheral_latency,
uint16_t supervision_tout);
+ bool (*BTM_UseLeLink)(const RawAddress& bd_addr);
} ble;
struct {