|
enum | libusb_class_code {
LIBUSB_CLASS_PER_INTERFACE = 0,
LIBUSB_CLASS_AUDIO = 1,
LIBUSB_CLASS_COMM = 2,
LIBUSB_CLASS_HID = 3,
LIBUSB_CLASS_PRINTER = 7,
LIBUSB_CLASS_PTP = 6,
LIBUSB_CLASS_MASS_STORAGE = 8,
LIBUSB_CLASS_HUB = 9,
LIBUSB_CLASS_DATA = 10,
LIBUSB_CLASS_WIRELESS = 0xe0,
LIBUSB_CLASS_APPLICATION = 0xfe,
LIBUSB_CLASS_VENDOR_SPEC = 0xff
} |
|
enum | libusb_descriptor_type {
LIBUSB_DT_DEVICE = 0x01,
LIBUSB_DT_CONFIG = 0x02,
LIBUSB_DT_STRING = 0x03,
LIBUSB_DT_INTERFACE = 0x04,
LIBUSB_DT_ENDPOINT = 0x05,
LIBUSB_DT_HID = 0x21,
LIBUSB_DT_REPORT = 0x22,
LIBUSB_DT_PHYSICAL = 0x23,
LIBUSB_DT_HUB = 0x29
} |
|
enum | libusb_endpoint_direction { LIBUSB_ENDPOINT_IN = 0x80,
LIBUSB_ENDPOINT_OUT = 0x00
} |
|
enum | libusb_transfer_type { LIBUSB_TRANSFER_TYPE_CONTROL = 0,
LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = 1,
LIBUSB_TRANSFER_TYPE_BULK = 2,
LIBUSB_TRANSFER_TYPE_INTERRUPT = 3
} |
|
enum | libusb_standard_request {
LIBUSB_REQUEST_GET_STATUS = 0x00,
LIBUSB_REQUEST_CLEAR_FEATURE = 0x01,
LIBUSB_REQUEST_SET_FEATURE = 0x03,
LIBUSB_REQUEST_SET_ADDRESS = 0x05,
LIBUSB_REQUEST_GET_DESCRIPTOR = 0x06,
LIBUSB_REQUEST_SET_DESCRIPTOR = 0x07,
LIBUSB_REQUEST_GET_CONFIGURATION = 0x08,
LIBUSB_REQUEST_SET_CONFIGURATION = 0x09,
LIBUSB_REQUEST_GET_INTERFACE = 0x0A,
LIBUSB_REQUEST_SET_INTERFACE = 0x0B,
LIBUSB_REQUEST_SYNCH_FRAME = 0x0C
} |
|
enum | libusb_request_type { LIBUSB_REQUEST_TYPE_STANDARD = (0x00 << 5),
LIBUSB_REQUEST_TYPE_CLASS = (0x01 << 5),
LIBUSB_REQUEST_TYPE_VENDOR = (0x02 << 5),
LIBUSB_REQUEST_TYPE_RESERVED = (0x03 << 5)
} |
|
enum | libusb_request_recipient { LIBUSB_RECIPIENT_DEVICE = 0x00,
LIBUSB_RECIPIENT_INTERFACE = 0x01,
LIBUSB_RECIPIENT_ENDPOINT = 0x02,
LIBUSB_RECIPIENT_OTHER = 0x03
} |
|
enum | libusb_iso_sync_type { LIBUSB_ISO_SYNC_TYPE_NONE = 0,
LIBUSB_ISO_SYNC_TYPE_ASYNC = 1,
LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = 2,
LIBUSB_ISO_SYNC_TYPE_SYNC = 3
} |
|
enum | libusb_iso_usage_type { LIBUSB_ISO_USAGE_TYPE_DATA = 0,
LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1,
LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2
} |
|
enum | libusb_error {
LIBUSB_SUCCESS = 0,
LIBUSB_ERROR_IO = -1,
LIBUSB_ERROR_INVALID_PARAM = -2,
LIBUSB_ERROR_ACCESS = -3,
LIBUSB_ERROR_NO_DEVICE = -4,
LIBUSB_ERROR_NOT_FOUND = -5,
LIBUSB_ERROR_BUSY = -6,
LIBUSB_ERROR_TIMEOUT = -7,
LIBUSB_ERROR_OVERFLOW = -8,
LIBUSB_ERROR_PIPE = -9,
LIBUSB_ERROR_INTERRUPTED = -10,
LIBUSB_ERROR_NO_MEM = -11,
LIBUSB_ERROR_NOT_SUPPORTED = -12,
LIBUSB_ERROR_OTHER = -99
} |
|
enum | libusb_transfer_status {
LIBUSB_TRANSFER_COMPLETED,
LIBUSB_TRANSFER_ERROR,
LIBUSB_TRANSFER_TIMED_OUT,
LIBUSB_TRANSFER_CANCELLED,
LIBUSB_TRANSFER_STALL,
LIBUSB_TRANSFER_NO_DEVICE,
LIBUSB_TRANSFER_OVERFLOW
} |
|
enum | libusb_transfer_flags { LIBUSB_TRANSFER_SHORT_NOT_OK = 1<<0,
LIBUSB_TRANSFER_FREE_BUFFER = 1<<1,
LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2
} |
|
|
int | libusb_init (libusb_context **ctx) |
|
void | libusb_exit (libusb_context *ctx) |
|
void | libusb_set_debug (libusb_context *ctx, int level) |
|
ssize_t | libusb_get_device_list (libusb_context *ctx, libusb_device ***list) |
|
void | libusb_free_device_list (libusb_device **list, int unref_devices) |
|
libusb_device * | libusb_ref_device (libusb_device *dev) |
|
void | libusb_unref_device (libusb_device *dev) |
|
int | libusb_get_configuration (libusb_device_handle *dev, int *config) |
|
int | libusb_get_device_descriptor (libusb_device *dev, struct libusb_device_descriptor *desc) |
|
int | libusb_get_active_config_descriptor (libusb_device *dev, struct libusb_config_descriptor **config) |
|
int | libusb_get_config_descriptor (libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config) |
|
int | libusb_get_config_descriptor_by_value (libusb_device *dev, uint8_t bConfigurationValue, struct libusb_config_descriptor **config) |
|
void | libusb_free_config_descriptor (struct libusb_config_descriptor *config) |
|
uint8_t | libusb_get_bus_number (libusb_device *dev) |
|
uint8_t | libusb_get_device_address (libusb_device *dev) |
|
int | libusb_get_max_packet_size (libusb_device *dev, unsigned char endpoint) |
|
int | libusb_get_max_iso_packet_size (libusb_device *dev, unsigned char endpoint) |
|
int | libusb_open (libusb_device *dev, libusb_device_handle **handle) |
|
void | libusb_close (libusb_device_handle *dev_handle) |
|
libusb_device * | libusb_get_device (libusb_device_handle *dev_handle) |
|
int | libusb_set_configuration (libusb_device_handle *dev, int configuration) |
|
int | libusb_claim_interface (libusb_device_handle *dev, int iface) |
|
int | libusb_release_interface (libusb_device_handle *dev, int iface) |
|
libusb_device_handle * | libusb_open_device_with_vid_pid (libusb_context *ctx, uint16_t vendor_id, uint16_t product_id) |
|
int | libusb_set_interface_alt_setting (libusb_device_handle *dev, int interface_number, int alternate_setting) |
|
int | libusb_clear_halt (libusb_device_handle *dev, unsigned char endpoint) |
|
int | libusb_reset_device (libusb_device_handle *dev) |
|
int | libusb_kernel_driver_active (libusb_device_handle *dev, int interface) |
|
int | libusb_detach_kernel_driver (libusb_device_handle *dev, int interface) |
|
int | libusb_attach_kernel_driver (libusb_device_handle *dev, int interface) |
|
struct libusb_transfer * | libusb_alloc_transfer (int iso_packets) |
|
int | libusb_submit_transfer (struct libusb_transfer *transfer) |
|
int | libusb_cancel_transfer (struct libusb_transfer *transfer) |
|
void | libusb_free_transfer (struct libusb_transfer *transfer) |
|
int | libusb_control_transfer (libusb_device_handle *dev_handle, uint8_t request_type, uint8_t request, uint16_t value, uint16_t index, unsigned char *data, uint16_t length, unsigned int timeout) |
|
int | libusb_bulk_transfer (libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout) |
|
int | libusb_interrupt_transfer (libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout) |
|
int | libusb_get_string_descriptor_ascii (libusb_device_handle *dev, uint8_t index, unsigned char *data, int length) |
|
int | libusb_try_lock_events (libusb_context *ctx) |
|
void | libusb_lock_events (libusb_context *ctx) |
|
void | libusb_unlock_events (libusb_context *ctx) |
|
int | libusb_event_handling_ok (libusb_context *ctx) |
|
int | libusb_event_handler_active (libusb_context *ctx) |
|
void | libusb_lock_event_waiters (libusb_context *ctx) |
|
void | libusb_unlock_event_waiters (libusb_context *ctx) |
|
int | libusb_wait_for_event (libusb_context *ctx, struct timeval *tv) |
|
int | libusb_handle_events_timeout (libusb_context *ctx, struct timeval *tv) |
|
int | libusb_handle_events (libusb_context *ctx) |
|
int | libusb_handle_events_locked (libusb_context *ctx, struct timeval *tv) |
|
int | libusb_pollfds_handle_timeouts (libusb_context *ctx) |
|
int | libusb_get_next_timeout (libusb_context *ctx, struct timeval *tv) |
|
const struct libusb_pollfd ** | libusb_get_pollfds (libusb_context *ctx) |
|
void | libusb_set_pollfd_notifiers (libusb_context *ctx, libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb, void *user_data) |
|
Structure representing a libusb session. The concept of individual libusb sessions allows for your program to use two libraries (or dynamically load two modules) which both independently use libusb. This will prevent interference between the individual libusb users - for example libusb_set_debug() will not affect the other user of the library, and libusb_exit() will not destroy resources that the other user is still using.
Sessions are created by libusb_init() and destroyed through libusb_exit(). If your application is guaranteed to only ever include a single libusb user (i.e. you), you do not have to worry about contexts: pass NULL in every function call where a context is required. The default context will be used.
For more information, see contexts.
Definition at line 563 of file libusb.h.
Structure representing a USB device detected on the system. This is an opaque type for which you are only ever provided with a pointer, usually originating from libusb_get_device_list().
Certain operations can be performed on a device, but in order to do any I/O you will have to first obtain a device handle using libusb_open().
Devices are reference counted with libusb_device_ref() and libusb_device_unref(), and are freed when the reference count reaches 0. New devices presented by libusb_get_device_list() have a reference count of 1, and libusb_free_device_list() can optionally decrease the reference count on all devices in the list. libusb_open() adds another reference which is later destroyed by libusb_close().
Definition at line 580 of file libusb.h.