summaryrefslogtreecommitdiff
path: root/libusb/libusbi.h
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2008-05-05 17:47:49 +0100
committerDaniel Drake <dsd@gentoo.org>2008-05-05 17:49:52 +0100
commitb27fff633843824744df7d334cb89ece329cafa6 (patch)
tree90a3f26f40c5af735036d8c1be5ce43656812746 /libusb/libusbi.h
parenta304eca71f22c6df7d70a901483b30f1b8e93378 (diff)
downloadlibusb-b27fff633843824744df7d334cb89ece329cafa6.tar.gz
move descriptor parsing into main library
OS modules now provide functionality for fetching device/config descriptors
Diffstat (limited to 'libusb/libusbi.h')
-rw-r--r--libusb/libusbi.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libusb/libusbi.h b/libusb/libusbi.h
index 2f70053..ca44512 100644
--- a/libusb/libusbi.h
+++ b/libusb/libusbi.h
@@ -223,6 +223,7 @@ void usbi_io_init(void);
struct libusb_device *usbi_alloc_device(unsigned long session_id);
struct libusb_device *usbi_get_device_by_session_id(unsigned long session_id);
+int usbi_discover_device(struct libusb_device *dev);
void usbi_handle_transfer_completion(struct usbi_transfer *itransfer,
enum libusb_transfer_status status);
@@ -273,6 +274,13 @@ struct usbi_os_backend {
int (*open)(struct libusb_device_handle *handle);
void (*close)(struct libusb_device_handle *handle);
+ int (*begin_discovery)(struct libusb_device *device, void **user_data);
+ int (*get_device_descriptor)(struct libusb_device *device,
+ unsigned char *buffer, void *user_data);
+ int (*get_config_descriptor)(struct libusb_device *device, int index,
+ unsigned char *buffer, size_t len, void *user_data);
+ void (*end_discovery)(struct libusb_device *device, void *user_data);
+
int (*set_configuration)(struct libusb_device_handle *handle, int config);
int (*claim_interface)(struct libusb_device_handle *handle, int iface);