Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
hci_driver.h File Reference

Bluetooth HCI driver API. More...

#include <stdbool.h>
#include <zephyr/net/buf.h>
#include <zephyr/bluetooth/buf.h>
#include <zephyr/bluetooth/hci_vs.h>
#include <zephyr/device.h>

Go to the source code of this file.

Data Structures

struct  bt_hci_setup_params
 
struct  bt_hci_driver
 Abstraction which represents the HCI transport to the controller. More...
 

Macros

#define IS_BT_QUIRK_NO_AUTO_DLE(bt_dev)   ((bt_dev)->drv->quirks & BT_QUIRK_NO_AUTO_DLE)
 

Enumerations

enum  { BT_QUIRK_NO_RESET = BIT(0) , BT_QUIRK_NO_AUTO_DLE = BIT(1) }
 
enum  bt_hci_driver_bus {
  BT_HCI_DRIVER_BUS_VIRTUAL = 0 , BT_HCI_DRIVER_BUS_USB = 1 , BT_HCI_DRIVER_BUS_PCCARD = 2 , BT_HCI_DRIVER_BUS_UART = 3 ,
  BT_HCI_DRIVER_BUS_RS232 = 4 , BT_HCI_DRIVER_BUS_PCI = 5 , BT_HCI_DRIVER_BUS_SDIO = 6 , BT_HCI_DRIVER_BUS_SPI = 7 ,
  BT_HCI_DRIVER_BUS_I2C = 8 , BT_HCI_DRIVER_BUS_IPM = 9
}
 Possible values for the 'bus' member of the bt_hci_driver struct. More...
 

Functions

int bt_recv (struct net_buf *buf)
 Receive data from the controller/HCI driver.
 
uint8_t bt_read_static_addr (struct bt_hci_vs_static_addr addrs[], uint8_t size)
 Read static addresses from the controller.
 
int bt_hci_driver_register (const struct bt_hci_driver *drv)
 Register a new HCI driver to the Bluetooth stack.
 
int bt_hci_transport_setup (const struct device *dev)
 Setup the HCI transport, which usually means to reset the Bluetooth IC.
 
int bt_hci_transport_teardown (const struct device *dev)
 Teardown the HCI transport.
 
struct net_bufbt_hci_evt_create (uint8_t evt, uint8_t len)
 Allocate an HCI event buffer.
 
struct net_bufbt_hci_cmd_complete_create (uint16_t op, uint8_t plen)
 Allocate an HCI Command Complete event buffer.
 
struct net_bufbt_hci_cmd_status_create (uint16_t op, uint8_t status)
 Allocate an HCI Command Status event buffer.
 

Detailed Description

Bluetooth HCI driver API.