USBIP C library 0.7.0
Virtual USB devices & host drivers over USB/IP
Loading...
Searching...
No Matches
bluetooth.h File Reference

USB Bluetooth (class 0xE0/0x01/0x01) DEVICE class. More...

#include "usb_class.h"

Data Structures

struct  bt_opts
 Options passed to bluetooth_add(). More...
 

Typedefs

typedef struct bt_hci bt_hci
 One Bluetooth HCI transport: a single instance of the class on a device.
 

Functions

bt_hcibluetooth_add (usbip_device *dev, const bt_opts *opts)
 Add a Bluetooth dongle (HCI transport) to a device.
 
int bt_send_event (bt_hci *iface, const void *evt, int len)
 Send an HCI event to the host on the interrupt-IN endpoint (controller -> host).
 
int bt_send_acl (bt_hci *iface, const void *pdu, int len)
 Send an ACL data PDU to the host on the bulk-IN endpoint (controller -> host).
 
void * bluetooth_user (bt_hci *iface)
 Retrieve the opaque application pointer passed as bt_opts::user.
 

Variables

const usbip_device_class usbip_device_bluetooth
 The Bluetooth class, for usbip_device_add_class()
 

Detailed Description

USB Bluetooth (class 0xE0/0x01/0x01) DEVICE class.

A minimal HCI transport: it carries HCI commands (EP0 class control OUT), HCI events (interrupt IN) and ACL data (bulk OUT/IN) between the USB host and a controller the application implements. No HCI logic lives here - the class never inspects a command or synthesizes an event. Mirrors the Python library's usbip/classes/device/bluetooth.py.

Bluetooth USB Transport Layer (Core spec Vol 4 Part B):

  • device class 0xE0 / subclass 0x01 (RF) / protocol 0x01 (Bluetooth)
  • interface 0: interrupt-IN (events) + bulk-OUT (ACL out) + bulk-IN (ACL in)
  • interface 1: SCO isochronous (6 alt settings) - descriptor-only / no-op