struct UsbDevice
Source: usb.joule:8
struct UsbDeviceSource: usb.joule:8
enum UsbSpeedSource: usb.joule:37
enum UsbTransferTypeSource: usb.joule:54
enum UsbDirectionSource: usb.joule:67
struct UsbInterfaceSource: usb.joule:76
struct UsbEndpointSource: usb.joule:95
fn number(&self) -> u8Get endpoint number (0-15)
Source: usb.joule:110
struct UsbHandleUSB device handle for I/O
Source: usb.joule:116
fn list() -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:125
fn find(vendor_id: u16, product_id: u16) -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:144
fn find_by_vendor(vendor_id: u16) -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:153
fn find_by_class(class: u8) -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:162
fn open(&self) -> Result<UsbHandle, DeviceError>Source: usb.joule:171
fn path(&self) -> StringGet device path
Source: usb.joule:184
fn device(&self) -> &UsbDeviceGet device info
Source: usb.joule:191
fn interfaces(&self) -> Result<Vec<UsbInterface>, DeviceError>Source: usb.joule:197
fn claim_interface(&self, interface: u8) -> Result<(), DeviceError>Source: usb.joule:211
fn release_interface(&self, interface: u8) -> Result<(), DeviceError>Source: usb.joule:225
fn control_transfer(Source: usb.joule:239
fn bulk_write(Source: usb.joule:263
fn bulk_read(Source: usb.joule:282
fn interrupt_write(Source: usb.joule:301
fn interrupt_read(Source: usb.joule:312
fn reset(&self) -> Result<(), DeviceError>Source: usb.joule:323
fn set_configuration(&self, config: u8) -> Result<(), DeviceError>Source: usb.joule:337
fn clear_halt(&self, endpoint: u8) -> Result<(), DeviceError>Source: usb.joule:351
fn drop(&mut self)Source: usb.joule:365
fn close(fd: i32) -> i32;Source: usb.joule:369
const AUDIO: u8Source: usb.joule:378
const CDC: u8Source: usb.joule:379
const HID: u8Source: usb.joule:380
const PHYSICAL: u8Source: usb.joule:381
const IMAGE: u8Source: usb.joule:382
const PRINTER: u8Source: usb.joule:383
const MASS_STORAGE: u8Source: usb.joule:384
const HUB: u8Source: usb.joule:385
const CDC_DATA: u8Source: usb.joule:386
const SMART_CARD: u8Source: usb.joule:387
const VIDEO: u8Source: usb.joule:388
const PERSONAL_HEALTHCARE: u8Source: usb.joule:389
const AUDIO_VIDEO: u8Source: usb.joule:390
const WIRELESS: u8Source: usb.joule:391
const VENDOR_SPECIFIC: u8Source: usb.joule:392
const STANDARD: u8Source: usb.joule:397
const CLASS: u8Source: usb.joule:398
const VENDOR: u8Source: usb.joule:399
const DEVICE: u8Source: usb.joule:401
const INTERFACE: u8Source: usb.joule:402
const ENDPOINT: u8Source: usb.joule:403
const HOST_TO_DEVICE: u8Source: usb.joule:405
const DEVICE_TO_HOST: u8Source: usb.joule:406
const GET_STATUS: u8Source: usb.joule:411
const CLEAR_FEATURE: u8Source: usb.joule:412
const SET_FEATURE: u8Source: usb.joule:413
const SET_ADDRESS: u8Source: usb.joule:414
const GET_DESCRIPTOR: u8Source: usb.joule:415
const SET_DESCRIPTOR: u8Source: usb.joule:416
const GET_CONFIGURATION: u8Source: usb.joule:417
const SET_CONFIGURATION: u8Source: usb.joule:418
const GET_INTERFACE: u8Source: usb.joule:419
const SET_INTERFACE: u8Source: usb.joule:420
fn list_linux_usb_devices() -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:426
fn open_linux_usb_device(device: &UsbDevice) -> Result<UsbHandle, DeviceError>Source: usb.joule:505
fn open(path: *const i8, flags: i32) -> i32;Source: usb.joule:507
const O_RDWR: i32Source: usb.joule:510
fn get_linux_usb_interfaces(_fd: i32) -> Result<Vec<UsbInterface>, DeviceError>Source: usb.joule:532
fn claim_linux_usb_interface(fd: i32, interface: u8) -> Result<(), DeviceError>Source: usb.joule:538
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:540
const USBDEVFS_CLAIMINTERFACE: u64Source: usb.joule:543
fn release_linux_usb_interface(fd: i32, interface: u8) -> Result<(), DeviceError>Source: usb.joule:554
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:556
const USBDEVFS_RELEASEINTERFACE: u64Source: usb.joule:559
fn linux_usb_control_transfer(Source: usb.joule:570
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:580
const USBDEVFS_CONTROL: u64Source: usb.joule:583
struct UsbdevfsCtrlTransferSource: usb.joule:586
fn linux_usb_bulk_transfer(Source: usb.joule:615
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:623
const USBDEVFS_BULK: u64Source: usb.joule:626
struct UsbdevfsBulkTransferSource: usb.joule:629
fn reset_linux_usb_device(fd: i32) -> Result<(), DeviceError>Source: usb.joule:652
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:654
const USBDEVFS_RESET: u64Source: usb.joule:657
fn set_linux_usb_configuration(fd: i32, config: u8) -> Result<(), DeviceError>Source: usb.joule:667
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:669
const USBDEVFS_SETCONFIGURATION: u64Source: usb.joule:672
fn clear_linux_usb_halt(fd: i32, endpoint: u8) -> Result<(), DeviceError>Source: usb.joule:683
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: usb.joule:685
const USBDEVFS_CLEAR_HALT: u64Source: usb.joule:688
fn list_macos_usb_devices() -> Result<Vec<UsbDevice>, DeviceError>Source: usb.joule:699