1 /*
2  * Copyright 2021-2023, Cypress Semiconductor Corporation or
3  * an affiliate of Cypress Semiconductor Corporation.  All rights reserved.
4  *
5  * This software, including source code, documentation and related
6  * materials ("Software") is owned by Cypress Semiconductor Corporation
7  * or one of its affiliates ("Cypress") and is protected by and subject to
8  * worldwide patent protection (United States and foreign),
9  * United States copyright laws and international treaty provisions.
10  * Therefore, you may use this Software only as provided in the license
11  * agreement accompanying the software package from which you
12  * obtained this Software ("EULA").
13  * If no EULA applies, Cypress hereby grants you a personal, non-exclusive,
14  * non-transferable license to copy, modify, and compile the Software
15  * source code solely for use in connection with Cypress's
16  * integrated circuit products.  Any reproduction, modification, translation,
17  * compilation, or representation of this Software except as specified
18  * above is prohibited without the express written permission of Cypress.
19  *
20  * Disclaimer: THIS SOFTWARE IS PROVIDED AS-IS, WITH NO WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, IMPLIED
22  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress
23  * reserves the right to make changes to the Software without notice. Cypress
24  * does not assume any liability arising out of the application or use of the
25  * Software or any product or circuit described in the Software. Cypress does
26  * not authorize its products for use in any products where a malfunction or
27  * failure of the Cypress product may reasonably be expected to result in
28  * significant property damage, injury or death ("High Risk Product"). By
29  * including Cypress's product in a High Risk Product, the manufacturer
30  * of such system or application assumes all risk of such use and in doing
31  * so agrees to indemnify Cypress against all liability.
32  */
33 
34 #include "wiced_bt_types.h"
35 #include "wiced_result.h"
36 #include "hcidefs.h"
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /**
43  *
44  * Verify if the given bd_addr matches with the local bd_addr
45  *
46  * @param[in]      bd_addr    :  remote bd address
47  *
48  * @return         TRUE if bd_addr is same as local_bd_addr,FALSE otherwise
49  *
50  */
51 wiced_bool_t wiced_bt_dev_bdaddr_is_local(wiced_bt_device_address_t bd_addr);
52 
53 /**
54 *
55 * Compare two BD address
56 *
57 * @param[in]      bd_addr_1    :  bd address
58 * @param[in]      bd_addr_2    :  bd address to be compared with bd_addr_1
59 *
60 * Returns         TRUE if both bd_addr are same,
61 *                 FALSE if different
62 *
63 */
64 wiced_bool_t wiced_bt_dev_bdaddr_is_same(wiced_bt_device_address_t bd_addr_1, wiced_bt_device_address_t bd_addr_2);
65 
66 /**
67 * Is controller address resolution enabled
68 *
69 *
70 * Returns         TRUE if enabled
71 *
72 */
73 wiced_bool_t wiced_bt_dev_is_address_resolution_enabled(void);
74 
75 /**
76 * Is device privacy supported
77 *
78 *
79 * Returns         TRUE if supported
80 *
81 */
82 wiced_bool_t wiced_bt_dev_is_privacy_supported(void);
83 
84 /**
85 *  This function turns OFF/ON SMP over BR/EDR (i.e. link keys crosspairing SC BR/EDR->SC LE) for the remote device.
86 *  If mode is set to TRUE then the crosspairing will not happen.
87 *
88 * @param[in]  mode :  Set to TRUE to disable support for smp on br.
89 *
90 * Returns void
91 *
92 */
93 void wiced_bt_dev_set_no_smp_on_br(wiced_bool_t mode);
94