Zephyr API Documentation  2.7.0-rc2
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
22#include <bluetooth/bluetooth.h>
23#include <bluetooth/hci_err.h>
24#include <bluetooth/addr.h>
25#include <bluetooth/gap.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
32struct bt_conn;
33
40};
41
49#define BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
50{ \
51 .interval_min = (int_min), \
52 .interval_max = (int_max), \
53 .latency = (lat), \
54 .timeout = (to), \
55}
56
64#define BT_LE_CONN_PARAM(int_min, int_max, lat, to) \
65 ((struct bt_le_conn_param[]) { \
66 BT_LE_CONN_PARAM_INIT(int_min, int_max, lat, to) \
67 })
68
74#define BT_LE_CONN_PARAM_DEFAULT BT_LE_CONN_PARAM(BT_GAP_INIT_CONN_INT_MIN, \
75 BT_GAP_INIT_CONN_INT_MAX, \
76 0, 400)
77
82};
83
85enum {
88
91
94};
95
101};
102
108#define BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
109{ \
110 .options = BT_CONN_LE_PHY_OPT_NONE, \
111 .pref_tx_phy = (_pref_tx_phy), \
112 .pref_rx_phy = (_pref_rx_phy), \
113}
114
120#define BT_CONN_LE_PHY_PARAM(_pref_tx_phy, _pref_rx_phy) \
121 ((struct bt_conn_le_phy_param []) { \
122 BT_CONN_LE_PHY_PARAM_INIT(_pref_tx_phy, _pref_rx_phy) \
123 })
124
126#define BT_CONN_LE_PHY_PARAM_1M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M, \
127 BT_GAP_LE_PHY_1M)
128
130#define BT_CONN_LE_PHY_PARAM_2M BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_2M, \
131 BT_GAP_LE_PHY_2M)
132
134#define BT_CONN_LE_PHY_PARAM_CODED BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_CODED, \
135 BT_GAP_LE_PHY_CODED)
136
138#define BT_CONN_LE_PHY_PARAM_ALL BT_CONN_LE_PHY_PARAM(BT_GAP_LE_PHY_1M | \
139 BT_GAP_LE_PHY_2M | \
140 BT_GAP_LE_PHY_CODED, \
141 BT_GAP_LE_PHY_1M | \
142 BT_GAP_LE_PHY_2M | \
143 BT_GAP_LE_PHY_CODED)
144
155};
156
163};
164
170#define BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
171{ \
172 .tx_max_len = (_tx_max_len), \
173 .tx_max_time = (_tx_max_time), \
174}
175
181#define BT_CONN_LE_DATA_LEN_PARAM(_tx_max_len, _tx_max_time) \
182 ((struct bt_conn_le_data_len_param[]) { \
183 BT_CONN_LE_DATA_LEN_PARAM_INIT(_tx_max_len, _tx_max_time) \
184 })
185
187#define BT_LE_DATA_LEN_PARAM_DEFAULT \
188 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_DEFAULT, \
189 BT_GAP_DATA_TIME_DEFAULT)
190
192#define BT_LE_DATA_LEN_PARAM_MAX \
193 BT_CONN_LE_DATA_LEN_PARAM(BT_GAP_DATA_LEN_MAX, \
194 BT_GAP_DATA_TIME_MAX)
195
207struct bt_conn *bt_conn_ref(struct bt_conn *conn);
208
215void bt_conn_unref(struct bt_conn *conn);
216
223void bt_conn_foreach(int type, void (*func)(struct bt_conn *conn, void *data),
224 void *data);
225
238struct bt_conn *bt_conn_lookup_addr_le(uint8_t id, const bt_addr_le_t *peer);
239
246const bt_addr_le_t *bt_conn_get_dst(const struct bt_conn *conn);
247
258uint8_t bt_conn_index(struct bt_conn *conn);
259
261enum {
273};
274
291#if defined(CONFIG_BT_USER_PHY_UPDATE)
293#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
294
295#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE)
296 /* Connection maximum single fragment parameters */
298#endif /* defined(CONFIG_BT_USER_DATA_LEN_UPDATE) */
299};
300
303 const bt_addr_t *dst;
304};
305
306enum {
309};
310
312#define BT_CONN_ROLE_MASTER __DEPRECATED_MACRO BT_CONN_ROLE_CENTRAL
313#define BT_CONN_ROLE_SLAVE __DEPRECATED_MACRO BT_CONN_ROLE_PERIPHERAL
314
324 union {
329 };
330};
331
334
337};
338
341
344
347};
348
357
360
363
366
367 union {
370
373 };
374};
375
387};
388
391
394
397
400};
401
409int bt_conn_get_info(const struct bt_conn *conn, struct bt_conn_info *info);
410
426int bt_conn_get_remote_info(struct bt_conn *conn,
427 struct bt_conn_remote_info *remote_info);
428
437int bt_conn_le_get_tx_power_level(struct bt_conn *conn,
438 struct bt_conn_le_tx_power *tx_power_level);
439
451int bt_conn_le_param_update(struct bt_conn *conn,
452 const struct bt_le_conn_param *param);
453
461int bt_conn_le_data_len_update(struct bt_conn *conn,
462 const struct bt_conn_le_data_len_param *param);
463
474int bt_conn_le_phy_update(struct bt_conn *conn,
475 const struct bt_conn_le_phy_param *param);
476
499int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason);
500
501enum {
504
510
518};
519
521
524
527
530
536
542
551};
552
559#define BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
560{ \
561 .options = (_options), \
562 .interval = (_interval), \
563 .window = (_window), \
564 .interval_coded = 0, \
565 .window_coded = 0, \
566 .timeout = 0, \
567}
568
575#define BT_CONN_LE_CREATE_PARAM(_options, _interval, _window) \
576 ((struct bt_conn_le_create_param[]) { \
577 BT_CONN_LE_CREATE_PARAM_INIT(_options, _interval, _window) \
578 })
579
583#define BT_CONN_LE_CREATE_CONN \
584 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
585 BT_GAP_SCAN_FAST_INTERVAL, \
586 BT_GAP_SCAN_FAST_INTERVAL)
587
592#define BT_CONN_LE_CREATE_CONN_AUTO \
593 BT_CONN_LE_CREATE_PARAM(BT_CONN_LE_OPT_NONE, \
594 BT_GAP_SCAN_FAST_INTERVAL, \
595 BT_GAP_SCAN_FAST_WINDOW)
596
617 const struct bt_conn_le_create_param *create_param,
618 const struct bt_le_conn_param *conn_param,
619 struct bt_conn **conn);
620
636int bt_conn_le_create_auto(const struct bt_conn_le_create_param *create_param,
637 const struct bt_le_conn_param *conn_param);
638
644
660 const struct bt_le_conn_param *param);
661
663typedef enum __packed {
679
710int bt_conn_set_security(struct bt_conn *conn, bt_security_t sec);
711
717
727uint8_t bt_conn_enc_key_size(struct bt_conn *conn);
728
732
735
738
741
744
747
750
753
756};
757
793 void (*connected)(struct bt_conn *conn, uint8_t err);
794
812 void (*disconnected)(struct bt_conn *conn, uint8_t reason);
813
838 bool (*le_param_req)(struct bt_conn *conn,
839 struct bt_le_conn_param *param);
840
851 void (*le_param_updated)(struct bt_conn *conn, uint16_t interval,
852 uint16_t latency, uint16_t timeout);
853#if defined(CONFIG_BT_SMP)
863 void (*identity_resolved)(struct bt_conn *conn,
864 const bt_addr_le_t *rpa,
865 const bt_addr_le_t *identity);
866#endif /* CONFIG_BT_SMP */
867#if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR)
884 void (*security_changed)(struct bt_conn *conn, bt_security_t level,
885 enum bt_security_err err);
886#endif /* defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR) */
887
888#if defined(CONFIG_BT_REMOTE_INFO)
897 void (*remote_info_available)(struct bt_conn *conn,
898 struct bt_conn_remote_info *remote_info);
899#endif /* defined(CONFIG_BT_REMOTE_INFO) */
900
901#if defined(CONFIG_BT_USER_PHY_UPDATE)
910 void (*le_phy_updated)(struct bt_conn *conn,
911 struct bt_conn_le_phy_info *param);
912#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
913
914#if defined(CONFIG_BT_USER_DATA_LEN_UPDATE)
923 void (*le_data_len_updated)(struct bt_conn *conn,
924 struct bt_conn_le_data_len_info *info);
925#endif /* defined(CONFIG_BT_USER_PHY_UPDATE) */
926
927 struct bt_conn_cb *_next;
928};
929
937
944#define BT_CONN_CB_DEFINE(_name) \
945 static const STRUCT_SECTION_ITERABLE(bt_conn_cb, \
946 _CONCAT(bt_conn_cb_, \
947 _name))
948
959void bt_set_bondable(bool enable);
960
969void bt_set_oob_data_flag(bool enable);
970
982int bt_le_oob_set_legacy_tk(struct bt_conn *conn, const uint8_t *tk);
983
1002int bt_le_oob_set_sc_data(struct bt_conn *conn,
1003 const struct bt_le_oob_sc_data *oobd_local,
1004 const struct bt_le_oob_sc_data *oobd_remote);
1005
1021int bt_le_oob_get_sc_data(struct bt_conn *conn,
1022 const struct bt_le_oob_sc_data **oobd_local,
1023 const struct bt_le_oob_sc_data **oobd_remote);
1024
1030#define BT_PASSKEY_INVALID 0xffffffff
1031
1045int bt_passkey_set(unsigned int passkey);
1046
1050 enum {
1053
1057
1058 union {
1060 struct {
1062 enum {
1065
1068
1071
1076 };
1077};
1078
1079#if defined(CONFIG_BT_SMP_APP_PAIRING_ACCEPT)
1089
1092
1095
1098
1103
1108};
1109#endif /* CONFIG_BT_SMP_APP_PAIRING_ACCEPT */
1110
1113#if defined(CONFIG_BT_SMP_APP_PAIRING_ACCEPT)
1141 enum bt_security_err (*pairing_accept)(struct bt_conn *conn,
1142 const struct bt_conn_pairing_feat *const feat);
1143#endif /* CONFIG_BT_SMP_APP_PAIRING_ACCEPT */
1144
1163 void (*passkey_display)(struct bt_conn *conn, unsigned int passkey);
1164
1183 void (*passkey_entry)(struct bt_conn *conn);
1184
1206 void (*passkey_confirm)(struct bt_conn *conn, unsigned int passkey);
1207
1224 void (*oob_data_request)(struct bt_conn *conn,
1225 struct bt_conn_oob_info *info);
1226
1239 void (*cancel)(struct bt_conn *conn);
1240
1259 void (*pairing_confirm)(struct bt_conn *conn);
1260
1261#if defined(CONFIG_BT_BREDR)
1280 void (*pincode_entry)(struct bt_conn *conn, bool highsec);
1281#endif
1282
1292 void (*pairing_complete)(struct bt_conn *conn, bool bonded);
1293
1299 void (*pairing_failed)(struct bt_conn *conn,
1300 enum bt_security_err reason);
1301
1311};
1312
1323
1334int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey);
1335
1344int bt_conn_auth_cancel(struct bt_conn *conn);
1345
1355int bt_conn_auth_passkey_confirm(struct bt_conn *conn);
1356
1366int bt_conn_auth_pairing_confirm(struct bt_conn *conn);
1367
1378int bt_conn_auth_pincode_entry(struct bt_conn *conn, const char *pin);
1379
1383};
1384
1389#define BT_BR_CONN_PARAM_INIT(role_switch) \
1390{ \
1391 .allow_role_switch = (role_switch), \
1392}
1393
1398#define BT_BR_CONN_PARAM(role_switch) \
1399 ((struct bt_br_conn_param[]) { \
1400 BT_BR_CONN_PARAM_INIT(role_switch) \
1401 })
1402
1406#define BT_BR_CONN_PARAM_DEFAULT BT_BR_CONN_PARAM(true)
1407
1408
1421struct bt_conn *bt_conn_create_br(const bt_addr_t *peer,
1422 const struct bt_br_conn_param *param);
1423
1435struct bt_conn *bt_conn_create_sco(const bt_addr_t *peer);
1436
1437#ifdef __cplusplus
1438}
1439#endif
1440
1445#endif /* ZEPHYR_INCLUDE_BLUETOOTH_CONN_H_ */
Bluetooth device address definitions and utilities.
Bluetooth subsystem core APIs.
ZTEST_BMEM int timeout
Definition: main.c:31
void
Definition: eswifi_shell.c:15
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:376
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.
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.
uint8_t bt_conn_index(struct bt_conn *conn)
Get array index of a connection.
bt_security_err
Definition: conn.h:729
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_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:663
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_PHY_OPT_CODED_S2
Definition: conn.h:90
@ BT_CONN_LE_PHY_OPT_CODED_S8
Definition: conn.h:93
@ BT_CONN_LE_PHY_OPT_NONE
Definition: conn.h:87
@ BT_CONN_ROLE_PERIPHERAL
Definition: conn.h:308
@ BT_CONN_ROLE_CENTRAL
Definition: conn.h:307
@ BT_CONN_LE_TX_POWER_PHY_NONE
Definition: conn.h:378
@ BT_CONN_LE_TX_POWER_PHY_CODED_S2
Definition: conn.h:386
@ BT_CONN_LE_TX_POWER_PHY_CODED_S8
Definition: conn.h:384
@ BT_CONN_LE_TX_POWER_PHY_1M
Definition: conn.h:380
@ BT_CONN_LE_TX_POWER_PHY_2M
Definition: conn.h:382
@ BT_SECURITY_ERR_OOB_NOT_AVAILABLE
Definition: conn.h:740
@ BT_SECURITY_ERR_AUTH_REQUIREMENT
Definition: conn.h:743
@ BT_SECURITY_ERR_UNSPECIFIED
Definition: conn.h:755
@ BT_SECURITY_ERR_INVALID_PARAM
Definition: conn.h:752
@ BT_SECURITY_ERR_PAIR_NOT_SUPPORTED
Definition: conn.h:746
@ BT_SECURITY_ERR_AUTH_FAIL
Definition: conn.h:734
@ BT_SECURITY_ERR_PIN_OR_KEY_MISSING
Definition: conn.h:737
@ BT_SECURITY_ERR_SUCCESS
Definition: conn.h:731
@ BT_SECURITY_ERR_PAIR_NOT_ALLOWED
Definition: conn.h:749
@ BT_CONN_LE_OPT_NONE
Definition: conn.h:503
@ BT_CONN_LE_OPT_NO_1M
Disable LE 1M PHY.
Definition: conn.h:517
@ BT_CONN_LE_OPT_CODED
Enable LE Coded PHY.
Definition: conn.h:509
@ BT_SECURITY_L4
Definition: conn.h:673
@ BT_SECURITY_L0
Definition: conn.h:665
@ BT_SECURITY_L3
Definition: conn.h:671
@ BT_SECURITY_FORCE_PAIR
Definition: conn.h:677
@ BT_SECURITY_L1
Definition: conn.h:667
@ BT_SECURITY_L2
Definition: conn.h:669
@ BT_CONN_TYPE_LE
Definition: conn.h:263
@ BT_CONN_TYPE_ALL
Definition: conn.h:271
@ BT_CONN_TYPE_BR
Definition: conn.h:265
@ BT_CONN_TYPE_ISO
Definition: conn.h:269
@ BT_CONN_TYPE_SCO
Definition: conn.h:267
#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.
#define bool
Definition: stdbool.h:13
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
__INT8_TYPE__ int8_t
Definition: stdint.h:42
Definition: addr.h:39
Definition: addr.h:34
Definition: conn.h:1381
bool allow_role_switch
Definition: conn.h:1382
Definition: conn.h:1112
void(* passkey_entry)(struct bt_conn *conn)
Request the user to enter a passkey.
Definition: conn.h:1183
void(* passkey_display)(struct bt_conn *conn, unsigned int passkey)
Display a passkey to the user.
Definition: conn.h:1163
void(* passkey_confirm)(struct bt_conn *conn, unsigned int passkey)
Request the user to confirm a passkey.
Definition: conn.h:1206
void(* pairing_complete)(struct bt_conn *conn, bool bonded)
notify that pairing procedure was complete.
Definition: conn.h:1292
void(* pairing_failed)(struct bt_conn *conn, enum bt_security_err reason)
notify that pairing process has failed.
Definition: conn.h:1299
void(* bond_deleted)(uint8_t id, const bt_addr_le_t *peer)
Notify that bond has been deleted.
Definition: conn.h:1310
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:1141
void(* pincode_entry)(struct bt_conn *conn, bool highsec)
Request the user to enter a passkey.
Definition: conn.h:1280
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:1224
void(* pairing_confirm)(struct bt_conn *conn)
Request confirmation for an incoming pairing.
Definition: conn.h:1259
void(* cancel)(struct bt_conn *conn)
Cancel the ongoing user request.
Definition: conn.h:1239
Definition: conn.h:302
const bt_addr_t * dst
Definition: conn.h:303
Definition: conn.h:340
uint8_t num_pages
Definition: conn.h:346
const uint8_t * features
Definition: conn.h:343
Connection callback structure.
Definition: conn.h:768
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:851
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:923
bool(* le_param_req)(struct bt_conn *conn, struct bt_le_conn_param *param)
LE connection parameter update request.
Definition: conn.h:838
void(* disconnected)(struct bt_conn *conn, uint8_t reason)
A connection has been disconnected.
Definition: conn.h:812
void(* connected)(struct bt_conn *conn, uint8_t err)
A new connection has been established.
Definition: conn.h:793
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:910
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:884
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:863
void(* remote_info_available)(struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
Remote information procedures has completed.
Definition: conn.h:897
Definition: conn.h:316
uint8_t id
Definition: conn.h:322
struct bt_conn_le_info le
Definition: conn.h:326
uint8_t type
Definition: conn.h:318
struct bt_conn_br_info br
Definition: conn.h:328
uint8_t role
Definition: conn.h:320
Definition: conn.h:520
uint16_t interval_coded
Scan interval LE Coded PHY (N * 0.625 MS)
Definition: conn.h:535
uint16_t window
Definition: conn.h:529
uint32_t options
Definition: conn.h:523
uint16_t timeout
Connection initiation timeout (N * 10 MS)
Definition: conn.h:550
uint16_t interval
Definition: conn.h:526
uint16_t window_coded
Scan window LE Coded PHY (N * 0.625 MS)
Definition: conn.h:541
Definition: conn.h:146
uint16_t tx_max_time
Definition: conn.h:150
uint16_t rx_max_len
Definition: conn.h:152
uint16_t tx_max_len
Definition: conn.h:148
uint16_t rx_max_time
Definition: conn.h:154
Definition: conn.h:158
uint16_t tx_max_len
Definition: conn.h:160
uint16_t tx_max_time
Definition: conn.h:162
Definition: conn.h:276
const bt_addr_le_t * dst
Definition: conn.h:282
const struct bt_conn_le_phy_info * phy
Definition: conn.h:292
const bt_addr_le_t * remote
Definition: conn.h:286
const bt_addr_le_t * local
Definition: conn.h:284
const bt_addr_le_t * src
Definition: conn.h:278
uint16_t interval
Definition: conn.h:287
uint16_t latency
Definition: conn.h:288
const struct bt_conn_le_data_len_info * data_len
Definition: conn.h:297
uint16_t timeout
Definition: conn.h:289
Definition: conn.h:79
uint8_t rx_phy
Definition: conn.h:81
uint8_t tx_phy
Definition: conn.h:80
Definition: conn.h:97
uint16_t options
Definition: conn.h:98
uint8_t pref_rx_phy
Definition: conn.h:100
uint8_t pref_tx_phy
Definition: conn.h:99
Definition: conn.h:333
const uint8_t * features
Definition: conn.h:336
Definition: conn.h:390
int8_t max_level
Definition: conn.h:399
int8_t current_level
Definition: conn.h:396
uint8_t phy
Definition: conn.h:393
Definition: conn.h:1048
struct bt_conn_oob_info::@49::@51 lesc
enum bt_conn_oob_info::@48 type
@ BT_CONN_OOB_LE_LEGACY
Definition: conn.h:1052
@ BT_CONN_OOB_LE_SC
Definition: conn.h:1055
enum bt_conn_oob_info::@49::@51::@52 oob_config
@ BT_CONN_OOB_NO_DATA
Definition: conn.h:1073
@ BT_CONN_OOB_LOCAL_ONLY
Definition: conn.h:1064
@ BT_CONN_OOB_REMOTE_ONLY
Definition: conn.h:1067
@ BT_CONN_OOB_BOTH_PEERS
Definition: conn.h:1070
Pairing request and pairing response info structure.
Definition: conn.h:1086
uint8_t resp_key_dist
Definition: conn.h:1107
uint8_t io_capability
Definition: conn.h:1088
uint8_t init_key_dist
Definition: conn.h:1102
uint8_t max_enc_key_size
Definition: conn.h:1097
uint8_t auth_req
Definition: conn.h:1094
uint8_t oob_data_flag
Definition: conn.h:1091
Connection Remote Info Structure.
Definition: conn.h:354
uint8_t version
Definition: conn.h:359
uint16_t subversion
Definition: conn.h:365
uint16_t manufacturer
Definition: conn.h:362
uint8_t type
Definition: conn.h:356
struct bt_conn_br_remote_info br
Definition: conn.h:372
struct bt_conn_le_remote_info le
Definition: conn.h:369
Definition: conn.h:35
uint16_t latency
Definition: conn.h:38
uint16_t interval_max
Definition: conn.h:37
uint16_t timeout
Definition: conn.h:39
uint16_t interval_min
Definition: conn.h:36
Definition: bluetooth.h:1948
static fdata_t data[2]
Definition: test_fifo_contexts.c:15