|
USBIP C library 0.7.0
Virtual USB devices & host drivers over USB/IP
|
A device class is a ready-made, host-recognised function: it owns the descriptors and the class protocol, so your code supplies only behaviour through callbacks.
Every class follows the same three steps - usbip_device_create() a device, *_add() the class, usbip_device_plug() it. Writing your own class uses the same public API (see the class layer).
Each reference page documents the class's *_opts struct, its entry point and every callback it can hand you. Every class but Bluetooth also has a runnable program under examples/device/, and Linux / Windows tabulate what each class turns into once a host imports it.
Not everything ships as a class: Vendor Devices & WebUSB covers vendor-specific and WebUSB devices built on the core alone, and Composite devices covers putting several functions on one device.