struct BluetoothAdapter
Bluetooth adapter handle
Source: bluetooth.joule:7
struct BluetoothAdapterBluetooth adapter handle
Source: bluetooth.joule:7
struct BluetoothAddress([u8; 6]);Source: bluetooth.joule:18
fn new(bytes: [u8; 6]) -> SelfSource: bluetooth.joule:21
fn from_string(s: &str) -> Option<Self>Source: bluetooth.joule:25
fn bytes(&self) -> &[u8; 6]Source: bluetooth.joule:39
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::ResultSource: bluetooth.joule:45
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::ResultSource: bluetooth.joule:54
struct BluetoothDeviceSource: bluetooth.joule:61
enum DeviceClassSource: bluetooth.joule:82
fn from_cod(cod: u32) -> SelfSource: bluetooth.joule:95
struct BluetoothUuidSource: bluetooth.joule:113
fn from_u16(uuid: u16) -> SelfCreate from 16-bit UUID
Source: bluetooth.joule:119
fn from_bytes(bytes: [u8; 16]) -> SelfCreate from 128-bit UUID bytes
Source: bluetooth.joule:133
fn from_string(s: &str) -> Option<Self>Parse from string (various formats supported)
Source: bluetooth.joule:138
const GENERIC_ACCESS: SelfSource: bluetooth.joule:153
const GENERIC_ATTRIBUTE: SelfSource: bluetooth.joule:154
const HEART_RATE: SelfSource: bluetooth.joule:155
const BATTERY_SERVICE: SelfSource: bluetooth.joule:156
const DEVICE_INFORMATION: SelfSource: bluetooth.joule:157
const SERIAL_PORT: SelfSource: bluetooth.joule:158
const HID: SelfSource: bluetooth.joule:159
const AUDIO_SINK: SelfSource: bluetooth.joule:160
const AUDIO_SOURCE: SelfSource: bluetooth.joule:161
const HEADSET: SelfSource: bluetooth.joule:162
const fn from_u16_const(uuid: u16) -> Self {Source: bluetooth.joule:164
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::ResultSource: bluetooth.joule:174
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::ResultSource: bluetooth.joule:188
struct BluetoothServiceSource: bluetooth.joule:195
fn list() -> Result<Vec<BluetoothAdapter>, DeviceError>Source: bluetooth.joule:203
fn default() -> Result<Self, DeviceError>Source: bluetooth.joule:222
fn name(&self) -> &strGet adapter name
Source: bluetooth.joule:228
fn address(&self) -> BluetoothAddressGet adapter address
Source: bluetooth.joule:233
fn start_discovery(&self) -> Result<(), DeviceError>Source: bluetooth.joule:239
fn stop_discovery(&self) -> Result<(), DeviceError>Source: bluetooth.joule:253
fn devices(&self) -> Result<Vec<BluetoothDevice>, DeviceError>Source: bluetooth.joule:267
fn paired_devices(&self) -> Result<Vec<BluetoothDevice>, DeviceError>Source: bluetooth.joule:281
fn pair(&self, address: BluetoothAddress) -> Result<(), DeviceError>Source: bluetooth.joule:289
fn unpair(&self, address: BluetoothAddress) -> Result<(), DeviceError>Source: bluetooth.joule:303
fn connect(&self, address: BluetoothAddress) -> Result<BluetoothSocket, DeviceError>Source: bluetooth.joule:317
struct BluetoothSocketClassic Bluetooth socket (RFCOMM)
Source: bluetooth.joule:323
fn connect(address: BluetoothAddress) -> Result<Self, DeviceError>Source: bluetooth.joule:331
fn connect_channel(address: BluetoothAddress, channel: u8) -> Result<Self, DeviceError>Source: bluetooth.joule:337
fn remote_address(&self) -> BluetoothAddressGet remote device address
Source: bluetooth.joule:350
fn read(&mut self, buf: &mut [u8]) -> Result<usize, DeviceError>Source: bluetooth.joule:356
fn read(fd: i32, buf: *mut u8, count: usize) -> isize;Source: bluetooth.joule:360
fn write(&mut self, buf: &[u8]) -> Result<usize, DeviceError>Source: bluetooth.joule:377
fn write(fd: i32, buf: *const u8, count: usize) -> isize;Source: bluetooth.joule:381
fn drop(&mut self)Source: bluetooth.joule:398
fn close(fd: i32) -> i32;Source: bluetooth.joule:402
struct BlePeripheralSource: bluetooth.joule:415
struct BleConnectionBLE connection handle
Source: bluetooth.joule:431
struct BleCharacteristicSource: bluetooth.joule:439
struct CharacteristicPropertiesSource: bluetooth.joule:450
fn connect(peripheral: &BlePeripheral) -> Result<Self, DeviceError>Source: bluetooth.joule:463
fn peripheral(&self) -> &BlePeripheralGet peripheral info
Source: bluetooth.joule:476
fn discover_services(&self) -> Result<Vec<BluetoothUuid>, DeviceError>Source: bluetooth.joule:482
fn discover_characteristics(&self, service: &BluetoothUuid) -> Result<Vec<BleCharacteristic>, DeviceError>Source: bluetooth.joule:496
fn read_characteristic(&self, characteristic: &BleCharacteristic) -> Result<Vec<u8>, DeviceError>Source: bluetooth.joule:510
fn write_characteristic(&self, characteristic: &BleCharacteristic, data: &[u8]) -> Result<(), DeviceError>Source: bluetooth.joule:524
fn subscribe(&self, characteristic: &BleCharacteristic) -> Result<(), DeviceError>Source: bluetooth.joule:538
fn unsubscribe(&self, characteristic: &BleCharacteristic) -> Result<(), DeviceError>Source: bluetooth.joule:552
fn wait_notification(&self, timeout_ms: u32) -> Result<(u16, Vec<u8>), DeviceError>Source: bluetooth.joule:566
fn drop(&mut self)Source: bluetooth.joule:580
fn close(fd: i32) -> i32;Source: bluetooth.joule:584
struct BleScannerBLE scanner for discovering peripherals
Source: bluetooth.joule:592
fn new() -> Result<Self, DeviceError>Source: bluetooth.joule:600
fn start(&self) -> Result<(), DeviceError>Source: bluetooth.joule:614
fn stop(&self) -> Result<(), DeviceError>Source: bluetooth.joule:628
fn peripherals(&self) -> Result<Vec<BlePeripheral>, DeviceError>Source: bluetooth.joule:642
fn list_linux_adapters() -> Result<Vec<BluetoothAdapter>, DeviceError>Source: bluetooth.joule:658
fn socket(domain: i32, socket_type: i32, protocol: i32) -> i32;Source: bluetooth.joule:660
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: bluetooth.joule:661
fn close(fd: i32) -> i32;Source: bluetooth.joule:662
const AF_BLUETOOTH: i32Source: bluetooth.joule:665
const BTPROTO_HCI: i32Source: bluetooth.joule:666
const SOCK_RAW: i32Source: bluetooth.joule:667
const HCIGETDEVLIST: u64Source: bluetooth.joule:668
const HCIGETDEVINFO: u64Source: bluetooth.joule:669
struct HciDevReqSource: bluetooth.joule:672
struct HciDevListReqSource: bluetooth.joule:678
struct HciDevInfoSource: bluetooth.joule:684
fn start_linux_discovery(_dev_id: i32) -> Result<(), DeviceError>Source: bluetooth.joule:740
fn stop_linux_discovery(_dev_id: i32) -> Result<(), DeviceError>Source: bluetooth.joule:746
fn get_linux_devices(_dev_id: i32) -> Result<Vec<BluetoothDevice>, DeviceError>Source: bluetooth.joule:751
fn pair_linux_device(_dev_id: i32, _address: BluetoothAddress) -> Result<(), DeviceError>Source: bluetooth.joule:757
fn unpair_linux_device(_dev_id: i32, _address: BluetoothAddress) -> Result<(), DeviceError>Source: bluetooth.joule:763
fn connect_linux_rfcomm(address: BluetoothAddress, channel: u8) -> Result<BluetoothSocket, DeviceError>Source: bluetooth.joule:768
fn socket(domain: i32, socket_type: i32, protocol: i32) -> i32;Source: bluetooth.joule:770
fn connect(fd: i32, addr: *const std::ffi::c_void, len: u32) -> i32;Source: bluetooth.joule:771
const AF_BLUETOOTH: i32Source: bluetooth.joule:774
const BTPROTO_RFCOMM: i32Source: bluetooth.joule:775
const SOCK_STREAM: i32Source: bluetooth.joule:776
struct SockaddrRcSource: bluetooth.joule:779
fn close(fd: i32) -> i32;Source: bluetooth.joule:798
fn connect_linux_ble(peripheral: &BlePeripheral) -> Result<BleConnection, DeviceError>Source: bluetooth.joule:812
fn discover_linux_ble_services(_fd: i32) -> Result<Vec<BluetoothUuid>, DeviceError>Source: bluetooth.joule:817
fn discover_linux_ble_characteristics(_fd: i32, _service: &BluetoothUuid) -> Result<Vec<BleCharacteristic>, DeviceError>Source: bluetooth.joule:822
fn read_linux_ble_characteristic(_fd: i32, _handle: u16) -> Result<Vec<u8>, DeviceError>Source: bluetooth.joule:827
fn write_linux_ble_characteristic(_fd: i32, _handle: u16, _data: &[u8]) -> Result<(), DeviceError>Source: bluetooth.joule:832
fn subscribe_linux_ble_characteristic(_fd: i32, _handle: u16) -> Result<(), DeviceError>Source: bluetooth.joule:837
fn unsubscribe_linux_ble_characteristic(_fd: i32, _handle: u16) -> Result<(), DeviceError>Source: bluetooth.joule:842
fn wait_linux_ble_notification(_fd: i32, _timeout_ms: u32) -> Result<(u16, Vec<u8>), DeviceError>Source: bluetooth.joule:847
fn create_linux_ble_scanner() -> Result<BleScanner, DeviceError>Source: bluetooth.joule:852
fn start_linux_ble_scan(_fd: i32) -> Result<(), DeviceError>Source: bluetooth.joule:857
fn stop_linux_ble_scan(_fd: i32) -> Result<(), DeviceError>Source: bluetooth.joule:862
fn get_linux_ble_peripherals(_fd: i32) -> Result<Vec<BlePeripheral>, DeviceError>Source: bluetooth.joule:867
fn list_macos_adapters() -> Result<Vec<BluetoothAdapter>, DeviceError>Source: bluetooth.joule:872