Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
conn.h
Go to the documentation of this file.
1
4
5/*
6 * Copyright (c) 2015-2016 Intel Corporation
7 * Copyright (c) 2025 Nordic Semiconductor ASA
8 *
9 * SPDX-License-Identifier: Apache-2.0
10 */
11#ifndef ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_
12#define ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_
13
20
21#include <stdbool.h>
22#include <stdint.h>
23
29#include <zephyr/net_buf.h>
30#include <zephyr/sys/atomic.h>
32#include <zephyr/sys/slist.h>
34#include <zephyr/toolchain.h>
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
44struct bt_conn;
45
53
61#define BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
62{ \
63 .interval_min = (int_min), \
64 .interval_max = (int_max), \
65 .latency = (lat), \
66 .timeout = (to), \
67}
68
76#define BT_LE_CONN_PARAM(int_min, int_max, lat, to) \
77 ((struct bt_le_conn_param[]) { \
78 BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
79 })
80
86#define BT_LE_CONN_PARAM_DEFAULT \
87 BT_LE_CONN_PARAM(BT_GAP_INIT_CONN_INT_MIN, BT_GAP_INIT_CONN_INT_MAX, 0, \
88 BT_GAP_MS_TO_CONN_TIMEOUT(4000))
89
95
97enum {
100
103
106};
107
114
120#define BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
121{ \
122 .options = BT_CONN_LE_PHY_OPT_NONE, \
123 .pref_tx_phy = (_pref_tx_phy), \
124 .pref_rx_phy = (_pref_rx_phy), \
125}
126
132#define BT_CONN_LE_PHY_PARAM(_pref_tx_phy, _pref_rx_phy) \
133 ((struct bt_conn_le_phy_param []) { \
134 BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
135 })
136
138#define BT_CONN_LE_PHY_PARAM_1M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M, \
139 BT_GAP_LE_PHY_1M)
140
142#define BT_CONN_LE_PHY_PARAM_2M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_2M, \
143 BT_GAP_LE_PHY_2M)
144
146#define BT_CONN_LE_PHY_PARAM_CODED BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_CODED, \
147 BT_GAP_LE_PHY_CODED)
148
150#define BT_CONN_LE_PHY_PARAM_ALL BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M | \
151 BT_GAP_LE_PHY_2M | \
152 BT_GAP_LE_PHY_CODED, \
153 BT_GAP_LE_PHY_1M | \
154 BT_GAP_LE_PHY_2M | \
155 BT_GAP_LE_PHY_CODED)
156
168
176
182#define BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
183{ \
184 .tx_max_len = (_tx_max_len), \
185 .tx_max_time = (_tx_max_time), \
186}
187
193#define BT_CONN_LE_DATA_LEN_PARAM(_tx_max_len, _tx_max_time) \
194 ((struct bt_conn_le_data_len_param[]) { \
195 BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
196 })
197
199#define BT_LE_DATA_LEN_PARAM_DEFAULT \
200 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_DEFAULT, \
201 BT_GAP_DATA_TIME_DEFAULT)
202
204#define BT_LE_DATA_LEN_PARAM_MAX \
205 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_MAX, \
206 BT_GAP_DATA_TIME_MAX)
207
227
238
258
265#define BT_CONN_LE_MAX_CONN_INTERVAL_GROUPS 41
266
298
321
384
421
442
443#define BT_CONN_LE_FRAME_SPACE_TYPES_MASK_ACL_IFS \
444 (BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_IFS_ACL_CP_MASK | \
445 BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_IFS_ACL_PC_MASK)
446
447#define BT_CONN_LE_FRAME_SPACE_TYPES_MASK_ACL \
448 (BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_IFS_ACL_CP_MASK | \
449 BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_IFS_ACL_PC_MASK | \
450 BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_MCES_MASK)
451
452#define BT_CONN_LE_FRAME_SPACE_TYPES_MASK_CIS \
453 (BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_IFS_CIS_MASK | \
454 BT_HCI_LE_FRAME_SPACE_UPDATE_SPACING_TYPE_MSS_CIS_MASK)
455
459#define BT_CONN_LE_FRAME_SPACE_MAX (10000U)
460
473
500
522
537
547
557
567
703
708
720#define BT_CONN_LE_CS_MODE_MAIN_MODE_PART(x) ((x) & 0x3)
721
736#define BT_CONN_LE_CS_MODE_SUB_MODE_PART(x) (((x) >> 4) & 0x3)
737
766
774
792
802
810
818
872
879
885
897
909
997
1009struct bt_conn *bt_conn_ref(struct bt_conn *conn);
1010
1019void bt_conn_unref(struct bt_conn *conn);
1020
1034static inline struct bt_conn *__must_check bt_conn_take(struct bt_conn **orig)
1035{
1036 return (struct bt_conn *)atomic_ptr_clear((atomic_ptr_t *)orig);
1037}
1038
1047void bt_conn_drop(struct bt_conn **orig);
1048
1066 void (*func)(struct bt_conn *conn, void *data),
1067 void *data);
1068
1082
1089const bt_addr_le_t *bt_conn_get_dst(const struct bt_conn *conn);
1090
1101uint8_t bt_conn_index(const struct bt_conn *conn);
1102
1117#if !defined(CONFIG_BT_SHORTER_CONNECTION_INTERVALS) || defined(__DOXYGEN__)
1118 union {
1123 __deprecated uint16_t interval;
1126 uint16_t _interval;
1128 };
1129#endif /* !CONFIG_BT_SHORTER_CONNECTION_INTERVALS */
1130
1133
1134#if defined(CONFIG_BT_USER_PHY_UPDATE) || defined(__DOXYGEN__)
1137#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
1138
1139#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE) || defined(__DOXYGEN__)
1142#endif /* defined(CONFIG_BT_USER_DATA_LEN_UPDATE) */
1143
1144#if defined(CONFIG_BT_SUBRATING) || defined(__DOXYGEN__)
1147#endif /* defined(CONFIG_BT_SUBRATING) */
1148};
1149
1157#define BT_CONN_INTERVAL_TO_MS(interval) ((interval) * 5U / 4U)
1158
1163#define BT_CONN_INTERVAL_TO_US(interval) ((interval) * 1250U)
1164
1169#define BT_CONN_SCI_INTERVAL_TO_US(_interval) ((_interval) * BT_HCI_LE_SCI_INTERVAL_UNIT_US)
1170
1174};
1175
1181
1182enum {
1185};
1186
1197
1215
1223
1233
1256
1259
1262};
1263
1273
1300
1313
1336
1337
1372
1391
1395
1405
1423
1436
1444int bt_conn_get_info(const struct bt_conn *conn, struct bt_conn_info *info);
1445
1447struct bt_conn_tmp_str {
1448 /* BT_ADDR_LE_STR_LEN covers both BR/EDR and LE string lengths */
1449 char str[BT_ADDR_LE_STR_LEN];
1450};
1451
1452struct bt_conn_tmp_str bt_conn_dst_tmp_str(const struct bt_conn *conn);
1454
1465#define bt_conn_dst_str(_conn) bt_conn_dst_tmp_str(_conn).str
1466
1476bool bt_conn_is_type(const struct bt_conn *conn, enum bt_conn_type type);
1477
1494int bt_conn_get_remote_info(const struct bt_conn *conn, struct bt_conn_remote_info *remote_info);
1495
1506 struct bt_conn_le_tx_power *tx_power_level);
1507
1518 struct bt_conn_le_tx_power *tx_power);
1519
1530 enum bt_conn_le_tx_power_phy phy);
1531
1543 bool local_enable,
1544 bool remote_enable);
1545
1559 const struct bt_conn_le_path_loss_reporting_param *param);
1560
1574int bt_conn_le_set_path_loss_mon_enable(struct bt_conn *conn, bool enable);
1575
1591
1605 const struct bt_conn_le_subrate_param *params);
1606
1625
1640
1658
1677 const struct bt_conn_le_conn_rate_param *params);
1678
1695int bt_conn_le_read_all_remote_features(struct bt_conn *conn, uint8_t pages_requested);
1696
1712 const struct bt_conn_le_frame_space_update_param *params);
1713
1727 const struct bt_le_conn_param *param);
1728
1738 const struct bt_conn_le_data_len_param *param);
1739
1752 const struct bt_conn_le_phy_param *param);
1753
1766int bt_conn_le_set_default_phy(uint8_t pref_tx_phy, uint8_t pref_rx_phy);
1767
1790int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason);
1791
1792enum {
1795
1801
1809};
1810
1857
1864#define BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
1865{ \
1866 .options = (_options), \
1867 .interval = (_interval), \
1868 .window = (_window), \
1869 .interval_coded = 0, \
1870 .window_coded = 0, \
1871 .timeout = 0, \
1872}
1873
1880#define BT_CONN_LE_CREATE_PARAM(_options, _interval, _window) \
1881 ((struct bt_conn_le_create_param[]) { \
1882 BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
1883 })
1884
1888#define BT_CONN_LE_CREATE_CONN \
1889 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
1890 BT_GAP_SCAN_FAST_INTERVAL, \
1891 BT_GAP_SCAN_FAST_INTERVAL)
1892
1897#define BT_CONN_LE_CREATE_CONN_AUTO \
1898 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
1899 BT_GAP_SCAN_FAST_INTERVAL, \
1900 BT_GAP_SCAN_FAST_WINDOW)
1901
1925 const struct bt_conn_le_create_param *create_param,
1926 const struct bt_le_conn_param *conn_param,
1927 struct bt_conn **conn);
1928
1941
1962 const struct bt_conn_le_create_synced_param *synced_param,
1963 const struct bt_le_conn_param *conn_param, struct bt_conn **conn);
1964
1981 const struct bt_le_conn_param *conn_param);
1982
1988
2027
2038
2050
2082
2087
2125
2127 /* The ID associated with the desired configuration (0 to 3) */
2129
2130 /* State of the CS procedure */
2132
2133 /* Antenna configuration index */
2135
2136 /* Transmit power level used for CS procedures (-127 to 20 dB; 0x7F if unavailable) */
2138
2139 /* Duration of each CS subevent in microseconds (1250 us to 4 s) */
2141
2142 /* Number of CS subevents anchored off the same ACL connection event (0x01 to 0x20) */
2144
2145 /* Time between consecutive CS subevents anchored off the same ACL connection event in
2146 * units of 0.625 ms
2147 */
2149
2150 /* Number of ACL connection events between consecutive CS event anchor points */
2152
2153 /* Number of ACL connection events between consecutive CS procedure anchor points */
2155
2156 /* Number of CS procedures to be scheduled (0 if procedures to continue until disabled) */
2158
2159 /* Maximum duration for each procedure in units of 0.625 ms (0x0001 to 0xFFFF) */
2161};
2162
2165#if defined(CONFIG_BT_POWER_MODE_CONTROL) || defined(__DOXYGEN__)
2174 void (*mode_changed)(struct bt_conn *conn, uint8_t mode, uint16_t interval);
2175#endif /* CONFIG_BT_POWER_MODE_CONTROL */
2176
2185 void (*role_changed)(struct bt_conn *conn, uint8_t status);
2186
2196 void (*packet_type_changed)(struct bt_conn *conn, uint8_t status, uint16_t packet_type);
2197};
2198
2207#define BT_CONN_PARAM_REJECT_ERR_L2CAP_CPUP 0xFF
2208
2244 void (*connected)(struct bt_conn *conn, uint8_t err);
2245
2262 void (*disconnected)(struct bt_conn *conn, uint8_t reason);
2263
2279 void (*recycled)(void);
2280
2305 bool (*le_param_req)(struct bt_conn *conn,
2306 struct bt_le_conn_param *param);
2307
2318 void (*le_param_updated)(struct bt_conn *conn, uint16_t interval,
2319 uint16_t latency, uint16_t timeout);
2320
2321#if defined(CONFIG_BT_USER_CONN_PARAM_REJECTED) || defined(__DOXYGEN__)
2340 void (*le_param_update_rejected)(struct bt_conn *conn, uint8_t hci_err);
2341#endif /* defined(CONFIG_BT_USER_CONN_PARAM_REJECTED) || defined(__DOXYGEN__) */
2342
2343#if defined(CONFIG_BT_SMP) || defined(__DOXYGEN__)
2353 void (*identity_resolved)(struct bt_conn *conn,
2354 const bt_addr_le_t *rpa,
2355 const bt_addr_le_t *identity);
2356#endif /* CONFIG_BT_SMP */
2357#if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_CLASSIC)
2374 void (*security_changed)(struct bt_conn *conn, bt_security_t level,
2375 enum bt_security_err err);
2376#endif /* defined(CONFIG_BT_SMP) || defined(CONFIG_BT_CLASSIC) */
2377
2378#if defined(CONFIG_BT_REMOTE_INFO) || defined(__DOXYGEN__)
2387 void (*remote_info_available)(struct bt_conn *conn,
2388 struct bt_conn_remote_info *remote_info);
2389#endif /* defined(CONFIG_BT_REMOTE_INFO) */
2390
2391#if defined(CONFIG_BT_CLASSIC) || defined(__DOXYGEN__)
2394#endif /* CONFIG_BT_CLASSIC */
2395
2396#if defined(CONFIG_BT_USER_PHY_UPDATE) || defined(__DOXYGEN__)
2405 void (*le_phy_updated)(struct bt_conn *conn,
2406 struct bt_conn_le_phy_info *param);
2407#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
2408
2409#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE) || defined(__DOXYGEN__)
2418 void (*le_data_len_updated)(struct bt_conn *conn,
2419 struct bt_conn_le_data_len_info *info);
2420#endif /* defined(CONFIG_BT_USER_DATA_LEN_UPDATE) */
2421
2422#if defined(CONFIG_BT_DF_CONNECTION_CTE_RX) || defined(__DOXYGEN__)
2429 void (*cte_report_cb)(struct bt_conn *conn,
2430 const struct bt_df_conn_iq_samples_report *iq_report);
2431#endif /* CONFIG_BT_DF_CONNECTION_CTE_RX */
2432
2433#if defined(CONFIG_BT_TRANSMIT_POWER_CONTROL) || defined(__DOXYGEN__)
2445 void (*tx_power_report)(struct bt_conn *conn,
2446 const struct bt_conn_le_tx_power_report *report);
2447#endif /* CONFIG_BT_TRANSMIT_POWER_CONTROL */
2448
2449#if defined(CONFIG_BT_PATH_LOSS_MONITORING) || defined(__DOXYGEN__)
2460 const struct bt_conn_le_path_loss_threshold_report *report);
2461#endif /* CONFIG_BT_PATH_LOSS_MONITORING */
2462
2463#if defined(CONFIG_BT_SUBRATING) || defined(__DOXYGEN__)
2474 void (*subrate_changed)(struct bt_conn *conn,
2475 const struct bt_conn_le_subrate_changed *params);
2476#endif /* CONFIG_BT_SUBRATING */
2477
2478#if defined(CONFIG_BT_SHORTER_CONNECTION_INTERVALS) || defined(__DOXYGEN__)
2499 void (*conn_rate_changed)(struct bt_conn *conn, uint8_t status,
2500 const struct bt_conn_le_conn_rate_changed *params);
2501#endif /* CONFIG_BT_SHORTER_CONNECTION_INTERVALS */
2502
2503#if defined(CONFIG_BT_LE_EXTENDED_FEAT_SET) || defined(__DOXYGEN__)
2518 struct bt_conn *conn,
2519 const struct bt_conn_le_read_all_remote_feat_complete *params);
2520#endif /* CONFIG_BT_LE_EXTENDED_FEAT_SET */
2521
2522#if defined(CONFIG_BT_FRAME_SPACE_UPDATE) || defined(__DOXYGEN__)
2538 struct bt_conn *conn,
2539 const struct bt_conn_le_frame_space_updated *params);
2540#endif /* CONFIG_BT_FRAME_SPACE_UPDATE */
2541
2542#if defined(CONFIG_BT_CHANNEL_SOUNDING) || defined(__DOXYGEN__)
2556 uint8_t status,
2557 struct bt_conn_le_cs_capabilities *params);
2558
2572 uint8_t status,
2573 struct bt_conn_le_cs_fae_table *params);
2574
2586 void (*le_cs_config_complete)(struct bt_conn *conn,
2587 uint8_t status,
2588 struct bt_conn_le_cs_config *config);
2589
2598 void (*le_cs_config_removed)(struct bt_conn *conn, uint8_t config_id);
2599
2609 struct bt_conn_le_cs_subevent_result *result);
2610
2621 void (*le_cs_security_enable_complete)(struct bt_conn *conn, uint8_t status);
2622
2635 struct bt_conn *conn, uint8_t status,
2637
2638#endif
2639
2640#if defined(CONFIG_BT_CONN_DYNAMIC_CALLBACKS)
2642 sys_snode_t _node;
2643#endif
2644};
2645
2656
2669
2675#define BT_CONN_CB_DEFINE(_name) \
2676 static const STRUCT_SECTION_ITERABLE(bt_conn_cb, \
2677 _CONCAT(bt_conn_cb_, \
2678 _name))
2679
2686#if defined(CONFIG_BT_SECURITY_ERR_TO_STR)
2687const char *bt_security_err_to_str(enum bt_security_err err);
2688#else
2689static inline const char *bt_security_err_to_str(enum bt_security_err err)
2690{
2691 ARG_UNUSED(err);
2692
2693 return "";
2694}
2695#endif
2696
2707void bt_set_bondable(bool enable);
2708
2719
2743int bt_conn_set_bondable(struct bt_conn *conn, bool enable);
2744
2751void bt_le_oob_set_sc_flag(bool enable);
2752
2760
2775int bt_le_oob_set_legacy_tk(struct bt_conn *conn, const uint8_t *tk);
2776
2797 const struct bt_le_oob_sc_data *oobd_local,
2798 const struct bt_le_oob_sc_data *oobd_remote);
2799
2817 const struct bt_le_oob_sc_data **oobd_local,
2818 const struct bt_le_oob_sc_data **oobd_remote);
2819
2824#define BT_PASSKEY_INVALID 0xffffffff
2825
2842__deprecated int bt_passkey_set(unsigned int passkey);
2843
2875
2905
2911#define BT_PASSKEY_RAND 0xffffffff
2912
2915#if defined(CONFIG_BT_SMP_APP_PAIRING_ACCEPT) || defined(__DOXYGEN__)
2945 enum bt_security_err (*pairing_accept)(struct bt_conn *conn,
2946 const struct bt_conn_pairing_feat *const feat);
2947#endif /* CONFIG_BT_SMP_APP_PAIRING_ACCEPT */
2948
2967 void (*passkey_display)(struct bt_conn *conn, unsigned int passkey);
2968
2969#if defined(CONFIG_BT_PASSKEY_KEYPRESS) || defined(__DOXYGEN__)
2991 void (*passkey_display_keypress)(struct bt_conn *conn,
2992 enum bt_conn_auth_keypress type);
2993#endif /* CONFIG_BT_PASSKEY_KEYPRESS */
2994
3013 void (*passkey_entry)(struct bt_conn *conn);
3014
3036 void (*passkey_confirm)(struct bt_conn *conn, unsigned int passkey);
3037
3054 void (*oob_data_request)(struct bt_conn *conn,
3055 struct bt_conn_oob_info *info);
3056
3069 void (*cancel)(struct bt_conn *conn);
3070
3089 void (*pairing_confirm)(struct bt_conn *conn);
3090
3091#if defined(CONFIG_BT_CLASSIC) || defined(__DOXYGEN__)
3110 void (*pincode_entry)(struct bt_conn *conn, bool highsec);
3111#endif /* CONFIG_BT_CLASSIC */
3112
3113#if defined(CONFIG_BT_APP_PASSKEY) || defined(__DOXYGEN__)
3134 uint32_t (*app_passkey)(struct bt_conn *conn);
3135#endif /* CONFIG_BT_APP_PASSKEY */
3136};
3137
3149 void (*pairing_complete)(struct bt_conn *conn, bool bonded);
3150
3156 void (*pairing_failed)(struct bt_conn *conn,
3157 enum bt_security_err reason);
3158
3167 void (*bond_deleted)(uint8_t id, const bt_addr_le_t *peer);
3168
3169#if defined(CONFIG_BT_CLASSIC) || defined(__DOXYGEN__)
3177 void (*br_bond_deleted)(const bt_addr_t *peer);
3178#endif /* CONFIG_BT_CLASSIC */
3179
3182};
3183
3194
3210int bt_conn_auth_cb_overlay(struct bt_conn *conn, const struct bt_conn_auth_cb *cb);
3211
3222
3232
3244int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey);
3245
3263
3274
3286
3298
3310int bt_conn_auth_pincode_entry(struct bt_conn *conn, const char *pin);
3311
3316
3321#define BT_BR_CONN_PARAM_INIT(role_switch) \
3322{ \
3323 .allow_role_switch = (role_switch), \
3324}
3325
3330#define BT_BR_CONN_PARAM(role_switch) \
3331 ((struct bt_br_conn_param[]) { \
3332 BT_BR_CONN_PARAM_INIT(role_switch) \
3333 })
3334
3338#define BT_BR_CONN_PARAM_DEFAULT BT_BR_CONN_PARAM(true)
3339
3340
3354 const struct bt_br_conn_param *param);
3355
3368
3375const bt_addr_t *bt_conn_get_dst_br(const struct bt_conn *conn);
3376
3387int bt_conn_br_switch_role(const struct bt_conn *conn, uint8_t role);
3388
3398int bt_conn_br_set_role_switch_enable(const struct bt_conn *conn, bool enable);
3399
3413int bt_conn_br_enter_sniff_mode(struct bt_conn *conn, uint16_t min_interval,
3414 uint16_t max_interval, uint16_t attempt, uint16_t timeout);
3415
3425
3448 uint16_t min_remote_timeout,
3449 uint16_t min_local_timeout);
3450
3461
3476
3494int bt_conn_br_change_packet_type(const struct bt_conn *conn, uint16_t packet_type);
3495
3496#ifdef __cplusplus
3497}
3498#endif
3499
3503
3504#endif /* ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_ */
Bluetooth device address definitions and utilities.
Bluetooth subsystem core APIs.
Bluetooth Generic Access Profile defines and Assigned Numbers.
atomic_ptr_val_t atomic_ptr_clear(atomic_ptr_t *target)
Atomic clear of a pointer value.
void * atomic_ptr_t
Atomic pointer variable.
Definition atomic_types.h:46
#define BT_ADDR_LE_STR_LEN
Recommended length of user string buffer for Bluetooth LE address.
Definition addr.h:221
void bt_set_bondable(bool enable)
Enable/disable bonding.
struct bt_conn * bt_conn_ref(struct bt_conn *conn)
Increment a connection's reference count.
int bt_conn_le_get_remote_tx_power_level(struct bt_conn *conn, enum bt_conn_le_tx_power_phy phy)
Get remote (peer) transmit power level.
int bt_le_oob_get_sc_data(struct bt_conn *conn, const struct bt_le_oob_sc_data **oobd_local, const struct bt_le_oob_sc_data **oobd_remote)
Get OOB data used for LE Secure Connections (SC) pairing procedure.
bool bt_get_bondable(void)
Get bonding flag.
bt_conn_le_cs_role
Channel sounding role.
Definition conn.h:768
int bt_le_oob_set_legacy_tk(struct bt_conn *conn, const uint8_t *tk)
Set OOB Temporary Key to be used for pairing.
struct bt_conn * bt_conn_lookup_addr_br(const bt_addr_t *peer)
Look up an existing BR connection by address.
int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason)
Disconnect from a remote device or cancel pending connection.
bt_conn_le_cs_capability_rtt_sounding
Supported Sounding Sequence RTT precision.
Definition conn.h:549
const bt_addr_t * bt_conn_get_dst_br(const struct bt_conn *conn)
Get destination (peer) address of a connection.
int bt_conn_auth_cb_register(const struct bt_conn_auth_cb *cb)
Register authentication callbacks.
struct bt_conn * bt_conn_lookup_addr_le(uint8_t id, const bt_addr_le_t *peer)
Look up an existing connection by address.
int bt_conn_auth_keypress_notify(struct bt_conn *conn, enum bt_conn_auth_keypress type)
Send Passkey Keypress Notification during pairing.
int bt_conn_get_info(const struct bt_conn *conn, struct bt_conn_info *info)
Get connection info.
int bt_conn_le_conn_rate_request(struct bt_conn *conn, const struct bt_conn_le_conn_rate_param *params)
Request New Connection Rate Parameters.
int bt_conn_le_read_min_conn_interval_groups(struct bt_conn_le_min_conn_interval_info *info)
Read Minimum Supported Connection Interval Groups.
bt_conn_le_cs_mode
Channel sounding mode (main and sub-mode).
Definition conn.h:749
bt_security_flag
Security Info Flags.
Definition conn.h:1217
bt_conn_le_cs_procedure_abort_reason
Procedure abort reason.
Definition conn.h:887
static const char * bt_security_err_to_str(enum bt_security_err err)
Converts a security error to string.
Definition conn.h:2689
int bt_passkey_set(unsigned int passkey)
Set a fixed passkey to be used for pairing.
bt_conn_le_cs_chsel_type
Channel sounding channel selection type.
Definition conn.h:804
int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey)
Reply with entered passkey.
int bt_conn_br_switch_role(const struct bt_conn *conn, uint8_t role)
Change the role of the conn.
int bt_conn_auth_pairing_confirm(struct bt_conn *conn)
Reply if incoming pairing was confirmed by user.
int bt_conn_auth_pincode_entry(struct bt_conn *conn, const char *pin)
Reply with entered PIN code.
int bt_conn_set_bondable(struct bt_conn *conn, bool enable)
Set/clear the bonding flag for a given connection.
void bt_conn_unref(struct bt_conn *conn)
Decrement a connection's reference count.
bt_security_t bt_conn_get_security(const struct bt_conn *conn)
Get security level for a connection.
bt_conn_le_cs_capability_rtt_random_payload
Supported Random Payload RTT precision.
Definition conn.h:559
bt_conn_auth_keypress
Passkey Keypress Notification type.
Definition conn.h:1429
void bt_conn_foreach(enum bt_conn_type type, void(*func)(struct bt_conn *conn, void *data), void *data)
Iterate through all bt_conn objects.
int bt_conn_create_auto_stop(void)
Stop automatic connect creation.
bt_conn_le_cs_subevent_abort_reason
Subevent abort reason.
Definition conn.h:899
int bt_conn_br_enter_sniff_mode(struct bt_conn *conn, uint16_t min_interval, uint16_t max_interval, uint16_t attempt, uint16_t timeout)
bluetooth conn check and enter sniff mode
int bt_conn_le_set_path_loss_mon_param(struct bt_conn *conn, const struct bt_conn_le_path_loss_reporting_param *param)
Set Path Loss Monitoring Parameters.
bt_conn_le_tx_power_phy
Definition conn.h:1301
int bt_conn_le_subrate_request(struct bt_conn *conn, const struct bt_conn_le_subrate_param *params)
Request New Subrating Parameters.
int bt_conn_br_get_supervision_timeout(struct bt_conn *conn, uint16_t *timeout)
Read BR/EDR supervision timeout.
const bt_addr_le_t * bt_conn_get_dst(const struct bt_conn *conn)
Get destination (peer) address of a connection.
int bt_conn_le_set_default_phy(uint8_t pref_tx_phy, uint8_t pref_rx_phy)
Update the default PHY parameters to be used for all subsequent connections over the LE transport.
int bt_conn_auth_cb_overlay(struct bt_conn *conn, const struct bt_conn_auth_cb *cb)
Overlay authentication callbacks used for a given connection.
int bt_conn_br_set_supervision_timeout(struct bt_conn *conn, uint16_t timeout)
Set BR/EDR supervision timeout.
int bt_conn_auth_cancel(struct bt_conn *conn)
Cancel ongoing authenticated pairing.
int bt_conn_le_data_len_update(struct bt_conn *conn, const struct bt_conn_le_data_len_param *param)
Update the connection transmit data length parameters.
int bt_conn_le_create(const bt_addr_le_t *peer, const struct bt_conn_le_create_param *create_param, const struct bt_le_conn_param *conn_param, struct bt_conn **conn)
Initiate an LE connection to a remote device.
bt_conn_le_cs_subevent_done_status
Subevent done status.
Definition conn.h:881
int bt_conn_le_set_path_loss_mon_enable(struct bt_conn *conn, bool enable)
Enable or Disable Path Loss Monitoring.
int bt_conn_br_set_sniff_subrating(struct bt_conn *conn, uint16_t max_latency, uint16_t min_remote_timeout, uint16_t min_local_timeout)
Set BR/EDR sniff subrating parameters.
bt_conn_state
Definition conn.h:1187
void bt_le_oob_set_legacy_flag(bool enable)
Allow/disallow remote legacy OOB data to be used for pairing.
int bt_conn_le_create_synced(const struct bt_le_ext_adv *adv, const struct bt_conn_le_create_synced_param *synced_param, const struct bt_le_conn_param *conn_param, struct bt_conn **conn)
Create a connection to a synced device.
bt_conn_le_cs_procedure_done_status
Procedure done status.
Definition conn.h:874
int bt_conn_le_read_min_conn_interval(uint16_t *min_interval_us)
Read Minimum Supported Connection Interval.
int bt_conn_le_set_tx_power_report_enable(struct bt_conn *conn, bool local_enable, bool remote_enable)
Enable transmit power reporting.
int bt_conn_le_get_tx_power_level(struct bt_conn *conn, struct bt_conn_le_tx_power *tx_power_level)
Get connection transmit power level.
int bt_conn_le_enhanced_get_tx_power_level(struct bt_conn *conn, struct bt_conn_le_tx_power *tx_power)
Get local enhanced connection transmit power level.
bt_security_err
Definition conn.h:2051
int bt_conn_cb_register(struct bt_conn_cb *cb)
Register connection callbacks.
bt_conn_le_cs_sync_phy
Channel sounding PHY used for CS sync.
Definition conn.h:794
int bt_conn_br_exit_sniff_mode(struct bt_conn *conn)
bluetooth conn check and exit sniff mode
int bt_conn_le_param_update(struct bt_conn *conn, const struct bt_le_conn_param *param)
Update the connection parameters.
int bt_conn_br_set_role_switch_enable(const struct bt_conn *conn, bool enable)
Enable/disable role switch of the connection by setting the connection's link policy.
int bt_conn_le_frame_space_update(struct bt_conn *conn, const struct bt_conn_le_frame_space_update_param *params)
Update frame space.
bt_conn_le_cs_tone_antenna_config_selection
CS Test Tone Antenna Config Selection.
Definition conn.h:2115
int bt_conn_auth_passkey_confirm(struct bt_conn *conn)
Reply if passkey was confirmed to match by user.
bt_conn_type
Connection Type.
Definition conn.h:524
int bt_conn_le_read_all_remote_features(struct bt_conn *conn, uint8_t pages_requested)
Read remote feature pages.
int bt_le_oob_set_sc_data(struct bt_conn *conn, const struct bt_le_oob_sc_data *oobd_local, const struct bt_le_oob_sc_data *oobd_remote)
Set OOB data during LE Secure Connections (SC) pairing procedure.
int bt_conn_get_remote_info(const struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
Get connection info for the remote device.
int bt_conn_auth_info_cb_register(struct bt_conn_auth_info_cb *cb)
Register authentication information callbacks.
int bt_conn_auth_info_cb_unregister(struct bt_conn_auth_info_cb *cb)
Unregister authentication information callbacks.
int bt_conn_le_subrate_set_defaults(const struct bt_conn_le_subrate_param *params)
Set Default Connection Subrating Parameters.
int bt_conn_le_conn_rate_set_defaults(const struct bt_conn_le_conn_rate_param *params)
Set Default Connection Rate Parameters.
void bt_le_oob_set_sc_flag(bool enable)
Allow/disallow remote LE SC OOB data to be used for pairing.
int bt_conn_cb_unregister(struct bt_conn_cb *cb)
Unregister connection callbacks.
uint8_t bt_conn_index(const struct bt_conn *conn)
Get array index of a connection.
#define BT_CONN_LE_MAX_CONN_INTERVAL_GROUPS
Maximum Connection Interval Groups possible.
Definition conn.h:265
int bt_conn_set_security(struct bt_conn *conn, bt_security_t sec)
Set security level for a connection.
int bt_conn_le_phy_update(struct bt_conn *conn, const struct bt_conn_le_phy_param *param)
Update the connection PHY parameters.
int bt_conn_br_change_packet_type(const struct bt_conn *conn, uint16_t packet_type)
Change BR/EDR connection packet type.
bt_conn_le_frame_space_update_initiator
Frame space update initiator.
Definition conn.h:462
int bt_conn_le_create_auto(const struct bt_conn_le_create_param *create_param, const struct bt_le_conn_param *conn_param)
Automatically connect to remote devices in the filter accept list.
static struct bt_conn * bt_conn_take(struct bt_conn **orig)
Take ownership of a connection pointer, setting the original to NULL.
Definition conn.h:1034
bt_security_t
Security level.
Definition conn.h:1199
void bt_conn_drop(struct bt_conn **orig)
Drop a connection reference and clear the pointer.
bt_conn_le_cs_ch3c_shape
Channel sounding channel sequence shape.
Definition conn.h:812
bt_conn_le_cs_procedure_enable_state
Definition conn.h:2083
bool bt_conn_is_type(const struct bt_conn *conn, enum bt_conn_type type)
Function to determine the type of a connection.
bt_conn_le_path_loss_zone
Path Loss zone that has been entered.
Definition conn.h:1381
struct bt_conn * bt_conn_create_br(const bt_addr_t *peer, const struct bt_br_conn_param *param)
Initiate an BR/EDR connection to a remote device.
bt_conn_le_cs_capability_rtt_aa_only
Supported AA-Only RTT precision.
Definition conn.h:539
uint8_t bt_conn_enc_key_size(const struct bt_conn *conn)
Get encryption key size.
bt_conn_le_cs_rtt_type
Channel sounding RTT type.
Definition conn.h:776
@ BT_CONN_LE_CS_ROLE_REFLECTOR
CS reflector role.
Definition conn.h:772
@ BT_CONN_LE_CS_ROLE_INITIATOR
CS initiator role.
Definition conn.h:770
@ BT_CONN_LE_CS_RTT_SOUNDING_150NS
150ns time-of-flight accuracy.
Definition conn.h:555
@ BT_CONN_LE_CS_RTT_SOUNDING_NOT_SUPP
Sounding Sequence RTT variant is not supported.
Definition conn.h:551
@ BT_CONN_LE_CS_RTT_SOUNDING_10NS
10ns time-of-flight accuracy.
Definition conn.h:553
@ BT_CONN_LE_PHY_OPT_CODED_S2
LE Coded using S=2 coding preferred when transmitting.
Definition conn.h:102
@ BT_CONN_LE_PHY_OPT_CODED_S8
LE Coded using S=8 coding preferred when transmitting.
Definition conn.h:105
@ BT_CONN_LE_PHY_OPT_NONE
Convenience value when no options are specified.
Definition conn.h:99
@ BT_CONN_LE_CS_MAIN_MODE_3_SUB_MODE_2
Main mode 3 (RTT and PBR), sub-mode 2 (PBR).
Definition conn.h:763
@ BT_CONN_LE_CS_MAIN_MODE_3_NO_SUB_MODE
Main mode 3 (RTT and PBR), sub-mode: unused.
Definition conn.h:755
@ BT_CONN_LE_CS_MAIN_MODE_1_NO_SUB_MODE
Main mode 1 (RTT), sub-mode: unused.
Definition conn.h:751
@ BT_CONN_LE_CS_MAIN_MODE_2_NO_SUB_MODE
Main mode 2 (PBR), sub-mode: unused.
Definition conn.h:753
@ BT_CONN_LE_CS_MAIN_MODE_2_SUB_MODE_1
Main mode 2 (PBR), sub-mode 1 (RTT).
Definition conn.h:757
@ BT_CONN_LE_CS_MAIN_MODE_2_SUB_MODE_3
Main mode 2 (PBR), sub-mode 3 (RTT and PBR).
Definition conn.h:760
@ BT_SECURITY_FLAG_OOB
Paired with Out of Band method.
Definition conn.h:1221
@ BT_SECURITY_FLAG_SC
Paired with Secure Connections.
Definition conn.h:1219
@ BT_CONN_LE_CS_PROCEDURE_ABORT_REQUESTED
Definition conn.h:889
@ BT_CONN_LE_CS_PROCEDURE_ABORT_TOO_FEW_CHANNELS
Definition conn.h:891
@ BT_CONN_LE_CS_PROCEDURE_NOT_ABORTED
Definition conn.h:888
@ BT_CONN_LE_CS_PROCEDURE_ABORT_UNSPECIFIED
Definition conn.h:895
@ BT_CONN_LE_CS_PROCEDURE_ABORT_CHMAP_INSTANT_PASSED
Definition conn.h:893
@ BT_CONN_LE_CS_CHSEL_TYPE_3C
Use Channel Selection Algorithm #3c for non-mode-0 CS steps.
Definition conn.h:808
@ BT_CONN_LE_CS_CHSEL_TYPE_3B
Use Channel Selection Algorithm #3b for non-mode-0 CS steps.
Definition conn.h:806
@ BT_CONN_LE_OPT_NONE
Convenience value when no options are specified.
Definition conn.h:1794
@ BT_CONN_LE_OPT_NO_1M
Disable LE 1M PHY.
Definition conn.h:1808
@ BT_CONN_LE_OPT_CODED
Enable LE Coded PHY.
Definition conn.h:1800
@ BT_CONN_LE_CS_RTT_RANDOM_PAYLOAD_10NS
10ns time-of-flight accuracy.
Definition conn.h:563
@ BT_CONN_LE_CS_RTT_RANDOM_PAYLOAD_NOT_SUPP
Random Payload RTT variant is not supported.
Definition conn.h:561
@ BT_CONN_LE_CS_RTT_RANDOM_PAYLOAD_150NS
150ns time-of-flight accuracy.
Definition conn.h:565
@ BT_CONN_AUTH_KEYPRESS_DIGIT_ERASED
Definition conn.h:1432
@ BT_CONN_AUTH_KEYPRESS_DIGIT_ENTERED
Definition conn.h:1431
@ BT_CONN_AUTH_KEYPRESS_CLEARED
Definition conn.h:1433
@ BT_CONN_AUTH_KEYPRESS_ENTRY_STARTED
Definition conn.h:1430
@ BT_CONN_AUTH_KEYPRESS_ENTRY_COMPLETED
Definition conn.h:1434
@ BT_CONN_LE_CS_SUBEVENT_NOT_ABORTED
Definition conn.h:900
@ BT_CONN_LE_CS_SUBEVENT_ABORT_UNSPECIFIED
Definition conn.h:907
@ BT_CONN_LE_CS_SUBEVENT_ABORT_REQUESTED
Definition conn.h:901
@ BT_CONN_LE_CS_SUBEVENT_ABORT_SCHED_CONFLICT
Definition conn.h:905
@ BT_CONN_LE_CS_SUBEVENT_ABORT_NO_CS_SYNC
Definition conn.h:903
@ BT_CONN_LE_TX_POWER_PHY_NONE
Convenience macro for when no PHY is set.
Definition conn.h:1303
@ BT_CONN_LE_TX_POWER_PHY_CODED_S2
LE Coded PHY using S=2 coding.
Definition conn.h:1311
@ BT_CONN_LE_TX_POWER_PHY_CODED_S8
LE Coded PHY using S=8 coding.
Definition conn.h:1309
@ BT_CONN_LE_TX_POWER_PHY_1M
LE 1M PHY.
Definition conn.h:1305
@ BT_CONN_LE_TX_POWER_PHY_2M
LE 2M PHY.
Definition conn.h:1307
@ BT_CONN_LE_CS_SUBEVENT_ABORTED
Definition conn.h:883
@ BT_CONN_LE_CS_SUBEVENT_COMPLETE
Definition conn.h:882
@ BT_CONN_STATE_CONNECTING
Channel in connecting state.
Definition conn.h:1191
@ BT_CONN_STATE_CONNECTED
Channel connected and ready for upper layer traffic on it.
Definition conn.h:1193
@ BT_CONN_STATE_DISCONNECTED
Channel disconnected.
Definition conn.h:1189
@ BT_CONN_STATE_DISCONNECTING
Channel in disconnecting state.
Definition conn.h:1195
@ BT_CONN_LE_CS_PROCEDURE_ABORTED
Definition conn.h:877
@ BT_CONN_LE_CS_PROCEDURE_COMPLETE
Definition conn.h:875
@ BT_CONN_LE_CS_PROCEDURE_INCOMPLETE
Definition conn.h:876
@ BT_SECURITY_ERR_OOB_NOT_AVAILABLE
OOB data is not available.
Definition conn.h:2062
@ BT_SECURITY_ERR_AUTH_REQUIREMENT
The requested security level could not be reached.
Definition conn.h:2065
@ BT_SECURITY_ERR_KEY_REJECTED
Distributed Key Rejected.
Definition conn.h:2077
@ BT_SECURITY_ERR_UNSPECIFIED
Pairing failed but the exact reason could not be specified.
Definition conn.h:2080
@ BT_SECURITY_ERR_INVALID_PARAM
Invalid parameters.
Definition conn.h:2074
@ BT_SECURITY_ERR_PAIR_NOT_SUPPORTED
Pairing is not supported.
Definition conn.h:2068
@ BT_SECURITY_ERR_AUTH_FAIL
Authentication failed.
Definition conn.h:2056
@ BT_SECURITY_ERR_PIN_OR_KEY_MISSING
PIN or encryption key is missing.
Definition conn.h:2059
@ BT_SECURITY_ERR_SUCCESS
Security procedure successful.
Definition conn.h:2053
@ BT_SECURITY_ERR_PAIR_NOT_ALLOWED
Pairing is not allowed.
Definition conn.h:2071
@ BT_CONN_LE_CS_SYNC_1M_PHY
LE 1M PHY.
Definition conn.h:796
@ BT_CONN_LE_CS_SYNC_2M_PHY
LE 2M PHY.
Definition conn.h:798
@ BT_CONN_LE_CS_SYNC_2M_2BT_PHY
LE 2M 2BT PHY.
Definition conn.h:800
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B1
Definition conn.h:2116
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A2_B2
Definition conn.h:2123
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B3
Definition conn.h:2121
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B4
Definition conn.h:2122
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B2
Definition conn.h:2120
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A3_B1
Definition conn.h:2118
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A4_B1
Definition conn.h:2119
@ BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A2_B1
Definition conn.h:2117
@ BT_CONN_TYPE_LE
LE Connection Type.
Definition conn.h:526
@ BT_CONN_TYPE_ALL
All Connection Type.
Definition conn.h:534
@ BT_CONN_TYPE_BR
BR/EDR Connection Type.
Definition conn.h:528
@ BT_CONN_TYPE_ISO
ISO Connection Type.
Definition conn.h:532
@ BT_CONN_TYPE_SCO
SCO Connection Type.
Definition conn.h:530
@ BT_CONN_LE_FRAME_SPACE_UPDATE_INITIATOR_PEER
Initiated by peer.
Definition conn.h:470
@ BT_CONN_LE_FRAME_SPACE_UPDATE_INITIATOR_LOCAL_CONTROLLER
Initiated by local controller.
Definition conn.h:467
@ BT_CONN_LE_FRAME_SPACE_UPDATE_INITIATOR_LOCAL_HOST
Initiated by local host.
Definition conn.h:464
@ BT_CONN_ROLE_PERIPHERAL
Definition conn.h:1184
@ BT_CONN_ROLE_CENTRAL
Definition conn.h:1183
@ BT_SECURITY_L4
Level 4: Authenticated Secure Connections and 128-bit key.
Definition conn.h:1209
@ BT_SECURITY_L0
Level 0: Only for BR/EDR special cases, like SDP.
Definition conn.h:1201
@ BT_SECURITY_L3
Level 3: Encryption and authentication (MITM).
Definition conn.h:1207
@ BT_SECURITY_FORCE_PAIR
Bit to force new pairing procedure, bit-wise OR with requested security level.
Definition conn.h:1213
@ BT_SECURITY_L1
Level 1: No encryption and no authentication.
Definition conn.h:1203
@ BT_SECURITY_L2
Level 2: Encryption and no authentication (no MITM).
Definition conn.h:1205
@ BT_CONN_LE_CS_CH3C_SHAPE_HAT
Use Hat shape for user-specified channel sequence.
Definition conn.h:814
@ BT_CONN_LE_CS_CH3C_SHAPE_X
Use X shape for user-specified channel sequence.
Definition conn.h:816
@ BT_CONN_LE_CS_PROCEDURES_ENABLED
Definition conn.h:2085
@ BT_CONN_LE_CS_PROCEDURES_DISABLED
Definition conn.h:2084
@ BT_CONN_LE_PATH_LOSS_ZONE_ENTERED_MIDDLE
Middle path loss zone entered.
Definition conn.h:1385
@ BT_CONN_LE_PATH_LOSS_ZONE_ENTERED_LOW
Low path loss zone entered.
Definition conn.h:1383
@ BT_CONN_LE_PATH_LOSS_ZONE_ENTERED_HIGH
High path loss zone entered.
Definition conn.h:1387
@ BT_CONN_LE_PATH_LOSS_ZONE_UNAVAILABLE
Path loss has become unavailable.
Definition conn.h:1389
@ BT_CONN_LE_CS_RTT_AA_ONLY_NOT_SUPP
AA-Only RTT variant is not supported.
Definition conn.h:541
@ BT_CONN_LE_CS_RTT_AA_ONLY_150NS
150ns time-of-flight accuracy.
Definition conn.h:545
@ BT_CONN_LE_CS_RTT_AA_ONLY_10NS
10ns time-of-flight accuracy.
Definition conn.h:543
@ BT_CONN_LE_CS_RTT_TYPE_96_BIT_SOUNDING
RTT with 96-bit sounding sequence.
Definition conn.h:782
@ BT_CONN_LE_CS_RTT_TYPE_32_BIT_SOUNDING
RTT with 32-bit sounding sequence.
Definition conn.h:780
@ BT_CONN_LE_CS_RTT_TYPE_128_BIT_RANDOM
RTT with 128-bit random sequence.
Definition conn.h:790
@ BT_CONN_LE_CS_RTT_TYPE_AA_ONLY
RTT AA only.
Definition conn.h:778
@ BT_CONN_LE_CS_RTT_TYPE_96_BIT_RANDOM
RTT with 96-bit random sequence.
Definition conn.h:788
@ BT_CONN_LE_CS_RTT_TYPE_32_BIT_RANDOM
RTT with 32-bit random sequence.
Definition conn.h:784
@ BT_CONN_LE_CS_RTT_TYPE_64_BIT_RANDOM
RTT with 64-bit random sequence.
Definition conn.h:786
struct _snode sys_snode_t
Single-linked list node structure.
Definition slist.h:42
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition util_macro.h:44
#define BT_HCI_LE_CS_PROCEDURE_ABORT_REASON_NO_ABORT
Definition hci_types.h:4260
#define BT_HCI_LE_FRAME_SPACE_UPDATE_INITIATOR_LOCAL_HOST
Definition hci_types.h:3126
#define BT_HCI_LE_CS_SUBEVENT_ABORT_REASON_NO_ABORT
Definition hci_types.h:4266
#define BT_HCI_LE_CS_PROCEDURE_ABORT_REASON_UNSPECIFIED
Definition hci_types.h:4264
#define BT_HCI_OP_LE_CS_RTT_TYPE_128BIT_RAND
Definition hci_types.h:2964
#define BT_HCI_OP_LE_CS_SUB_MODE_1
Definition hci_types.h:2950
#define BT_HCI_LE_CS_PROCEDURE_ABORT_REASON_LOCAL_HOST_OR_REMOTE_REQUEST
Definition hci_types.h:4261
#define BT_HCI_LE_CS_SUBEVENT_ABORT_REASON_SCHED_CONFLICT
Definition hci_types.h:4269
#define BT_HCI_OP_LE_CS_PROCEDURES_DISABLED
Definition hci_types.h:2935
#define BT_HCI_LE_CS_SUBEVENT_ABORT_REASON_LOCAL_HOST_OR_REMOTE_REQUEST
Definition hci_types.h:4267
#define BT_HCI_LE_FRAME_SPACE_UPDATE_INITIATOR_LOCAL_CONTROLLER
Definition hci_types.h:3127
#define BT_HCI_OP_LE_CS_PROCEDURES_ENABLED
Definition hci_types.h:2936
#define BT_HCI_OP_LE_CS_SUB_MODE_3
Definition hci_types.h:2952
#define BT_HCI_OP_LE_CS_ACI_6
Definition hci_types.h:2979
#define BT_HCI_OP_LE_CS_ACI_1
Definition hci_types.h:2974
#define BT_HCI_OP_LE_CS_MAIN_MODE_3
Definition hci_types.h:2948
#define BT_HCI_LE_CS_PROCEDURE_ABORT_REASON_TOO_FEW_CHANNELS
Definition hci_types.h:4262
#define BT_HCI_OP_LE_CS_MAIN_MODE_2
Definition hci_types.h:2947
#define BT_HCI_OP_LE_CS_RTT_TYPE_96BIT_SOUND
Definition hci_types.h:2960
#define BT_HCI_OP_LE_CS_RTT_TYPE_AA_ONLY
Definition hci_types.h:2958
#define BT_HCI_OP_LE_CS_ACI_3
Definition hci_types.h:2976
#define BT_HCI_OP_LE_CS_TEST_CHSEL_TYPE_3B
Definition hci_types.h:2999
#define BT_HCI_OP_LE_CS_RTT_TYPE_64BIT_RAND
Definition hci_types.h:2962
#define BT_HCI_OP_LE_CS_CS_SYNC_1M
Definition hci_types.h:2966
#define BT_HCI_LE_CS_PROCEDURE_DONE_STATUS_ABORTED
Definition hci_types.h:4254
#define BT_HCI_OP_LE_CS_ACI_0
Definition hci_types.h:2973
#define BT_HCI_OP_LE_CS_RTT_TYPE_32BIT_SOUND
Definition hci_types.h:2959
#define BT_HCI_OP_LE_CS_RTT_TYPE_96BIT_RAND
Definition hci_types.h:2963
#define BT_HCI_OP_LE_CS_ACI_2
Definition hci_types.h:2975
#define BT_HCI_LE_ZONE_ENTERED_MIDDLE
Definition hci_types.h:3964
#define BT_HCI_OP_LE_CS_RTT_TYPE_32BIT_RAND
Definition hci_types.h:2961
#define BT_HCI_LE_CS_SUBEVENT_ABORT_REASON_UNSPECIFIED
Definition hci_types.h:4270
#define BT_HCI_OP_LE_CS_CS_SYNC_2M_2BT
Definition hci_types.h:2968
#define BT_HCI_LE_CS_SUBEVENT_ABORT_REASON_NO_CS_SYNC_RECEIVED
Definition hci_types.h:4268
#define BT_HCI_OP_LE_CS_ACI_7
Definition hci_types.h:2980
#define BT_HCI_LE_FRAME_SPACE_UPDATE_INITIATOR_PEER
Definition hci_types.h:3128
#define BT_HCI_OP_LE_CS_TEST_CH3C_SHAPE_HAT
Definition hci_types.h:3002
#define BT_HCI_LE_CS_PROCEDURE_DONE_STATUS_COMPLETE
Definition hci_types.h:4252
#define BT_HCI_OP_LE_CS_TEST_CH3C_SHAPE_X
Definition hci_types.h:3003
#define BT_HCI_OP_LE_CS_ACI_5
Definition hci_types.h:2978
#define BT_HCI_OP_LE_CS_SUB_MODE_2
Definition hci_types.h:2951
#define BT_HCI_OP_LE_CS_CS_SYNC_2M
Definition hci_types.h:2967
#define BT_HCI_LE_CS_PROCEDURE_ABORT_REASON_CHMAP_INSTANT_PASSED
Definition hci_types.h:4263
#define BT_HCI_LE_CS_SUBEVENT_DONE_STATUS_COMPLETE
Definition hci_types.h:4256
#define BT_HCI_LE_CS_PROCEDURE_DONE_STATUS_PARTIAL
Definition hci_types.h:4253
#define BT_HCI_OP_LE_CS_ACI_4
Definition hci_types.h:2977
#define BT_HCI_OP_LE_CS_TEST_CHSEL_TYPE_3C
Definition hci_types.h:3000
#define BT_HCI_LE_CS_SUBEVENT_DONE_STATUS_ABORTED
Definition hci_types.h:4258
#define BT_HCI_OP_LE_CS_MAIN_MODE_1
Definition hci_types.h:2946
#define BT_HCI_LE_ZONE_ENTERED_HIGH
Definition hci_types.h:3965
#define BT_HCI_LE_ZONE_ENTERED_LOW
Definition hci_types.h:3963
#define BUILD_ASSERT(EXPR, MSG...)
Definition llvm.h:51
Buffer management.
Header file for the single-linked list API.
#define bool
Definition stdbool.h:13
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__INT8_TYPE__ int8_t
Definition stdint.h:72
Bluetooth LE Device Address.
Definition addr.h:49
Bluetooth Device Address.
Definition addr.h:40
Connection parameters for BR/EDR connections.
Definition conn.h:3313
bool allow_role_switch
Definition conn.h:3314
Authenticated pairing callback structure.
Definition conn.h:2914
void(* passkey_entry)(struct bt_conn *conn)
Request the user to enter a passkey.
Definition conn.h:3013
void(* passkey_display)(struct bt_conn *conn, unsigned int passkey)
Display a passkey to the user.
Definition conn.h:2967
uint32_t(* app_passkey)(struct bt_conn *conn)
Allow the application to provide a passkey for pairing.
Definition conn.h:3134
void(* passkey_confirm)(struct bt_conn *conn, unsigned int passkey)
Request the user to confirm a passkey.
Definition conn.h:3036
enum bt_security_err(* pairing_accept)(struct bt_conn *conn, const struct bt_conn_pairing_feat *const feat)
Query to proceed incoming pairing or not.
Definition conn.h:2945
void(* pincode_entry)(struct bt_conn *conn, bool highsec)
Request the user to enter a passkey.
Definition conn.h:3110
void(* oob_data_request)(struct bt_conn *conn, struct bt_conn_oob_info *info)
Request the user to provide Out of Band (OOB) data.
Definition conn.h:3054
void(* pairing_confirm)(struct bt_conn *conn)
Request confirmation for an incoming pairing.
Definition conn.h:3089
void(* cancel)(struct bt_conn *conn)
Cancel the ongoing user request.
Definition conn.h:3069
void(* passkey_display_keypress)(struct bt_conn *conn, enum bt_conn_auth_keypress type)
Receive Passkey Keypress Notification during pairing.
Definition conn.h:2991
Authenticated pairing information callback structure.
Definition conn.h:3139
void(* pairing_failed)(struct bt_conn *conn, enum bt_security_err reason)
notify that pairing process has failed.
Definition conn.h:3156
void(* pairing_complete)(struct bt_conn *conn, bool bonded)
notify that pairing procedure was complete.
Definition conn.h:3149
void(* bond_deleted)(uint8_t id, const bt_addr_le_t *peer)
Notify that bond has been deleted.
Definition conn.h:3167
void(* br_bond_deleted)(const bt_addr_t *peer)
Notify that bond of classic has been deleted.
Definition conn.h:3177
sys_snode_t node
Internally used field for list handling.
Definition conn.h:3181
BR/EDR specific connection callbacks.
Definition conn.h:2164
void(* role_changed)(struct bt_conn *conn, uint8_t status)
A BR/EDR connection role has changed.
Definition conn.h:2185
void(* packet_type_changed)(struct bt_conn *conn, uint8_t status, uint16_t packet_type)
The packet type of the BR/EDR connection has changed.
Definition conn.h:2196
void(* mode_changed)(struct bt_conn *conn, uint8_t mode, uint16_t interval)
A BR/EDR connection mode has changed.
Definition conn.h:2174
BR/EDR Connection Info Structure.
Definition conn.h:1172
const bt_addr_t * dst
Destination (Remote) BR/EDR address.
Definition conn.h:1173
BR/EDR Connection Remote Info structure.
Definition conn.h:1265
uint8_t num_pages
Number of pages in the remote feature set.
Definition conn.h:1271
const uint8_t * features
Remote feature set (pages of bitmasks).
Definition conn.h:1268
Connection callback structure.
Definition conn.h:2219
void(* le_param_updated)(struct bt_conn *conn, uint16_t interval, uint16_t latency, uint16_t timeout)
The parameters for an LE connection have been updated.
Definition conn.h:2318
void(* le_cs_read_remote_fae_table_complete)(struct bt_conn *conn, uint8_t status, struct bt_conn_le_cs_fae_table *params)
LE CS Read Remote FAE Table Complete event.
Definition conn.h:2571
void(* le_cs_security_enable_complete)(struct bt_conn *conn, uint8_t status)
LE CS Security Enabled.
Definition conn.h:2621
void(* le_data_len_updated)(struct bt_conn *conn, struct bt_conn_le_data_len_info *info)
The data length parameters of the connection has changed.
Definition conn.h:2418
void(* le_cs_read_remote_capabilities_complete)(struct bt_conn *conn, uint8_t status, struct bt_conn_le_cs_capabilities *params)
LE CS Read Remote Supported Capabilities Complete event.
Definition conn.h:2555
void(* frame_space_updated)(struct bt_conn *conn, const struct bt_conn_le_frame_space_updated *params)
Frame Space Update Complete event.
Definition conn.h:2537
void(* recycled)(void)
A connection object has been returned to the pool.
Definition conn.h:2279
void(* le_param_update_rejected)(struct bt_conn *conn, uint8_t hci_err)
LE connection parameter update was rejected by the peer.
Definition conn.h:2340
void(* path_loss_threshold_report)(struct bt_conn *conn, const struct bt_conn_le_path_loss_threshold_report *report)
LE Path Loss Threshold event.
Definition conn.h:2459
bool(* le_param_req)(struct bt_conn *conn, struct bt_le_conn_param *param)
LE connection parameter update request.
Definition conn.h:2305
void(* subrate_changed)(struct bt_conn *conn, const struct bt_conn_le_subrate_changed *params)
LE Subrate Changed event.
Definition conn.h:2474
void(* le_cs_procedure_enable_complete)(struct bt_conn *conn, uint8_t status, struct bt_conn_le_cs_procedure_enable_complete *params)
LE CS Procedure Enabled.
Definition conn.h:2634
void(* tx_power_report)(struct bt_conn *conn, const struct bt_conn_le_tx_power_report *report)
LE Read Remote Transmit Power Level procedure has completed or LE Transmit Power Reporting event.
Definition conn.h:2445
void(* disconnected)(struct bt_conn *conn, uint8_t reason)
A connection has been disconnected.
Definition conn.h:2262
void(* cte_report_cb)(struct bt_conn *conn, const struct bt_df_conn_iq_samples_report *iq_report)
Callback for IQ samples report collected when sampling CTE received by data channel PDU.
Definition conn.h:2429
void(* le_cs_subevent_data_available)(struct bt_conn *conn, struct bt_conn_le_cs_subevent_result *result)
Subevent Results from a CS procedure are available.
Definition conn.h:2608
void(* conn_rate_changed)(struct bt_conn *conn, uint8_t status, const struct bt_conn_le_conn_rate_changed *params)
LE Connection Rate Changed event.
Definition conn.h:2499
void(* connected)(struct bt_conn *conn, uint8_t err)
A new connection has been established.
Definition conn.h:2244
struct bt_conn_br_cb br
BR/EDR specific callbacks.
Definition conn.h:2393
void(* le_cs_config_complete)(struct bt_conn *conn, uint8_t status, struct bt_conn_le_cs_config *config)
LE CS Config created.
Definition conn.h:2586
void(* le_phy_updated)(struct bt_conn *conn, struct bt_conn_le_phy_info *param)
The PHY of the connection has changed.
Definition conn.h:2405
void(* security_changed)(struct bt_conn *conn, bt_security_t level, enum bt_security_err err)
The security level of a connection has changed.
Definition conn.h:2374
void(* le_cs_config_removed)(struct bt_conn *conn, uint8_t config_id)
LE CS Config removed.
Definition conn.h:2598
void(* identity_resolved)(struct bt_conn *conn, const bt_addr_le_t *rpa, const bt_addr_le_t *identity)
Remote Identity Address has been resolved.
Definition conn.h:2353
void(* remote_info_available)(struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
Remote information procedures has completed.
Definition conn.h:2387
void(* read_all_remote_feat_complete)(struct bt_conn *conn, const struct bt_conn_le_read_all_remote_feat_complete *params)
Read all remote features complete event.
Definition conn.h:2517
Connection Info Structure.
Definition conn.h:1235
uint8_t id
Which local identity the connection was created with.
Definition conn.h:1241
struct bt_conn_le_info le
LE Connection specific Info.
Definition conn.h:1245
enum bt_conn_type type
Connection Type.
Definition conn.h:1237
struct bt_conn_br_info br
BR/EDR Connection specific Info.
Definition conn.h:1247
uint8_t role
Connection Role.
Definition conn.h:1239
struct bt_conn_sco_info sco
SCO Connection specific Info.
Definition conn.h:1249
struct bt_security_info security
Security specific info.
Definition conn.h:1254
enum bt_conn_state state
Connection state.
Definition conn.h:1252
Updated connection rate parameters.
Definition conn.h:386
uint16_t continuation_number
Number of underlying connection events to remain active after a packet containing a Link Layer PDU wi...
Definition conn.h:412
uint16_t supervision_timeout_10ms
Connection Supervision timeout.
Definition conn.h:419
uint16_t peripheral_latency
Peripheral latency.
Definition conn.h:405
uint32_t interval_us
Connection interval.
Definition conn.h:393
uint16_t subrate_factor
Connection subrate factor.
Definition conn.h:398
Connection rate parameters for LE connections.
Definition conn.h:323
uint16_t interval_min_125us
Minimum connection interval.
Definition conn.h:330
uint16_t supervision_timeout_10ms
Connection Supervision timeout.
Definition conn.h:368
uint16_t subrate_max
Maximum subrate factor.
Definition conn.h:347
uint16_t interval_max_125us
Maximum connection interval.
Definition conn.h:337
uint16_t max_ce_len_125us
Maximum length of connection event.
Definition conn.h:382
uint16_t continuation_number
Minimum number of underlying connection events to remain active after a packet containing a Link Laye...
Definition conn.h:361
uint16_t min_ce_len_125us
Minimum length of connection event.
Definition conn.h:375
uint16_t subrate_min
Minimum subrate factor.
Definition conn.h:342
uint16_t max_latency
Maximum Peripheral latency.
Definition conn.h:354
Definition conn.h:1811
uint16_t interval_coded
Scan interval LE Coded PHY (N * 0.625 MS).
Definition conn.h:1840
uint16_t window
Scan window (N * 0.625 ms).
Definition conn.h:1834
uint32_t options
Bit-field of create connection options.
Definition conn.h:1814
uint16_t timeout
Connection initiation timeout (N * 10 MS).
Definition conn.h:1855
uint16_t interval
Scan interval (N * 0.625 ms).
Definition conn.h:1824
uint16_t window_coded
Scan window LE Coded PHY (N * 0.625 MS).
Definition conn.h:1846
Definition conn.h:1929
const bt_addr_le_t * peer
Remote address.
Definition conn.h:1936
uint8_t subevent
The subevent where the connection will be initiated.
Definition conn.h:1939
Remote channel sounding capabilities for LE connections supporting CS.
Definition conn.h:569
uint16_t t_ip1_times_supported
Optional T_IP1 time durations during CS steps.
Definition conn.h:642
bool phase_based_nadm_random_supported
Phase-based normalized attack detector metric when a CS_SYNC with random sequence is received.
Definition conn.h:619
uint16_t t_fcs_times_supported
Optional T_FCS time durations during CS steps.
Definition conn.h:666
uint16_t t_ip2_ipt_times_supported
Supported T_IP2_IPT time durations during CS steps.
Definition conn.h:694
bool cs_without_fae_supported
Subfeature: CS with no Frequency Actuation Error.
Definition conn.h:625
uint8_t rtt_random_payload_n
Number of CS steps needed to achieve the accuracy requirements for RTT Random Payload.
Definition conn.h:611
bool cs_sync_2m_phy_supported
CS_SYNC LE 2M PHY.
Definition conn.h:621
enum bt_conn_le_cs_capability_rtt_aa_only rtt_aa_only_precision
RTT AA-Only.
Definition conn.h:589
uint8_t num_antennas_supported
Number of antennas.
Definition conn.h:579
uint8_t t_sw_time
Time in microseconds for the antenna switch period of the CS tones.
Definition conn.h:674
bool cs_sync_2m_2bt_phy_supported
CS_SYNC LE 2M 2BT PHY.
Definition conn.h:623
bool initiator_supported
Initiator role.
Definition conn.h:583
bool reflector_supported
Reflector role.
Definition conn.h:585
uint16_t t_pm_times_supported
Optional T_PM time durations during CS steps.
Definition conn.h:672
uint8_t num_config_supported
Number of CS configurations.
Definition conn.h:571
uint8_t rtt_sounding_n
Number of CS steps needed to achieve the accuracy requirements for RTT Sounding.
Definition conn.h:605
bool phase_based_nadm_sounding_supported
Phase-based normalized attack detector metric when a CS_SYNC with sounding sequence is received.
Definition conn.h:615
uint8_t t_sw_ipt_time_supported
Supported time in microseconds for the antenna switch period of the CS tones during IPT.
Definition conn.h:701
bool mode_3_supported
Mode-3.
Definition conn.h:587
bool chsel_alg_3c_supported
Subfeature: Channel Selection Algorithm #3c.
Definition conn.h:627
enum bt_conn_le_cs_capability_rtt_random_payload rtt_random_payload_precision
RTT Random Payload.
Definition conn.h:593
uint8_t rtt_aa_only_n
Number of CS steps needed to achieve the accuracy requirements for RTT AA Only.
Definition conn.h:599
uint8_t max_antenna_paths_supported
Maximum number of antenna paths.
Definition conn.h:581
enum bt_conn_le_cs_capability_rtt_sounding rtt_sounding_precision
RTT Sounding.
Definition conn.h:591
bool pbr_from_rtt_sounding_seq_supported
Subfeature: Phase-based Ranging from RTT sounding sequence.
Definition conn.h:629
uint8_t tx_snr_capability
Supported SNR levels used in RTT packets.
Definition conn.h:683
bool cs_ipt_reflector
Subfeature: IPT in the CS reflector.
Definition conn.h:631
uint16_t max_consecutive_procedures_supported
Maximum number of consecutive CS procedures.
Definition conn.h:577
uint16_t t_ip2_times_supported
Optional T_IP2 time durations during CS steps.
Definition conn.h:653
Channel sounding configuration.
Definition conn.h:820
enum bt_conn_le_cs_rtt_type rtt_type
RTT type.
Definition conn.h:839
enum bt_conn_le_cs_sync_phy cs_sync_phy
CS Sync PHY.
Definition conn.h:841
uint8_t t_fcs_time_us
Time in microseconds for frequency changes.
Definition conn.h:862
uint8_t min_main_mode_steps
Minimum number of CS main mode steps to be executed before a submode step is executed.
Definition conn.h:826
uint8_t main_mode_repetition
Number of main mode steps taken from the end of the last CS subevent to be repeated at the beginning ...
Definition conn.h:833
uint8_t channel_map[10]
Channel map used for CS procedure Channels n = 0, 1, 23, 24, 25, 77, and 78 are not allowed and shall...
Definition conn.h:870
enum bt_conn_le_cs_chsel_type channel_selection_type
Channel selection type.
Definition conn.h:847
uint8_t t_ip2_time_us
Interlude time in microseconds between the CS tones.
Definition conn.h:860
uint8_t mode_0_steps
Number of CS mode-0 steps to be included at the beginning of each CS subevent.
Definition conn.h:835
uint8_t channel_map_repetition
The number of times the Channel_Map field will be cycled through for non-mode-0 steps within a CS pro...
Definition conn.h:845
enum bt_conn_le_cs_ch3c_shape ch3c_shape
User-specified channel sequence shape.
Definition conn.h:849
uint8_t t_ip1_time_us
Interlude time in microseconds between the RTT packets.
Definition conn.h:858
uint8_t id
CS configuration ID.
Definition conn.h:822
enum bt_conn_le_cs_mode mode
CS main and sub mode.
Definition conn.h:824
uint8_t cs_enhancements_1
CS enhancements 1 Bit 0 - IPT is enabled in the CS reflector.
Definition conn.h:856
enum bt_conn_le_cs_role role
CS role.
Definition conn.h:837
uint8_t t_pm_time_us
Time in microseconds for the phase measurement period of the CS tones.
Definition conn.h:864
uint8_t ch3c_jump
Number of channels skipped in each rising and falling sequence.
Definition conn.h:851
uint8_t max_main_mode_steps
Maximum number of CS main mode steps to be executed before a submode step is executed.
Definition conn.h:828
Remote FAE Table for LE connections supporting CS.
Definition conn.h:705
int8_t * remote_fae_table
Definition conn.h:706
uint8_t config_id
Definition conn.h:2128
enum bt_conn_le_cs_tone_antenna_config_selection tone_antenna_config_selection
Definition conn.h:2134
uint8_t subevents_per_event
Definition conn.h:2143
uint16_t event_interval
Definition conn.h:2151
uint16_t subevent_interval
Definition conn.h:2148
uint16_t procedure_interval
Definition conn.h:2154
uint16_t procedure_count
Definition conn.h:2157
enum bt_conn_le_cs_procedure_enable_state state
Definition conn.h:2131
uint16_t max_procedure_len
Definition conn.h:2160
uint32_t subevent_len
Definition conn.h:2140
int8_t selected_tx_power
Definition conn.h:2137
Subevent data for LE connections supporting CS.
Definition conn.h:911
uint16_t procedure_counter
CS procedure count associated with these results.
Definition conn.h:932
uint8_t num_antenna_paths
Number of antenna paths used during the phase measurement stage.
Definition conn.h:982
uint8_t num_steps_reported
Number of CS steps in the subevent.
Definition conn.h:985
enum bt_conn_le_cs_subevent_done_status subevent_done_status
Subevent status.
Definition conn.h:965
struct net_buf_simple * step_data_buf
Pointer to buffer containing step data.
Definition conn.h:995
uint16_t start_acl_conn_event
Starting ACL connection event counter.
Definition conn.h:926
enum bt_conn_le_cs_procedure_abort_reason procedure_abort_reason
Abort reason.
Definition conn.h:972
uint16_t frequency_compensation
Frequency compensation value in units of 0.01 ppm.
Definition conn.h:941
uint8_t abort_step
Step number, on which the subevent was aborted if subevent_done_status is BT_CONN_LE_CS_SUBEVENT_COMP...
Definition conn.h:990
struct bt_conn_le_cs_subevent_result::@326300023041365314214062365151104343000117204002 header
uint8_t config_id
CS configuration identifier.
Definition conn.h:920
int8_t reference_power_level
Reference power level in dBm.
Definition conn.h:949
enum bt_conn_le_cs_procedure_done_status procedure_done_status
Procedure status.
Definition conn.h:951
enum bt_conn_le_cs_subevent_abort_reason subevent_abort_reason
Abort reason.
Definition conn.h:979
Connection data length information for LE connections.
Definition conn.h:158
uint16_t tx_max_time
Maximum Link Layer transmission payload time in us.
Definition conn.h:162
uint16_t rx_max_len
Maximum Link Layer reception payload size in bytes.
Definition conn.h:164
uint16_t tx_max_len
Maximum Link Layer transmission payload size in bytes.
Definition conn.h:160
uint16_t rx_max_time
Maximum Link Layer reception payload time in us.
Definition conn.h:166
Connection data length parameters for LE connections.
Definition conn.h:170
uint16_t tx_max_len
Maximum Link Layer transmission payload size in bytes.
Definition conn.h:172
uint16_t tx_max_time
Maximum Link Layer transmission payload time in us.
Definition conn.h:174
Frame space update params.
Definition conn.h:475
uint16_t spacing_types
Spacing types mask of the spacing types to be updated.
Definition conn.h:484
uint8_t phys
Phy mask of the PHYs to be updated.
Definition conn.h:479
uint16_t frame_space_min
Minimum frame space in microseconds.
Definition conn.h:491
uint16_t frame_space_max
Maximum frame space in microseconds.
Definition conn.h:498
Frame space updated callback params.
Definition conn.h:502
uint8_t status
HCI Status from LE Frame Space Update Complete event.
Definition conn.h:507
uint8_t phys
Phy mask of the PHYs updated.
Definition conn.h:515
uint16_t spacing_types
Spacing types mask of the spacing types updated.
Definition conn.h:520
uint16_t frame_space
Updated frame space in microseconds.
Definition conn.h:511
enum bt_conn_le_frame_space_update_initiator initiator
Initiator of the frame space update.
Definition conn.h:509
LE Connection Info Structure.
Definition conn.h:1104
const bt_addr_le_t * dst
Destination (Remote) Identity Address or remote Resolvable Private Address (RPA) before identity has ...
Definition conn.h:1110
const struct bt_conn_le_phy_info * phy
Connection PHY info.
Definition conn.h:1136
const bt_addr_le_t * remote
Remote device address used during connection setup.
Definition conn.h:1114
const bt_addr_le_t * local
Local device address used during connection setup.
Definition conn.h:1112
uint32_t interval_us
Connection interval in microseconds.
Definition conn.h:1116
const struct bt_conn_le_subrating_info * subrate
Connection subrating parameters.
Definition conn.h:1146
const bt_addr_le_t * src
Source (Local) Identity Address.
Definition conn.h:1106
uint16_t interval
Connection interval in units of 1.25 ms.
Definition conn.h:1123
uint16_t latency
Connection peripheral latency.
Definition conn.h:1131
const struct bt_conn_le_data_len_info * data_len
Connection maximum single fragment parameters.
Definition conn.h:1141
uint16_t timeout
Connection supervision timeout.
Definition conn.h:1132
Minimum supported connection interval group.
Definition conn.h:275
uint16_t max_125us
Upper bound of group interval range.
Definition conn.h:289
uint16_t min_125us
Lower bound of group interval range.
Definition conn.h:282
uint16_t stride_125us
Increment between consecutive supported intervals.
Definition conn.h:296
Minimum supported connection interval information.
Definition conn.h:300
uint16_t min_supported_conn_interval_us
Minimum supported connection interval.
Definition conn.h:307
uint8_t num_groups
Number of interval groups.
Definition conn.h:314
struct bt_conn_le_min_conn_interval_group groups[41]
Array of supported connection interval groups.
Definition conn.h:319
LE Path Loss Monitoring Parameters Structure as defined in Core Spec.
Definition conn.h:1409
uint8_t high_threshold
High threshold for the path loss (dB).
Definition conn.h:1411
uint8_t low_threshold
Low threshold for the path loss (dB).
Definition conn.h:1415
uint16_t min_time_spent
Minimum time in number of connection events to be observed once the path loss crosses the threshold b...
Definition conn.h:1421
uint8_t high_hysteresis
Hysteresis value for the high threshold (dB).
Definition conn.h:1413
uint8_t low_hysteresis
Hysteresis value for the low threshold (dB).
Definition conn.h:1417
LE Path Loss Monitoring Threshold Change Report Structure.
Definition conn.h:1397
enum bt_conn_le_path_loss_zone zone
Path Loss zone as documented in Core Spec.
Definition conn.h:1400
uint8_t path_loss
Current path loss (dB).
Definition conn.h:1403
Connection PHY information for LE connections.
Definition conn.h:91
uint8_t rx_phy
Connection transmit PHY.
Definition conn.h:93
uint8_t tx_phy
Definition conn.h:92
Preferred PHY parameters for LE connections.
Definition conn.h:109
uint16_t options
Connection PHY options.
Definition conn.h:110
uint8_t pref_rx_phy
Bitmask of preferred receive PHYs.
Definition conn.h:112
uint8_t pref_tx_phy
Bitmask of preferred transmit PHYs.
Definition conn.h:111
Read all remote features complete callback params.
Definition conn.h:423
uint8_t status
HCI Status from LE Read All Remote Features Complete event.
Definition conn.h:428
uint8_t max_remote_page
Number of pages supported by remote device.
Definition conn.h:430
const uint8_t * features
Pointer to array of size 248, with feature bits of remote supported features.
Definition conn.h:440
uint8_t max_valid_page
Number of pages fetched from remote device.
Definition conn.h:432
LE Connection Remote Info Structure.
Definition conn.h:1258
const uint8_t * features
Remote LE feature set (bitmask).
Definition conn.h:1261
Updated subrating connection parameters for LE connections.
Definition conn.h:240
uint16_t factor
Connection subrate factor.
Definition conn.h:247
uint16_t continuation_number
Number of underlying connection events to remain active after a packet containing a Link Layer PDU wi...
Definition conn.h:252
uint16_t peripheral_latency
Peripheral latency in units of subrated connection intervals.
Definition conn.h:254
uint16_t supervision_timeout
Connection Supervision timeout (N * 10 ms).
Definition conn.h:256
uint8_t status
HCI Status from LE Subrate Changed event.
Definition conn.h:245
Connection subrating parameters for LE connections.
Definition conn.h:209
uint16_t max_latency
Maximum Peripheral latency in units of subrated connection intervals.
Definition conn.h:215
uint16_t subrate_max
Maximum subrate factor.
Definition conn.h:213
uint16_t continuation_number
Minimum number of underlying connection events to remain active after a packet containing a Link Laye...
Definition conn.h:220
uint16_t supervision_timeout
Connection Supervision timeout (N * 10 ms).
Definition conn.h:225
uint16_t subrate_min
Minimum subrate factor.
Definition conn.h:211
Subrating information for LE connections.
Definition conn.h:229
uint16_t continuation_number
Number of underlying connection events to remain active after a packet containing a Link Layer PDU wi...
Definition conn.h:236
uint16_t factor
Connection subrate factor.
Definition conn.h:231
LE Transmit Power Reporting Structure.
Definition conn.h:1339
enum bt_conn_le_tx_power_phy phy
Phy of Transmit power reporting.
Definition conn.h:1347
int8_t delta
Change in transmit power level.
Definition conn.h:1370
uint8_t reason
Reason for Transmit power reporting, as documented in Core Spec.
Definition conn.h:1344
int8_t tx_power_level
Transmit power level.
Definition conn.h:1357
uint8_t tx_power_level_flag
Bit 0: Transmit power level is at minimum level.
Definition conn.h:1362
LE Transmit Power Level Structure.
Definition conn.h:1315
int8_t max_level
Output: maximum transmit power level in dBm.
Definition conn.h:1334
int8_t current_level
Output: current transmit power level in dBm.
Definition conn.h:1326
uint8_t phy
Input: 1M, 2M, Coded S2 or Coded S8.
Definition conn.h:1318
Info Structure for OOB pairing.
Definition conn.h:2845
enum bt_conn_oob_info::@260172124021070263243363363101215163142265012274 type
Type of OOB pairing method.
struct bt_conn_oob_info::@337377302030072136117065146340212142154334235333::@033043324103126032162044330124137027366172072243 lesc
LE Secure Connections OOB pairing parameters.
@ BT_CONN_OOB_NO_DATA
No OOB data requested.
Definition conn.h:2870
@ BT_CONN_OOB_LOCAL_ONLY
Local OOB data requested.
Definition conn.h:2861
@ BT_CONN_OOB_REMOTE_ONLY
Remote OOB data requested.
Definition conn.h:2864
@ BT_CONN_OOB_BOTH_PEERS
Both local and remote OOB data requested.
Definition conn.h:2867
@ BT_CONN_OOB_LE_LEGACY
LE legacy pairing.
Definition conn.h:2849
@ BT_CONN_OOB_LE_SC
LE SC pairing.
Definition conn.h:2852
enum bt_conn_oob_info::@337377302030072136117065146340212142154334235333::@033043324103126032162044330124137027366172072243::@101267173135100205224103051365262374123002031046 oob_config
OOB data configuration.
Pairing request and pairing response info structure.
Definition conn.h:2882
uint8_t resp_key_dist
Responder Key Distribution/Generation, Core Spec.
Definition conn.h:2903
uint8_t io_capability
IO Capability, Core Spec.
Definition conn.h:2884
uint8_t init_key_dist
Initiator Key Distribution/Generation, Core Spec.
Definition conn.h:2898
uint8_t max_enc_key_size
Maximum Encryption Key Size, Core Spec.
Definition conn.h:2893
uint8_t auth_req
AuthReq, Core Spec.
Definition conn.h:2890
uint8_t oob_data_flag
OOB data flag, Core Spec.
Definition conn.h:2887
Connection Remote Info Structure.
Definition conn.h:1279
uint8_t version
Remote Link Layer version.
Definition conn.h:1284
uint16_t subversion
Per-manufacturer unique revision.
Definition conn.h:1290
uint16_t manufacturer
Remote manufacturer identifier.
Definition conn.h:1287
uint8_t type
Connection Type.
Definition conn.h:1281
struct bt_conn_br_remote_info br
BR/EDR connection remote info.
Definition conn.h:1297
struct bt_conn_le_remote_info le
LE connection remote info.
Definition conn.h:1294
SCO Connection Info Structure.
Definition conn.h:1177
uint8_t link_type
SCO link type.
Definition conn.h:1178
uint8_t air_mode
SCO air mode (codec type).
Definition conn.h:1179
Opaque type representing a connection to a remote device.
Definition direction.h:168
Connection parameters for LE connections.
Definition conn.h:47
uint16_t latency
Definition conn.h:50
uint16_t interval_max
Definition conn.h:49
uint16_t timeout
Definition conn.h:51
uint16_t interval_min
Definition conn.h:48
Opaque type representing an advertiser.
LE Secure Connections pairing Out of Band data.
Definition bluetooth.h:2776
Security Info Structure.
Definition conn.h:1225
uint8_t enc_key_size
Encryption Key Size.
Definition conn.h:1229
bt_security_t level
Security Level.
Definition conn.h:1227
enum bt_security_flag flags
Flags.
Definition conn.h:1231
Simple network buffer representation.
Definition net_buf.h:89
Header file for the Atomic operations API.
Iterable sections helpers.
Macros to abstract toolchain specific capabilities.
Macro utilities.