← Back

Module usb

struct UsbDevice

Source: usb.joule:8

enum UsbSpeed

Source: usb.joule:37

enum UsbTransferType

Source: usb.joule:54

enum UsbDirection

Source: usb.joule:67

struct UsbInterface

Source: usb.joule:76

struct UsbEndpoint

Source: usb.joule:95

fn number(&self) -> u8

Get endpoint number (0-15)

Source: usb.joule:110

struct UsbHandle

USB 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) -> String

Get device path

Source: usb.joule:184

fn device(&self) -> &UsbDevice

Get 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: u8

Source: usb.joule:378

const CDC: u8

Source: usb.joule:379

const HID: u8

Source: usb.joule:380

const PHYSICAL: u8

Source: usb.joule:381

const IMAGE: u8

Source: usb.joule:382

const PRINTER: u8

Source: usb.joule:383

const MASS_STORAGE: u8

Source: usb.joule:384

const HUB: u8

Source: usb.joule:385

const CDC_DATA: u8

Source: usb.joule:386

const SMART_CARD: u8

Source: usb.joule:387

const VIDEO: u8

Source: usb.joule:388

const PERSONAL_HEALTHCARE: u8

Source: usb.joule:389

const AUDIO_VIDEO: u8

Source: usb.joule:390

const WIRELESS: u8

Source: usb.joule:391

const VENDOR_SPECIFIC: u8

Source: usb.joule:392

const STANDARD: u8

Source: usb.joule:397

const CLASS: u8

Source: usb.joule:398

const VENDOR: u8

Source: usb.joule:399

const DEVICE: u8

Source: usb.joule:401

const INTERFACE: u8

Source: usb.joule:402

const ENDPOINT: u8

Source: usb.joule:403

const HOST_TO_DEVICE: u8

Source: usb.joule:405

const DEVICE_TO_HOST: u8

Source: usb.joule:406

const GET_STATUS: u8

Source: usb.joule:411

const CLEAR_FEATURE: u8

Source: usb.joule:412

const SET_FEATURE: u8

Source: usb.joule:413

const SET_ADDRESS: u8

Source: usb.joule:414

const GET_DESCRIPTOR: u8

Source: usb.joule:415

const SET_DESCRIPTOR: u8

Source: usb.joule:416

const GET_CONFIGURATION: u8

Source: usb.joule:417

const SET_CONFIGURATION: u8

Source: usb.joule:418

const GET_INTERFACE: u8

Source: usb.joule:419

const SET_INTERFACE: u8

Source: 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: i32

Source: 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: u64

Source: 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: u64

Source: 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: u64

Source: usb.joule:583

struct UsbdevfsCtrlTransfer

Source: 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: u64

Source: usb.joule:626

struct UsbdevfsBulkTransfer

Source: 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: u64

Source: 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: u64

Source: 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: u64

Source: usb.joule:688

fn list_macos_usb_devices() -> Result<Vec<UsbDevice>, DeviceError>

Source: usb.joule:699