1 /*
2  *  Copyright 2020 The Android Open Source Project
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at:
7  *
8  *  http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  */
17 
18 #pragma once
19 #include <cstdint>
20 
21 #include "stack/include/btm_status.h"
22 #include "types/raw_address.h"
23 
24 // This header contains functions for Security Module to invoke
25 
26 void l2cu_update_lcb_4_bonding(const RawAddress& p_bd_addr, bool is_bonding);
27 
28 bool l2cu_start_post_bond_timer(uint16_t handle);
29 
30 void l2c_pin_code_request(const RawAddress& bd_addr);
31 
32 void l2cu_resubmit_pending_sec_req(const RawAddress* p_bda);
33 
34 // Establish ACL link to remote device for Security Manager/Pairing.
35 // Returns BTM_CMD_STARTED if already connecting, BTM_NO_RESOURCES if can't
36 // allocate lcb, BTM_SUCCESS if initiated the connection
37 tBTM_STATUS l2cu_ConnectAclForSecurity(const RawAddress& bd_addr);
38 
39 void l2cble_update_sec_act(const RawAddress& bd_addr, uint16_t sec_act);
40