Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Connection callback structure. More...

#include <conn.h>

Data Fields

void(* connected )(struct bt_conn *conn, uint8_t err)
 A new connection has been established.
void(* disconnected )(struct bt_conn *conn, uint8_t reason)
 A connection has been disconnected.
void(* recycled )(void)
 A connection object has been returned to the pool.
bool(* le_param_req )(struct bt_conn *conn, struct bt_le_conn_param *param)
 LE connection parameter update request.
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.
void(* le_param_update_rejected )(struct bt_conn *conn, uint8_t hci_err)
 LE connection parameter update was rejected by the peer.
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.
void(* security_changed )(struct bt_conn *conn, bt_security_t level, enum bt_security_err err)
 The security level of a connection has changed.
void(* remote_info_available )(struct bt_conn *conn, struct bt_conn_remote_info *remote_info)
 Remote information procedures has completed.
struct bt_conn_br_cb br
 BR/EDR specific callbacks.
void(* le_phy_updated )(struct bt_conn *conn, struct bt_conn_le_phy_info *param)
 The PHY of the connection has changed.
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.
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.
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.
void(* path_loss_threshold_report )(struct bt_conn *conn, const struct bt_conn_le_path_loss_threshold_report *report)
 LE Path Loss Threshold event.
void(* subrate_changed )(struct bt_conn *conn, const struct bt_conn_le_subrate_changed *params)
 LE Subrate Changed event.
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.
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.
void(* frame_space_updated )(struct bt_conn *conn, const struct bt_conn_le_frame_space_updated *params)
 Frame Space Update Complete event.
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.
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.
void(* le_cs_config_complete )(struct bt_conn *conn, uint8_t status, struct bt_conn_le_cs_config *config)
 LE CS Config created.
void(* le_cs_config_removed )(struct bt_conn *conn, uint8_t config_id)
 LE CS Config removed.
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.
void(* le_cs_security_enable_complete )(struct bt_conn *conn, uint8_t status)
 LE CS Security Enabled.
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.

Detailed Description

Connection callback structure.

This structure is used for tracking the state of a connection. It is registered with the help of the bt_conn_cb_register() API. It's permissible to register multiple instances of this bt_conn_cb type, in case different modules of an application are interested in tracking the connection state. If a callback is not of interest for an instance, it may be set to NULL and will as a consequence not be used for that instance.

Note
The callbacks are invoked from a thread context, never from an ISR. Whether a callback is invoked from a context internal to the stack or synchronously from within the API call that triggers it, and from which context, is not part of the API and may change between releases. See @rstref{Callback execution contexts <bluetooth_callback_contexts>} for the hazards of blocking in a callback and their mitigations.

The documentation for this struct was generated from the following file:
  • include/zephyr/bluetooth/conn.h