path: root/utils/hwstub/lib/hwstub.h
diff options
authorAmaury Pouly <>2014-02-04 00:10:41 +0100
committerAmaury Pouly <>2014-02-10 23:14:24 +0100
commitc17d30f20466861a244c603665c580feb7758abf (patch)
treec5044f599f89d89de0b1419bd40e92211f8c8b8a /utils/hwstub/lib/hwstub.h
parent6d64111b3c2f772cfc3539bb13851f78d4b55870 (diff)
utils/hwstub: completely rework the protocol, drop unused features
The protocol has evolved a lot during the 2.x.y lifetime, bringing more features which later got unused. This commit removes all the unused stuff and simplifies everything: - drop the feature mask: everything is mandatory or stalled on error - remove the info request and put all static information in standard USB descriptors which are part of the configuration descriptor (and can be retrieved using the standard GetDescriptor request). - remove the USB interface, we had only one anyway - remove all endpoint descriptors - remove the exit/atexit stuff, it never worked as intended anyway - update the hwstub library and make it able to handle any device - update the tools (mostly renaming and removing of code) Change-Id: I1872bba7f4177fc3891180e8f944aab88f5bde31
Diffstat (limited to 'utils/hwstub/lib/hwstub.h')
1 files changed, 5 insertions, 18 deletions
diff --git a/utils/hwstub/lib/hwstub.h b/utils/hwstub/lib/hwstub.h
index f89bce5de9..69fdc63988 100644
--- a/utils/hwstub/lib/hwstub.h
+++ b/utils/hwstub/lib/hwstub.h
@@ -34,22 +34,15 @@ extern "C" {
-struct hwstub_device_t
- libusb_device_handle *handle;
- int intf;
- int bulk_in;
- int bulk_out;
- int int_in;
+struct hwstub_device_t;
-/* Requires then ->handle field only. Returns 0 on success */
-int hwstub_probe(struct hwstub_device_t *dev);
-/* Returns 0 on success */
+/* Returns NULL on error */
+struct hwstub_device_t *hwstub_open(libusb_device_handle *handle);
+/* Returns 0 on success. Does *NOT* close the usb handle */
int hwstub_release(struct hwstub_device_t *dev);
/* Returns number of bytes filled */
-int hwstub_get_info(struct hwstub_device_t *dev, uint16_t idx, void *info, size_t sz);
+int hwstub_get_desc(struct hwstub_device_t *dev, uint16_t desc, void *info, size_t sz);
/* Returns number of bytes filled */
int hwstub_get_log(struct hwstub_device_t *dev, void *buf, size_t sz);
/* Returns number of bytes written/read or <0 on error */
@@ -57,12 +50,6 @@ int hwstub_rw_mem(struct hwstub_device_t *dev, int read, uint32_t addr, void *bu
/* Returns <0 on error */
int hwstub_call(struct hwstub_device_t *dev, uint32_t addr);
int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr);
-/* Returns <0 on error */
-int hwstub_atexit(struct hwstub_device_t *dev, int action);
-int hwstub_exit(struct hwstub_device_t *dev);
-const char *hwstub_get_product_string(struct usb_resp_info_stmp_t *stmp);
-const char *hwstub_get_rev_string(struct usb_resp_info_stmp_t *stmp);
#ifdef __cplusplus
} // extern "C"