/* * Copyright 2023 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. * */ #define LOG_TAG "sec_interf" #include <bluetooth/log.h> #include "os/log.h" #include "stack/btm/btm_dev.h" #include "stack/btm/btm_sec.h" #include "stack/btm/btm_sec_cb.h" #include "stack/include/btm_ble_sec_api.h" #include "stack/include/btm_sec_api.h" #include "stack/include/security_client_callbacks.h" #include "types/bt_transport.h" using namespace bluetooth; static void BTM_SecConfirmReqReply(tBTM_STATUS res, tBT_TRANSPORT transport, const RawAddress bd_addr) { if (transport == BT_TRANSPORT_BR_EDR) { BTM_ConfirmReqReply(res, bd_addr); } else if (transport == BT_TRANSPORT_LE) { BTM_BleConfirmReply(bd_addr, res); } else { log::error("Unexpected transport:{}", transport); } } static SecurityClientInterface security = { .BTM_Sec_Init = BTM_Sec_Init, .BTM_Sec_Free = BTM_Sec_Free, .BTM_SecRegister = BTM_SecRegister, .BTM_BleLoadLocalKeys = BTM_BleLoadLocalKeys, .BTM_SecAddDevice = BTM_SecAddDevice, .BTM_SecAddBleDevice = BTM_SecAddBleDevice, .BTM_SecDeleteDevice = BTM_SecDeleteDevice, .BTM_SecAddBleKey = BTM_SecAddBleKey, .BTM_SecClearSecurityFlags = BTM_SecClearSecurityFlags, .BTM_SetEncryption = BTM_SetEncryption, .BTM_IsEncrypted = BTM_IsEncrypted, .BTM_SecIsSecurityPending = BTM_SecIsSecurityPending, .BTM_IsLinkKeyKnown = BTM_IsLinkKeyKnown, .BTM_SetSecurityLevel = BTM_SetSecurityLevel, .BTM_SecClrService = BTM_SecClrService, .BTM_SecClrServiceByPsm = BTM_SecClrServiceByPsm, .BTM_SecBond = BTM_SecBond, .BTM_SecBondCancel = BTM_SecBondCancel, .BTM_RemoteOobDataReply = BTM_RemoteOobDataReply, .BTM_PINCodeReply = BTM_PINCodeReply, .BTM_SecConfirmReqReply = BTM_SecConfirmReqReply, .BTM_BleSirkConfirmDeviceReply = BTM_BleSirkConfirmDeviceReply, .BTM_BlePasskeyReply = BTM_BlePasskeyReply, .BTM_GetSecurityMode = BTM_GetSecurityMode, .BTM_SecReadDevName = BTM_SecReadDevName, .BTM_SecAddRmtNameNotifyCallback = BTM_SecAddRmtNameNotifyCallback, .BTM_SecDeleteRmtNameNotifyCallback = BTM_SecDeleteRmtNameNotifyCallback, }; const SecurityClientInterface& get_security_client_interface() { return security; }