Zephyr Project API  3.1.0
A Scalable Open Source RTOS
conn.h
Go to the documentation of this file.
1
5/*
6 * Copyright (c) 2015-2016 Intel Corporation
7 *
8 * SPDX-License-Identifier: Apache-2.0
9 */
10#ifndef ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_
11#define ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_
12
20#include <stdbool.h>
21
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
33struct bt_conn;
34
41};
42
50#define BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
51{ \
52 .interval_min = (int_min), \
53 .interval_max = (int_max), \
54 .latency = (lat), \
55 .timeout = (to), \
56}
57
65#define BT_LE_CONN_PARAM(int_min, int_max, lat, to) \
66 ((struct bt_le_conn_param[]) { \
67 BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
68 })
69
75#define BT_LE_CONN_PARAM_DEFAULT BT_LE_CONN_PARAM(BT_GAP_INIT_CONN_INT_MIN, \
76 BT_GAP_INIT_CONN_INT_MAX, \
77 0, 400)
78
83};
84
86enum {
89
92
95};
96
102};
103
109#define BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
110{ \
111 .options = BT_CONN_LE_PHY_OPT_NONE, \
112 .pref_tx_phy = (_pref_tx_phy), \
113 .pref_rx_phy = (_pref_rx_phy), \
114}
115
121#define BT_CONN_LE_PHY_PARAM(_pref_tx_phy, _pref_rx_phy) \
122 ((struct bt_conn_le_phy_param []) { \
123 BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
124 })
125
127#define BT_CONN_LE_PHY_PARAM_1M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M, \
128 BT_GAP_LE_PHY_1M)
129
131#define BT_CONN_LE_PHY_PARAM_2M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_2M, \
132 BT_GAP_LE_PHY_2M)
133
135#define BT_CONN_LE_PHY_PARAM_CODED BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_CODED, \
136 BT_GAP_LE_PHY_CODED)
137
139#define BT_CONN_LE_PHY_PARAM_ALL BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M | \
140 BT_GAP_LE_PHY_2M | \
141 BT_GAP_LE_PHY_CODED, \
142 BT_GAP_LE_PHY_1M | \
143 BT_GAP_LE_PHY_2M | \
144 BT_GAP_LE_PHY_CODED)
145
156};
157
164};
165
171#define BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
172{ \
173 .tx_max_len = (_tx_max_len), \
174 .tx_max_time = (_tx_max_time), \
175}
176
182#define BT_CONN_LE_DATA_LEN_PARAM(_tx_max_len, _tx_max_time) \
183 ((struct bt_conn_le_data_len_param[]) { \
184 BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
185 })
186
188#define BT_LE_DATA_LEN_PARAM_DEFAULT \
189 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_DEFAULT, \
190 BT_GAP_DATA_TIME_DEFAULT)
191
193#define BT_LE_DATA_LEN_PARAM_MAX \
194 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_MAX, \
195 BT_GAP_DATA_TIME_MAX)
196
208struct bt_conn *bt_conn_ref(struct bt_conn *conn);
209
216void bt_conn_unref(struct bt_conn *conn);
217
224void bt_conn_foreach(int type, void (*func)(struct bt_conn *conn, void *data),
225 void *data);
226
239struct bt_conn *bt_conn_lookup_addr_le(uint8_t id, const bt_addr_le_t *peer);
240
247const bt_addr_le_t *bt_conn_get_dst(const struct bt_conn *conn);
248
259uint8_t bt_conn_index(const struct bt_conn *conn);
260
262enum {
274};
275
292#if defined(CONFIG_BT_USER_PHY_UPDATE)
294#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
295
296#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE)
297 /* Connection maximum single fragment parameters */
299#endif /* defined(CONFIG_BT_USER_DATA_LEN_UPDATE) */
300};
301
302/* Multiply bt 1.25 to get MS */
303#define BT_CONN_INTERVAL_TO_MS(interval) ((interval) * 5 / 4)
304
307 const bt_addr_t *dst;
308};
309
310enum {
313};
314
324};
325
327#define BT_CONN_ROLE_MASTER __DEPRECATED_MACRO BT_CONN_ROLE_CENTRAL
328#define BT_CONN_ROLE_SLAVE __DEPRECATED_MACRO BT_CONN_ROLE_PERIPHERAL
329
339 union {
344 };
345
347};
348
351
354};
355
358
361
364};
365
374
377
380
383
384 union {
387
390 };
391};
392
404};
405
408
411
414
417};
418
426int bt_conn_get_info(const struct bt_conn *conn, struct bt_conn_info *info);
427
443int bt_conn_get_remote_info(struct bt_conn *conn,
444 struct bt_conn_remote_info *remote_info);
445
454int bt_conn_le_get_tx_power_level(struct bt_conn *conn,
455 struct bt_conn_le_tx_power *tx_power_level);
456
468int bt_conn_le_param_update(struct bt_conn *conn,
469 const struct bt_le_conn_param *param);
470
478int bt_conn_le_data_len_update(struct bt_conn *conn,
479 const struct bt_conn_le_data_len_param *param);
480
491int bt_conn_le_phy_update(struct bt_conn *conn,
492 const struct bt_conn_le_phy_param *param);
493
516int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason);
517
518enum {
521
527
535};
536
538
541
544
547
553
559
568};
569
576#define BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
577{ \
578 .options = (_options), \
579 .interval = (_interval), \
580 .window = (_window), \
581 .interval_coded = 0, \
582 .window_coded = 0, \
583 .timeout = 0, \
584}
585
592#define BT_CONN_LE_CREATE_PARAM(_options, _interval, _window) \
593 ((struct bt_conn_le_create_param[]) { \
594 BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
595 })
596
600#define BT_CONN_LE_CREATE_CONN \
601 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
602 BT_GAP_SCAN_FAST_INTERVAL, \
603 BT_GAP_SCAN_FAST_INTERVAL)
604
609#define BT_CONN_LE_CREATE_CONN_AUTO \
610 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
611 BT_GAP_SCAN_FAST_INTERVAL, \
612 BT_GAP_SCAN_FAST_WINDOW)
613
634 const struct bt_conn_le_create_param *create_param,
635 const struct bt_le_conn_param *conn_param,
636 struct bt_conn **conn);
637
653int bt_conn_le_create_auto(const struct bt_conn_le_create_param *create_param,
654 const struct bt_le_conn_param *conn_param);
655
661
677 const struct bt_le_conn_param *param);
678
680typedef enum __packed {
696
727int bt_conn_set_security(struct bt_conn *conn, bt_security_t sec);
728
734
744uint8_t bt_conn_enc_key_size(struct bt_conn *conn);
745
749
752
755
758
761
764
767
770
773
776};
777
813 void (*connected)(struct bt_conn *conn, uint8_t err);
814
832 void (*disconnected)(struct bt_conn *conn, uint8_t reason);
833
858 bool (*le_param_req)(struct bt_conn *conn,
859 struct bt_le_conn_param *param);
860
871 void (*le_param_updated)(struct bt_conn *conn, uint16_t interval,
872 uint16_t latency, uint16_t timeout);
873#if defined(CONFIG_BT_SMP)
883 void (*identity_resolved)(struct bt_conn *conn,
884 const bt_addr_le_t *rpa,
885 const bt_addr_le_t *identity);
886#endif /* CONFIG_BT_SMP */
887#if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR)
904 void (*security_changed)(struct bt_conn *conn, bt_security_t level,
905 enum bt_security_err err);
906#endif /* defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR) */
907
908#if defined(CONFIG_BT_REMOTE_INFO)
917 void (*remote_info_available)(struct bt_conn *conn,
918 struct bt_conn_remote_info *remote_info);
919#endif /* defined(CONFIG_BT_REMOTE_INFO) */
920
921#if defined(CONFIG_BT_USER_PHY_UPDATE)
930 void (*le_phy_updated)(struct bt_conn *conn,
931 struct bt_conn_le_phy_info *param);
932#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
933
934#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE)
943 void (*le_data_len_updated)(struct bt_conn *conn,
944 struct bt_conn_le_data_len_info *info);
945#endif /* defined(CONFIG_BT_USER_DATA_LEN_UPDATE) */
946
947#if defined(CONFIG_BT_DF_CONNECTION_CTE_RX)
954 void (*cte_report_cb)(struct bt_conn *conn,
955 const struct bt_df_conn_iq_samples_report *iq_report);
956#endif /* CONFIG_BT_DF_CONNECTION_CTE_RX */
957
958 struct bt_conn_cb *_next;
959};
960
968
975#define BT_CONN_CB_DEFINE(_name) \
976 static const STRUCT_SECTION_ITERABLE(bt_conn_cb, \
977 _CONCAT(bt_conn_cb_, \
978 _name))
979
990void bt_set_bondable(bool enable);
991
1000void bt_set_oob_data_flag(bool enable);
1001
1013int bt_le_oob_set_legacy_tk(struct bt_conn *conn, const uint8_t *tk);
1014
1033int bt_le_oob_set_sc_data(struct bt_conn *conn,
1034 const struct bt_le_oob_sc_data *oobd_local,
1035 const struct bt_le_oob_sc_data *oobd_remote);
1036
1052int bt_le_oob_get_sc_data(struct bt_conn *conn,
1053 const struct bt_le_oob_sc_data **oobd_local,
1054 const struct bt_le_oob_sc_data **oobd_remote);
1055
1061#define BT_PASSKEY_INVALID 0xffffffff
1062
1076int bt_passkey_set(unsigned int passkey);
1077
1081 enum {
1084
1088
1089 union {
1091 struct {
1093 enum {
1096
1099
1102
1107 };
1108};
1109
1110#if defined(CONFIG_BT_SMP_APP_PAIRING_ACCEPT)
1120
1123
1126
1129
1134
1139};
1140#endif /* CONFIG_BT_SMP_APP_PAIRING_ACCEPT */
1141
1144#if defined(CONFIG_BT_SMP_APP_PAIRING_ACCEPT)
1172 enum bt_security_err (*pairing_accept)(struct bt_conn *conn,
1173 const struct bt_conn_pairing_feat *const feat);
1174#endif /* CONFIG_BT_SMP_APP_PAIRING_ACCEPT */
1175
1194 void (*passkey_display)(struct bt_conn *conn, unsigned int passkey);
1195
1214 void (*passkey_entry)(struct bt_conn *conn);
1215
1237 void (*passkey_confirm)(struct bt_conn *conn, unsigned int passkey);
1238
1255 void (*oob_data_request)(struct bt_conn *conn,
1256 struct bt_conn_oob_info *info);
1257
1270 void (*cancel)(struct bt_conn *conn);
1271
1290 void (*pairing_confirm)(struct bt_conn *conn);
1291
1292#if defined(CONFIG_BT_BREDR)
1311 void (*pincode_entry)(struct bt_conn *conn, bool highsec);
1312#endif
1313};
1314
1326 void (*pairing_complete)(struct bt_conn *conn, bool bonded);
1327
1333 void (*pairing_failed)(struct bt_conn *conn,
1334 enum bt_security_err reason);
1335
1344 void (*bond_deleted)(uint8_t id, const bt_addr_le_t *peer);
1345
1348};
1349
1360
1371
1381
1392int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey);
1393
1402int bt_conn_auth_cancel(struct bt_conn *conn);
1403
1413int bt_conn_auth_passkey_confirm(struct bt_conn *conn);
1414
1424int bt_conn_auth_pairing_confirm(struct bt_conn *conn);
1425
1436int bt_conn_auth_pincode_entry(struct bt_conn *conn, const char *pin);
1437
1441};
1442
1447#define BT_BR_CONN_PARAM_INIT(role_switch) \
1448{ \
1449 .allow_role_switch = (role_switch), \
1450}
1451
1456#define BT_BR_CONN_PARAM(role_switch) \
1457 ((struct bt_br_conn_param[]) { \
1458 BT_BR_CONN_PARAM_INIT(role_switch) \
1459 })
1460
1464#define BT_BR_CONN_PARAM_DEFAULT BT_BR_CONN_PARAM(true)
1465
1466
1479struct bt_conn *bt_conn_create_br(const bt_addr_t *peer,
1480 const struct bt_br_conn_param *param);
1481
1493struct bt_conn *bt_conn_create_sco(const bt_addr_t *peer);
1494
1495#ifdef __cplusplus
1496}
1497#endif
1498
1503#endif /* ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_ */
Bluetooth device address definitions and utilities.
Bluetooth subsystem core APIs.
ZTEST_BMEM int timeout
Definition: main.c:31
Bluetooth Generic Access Profile defines and Assigned Numbers.
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.
uint8_t bt_conn_enc_key_size(struct bt_conn *conn)
Get encryption key size.
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.
bt_security_t bt_conn_get_security(struct bt_conn *conn)
Get security level for a connection.
int bt_le_oob_set_legacy_tk(struct bt_conn *conn, const uint8_t *tk)
Set OOB Temporary Key to be used for pairing.
int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason)
Disconnect from a remote device or cancel pending 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_get_info(const struct bt_conn *conn, struct bt_conn_info *info)
Get connection info.
int bt_passkey_set(unsigned int passkey)
Set a fixed passkey to be used for pairing.
void bt_conn_cb_register(struct bt_conn_cb *cb)
Register connection callbacks.
int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey)
Reply with entered passkey.
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.
void bt_conn_unref(struct bt_conn *conn)
Decrement a connection's reference count.
void bt_conn_foreach(int type, void(*func)(struct bt_conn *conn, void *data), void *data)
Iterate through all existing connections.
int bt_conn_create_auto_stop(void)
Stop automatic connect creation.
int bt_conn_get_remote_info(struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
Get connection info for the remote device.
bt_conn_le_tx_power_phy
Definition: conn.h:393
const bt_addr_le_t * bt_conn_get_dst(const struct bt_conn *conn)
Get destination (peer) address of a connection.
void bt_set_oob_data_flag(bool enable)
Allow/disallow remote OOB data to be used for pairing.
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.
int bt_le_set_auto_conn(const bt_addr_le_t *addr, const struct bt_le_conn_param *param)
Automatically connect to remote device if it's in range.
bt_conn_state
Definition: conn.h:315
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.
bt_security_err
Definition: conn.h:746
int bt_conn_le_param_update(struct bt_conn *conn, const struct bt_le_conn_param *param)
Update the connection parameters.
int bt_conn_auth_passkey_confirm(struct bt_conn *conn)
Reply if passkey was confirmed to match by user.
struct bt_conn * bt_conn_create_sco(const bt_addr_t *peer)
Initiate an SCO connection to a remote device.
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_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.
uint8_t bt_conn_index(const struct bt_conn *conn)
Get array index of a connection.
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_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..
bt_security_t
Definition: conn.h:680
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_TX_POWER_PHY_NONE
Definition: conn.h:395
@ BT_CONN_LE_TX_POWER_PHY_CODED_S2
Definition: conn.h:403
@ BT_CONN_LE_TX_POWER_PHY_CODED_S8
Definition: conn.h:401
@ BT_CONN_LE_TX_POWER_PHY_1M
Definition: conn.h:397
@ BT_CONN_LE_TX_POWER_PHY_2M
Definition: conn.h:399
@ BT_CONN_LE_PHY_OPT_CODED_S2
Definition: conn.h:91
@ BT_CONN_LE_PHY_OPT_CODED_S8
Definition: conn.h:94
@ BT_CONN_LE_PHY_OPT_NONE
Definition: conn.h:88
@ BT_CONN_STATE_CONNECTING
Definition: conn.h:319
@ BT_CONN_STATE_CONNECTED
Definition: conn.h:321
@ BT_CONN_STATE_DISCONNECTED
Definition: conn.h:317
@ BT_CONN_STATE_DISCONNECTING
Definition: conn.h:323
@ BT_SECURITY_ERR_OOB_NOT_AVAILABLE
Definition: conn.h:757
@ BT_SECURITY_ERR_AUTH_REQUIREMENT
Definition: conn.h:760
@ BT_SECURITY_ERR_KEY_REJECTED
Definition: conn.h:772
@ BT_SECURITY_ERR_UNSPECIFIED
Definition: conn.h:775
@ BT_SECURITY_ERR_INVALID_PARAM
Definition: conn.h:769
@ BT_SECURITY_ERR_PAIR_NOT_SUPPORTED
Definition: conn.h:763
@ BT_SECURITY_ERR_AUTH_FAIL
Definition: conn.h:751
@ BT_SECURITY_ERR_PIN_OR_KEY_MISSING
Definition: conn.h:754
@ BT_SECURITY_ERR_SUCCESS
Definition: conn.h:748
@ BT_SECURITY_ERR_PAIR_NOT_ALLOWED
Definition: conn.h:766
@ BT_CONN_ROLE_PERIPHERAL
Definition: conn.h:312
@ BT_CONN_ROLE_CENTRAL
Definition: conn.h:311
@ BT_SECURITY_L4
Definition: conn.h:690
@ BT_SECURITY_L0
Definition: conn.h:682
@ BT_SECURITY_L3
Definition: conn.h:688
@ BT_SECURITY_FORCE_PAIR
Definition: conn.h:694
@ BT_SECURITY_L1
Definition: conn.h:684
@ BT_SECURITY_L2
Definition: conn.h:686
@ BT_CONN_TYPE_LE
Definition: conn.h:264
@ BT_CONN_TYPE_ALL
Definition: conn.h:272
@ BT_CONN_TYPE_BR
Definition: conn.h:266
@ BT_CONN_TYPE_ISO
Definition: conn.h:270
@ BT_CONN_TYPE_SCO
Definition: conn.h:268
@ BT_CONN_LE_OPT_NONE
Definition: conn.h:520
@ BT_CONN_LE_OPT_NO_1M
Disable LE 1M PHY.
Definition: conn.h:534
@ BT_CONN_LE_OPT_CODED
Enable LE Coded PHY.
Definition: conn.h:526
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition: util_macro.h:44
Bluetooth Host Control Interface status codes.
struct _snode sys_snode_t
Definition: slist.h:33
#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
Definition: addr.h:48
Definition: addr.h:39
Definition: conn.h:1439
bool allow_role_switch
Definition: conn.h:1440
Definition: conn.h:1143
void(* passkey_entry)(struct bt_conn *conn)
Request the user to enter a passkey.
Definition: conn.h:1214
void(* passkey_display)(struct bt_conn *conn, unsigned int passkey)
Display a passkey to the user.
Definition: conn.h:1194
void(* passkey_confirm)(struct bt_conn *conn, unsigned int passkey)
Request the user to confirm a passkey.
Definition: conn.h:1237
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:1172
void(* pincode_entry)(struct bt_conn *conn, bool highsec)
Request the user to enter a passkey.
Definition: conn.h:1311
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:1255
void(* pairing_confirm)(struct bt_conn *conn)
Request confirmation for an incoming pairing.
Definition: conn.h:1290
void(* cancel)(struct bt_conn *conn)
Cancel the ongoing user request.
Definition: conn.h:1270
Definition: conn.h:1316
void(* pairing_failed)(struct bt_conn *conn, enum bt_security_err reason)
notify that pairing process has failed.
Definition: conn.h:1333
void(* pairing_complete)(struct bt_conn *conn, bool bonded)
notify that pairing procedure was complete.
Definition: conn.h:1326
void(* bond_deleted)(uint8_t id, const bt_addr_le_t *peer)
Notify that bond has been deleted.
Definition: conn.h:1344
sys_snode_t node
Definition: conn.h:1347
Definition: conn.h:306
const bt_addr_t * dst
Definition: conn.h:307
Definition: conn.h:357
uint8_t num_pages
Definition: conn.h:363
const uint8_t * features
Definition: conn.h:360
Connection callback structure.
Definition: conn.h:788
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:871
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:943
bool(* le_param_req)(struct bt_conn *conn, struct bt_le_conn_param *param)
LE connection parameter update request.
Definition: conn.h:858
void(* disconnected)(struct bt_conn *conn, uint8_t reason)
A connection has been disconnected.
Definition: conn.h:832
void(* connected)(struct bt_conn *conn, uint8_t err)
A new connection has been established.
Definition: conn.h:813
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:930
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:904
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:883
void(* remote_info_available)(struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
Remote information procedures has completed.
Definition: conn.h:917
Definition: conn.h:331
uint8_t id
Definition: conn.h:337
struct bt_conn_le_info le
Definition: conn.h:341
uint8_t type
Definition: conn.h:333
struct bt_conn_br_info br
Definition: conn.h:343
uint8_t role
Definition: conn.h:335
enum bt_conn_state state
Definition: conn.h:346
Definition: conn.h:537
uint16_t interval_coded
Scan interval LE Coded PHY (N * 0.625 MS)
Definition: conn.h:552
uint16_t window
Definition: conn.h:546
uint32_t options
Definition: conn.h:540
uint16_t timeout
Connection initiation timeout (N * 10 MS)
Definition: conn.h:567
uint16_t interval
Definition: conn.h:543
uint16_t window_coded
Scan window LE Coded PHY (N * 0.625 MS)
Definition: conn.h:558
Definition: conn.h:147
uint16_t tx_max_time
Definition: conn.h:151
uint16_t rx_max_len
Definition: conn.h:153
uint16_t tx_max_len
Definition: conn.h:149
uint16_t rx_max_time
Definition: conn.h:155
Definition: conn.h:159
uint16_t tx_max_len
Definition: conn.h:161
uint16_t tx_max_time
Definition: conn.h:163
Definition: conn.h:277
const bt_addr_le_t * dst
Definition: conn.h:283
const struct bt_conn_le_phy_info * phy
Definition: conn.h:293
const bt_addr_le_t * remote
Definition: conn.h:287
const bt_addr_le_t * local
Definition: conn.h:285
const bt_addr_le_t * src
Definition: conn.h:279
uint16_t interval
Definition: conn.h:288
uint16_t latency
Definition: conn.h:289
const struct bt_conn_le_data_len_info * data_len
Definition: conn.h:298
uint16_t timeout
Definition: conn.h:290
Definition: conn.h:80
uint8_t rx_phy
Definition: conn.h:82
uint8_t tx_phy
Definition: conn.h:81
Definition: conn.h:98
uint16_t options
Definition: conn.h:99
uint8_t pref_rx_phy
Definition: conn.h:101
uint8_t pref_tx_phy
Definition: conn.h:100
Definition: conn.h:350
const uint8_t * features
Definition: conn.h:353
Definition: conn.h:407
int8_t max_level
Definition: conn.h:416
int8_t current_level
Definition: conn.h:413
uint8_t phy
Definition: conn.h:410
Definition: conn.h:1079
enum bt_conn_oob_info::@54 type
@ BT_CONN_OOB_LE_LEGACY
Definition: conn.h:1083
@ BT_CONN_OOB_LE_SC
Definition: conn.h:1086
@ BT_CONN_OOB_NO_DATA
Definition: conn.h:1104
@ BT_CONN_OOB_LOCAL_ONLY
Definition: conn.h:1095
@ BT_CONN_OOB_REMOTE_ONLY
Definition: conn.h:1098
@ BT_CONN_OOB_BOTH_PEERS
Definition: conn.h:1101
struct bt_conn_oob_info::@55::@57 lesc
enum bt_conn_oob_info::@55::@57::@58 oob_config
Pairing request and pairing response info structure.
Definition: conn.h:1117
uint8_t resp_key_dist
Definition: conn.h:1138
uint8_t io_capability
Definition: conn.h:1119
uint8_t init_key_dist
Definition: conn.h:1133
uint8_t max_enc_key_size
Definition: conn.h:1128
uint8_t auth_req
Definition: conn.h:1125
uint8_t oob_data_flag
Definition: conn.h:1122
Connection Remote Info Structure.
Definition: conn.h:371
uint8_t version
Definition: conn.h:376
uint16_t subversion
Definition: conn.h:382
uint16_t manufacturer
Definition: conn.h:379
uint8_t type
Definition: conn.h:373
struct bt_conn_br_remote_info br
Definition: conn.h:389
struct bt_conn_le_remote_info le
Definition: conn.h:386
Definition: direction.h:149
Definition: conn.h:36
uint16_t latency
Definition: conn.h:39
uint16_t interval_max
Definition: conn.h:38
uint16_t timeout
Definition: conn.h:40
uint16_t interval_min
Definition: conn.h:37
Definition: bluetooth.h:2006
static fdata_t data[2]
Definition: test_fifo_contexts.c:15