Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
buf.h File Reference

Bluetooth data buffer API. More...

#include <zephyr/types.h>
#include <net/buf.h>
#include <bluetooth/hci.h>
#include <sys/util.h>

Go to the source code of this file.

Data Structures

struct  bt_buf_data
 This is a base type for bt_buf user data. More...
 

Macros

#define BT_BUF_RESERVE   CONFIG_BT_HCI_RESERVE
 
#define BT_BUF_SIZE(size)   (BT_BUF_RESERVE + (size))
 
#define BT_BUF_ACL_SIZE(size)   BT_BUF_SIZE(BT_HCI_ACL_HDR_SIZE + (size))
 
#define BT_BUF_EVT_SIZE(size)   BT_BUF_SIZE(BT_HCI_EVT_HDR_SIZE + (size))
 
#define BT_BUF_CMD_SIZE(size)   BT_BUF_SIZE(BT_HCI_CMD_HDR_SIZE + (size))
 
#define BT_BUF_ACL_RX_SIZE   BT_BUF_ACL_SIZE(CONFIG_BT_BUF_ACL_RX_SIZE)
 
#define BT_BUF_EVT_RX_SIZE   BT_BUF_EVT_SIZE(CONFIG_BT_BUF_EVT_RX_SIZE)
 
#define BT_BUF_RX_SIZE   (MAX(BT_BUF_ACL_RX_SIZE, BT_BUF_EVT_RX_SIZE))
 
#define BT_BUF_CMD_TX_SIZE   BT_BUF_CMD_SIZE(CONFIG_BT_BUF_CMD_TX_SIZE)
 

Enumerations

enum  bt_buf_type {
  BT_BUF_CMD , BT_BUF_EVT , BT_BUF_ACL_OUT , BT_BUF_ACL_IN ,
  BT_BUF_ISO_OUT , BT_BUF_ISO_IN , BT_BUF_H4
}
 

Functions

struct net_bufbt_buf_get_rx (enum bt_buf_type type, k_timeout_t timeout)
 
struct net_bufbt_buf_get_tx (enum bt_buf_type type, k_timeout_t timeout, const void *data, size_t size)
 
struct net_bufbt_buf_get_cmd_complete (k_timeout_t timeout)
 
struct net_bufbt_buf_get_evt (uint8_t evt, bool discardable, k_timeout_t timeout)
 
static void bt_buf_set_type (struct net_buf *buf, enum bt_buf_type type)
 
static enum bt_buf_type bt_buf_get_type (struct net_buf *buf)
 

Detailed Description

Bluetooth data buffer API.