Zephyr Project API  3.3.0
A Scalable Open Source RTOS
iso.h File Reference

Bluetooth ISO handling. More...

Go to the source code of this file.

Data Structures

struct  bt_iso_chan
 ISO Channel structure. More...
 
struct  bt_iso_chan_io_qos
 ISO Channel IO QoS structure. More...
 
struct  bt_iso_chan_qos
 ISO Channel QoS structure. More...
 
struct  bt_iso_chan_path
 ISO Channel Data Path structure. More...
 
struct  bt_iso_recv_info
 ISO Meta Data structure for received ISO packets. More...
 
struct  bt_iso_tx_info
 ISO Meta Data structure for transmitted ISO packets. More...
 
struct  bt_iso_cig_param
 
struct  bt_iso_connect_param
 
struct  bt_iso_big_create_param
 
struct  bt_iso_big_sync_param
 
struct  bt_iso_biginfo
 
struct  bt_iso_chan_ops
 ISO Channel operations structure. More...
 
struct  bt_iso_accept_info
 
struct  bt_iso_server
 ISO Server structure. More...
 
struct  bt_iso_unicast_tx_info
 
struct  bt_iso_unicast_info
 
struct  bt_iso_broadcaster_info
 
struct  bt_iso_sync_receiver_info
 
struct  bt_iso_info
 

Macros

#define BT_ISO_CHAN_SEND_RESERVE   BT_BUF_ISO_SIZE(0)
 Headroom needed for outgoing ISO SDUs. More...
 
#define BT_ISO_SDU_BUF_SIZE(mtu)   BT_BUF_ISO_SIZE(mtu)
 Helper to calculate needed buffer size for ISO SDUs. Useful for creating buffer pools. More...
 
#define BT_ISO_DATA_PATH_HCI   0x00
 
#define BT_ISO_SDU_INTERVAL_MIN   0x0000FFU
 
#define BT_ISO_SDU_INTERVAL_MAX   0x0FFFFFU
 
#define BT_ISO_LATENCY_MIN   0x0005
 
#define BT_ISO_LATENCY_MAX   0x0FA0
 
#define BT_ISO_PACKING_SEQUENTIAL   0x00
 
#define BT_ISO_PACKING_INTERLEAVED   0x01
 
#define BT_ISO_FRAMING_UNFRAMED   0x00
 
#define BT_ISO_FRAMING_FRAMED   0x01
 
#define BT_ISO_MAX_GROUP_ISO_COUNT   0x1F
 
#define BT_ISO_MAX_SDU   0x0FFF
 
#define BT_ISO_SYNC_TIMEOUT_MIN   0x000A
 
#define BT_ISO_SYNC_TIMEOUT_MAX   0x4000
 
#define BT_ISO_SYNC_MSE_ANY   0x00
 
#define BT_ISO_SYNC_MSE_MIN   0x01
 
#define BT_ISO_SYNC_MSE_MAX   0x1F
 
#define BT_ISO_CONNECTED_RTN_MAX   0xFF
 
#define BT_ISO_BROADCAST_RTN_MAX   0x1E
 
#define BT_ISO_BROADCAST_CODE_SIZE   16
 
#define BT_ISO_BIS_INDEX_MIN   0x01
 
#define BT_ISO_BIS_INDEX_MAX   0x1F
 
#define BT_ISO_TIMESTAMP_NONE   0U
 

Enumerations

enum  bt_iso_state {
  BT_ISO_STATE_DISCONNECTED , BT_ISO_STATE_ENCRYPT_PENDING , BT_ISO_STATE_CONNECTING , BT_ISO_STATE_CONNECTED ,
  BT_ISO_STATE_DISCONNECTING
}
 Life-span states of ISO channel. Used only by internal APIs dealing with setting channel to proper state depending on operational context. More...
 
enum  bt_iso_chan_type { BT_ISO_CHAN_TYPE_NONE , BT_ISO_CHAN_TYPE_CONNECTED , BT_ISO_CHAN_TYPE_BROADCASTER , BT_ISO_CHAN_TYPE_SYNC_RECEIVER }
 
enum  { BT_ISO_FLAGS_VALID = BIT(0) , BT_ISO_FLAGS_ERROR = BIT(1) , BT_ISO_FLAGS_LOST = BIT(2) , BT_ISO_FLAGS_TS = BIT(3) }
 

Functions

int bt_iso_server_register (struct bt_iso_server *server)
 Register ISO server. More...
 
int bt_iso_cig_create (const struct bt_iso_cig_param *param, struct bt_iso_cig **out_cig)
 Creates a CIG as a central. More...
 
int bt_iso_cig_reconfigure (struct bt_iso_cig *cig, const struct bt_iso_cig_param *param)
 Reconfigure a CIG as a central. More...
 
int bt_iso_cig_terminate (struct bt_iso_cig *cig)
 Terminates a CIG as a central. More...
 
int bt_iso_chan_connect (const struct bt_iso_connect_param *param, size_t count)
 Connect ISO channels on ACL connections. More...
 
int bt_iso_chan_disconnect (struct bt_iso_chan *chan)
 Disconnect ISO channel. More...
 
int bt_iso_chan_send (struct bt_iso_chan *chan, struct net_buf *buf, uint16_t seq_num, uint32_t ts)
 Send data to ISO channel. More...
 
int bt_iso_chan_get_info (const struct bt_iso_chan *chan, struct bt_iso_info *info)
 Get ISO channel info. More...
 
enum bt_iso_chan_type bt_iso_chan_get_type (const struct bt_iso_chan *chan)
 Get the type of an ISO channel. More...
 
int bt_iso_chan_get_tx_sync (const struct bt_iso_chan *chan, struct bt_iso_tx_info *info)
 Get ISO transmission timing info. More...
 
int bt_iso_big_create (struct bt_le_ext_adv *padv, struct bt_iso_big_create_param *param, struct bt_iso_big **out_big)
 Creates a BIG as a broadcaster. More...
 
int bt_iso_big_terminate (struct bt_iso_big *big)
 Terminates a BIG as a broadcaster or receiver. More...
 
int bt_iso_big_sync (struct bt_le_per_adv_sync *sync, struct bt_iso_big_sync_param *param, struct bt_iso_big **out_big)
 Creates a BIG as a receiver. More...
 

Detailed Description

Bluetooth ISO handling.