Zephyr Project
A Scalable Open Source RTOS for IoT Embedded Devices
bluetooth.h
Go to the documentation of this file.
1 
5 /*
6  * Copyright (c) 2017 Nordic Semiconductor ASA
7  * Copyright (c) 2015-2016 Intel Corporation
8  *
9  * SPDX-License-Identifier: Apache-2.0
10  */
11 #ifndef ZEPHYR_INCLUDE_BLUETOOTH_BLUETOOTH_H_
12 #define ZEPHYR_INCLUDE_BLUETOOTH_BLUETOOTH_H_
13 
20 #include <stdbool.h>
21 #include <string.h>
22 #include <sys/util.h>
23 #include <net/buf.h>
24 #include <bluetooth/gap.h>
25 #include <bluetooth/addr.h>
26 #include <bluetooth/crypto.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
46 #define BT_ID_DEFAULT 0
47 
49 struct bt_le_ext_adv;
50 
52 struct bt_le_per_adv_sync;
53 
54 /* Don't require everyone to include conn.h */
55 struct bt_conn;
56 
57 /* Don't require everyone to include iso.h */
58 struct bt_iso_biginfo;
59 
60 /* Don't require everyone to include direction.h */
62 
66 };
67 
70  struct bt_conn *conn;
71 };
72 
76 };
77 
90  void (*sent)(struct bt_le_ext_adv *adv,
91  struct bt_le_ext_adv_sent_info *info);
92 
102  void (*connected)(struct bt_le_ext_adv *adv,
103  struct bt_le_ext_adv_connected_info *info);
104 
115  void (*scanned)(struct bt_le_ext_adv *adv,
116  struct bt_le_ext_adv_scanned_info *info);
117 };
118 
125 typedef void (*bt_ready_cb_t)(int err);
126 
143 int bt_enable(bt_ready_cb_t cb);
144 
158 int bt_set_name(const char *name);
159 
167 const char *bt_get_name(void);
168 
189 void bt_id_get(bt_addr_le_t *addrs, size_t *count);
190 
233 
267 
284 int bt_id_delete(uint8_t id);
285 
293 struct bt_data {
296  const uint8_t *data;
297 };
298 
309 #define BT_DATA(_type, _data, _data_len) \
310  { \
311  .type = (_type), \
312  .data_len = (_data_len), \
313  .data = (const uint8_t *)(_data), \
314  }
315 
325 #define BT_DATA_BYTES(_type, _bytes...) \
326  BT_DATA(_type, ((uint8_t []) { _bytes }), \
327  sizeof((uint8_t []) { _bytes }))
328 
330 enum {
333 
343 
359 
371 
393 
401 
415 
419 
422 
427 
438 
458 
474 
486 
493 
500 
503 
506 
509 
519 };
520 
532 
539 
549 
552 
561 
570 
587 };
588 
589 
591 enum {
594 
601 };
602 
611 
619 
622 };
623 
633 #define BT_LE_ADV_PARAM_INIT(_options, _int_min, _int_max, _peer) \
634 { \
635  .id = BT_ID_DEFAULT, \
636  .sid = 0, \
637  .secondary_max_skip = 0, \
638  .options = (_options), \
639  .interval_min = (_int_min), \
640  .interval_max = (_int_max), \
641  .peer = (_peer), \
642 }
643 
653 #define BT_LE_ADV_PARAM(_options, _int_min, _int_max, _peer) \
654  ((struct bt_le_adv_param[]) { \
655  BT_LE_ADV_PARAM_INIT(_options, _int_min, _int_max, _peer) \
656  })
657 
658 #define BT_LE_ADV_CONN_DIR(_peer) BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
659  BT_LE_ADV_OPT_ONE_TIME, 0, 0,\
660  _peer)
661 
662 
663 #define BT_LE_ADV_CONN BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE, \
664  BT_GAP_ADV_FAST_INT_MIN_2, \
665  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
666 
667 #define BT_LE_ADV_CONN_NAME BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
668  BT_LE_ADV_OPT_USE_NAME, \
669  BT_GAP_ADV_FAST_INT_MIN_2, \
670  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
671 
672 #define BT_LE_ADV_CONN_NAME_AD BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | \
673  BT_LE_ADV_OPT_USE_NAME | \
674  BT_LE_ADV_OPT_FORCE_NAME_IN_AD, \
675  BT_GAP_ADV_FAST_INT_MIN_2, \
676  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
677 
678 #define BT_LE_ADV_CONN_DIR_LOW_DUTY(_peer) \
679  BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE | BT_LE_ADV_OPT_ONE_TIME | \
680  BT_LE_ADV_OPT_DIR_MODE_LOW_DUTY, \
681  BT_GAP_ADV_FAST_INT_MIN_2, BT_GAP_ADV_FAST_INT_MAX_2, \
682  _peer)
683 
685 #define BT_LE_ADV_NCONN BT_LE_ADV_PARAM(0, BT_GAP_ADV_FAST_INT_MIN_2, \
686  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
687 
689 #define BT_LE_ADV_NCONN_NAME BT_LE_ADV_PARAM(BT_LE_ADV_OPT_USE_NAME, \
690  BT_GAP_ADV_FAST_INT_MIN_2, \
691  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
692 
694 #define BT_LE_ADV_NCONN_IDENTITY BT_LE_ADV_PARAM(BT_LE_ADV_OPT_USE_IDENTITY, \
695  BT_GAP_ADV_FAST_INT_MIN_2, \
696  BT_GAP_ADV_FAST_INT_MAX_2, \
697  NULL)
698 
700 #define BT_LE_EXT_ADV_CONN_NAME BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | \
701  BT_LE_ADV_OPT_CONNECTABLE | \
702  BT_LE_ADV_OPT_USE_NAME, \
703  BT_GAP_ADV_FAST_INT_MIN_2, \
704  BT_GAP_ADV_FAST_INT_MAX_2, \
705  NULL)
706 
708 #define BT_LE_EXT_ADV_NCONN BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV, \
709  BT_GAP_ADV_FAST_INT_MIN_2, \
710  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
711 
713 #define BT_LE_EXT_ADV_NCONN_NAME BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | \
714  BT_LE_ADV_OPT_USE_NAME, \
715  BT_GAP_ADV_FAST_INT_MIN_2, \
716  BT_GAP_ADV_FAST_INT_MAX_2, \
717  NULL)
718 
720 #define BT_LE_EXT_ADV_NCONN_IDENTITY \
721  BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | \
722  BT_LE_ADV_OPT_USE_IDENTITY, \
723  BT_GAP_ADV_FAST_INT_MIN_2, \
724  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
725 
727 #define BT_LE_EXT_ADV_CODED_NCONN BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | \
728  BT_LE_ADV_OPT_CODED, \
729  BT_GAP_ADV_FAST_INT_MIN_2, \
730  BT_GAP_ADV_FAST_INT_MAX_2, \
731  NULL)
732 
736 #define BT_LE_EXT_ADV_CODED_NCONN_NAME \
737  BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_CODED | \
738  BT_LE_ADV_OPT_USE_NAME, \
739  BT_GAP_ADV_FAST_INT_MIN_2, \
740  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
741 
745 #define BT_LE_EXT_ADV_CODED_NCONN_IDENTITY \
746  BT_LE_ADV_PARAM(BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_CODED | \
747  BT_LE_ADV_OPT_USE_IDENTITY, \
748  BT_GAP_ADV_FAST_INT_MIN_2, \
749  BT_GAP_ADV_FAST_INT_MAX_2, NULL)
750 
757 #define BT_LE_EXT_ADV_START_PARAM_INIT(_timeout, _n_evts) \
758 { \
759  .timeout = (_timeout), \
760  .num_events = (_n_evts), \
761 }
762 
769 #define BT_LE_EXT_ADV_START_PARAM(_timeout, _n_evts) \
770  ((struct bt_le_ext_adv_start_param[]) { \
771  BT_LE_EXT_ADV_START_PARAM_INIT((_timeout), (_n_evts)) \
772  })
773 
774 #define BT_LE_EXT_ADV_START_DEFAULT BT_LE_EXT_ADV_START_PARAM(0, 0)
775 
783 #define BT_LE_PER_ADV_PARAM_INIT(_int_min, _int_max, _options) \
784 { \
785  .interval_min = (_int_min), \
786  .interval_max = (_int_max), \
787  .options = (_options), \
788 }
789 
797 #define BT_LE_PER_ADV_PARAM(_int_min, _int_max, _options) \
798  ((struct bt_le_per_adv_param[]) { \
799  BT_LE_PER_ADV_PARAM_INIT(_int_min, _int_max, _options) \
800  })
801 
802 #define BT_LE_PER_ADV_DEFAULT BT_LE_PER_ADV_PARAM(BT_GAP_ADV_SLOW_INT_MIN, \
803  BT_GAP_ADV_SLOW_INT_MAX, \
804  BT_LE_PER_ADV_OPT_NONE)
805 
833 int bt_le_adv_start(const struct bt_le_adv_param *param,
834  const struct bt_data *ad, size_t ad_len,
835  const struct bt_data *sd, size_t sd_len);
836 
849 int bt_le_adv_update_data(const struct bt_data *ad, size_t ad_len,
850  const struct bt_data *sd, size_t sd_len);
851 
859 int bt_le_adv_stop(void);
860 
875 int bt_le_ext_adv_create(const struct bt_le_adv_param *param,
876  const struct bt_le_ext_adv_cb *cb,
877  struct bt_le_ext_adv **adv);
878 
901 };
902 
916 int bt_le_ext_adv_start(struct bt_le_ext_adv *adv,
917  struct bt_le_ext_adv_start_param *param);
918 
929 int bt_le_ext_adv_stop(struct bt_le_ext_adv *adv);
930 
965 int bt_le_ext_adv_set_data(struct bt_le_ext_adv *adv,
966  const struct bt_data *ad, size_t ad_len,
967  const struct bt_data *sd, size_t sd_len);
968 
981 int bt_le_ext_adv_update_param(struct bt_le_ext_adv *adv,
982  const struct bt_le_adv_param *param);
983 
992 int bt_le_ext_adv_delete(struct bt_le_ext_adv *adv);
993 
1005 uint8_t bt_le_ext_adv_get_index(struct bt_le_ext_adv *adv);
1006 
1009  /* Local identity */
1011 
1014 };
1015 
1024 int bt_le_ext_adv_get_info(const struct bt_le_ext_adv *adv,
1025  struct bt_le_ext_adv_info *info);
1026 
1039 typedef void bt_le_scan_cb_t(const bt_addr_le_t *addr, int8_t rssi,
1040  uint8_t adv_type, struct net_buf_simple *buf);
1041 
1054 int bt_le_per_adv_set_param(struct bt_le_ext_adv *adv,
1055  const struct bt_le_per_adv_param *param);
1056 
1070 int bt_le_per_adv_set_data(const struct bt_le_ext_adv *adv,
1071  const struct bt_data *ad, size_t ad_len);
1072 
1090 int bt_le_per_adv_start(struct bt_le_ext_adv *adv);
1091 
1103 int bt_le_per_adv_stop(struct bt_le_ext_adv *adv);
1104 
1108 
1111 
1114 
1117 
1120 
1127 
1134  struct bt_conn *conn;
1135 };
1136 
1140 
1143 };
1144 
1148 
1151 
1154 
1157 
1160 };
1161 
1162 
1166 };
1167 
1179  void (*synced)(struct bt_le_per_adv_sync *sync,
1180  struct bt_le_per_adv_sync_synced_info *info);
1181 
1191  void (*term)(struct bt_le_per_adv_sync *sync,
1192  const struct bt_le_per_adv_sync_term_info *info);
1193 
1204  void (*recv)(struct bt_le_per_adv_sync *sync,
1205  const struct bt_le_per_adv_sync_recv_info *info,
1206  struct net_buf_simple *buf);
1207 
1218  void (*state_changed)(struct bt_le_per_adv_sync *sync,
1219  const struct bt_le_per_adv_sync_state_info *info);
1220 
1231  void (*biginfo)(struct bt_le_per_adv_sync *sync, const struct bt_iso_biginfo *biginfo);
1232 
1240  void (*cte_report_cb)(struct bt_le_per_adv_sync *sync,
1241  struct bt_df_per_adv_sync_iq_samples_report const *info);
1242 
1244 };
1245 
1247 enum {
1250 
1258 
1265 
1268 
1271 
1274 
1277 };
1278 
1286 
1293 
1296 
1304 
1312 };
1313 
1325 uint8_t bt_le_per_adv_sync_get_index(struct bt_le_per_adv_sync *per_adv_sync);
1326 
1331 
1334 
1337 
1340 };
1341 
1350 int bt_le_per_adv_sync_get_info(struct bt_le_per_adv_sync *per_adv_sync,
1351  struct bt_le_per_adv_sync_info *info);
1352 
1361 struct bt_le_per_adv_sync *bt_le_per_adv_sync_lookup_addr(const bt_addr_le_t *adv_addr,
1362  uint8_t sid);
1363 
1376 int bt_le_per_adv_sync_create(const struct bt_le_per_adv_sync_param *param,
1377  struct bt_le_per_adv_sync **out_sync);
1378 
1395 int bt_le_per_adv_sync_delete(struct bt_le_per_adv_sync *per_adv_sync);
1396 
1409 
1419 int bt_le_per_adv_sync_recv_enable(struct bt_le_per_adv_sync *per_adv_sync);
1420 
1430 int bt_le_per_adv_sync_recv_disable(struct bt_le_per_adv_sync *per_adv_sync);
1431 
1433 enum {
1436 
1443 
1451 
1459 
1462 };
1463 
1472 
1480 
1483 };
1484 
1497 int bt_le_per_adv_sync_transfer(const struct bt_le_per_adv_sync *per_adv_sync,
1498  const struct bt_conn *conn,
1499  uint16_t service_data);
1500 
1501 
1514 int bt_le_per_adv_set_info_transfer(const struct bt_le_ext_adv *adv,
1515  const struct bt_conn *conn,
1516  uint16_t service_data);
1517 
1532  const struct bt_conn *conn,
1533  const struct bt_le_per_adv_sync_transfer_param *param);
1534 
1548 int bt_le_per_adv_sync_transfer_unsubscribe(const struct bt_conn *conn);
1549 
1563 int bt_le_per_adv_list_add(const bt_addr_le_t *addr, uint8_t sid);
1564 
1576 int bt_le_per_adv_list_remove(const bt_addr_le_t *addr, uint8_t sid);
1577 
1585 int bt_le_per_adv_list_clear(void);
1586 
1587 enum {
1590 
1593 
1596 
1599 
1606 };
1607 
1608 enum {
1611 
1614 };
1615 
1620 
1623 
1626 
1629 
1637 
1644 
1651 };
1652 
1662 
1665 
1668 
1671 
1674 
1677 
1684 
1687 
1690 };
1691 
1694 
1701  void (*recv)(const struct bt_le_scan_recv_info *info,
1702  struct net_buf_simple *buf);
1703 
1705  void (*timeout)(void);
1706 
1708 };
1709 
1719 #define BT_LE_SCAN_PARAM_INIT(_type, _options, _interval, _window) \
1720 { \
1721  .type = (_type), \
1722  .options = (_options), \
1723  .interval = (_interval), \
1724  .window = (_window), \
1725  .timeout = 0, \
1726  .interval_coded = 0, \
1727  .window_coded = 0, \
1728 }
1729 
1739 #define BT_LE_SCAN_PARAM(_type, _options, _interval, _window) \
1740  ((struct bt_le_scan_param[]) { \
1741  BT_LE_SCAN_PARAM_INIT(_type, _options, _interval, _window) \
1742  })
1743 
1747 #define BT_LE_SCAN_ACTIVE BT_LE_SCAN_PARAM(BT_LE_SCAN_TYPE_ACTIVE, \
1748  BT_LE_SCAN_OPT_FILTER_DUPLICATE, \
1749  BT_GAP_SCAN_FAST_INTERVAL, \
1750  BT_GAP_SCAN_FAST_WINDOW)
1751 
1758 #define BT_LE_SCAN_PASSIVE BT_LE_SCAN_PARAM(BT_LE_SCAN_TYPE_PASSIVE, \
1759  BT_LE_SCAN_OPT_FILTER_DUPLICATE, \
1760  BT_GAP_SCAN_FAST_INTERVAL, \
1761  BT_GAP_SCAN_FAST_WINDOW)
1762 
1767 #define BT_LE_SCAN_CODED_ACTIVE \
1768  BT_LE_SCAN_PARAM(BT_LE_SCAN_TYPE_ACTIVE, \
1769  BT_LE_SCAN_OPT_CODED | \
1770  BT_LE_SCAN_OPT_FILTER_DUPLICATE, \
1771  BT_GAP_SCAN_FAST_INTERVAL, \
1772  BT_GAP_SCAN_FAST_WINDOW)
1773 
1781 #define BT_LE_SCAN_CODED_PASSIVE \
1782  BT_LE_SCAN_PARAM(BT_LE_SCAN_TYPE_PASSIVE, \
1783  BT_LE_SCAN_OPT_CODED | \
1784  BT_LE_SCAN_OPT_FILTER_DUPLICATE, \
1785  BT_GAP_SCAN_FAST_INTERVAL, \
1786  BT_GAP_SCAN_FAST_WINDOW)
1787 
1808 int bt_le_scan_start(const struct bt_le_scan_param *param, bt_le_scan_cb_t cb);
1809 
1818 int bt_le_scan_stop(void);
1819 
1831 void bt_le_scan_cb_register(struct bt_le_scan_cb *cb);
1832 
1840 void bt_le_scan_cb_unregister(struct bt_le_scan_cb *cb);
1841 
1856 int bt_le_whitelist_add(const bt_addr_le_t *addr);
1857 
1872 int bt_le_whitelist_rem(const bt_addr_le_t *addr);
1873 
1886 int bt_le_whitelist_clear(void);
1887 
1896 int bt_le_set_chan_map(uint8_t chan_map[5]);
1897 
1912 void bt_data_parse(struct net_buf_simple *ad,
1913  bool (*func)(struct bt_data *data, void *user_data),
1914  void *user_data);
1915 
1919  uint8_t r[16];
1920 
1922  uint8_t c[16];
1923 };
1924 
1926 struct bt_le_oob {
1931 
1934 };
1935 
1964 int bt_le_oob_get_local(uint8_t id, struct bt_le_oob *oob);
1965 
1990 int bt_le_ext_adv_oob_get_local(struct bt_le_ext_adv *adv,
1991  struct bt_le_oob *oob);
1992 
1996  uint8_t _priv[4];
1997 
2000 
2003 
2006 
2008  uint8_t eir[240];
2009 };
2010 
2024  size_t count);
2025 
2032 
2034  bool limited;
2035 };
2036 
2054 int bt_br_discovery_start(const struct bt_br_discovery_param *param,
2055  struct bt_br_discovery_result *results, size_t count,
2057 
2067 int bt_br_discovery_stop(void);
2068 
2069 struct bt_br_oob {
2072 };
2073 
2082 int bt_br_oob_get_local(struct bt_br_oob *oob);
2083 
2084 
2097 int bt_br_set_discoverable(bool enable);
2098 
2111 int bt_br_set_connectable(bool enable);
2112 
2122 int bt_unpair(uint8_t id, const bt_addr_le_t *addr);
2123 
2128 };
2129 
2137 void bt_foreach_bond(uint8_t id, void (*func)(const struct bt_bond_info *info,
2138  void *user_data),
2139  void *user_data);
2140 
2145 #ifdef __cplusplus
2146 }
2147 #endif
2148 
2152 #endif /* ZEPHYR_INCLUDE_BLUETOOTH_BLUETOOTH_H_ */
bt_br_discovery_result::eir
uint8_t eir[240]
Definition: bluetooth.h:2008
buf.h
Buffer management.
bt_le_ext_adv_get_info
int bt_le_ext_adv_get_info(const struct bt_le_ext_adv *adv, struct bt_le_ext_adv_info *info)
Get advertising set info.
bt_le_ext_adv_cb::connected
void(* connected)(struct bt_le_ext_adv *adv, struct bt_le_ext_adv_connected_info *info)
The advertising set has accepted a new connection.
Definition: bluetooth.h:102
bt_le_per_adv_param
Definition: bluetooth.h:603
bt_data_parse
void bt_data_parse(struct net_buf_simple *ad, bool(*func)(struct bt_data *data, void *user_data), void *user_data)
Helper for parsing advertising (or EIR or OOB) data.
bt_le_per_adv_sync_state_info::recv_enabled
bool recv_enabled
Definition: bluetooth.h:1165
bt_le_per_adv_sync_synced_info::recv_enabled
bool recv_enabled
Definition: bluetooth.h:1119
bt_le_per_adv_sync_delete
int bt_le_per_adv_sync_delete(struct bt_le_per_adv_sync *per_adv_sync)
Delete periodic advertising sync.
bt_le_per_adv_param::options
uint32_t options
Definition: bluetooth.h:621
BT_LE_ADV_OPT_NOTIFY_SCAN_REQ
@ BT_LE_ADV_OPT_NOTIFY_SCAN_REQ
Definition: bluetooth.h:426
BT_LE_ADV_OPT_EXT_ADV
@ BT_LE_ADV_OPT_EXT_ADV
Advertise with extended advertising.
Definition: bluetooth.h:457
bt_le_per_adv_sync_cb::term
void(* term)(struct bt_le_per_adv_sync *sync, const struct bt_le_per_adv_sync_term_info *info)
The periodic advertising sync has been terminated.
Definition: bluetooth.h:1191
bt_le_per_adv_sync_param::timeout
uint16_t timeout
Synchronization timeout (N * 10 ms)
Definition: bluetooth.h:1311
BT_LE_SCAN_OPT_FILTER_DUPLICATE
@ BT_LE_SCAN_OPT_FILTER_DUPLICATE
Definition: bluetooth.h:1592
sys_snode_t
struct _snode sys_snode_t
Definition: slist.h:33
bt_le_oob::le_sc_data
struct bt_le_oob_sc_data le_sc_data
Definition: bluetooth.h:1933
bt_le_adv_param::secondary_max_skip
uint8_t secondary_max_skip
Secondary channel maximum skip count.
Definition: bluetooth.h:548
bt_le_per_adv_sync_transfer_param::timeout
uint16_t timeout
Synchronization timeout (N * 10 ms)
Definition: bluetooth.h:1479
bt_data::type
uint8_t type
Definition: bluetooth.h:294
bt_le_scan_recv_info
Definition: bluetooth.h:1654
bt_enable
int bt_enable(bt_ready_cb_t cb)
Enable Bluetooth.
bt_le_oob_sc_data::r
uint8_t r[16]
Definition: bluetooth.h:1919
bt_le_adv_param::id
uint8_t id
Local identity.
Definition: bluetooth.h:531
bt_le_ext_adv_update_param
int bt_le_ext_adv_update_param(struct bt_le_ext_adv *adv, const struct bt_le_adv_param *param)
Update advertising parameters.
bt_le_scan_recv_info::sid
uint8_t sid
Definition: bluetooth.h:1664
bt_le_ext_adv_create
int bt_le_ext_adv_create(const struct bt_le_adv_param *param, const struct bt_le_ext_adv_cb *cb, struct bt_le_ext_adv **adv)
Create advertising set.
bt_le_ext_adv_connected_info::conn
struct bt_conn * conn
Definition: bluetooth.h:70
bt_le_ext_adv_info::tx_power
int8_t tx_power
Definition: bluetooth.h:1013
bt_br_discovery_result::rssi
int8_t rssi
Definition: bluetooth.h:2002
BT_LE_ADV_OPT_FILTER_SCAN_REQ
@ BT_LE_ADV_OPT_FILTER_SCAN_REQ
Definition: bluetooth.h:418
bt_le_per_adv_sync_cb
Definition: bluetooth.h:1168
bt_le_ext_adv_sent_info
Definition: bluetooth.h:63
string.h
bt_br_discovery_param
Definition: bluetooth.h:2027
bt_le_oob
Definition: bluetooth.h:1926
bt_le_scan_param::window
uint16_t window
Definition: bluetooth.h:1628
BT_LE_PER_ADV_SYNC_OPT_SYNC_ONLY_CONST_TONE_EXT
@ BT_LE_PER_ADV_SYNC_OPT_SYNC_ONLY_CONST_TONE_EXT
Definition: bluetooth.h:1276
bt_addr_t
Definition: addr.h:34
bt_le_oob::addr
bt_addr_le_t addr
Definition: bluetooth.h:1930
bt_le_ext_adv_oob_get_local
int bt_le_ext_adv_oob_get_local(struct bt_le_ext_adv *adv, struct bt_le_oob *oob)
Get local LE Out of Band (OOB) information.
count
ZTEST_BMEM int count
Definition: main.c:33
BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOD_1US
@ BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOD_1US
Definition: bluetooth.h:1270
bt_le_per_adv_sync_param
Definition: bluetooth.h:1279
bt_le_ext_adv_info::id
uint8_t id
Definition: bluetooth.h:1010
bt_le_scan_param::timeout
uint16_t timeout
Scan timeout (N * 10 ms)
Definition: bluetooth.h:1636
bt_le_adv_param::peer
const bt_addr_le_t * peer
Directed advertising to peer.
Definition: bluetooth.h:586
bt_br_discovery_cb_t
void bt_br_discovery_cb_t(struct bt_br_discovery_result *results, size_t count)
Callback type for reporting BR/EDR discovery (inquiry) results.
Definition: bluetooth.h:2023
bt_le_per_adv_sync_info::addr
bt_addr_le_t addr
Definition: bluetooth.h:1330
bt_id_get
void bt_id_get(bt_addr_le_t *addrs, size_t *count)
Get the currently configured identities.
bt_le_per_adv_set_param
int bt_le_per_adv_set_param(struct bt_le_ext_adv *adv, const struct bt_le_per_adv_param *param)
Set or update the periodic advertising parameters.
results
static int results[3]
Definition: timeout_order.c:16
bt_le_per_adv_sync_param::options
uint32_t options
Definition: bluetooth.h:1295
BT_LE_PER_ADV_OPT_NONE
@ BT_LE_PER_ADV_OPT_NONE
Definition: bluetooth.h:593
bt_le_oob_sc_data
Definition: bluetooth.h:1917
bt_br_discovery_result::cod
uint8_t cod[3]
Definition: bluetooth.h:2005
bt_le_ext_adv_set_data
int bt_le_ext_adv_set_data(struct bt_le_ext_adv *adv, const struct bt_data *ad, size_t ad_len, const struct bt_data *sd, size_t sd_len)
Set an advertising set's advertising or scan response data.
bt_le_scan_recv_info::rssi
int8_t rssi
Definition: bluetooth.h:1667
BT_LE_PER_ADV_SYNC_OPT_NONE
@ BT_LE_PER_ADV_SYNC_OPT_NONE
Definition: bluetooth.h:1249
BT_LE_ADV_OPT_USE_NAME
@ BT_LE_ADV_OPT_USE_NAME
Definition: bluetooth.h:392
bt_le_per_adv_start
int bt_le_per_adv_start(struct bt_le_ext_adv *adv)
Starts periodic advertising.
bt_br_discovery_result::addr
bt_addr_t addr
Definition: bluetooth.h:1999
bt_br_discovery_param::length
uint8_t length
Definition: bluetooth.h:2031
bt_le_oob_sc_data::c
uint8_t c[16]
Definition: bluetooth.h:1922
bt_le_ext_adv_sent_info::num_sent
uint8_t num_sent
Definition: bluetooth.h:65
BT_LE_ADV_OPT_DISABLE_CHAN_39
@ BT_LE_ADV_OPT_DISABLE_CHAN_39
Definition: bluetooth.h:508
bt_br_discovery_param::limited
bool limited
Definition: bluetooth.h:2034
BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOA
@ BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOA
No Angle of Arrival (AoA)
Definition: bluetooth.h:1442
bt_le_adv_update_data
int bt_le_adv_update_data(const struct bt_data *ad, size_t ad_len, const struct bt_data *sd, size_t sd_len)
Update advertising.
bt_le_scan_cb_register
void bt_le_scan_cb_register(struct bt_le_scan_cb *cb)
Register scanner packet callbacks.
bt_le_whitelist_add
int bt_le_whitelist_add(const bt_addr_le_t *addr)
Add device (LE) to whitelist.
bt_le_per_adv_sync_param::skip
uint16_t skip
Maximum event skip.
Definition: bluetooth.h:1303
stdbool.h
BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOD_2US
@ BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOD_2US
Definition: bluetooth.h:1273
bt_br_oob
Definition: bluetooth.h:2069
BT_LE_SCAN_OPT_CODED
@ BT_LE_SCAN_OPT_CODED
Definition: bluetooth.h:1598
BT_LE_SCAN_TYPE_ACTIVE
@ BT_LE_SCAN_TYPE_ACTIVE
Definition: bluetooth.h:1613
BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_ONLY_CTE
@ BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_ONLY_CTE
Definition: bluetooth.h:1461
bt_data::data_len
uint8_t data_len
Definition: bluetooth.h:295
bt_le_per_adv_list_clear
int bt_le_per_adv_list_clear(void)
Clear the periodic advertising list.
bt_le_per_adv_sync_synced_info::interval
uint16_t interval
Definition: bluetooth.h:1113
bt_le_per_adv_sync_info::phy
uint8_t phy
Definition: bluetooth.h:1339
BT_LE_ADV_OPT_DISABLE_CHAN_38
@ BT_LE_ADV_OPT_DISABLE_CHAN_38
Definition: bluetooth.h:505
uint8_t
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
bt_le_ext_adv_connected_info
Definition: bluetooth.h:68
bt_le_scan_param::interval
uint16_t interval
Definition: bluetooth.h:1625
bt_le_per_adv_sync_recv_info::sid
uint8_t sid
Definition: bluetooth.h:1150
bt_le_per_adv_sync_term_info
Definition: bluetooth.h:1137
bt_le_scan_cb
Definition: bluetooth.h:1693
bt_le_ext_adv_start_param
Definition: bluetooth.h:879
bt_le_scan_start
int bt_le_scan_start(const struct bt_le_scan_param *param, bt_le_scan_cb_t cb)
Start (LE) scanning.
bt_le_per_adv_sync_cb::cte_report_cb
void(* cte_report_cb)(struct bt_le_per_adv_sync *sync, struct bt_df_per_adv_sync_iq_samples_report const *info)
Callback for IQ samples report collected when sampling CTE received with periodic advertising PDU.
Definition: bluetooth.h:1240
BT_LE_ADV_OPT_USE_TX_POWER
@ BT_LE_ADV_OPT_USE_TX_POWER
Advertise with transmit power.
Definition: bluetooth.h:499
BT_LE_SCAN_OPT_NO_1M
@ BT_LE_SCAN_OPT_NO_1M
Disable scan on 1M phy.
Definition: bluetooth.h:1605
bt_set_name
int bt_set_name(const char *name)
Set Bluetooth Device Name.
bt_le_whitelist_clear
int bt_le_whitelist_clear(void)
Clear whitelist.
bt_le_per_adv_sync_transfer_param
Definition: bluetooth.h:1464
bt_br_oob::addr
bt_addr_t addr
Definition: bluetooth.h:2071
BT_LE_ADV_OPT_SCANNABLE
@ BT_LE_ADV_OPT_SCANNABLE
Support scan response data.
Definition: bluetooth.h:437
bt_le_per_adv_sync_transfer_unsubscribe
int bt_le_per_adv_sync_transfer_unsubscribe(const struct bt_conn *conn)
Unsubscribe from periodic advertising sync transfers (PASTs).
bt_le_scan_recv_info::adv_type
uint8_t adv_type
Definition: bluetooth.h:1673
bt_le_per_adv_sync_recv_info
Definition: bluetooth.h:1145
bt_le_per_adv_list_remove
int bt_le_per_adv_list_remove(const bt_addr_le_t *addr, uint8_t sid)
Remove a device from the periodic advertising list.
bt_le_per_adv_sync_cb::recv
void(* recv)(struct bt_le_per_adv_sync *sync, const struct bt_le_per_adv_sync_recv_info *info, struct net_buf_simple *buf)
Periodic advertising data received.
Definition: bluetooth.h:1204
bt_df_per_adv_sync_iq_samples_report
Definition: direction.h:91
bt_le_adv_start
int bt_le_adv_start(const struct bt_le_adv_param *param, const struct bt_data *ad, size_t ad_len, const struct bt_data *sd, size_t sd_len)
Start advertising.
BT_LE_ADV_OPT_CONNECTABLE
@ BT_LE_ADV_OPT_CONNECTABLE
Advertise as connectable.
Definition: bluetooth.h:342
bt_le_per_adv_sync_synced_info::service_data
uint16_t service_data
Service Data provided by the peer when sync is transferred.
Definition: bluetooth.h:1126
bt_le_per_adv_sync_transfer
int bt_le_per_adv_sync_transfer(const struct bt_le_per_adv_sync *per_adv_sync, const struct bt_conn *conn, uint16_t service_data)
Transfer the periodic advertising sync information to a peer device.
bt_id_create
int bt_id_create(bt_addr_le_t *addr, uint8_t *irk)
Create a new identity.
bt_le_scan_stop
int bt_le_scan_stop(void)
Stop (LE) scanning.
bt_data
Bluetooth data.
Definition: bluetooth.h:293
bt_br_discovery_start
int bt_br_discovery_start(const struct bt_br_discovery_param *param, struct bt_br_discovery_result *results, size_t count, bt_br_discovery_cb_t cb)
Start BR/EDR discovery.
bt_le_ext_adv_cb::scanned
void(* scanned)(struct bt_le_ext_adv *adv, struct bt_le_ext_adv_scanned_info *info)
The advertising set has sent scan response data.
Definition: bluetooth.h:115
bt_le_per_adv_sync_synced_info::phy
uint8_t phy
Definition: bluetooth.h:1116
bt_le_per_adv_sync_recv_info::addr
const bt_addr_le_t * addr
Definition: bluetooth.h:1147
bt_le_ext_adv_scanned_info
Definition: bluetooth.h:73
bt_le_scan_recv_info::secondary_phy
uint8_t secondary_phy
Definition: bluetooth.h:1689
uint32_t
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
bt_le_scan_cb_unregister
void bt_le_scan_cb_unregister(struct bt_le_scan_cb *cb)
Unregister scanner packet callbacks.
bt_le_per_adv_param::interval_min
uint16_t interval_min
Minimum Periodic Advertising Interval (N * 1.25 ms)
Definition: bluetooth.h:610
crypto.h
Bluetooth subsystem crypto APIs.
BT_LE_ADV_OPT_CODED
@ BT_LE_ADV_OPT_CODED
Advertise on the LE Coded PHY (Long Range).
Definition: bluetooth.h:485
bt_le_ext_adv_start_param::num_events
uint8_t num_events
Number of advertising events.
Definition: bluetooth.h:900
bt_le_per_adv_sync_create
int bt_le_per_adv_sync_create(const struct bt_le_per_adv_sync_param *param, struct bt_le_per_adv_sync **out_sync)
Create a periodic advertising sync object.
bt_le_scan_recv_info::primary_phy
uint8_t primary_phy
Definition: bluetooth.h:1686
bt_le_per_adv_sync_synced_info
Definition: bluetooth.h:1105
bt_le_ext_adv_start
int bt_le_ext_adv_start(struct bt_le_ext_adv *adv, struct bt_le_ext_adv_start_param *param)
Start advertising with the given advertising set.
addr.h
Bluetooth device address definitions and utilities.
bt_bond_info
Definition: bluetooth.h:2125
BT_LE_ADV_OPT_USE_IDENTITY
@ BT_LE_ADV_OPT_USE_IDENTITY
Advertise using identity address.
Definition: bluetooth.h:370
bt_le_scan_recv_info::interval
uint16_t interval
Periodic advertising interval.
Definition: bluetooth.h:1683
bt_le_ext_adv_cb::sent
void(* sent)(struct bt_le_ext_adv *adv, struct bt_le_ext_adv_sent_info *info)
The advertising set has finished sending adv data.
Definition: bluetooth.h:90
bt_le_per_adv_sync_param::addr
bt_addr_le_t addr
Periodic Advertiser Address.
Definition: bluetooth.h:1285
bt_le_scan_param::options
uint32_t options
Definition: bluetooth.h:1622
bt_le_ext_adv_start_param::timeout
uint16_t timeout
Advertiser timeout (N * 10 ms).
Definition: bluetooth.h:893
bt_get_name
const char * bt_get_name(void)
Get Bluetooth Device Name.
bt_br_oob_get_local
int bt_br_oob_get_local(struct bt_br_oob *oob)
Get BR/EDR local Out Of Band information.
bt_le_per_adv_sync_lookup_addr
struct bt_le_per_adv_sync * bt_le_per_adv_sync_lookup_addr(const bt_addr_le_t *adv_addr, uint8_t sid)
Look up an existing periodic advertising sync object by advertiser address.
bt_le_per_adv_list_add
int bt_le_per_adv_list_add(const bt_addr_le_t *addr, uint8_t sid)
Add a device to the periodic advertising list.
bt_foreach_bond
void bt_foreach_bond(uint8_t id, void(*func)(const struct bt_bond_info *info, void *user_data), void *user_data)
Iterate through all existing bonds.
BT_LE_ADV_OPT_NONE
@ BT_LE_ADV_OPT_NONE
Definition: bluetooth.h:332
bt_data::data
const uint8_t * data
Definition: bluetooth.h:296
BT_LE_SCAN_OPT_FILTER_WHITELIST
@ BT_LE_SCAN_OPT_FILTER_WHITELIST
Definition: bluetooth.h:1595
gap.h
Bluetooth Generic Access Profile defines and Assigned Numbers.
BT_LE_ADV_OPT_DISABLE_CHAN_37
@ BT_LE_ADV_OPT_DISABLE_CHAN_37
Definition: bluetooth.h:502
bt_le_per_adv_sync_term_info::sid
uint8_t sid
Definition: bluetooth.h:1142
bt_le_scan_param::type
uint8_t type
Definition: bluetooth.h:1619
bt_le_per_adv_sync_synced_info::sid
uint8_t sid
Definition: bluetooth.h:1110
bt_le_per_adv_sync_state_info
Definition: bluetooth.h:1163
bt_le_per_adv_sync_recv_info::tx_power
int8_t tx_power
Definition: bluetooth.h:1153
BT_LE_ADV_OPT_NO_2M
@ BT_LE_ADV_OPT_NO_2M
Disable use of LE 2M PHY on the secondary advertising channel.
Definition: bluetooth.h:473
bt_br_set_discoverable
int bt_br_set_discoverable(bool enable)
Enable/disable set controller in discoverable state.
BIT
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition: util.h:316
BT_LE_PER_ADV_OPT_USE_TX_POWER
@ BT_LE_PER_ADV_OPT_USE_TX_POWER
Advertise with transmit power.
Definition: bluetooth.h:600
bt_le_whitelist_rem
int bt_le_whitelist_rem(const bt_addr_le_t *addr)
Remove device (LE) from whitelist.
bt_id_reset
int bt_id_reset(uint8_t id, bt_addr_le_t *addr, uint8_t *irk)
Reset/reclaim an identity for reuse.
bt_le_per_adv_sync_cb::state_changed
void(* state_changed)(struct bt_le_per_adv_sync *sync, const struct bt_le_per_adv_sync_state_info *info)
The periodic advertising sync state has changed.
Definition: bluetooth.h:1218
bt_le_ext_adv_info
Advertising set info structure.
Definition: bluetooth.h:1008
BT_LE_PER_ADV_SYNC_OPT_REPORTING_INITIALLY_DISABLED
@ BT_LE_PER_ADV_SYNC_OPT_REPORTING_INITIALLY_DISABLED
Disables periodic advertising reports.
Definition: bluetooth.h:1264
bt_le_ext_adv_get_index
uint8_t bt_le_ext_adv_get_index(struct bt_le_ext_adv *adv)
Get array index of an advertising set.
bt_iso_biginfo
Definition: iso.h:220
uint16_t
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
bt_le_adv_stop
int bt_le_adv_stop(void)
Stop advertising.
bt_br_discovery_stop
int bt_br_discovery_stop(void)
Stop BR/EDR discovery.
bt_addr_le_t
Definition: addr.h:39
bt_le_per_adv_set_info_transfer
int bt_le_per_adv_set_info_transfer(const struct bt_le_ext_adv *adv, const struct bt_conn *conn, uint16_t service_data)
Transfer the information about a periodic advertising set.
bt_le_per_adv_sync_cb::biginfo
void(* biginfo)(struct bt_le_per_adv_sync *sync, const struct bt_iso_biginfo *biginfo)
BIGInfo advertising report received.
Definition: bluetooth.h:1231
bt_le_per_adv_sync_term_info::addr
const bt_addr_le_t * addr
Definition: bluetooth.h:1139
net_buf_simple
Simple network buffer representation.
Definition: buf.h:87
bt_le_per_adv_sync_param::sid
uint8_t sid
Advertiser SID.
Definition: bluetooth.h:1292
BT_LE_ADV_OPT_ONE_TIME
@ BT_LE_ADV_OPT_ONE_TIME
Advertise one time.
Definition: bluetooth.h:358
bt_unpair
int bt_unpair(uint8_t id, const bt_addr_le_t *addr)
Clear pairing information.
bt_le_ext_adv_cb
Definition: bluetooth.h:78
bt_le_scan_recv_info::addr
const bt_addr_le_t * addr
Advertiser LE address and type.
Definition: bluetooth.h:1661
bt_le_scan_cb::node
sys_snode_t node
Definition: bluetooth.h:1707
bt_le_per_adv_set_data
int bt_le_per_adv_set_data(const struct bt_le_ext_adv *adv, const struct bt_data *ad, size_t ad_len)
Set or update the periodic advertising data.
bt_le_per_adv_sync_cb_register
void bt_le_per_adv_sync_cb_register(struct bt_le_per_adv_sync_cb *cb)
Register periodic advertising sync callbacks.
BT_LE_ADV_OPT_DIR_ADDR_RPA
@ BT_LE_ADV_OPT_DIR_ADDR_RPA
Directed advertising to privacy-enabled peer.
Definition: bluetooth.h:414
BT_LE_PER_ADV_SYNC_TRANSFER_OPT_NONE
@ BT_LE_PER_ADV_SYNC_TRANSFER_OPT_NONE
Definition: bluetooth.h:1435
bt_le_scan_param::interval_coded
uint16_t interval_coded
Scan interval LE Coded PHY (N * 0.625 MS)
Definition: bluetooth.h:1643
bt_bond_info::addr
bt_addr_le_t addr
Definition: bluetooth.h:2127
BT_LE_ADV_OPT_ANONYMOUS
@ BT_LE_ADV_OPT_ANONYMOUS
Advertise without a device address (identity or RPA).
Definition: bluetooth.h:492
bt_le_scan_cb::timeout
void(* timeout)(void)
The scanner has stopped scanning after scan timeout.
Definition: bluetooth.h:1705
data
static fdata_t data[2]
Definition: test_fifo_contexts.c:15
bt_le_per_adv_sync_info::interval
uint16_t interval
Definition: bluetooth.h:1336
bt_ready_cb_t
void(* bt_ready_cb_t)(int err)
Callback for notifying that Bluetooth has been enabled.
Definition: bluetooth.h:125
bt_le_ext_adv_stop
int bt_le_ext_adv_stop(struct bt_le_ext_adv *adv)
Stop advertising with the given advertising set.
BT_LE_ADV_OPT_DIR_MODE_LOW_DUTY
@ BT_LE_ADV_OPT_DIR_MODE_LOW_DUTY
Low duty cycle directed advertising.
Definition: bluetooth.h:400
bt_le_per_adv_sync_get_info
int bt_le_per_adv_sync_get_info(struct bt_le_per_adv_sync *per_adv_sync, struct bt_le_per_adv_sync_info *info)
Get periodic adv sync information.
bt_le_per_adv_param::interval_max
uint16_t interval_max
Maximum Periodic Advertising Interval (N * 1.25 ms)
Definition: bluetooth.h:618
bt_le_per_adv_sync_recv_info::cte_type
uint8_t cte_type
Definition: bluetooth.h:1159
bt_le_per_adv_sync_synced_info::addr
const bt_addr_le_t * addr
Definition: bluetooth.h:1107
bt_le_scan_cb_t
void bt_le_scan_cb_t(const bt_addr_le_t *addr, int8_t rssi, uint8_t adv_type, struct net_buf_simple *buf)
Callback type for reporting LE scan results.
Definition: bluetooth.h:1039
bt_le_per_adv_stop
int bt_le_per_adv_stop(struct bt_le_ext_adv *adv)
Stops periodic advertising.
bt_le_adv_param::options
uint32_t options
Definition: bluetooth.h:551
bt_le_adv_param
Definition: bluetooth.h:522
bt_le_per_adv_sync_recv_info::rssi
int8_t rssi
Definition: bluetooth.h:1156
bt_le_per_adv_sync_get_index
uint8_t bt_le_per_adv_sync_get_index(struct bt_le_per_adv_sync *per_adv_sync)
Get array index of an periodic advertising sync object.
bt_le_ext_adv_delete
int bt_le_ext_adv_delete(struct bt_le_ext_adv *adv)
Delete advertising set.
bt_le_scan_recv_info::tx_power
int8_t tx_power
Definition: bluetooth.h:1670
bt_le_scan_param
Definition: bluetooth.h:1617
bt_le_oob_get_local
int bt_le_oob_get_local(uint8_t id, struct bt_le_oob *oob)
Get local LE Out of Band (OOB) information.
bt_le_scan_recv_info::adv_props
uint16_t adv_props
Definition: bluetooth.h:1676
BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOA
@ BT_LE_PER_ADV_SYNC_OPT_DONT_SYNC_AOA
Definition: bluetooth.h:1267
BT_LE_SCAN_OPT_NONE
@ BT_LE_SCAN_OPT_NONE
Definition: bluetooth.h:1589
bt_le_per_adv_sync_transfer_subscribe
int bt_le_per_adv_sync_transfer_subscribe(const struct bt_conn *conn, const struct bt_le_per_adv_sync_transfer_param *param)
Subscribe to periodic advertising sync transfers (PASTs).
bt_le_per_adv_sync_info::sid
uint8_t sid
Definition: bluetooth.h:1333
bt_br_set_connectable
int bt_br_set_connectable(bool enable)
Enable/disable set controller in connectable state.
bt_le_scan_cb::recv
void(* recv)(const struct bt_le_scan_recv_info *info, struct net_buf_simple *buf)
Advertisement packet received callback.
Definition: bluetooth.h:1701
bt_le_set_chan_map
int bt_le_set_chan_map(uint8_t chan_map[5])
Set (LE) channel map.
bt_le_ext_adv_scanned_info::addr
bt_addr_le_t * addr
Definition: bluetooth.h:75
BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOD_2US
@ BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOD_2US
No Angle of Departure (AoD) 2.
Definition: bluetooth.h:1458
bt_le_per_adv_sync_recv_disable
int bt_le_per_adv_sync_recv_disable(struct bt_le_per_adv_sync *per_adv_sync)
Disables receiving periodic advertising reports for a sync.
BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOD_1US
@ BT_LE_PER_ADV_SYNC_TRANSFER_OPT_SYNC_NO_AOD_1US
No Angle of Departure (AoD) 1 us.
Definition: bluetooth.h:1450
user_data
static const intptr_t user_data[5]
Definition: main.c:590
bt_le_scan_param::window_coded
uint16_t window_coded
Scan window LE Coded PHY (N * 0.625 MS)
Definition: bluetooth.h:1650
bt_id_delete
int bt_id_delete(uint8_t id)
Delete an identity.
bt_le_per_adv_sync_recv_enable
int bt_le_per_adv_sync_recv_enable(struct bt_le_per_adv_sync *per_adv_sync)
Enables receiving periodic advertising reports for a sync.
bt_le_adv_param::sid
uint8_t sid
Advertising Set Identifier, valid range 0x00 - 0x0f.
Definition: bluetooth.h:538
BT_LE_SCAN_TYPE_PASSIVE
@ BT_LE_SCAN_TYPE_PASSIVE
Definition: bluetooth.h:1610
bt_le_per_adv_sync_transfer_param::options
uint32_t options
Definition: bluetooth.h:1482
bt_le_adv_param::interval_min
uint32_t interval_min
Definition: bluetooth.h:560
BT_LE_ADV_OPT_FORCE_NAME_IN_AD
@ BT_LE_ADV_OPT_FORCE_NAME_IN_AD
Put GAP device name into advert data.
Definition: bluetooth.h:518
util.h
Misc utilities.
bt_br_discovery_result
BR/EDR discovery result structure.
Definition: bluetooth.h:1994
BT_LE_PER_ADV_SYNC_OPT_USE_PER_ADV_LIST
@ BT_LE_PER_ADV_SYNC_OPT_USE_PER_ADV_LIST
Use the periodic advertising list to sync with advertiser.
Definition: bluetooth.h:1257
bt_le_adv_param::interval_max
uint32_t interval_max
Definition: bluetooth.h:569
int8_t
__INT8_TYPE__ int8_t
Definition: stdint.h:42
BT_LE_ADV_OPT_FILTER_CONN
@ BT_LE_ADV_OPT_FILTER_CONN
Definition: bluetooth.h:421
bt_le_per_adv_sync_info
Advertising set info structure.
Definition: bluetooth.h:1328
bt_le_per_adv_sync_synced_info::conn
struct bt_conn * conn
Peer that transferred the periodic advertising sync.
Definition: bluetooth.h:1134
bt_le_per_adv_sync_transfer_param::skip
uint16_t skip
Maximum event skip.
Definition: bluetooth.h:1471
bt_le_per_adv_sync_cb::synced
void(* synced)(struct bt_le_per_adv_sync *sync, struct bt_le_per_adv_sync_synced_info *info)
The periodic advertising has been successfully synced.
Definition: bluetooth.h:1179
bt_le_per_adv_sync_cb::node
sys_snode_t node
Definition: bluetooth.h:1243