summaryrefslogtreecommitdiff
path: root/utils/hwstub/lib/hwstub.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-02-04 00:10:41 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-02-10 23:14:24 +0100
commitc17d30f20466861a244c603665c580feb7758abf (patch)
treec5044f599f89d89de0b1419bd40e92211f8c8b8a /utils/hwstub/lib/hwstub.h
parent6d64111b3c2f772cfc3539bb13851f78d4b55870 (diff)
downloadrockbox-c17d30f20466861a244c603665c580feb7758abf.tar.gz
rockbox-c17d30f20466861a244c603665c580feb7758abf.zip
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')
-rw-r--r--utils/hwstub/lib/hwstub.h23
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" {
34 * 34 *
35 */ 35 */
36 36
37struct hwstub_device_t 37struct hwstub_device_t;
38{
39 libusb_device_handle *handle;
40 int intf;
41 int bulk_in;
42 int bulk_out;
43 int int_in;
44};
45 38
46/* Requires then ->handle field only. Returns 0 on success */ 39/* Returns NULL on error */
47int hwstub_probe(struct hwstub_device_t *dev); 40struct hwstub_device_t *hwstub_open(libusb_device_handle *handle);
48/* Returns 0 on success */ 41/* Returns 0 on success. Does *NOT* close the usb handle */
49int hwstub_release(struct hwstub_device_t *dev); 42int hwstub_release(struct hwstub_device_t *dev);
50 43
51/* Returns number of bytes filled */ 44/* Returns number of bytes filled */
52int hwstub_get_info(struct hwstub_device_t *dev, uint16_t idx, void *info, size_t sz); 45int hwstub_get_desc(struct hwstub_device_t *dev, uint16_t desc, void *info, size_t sz);
53/* Returns number of bytes filled */ 46/* Returns number of bytes filled */
54int hwstub_get_log(struct hwstub_device_t *dev, void *buf, size_t sz); 47int hwstub_get_log(struct hwstub_device_t *dev, void *buf, size_t sz);
55/* Returns number of bytes written/read or <0 on error */ 48/* 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
57/* Returns <0 on error */ 50/* Returns <0 on error */
58int hwstub_call(struct hwstub_device_t *dev, uint32_t addr); 51int hwstub_call(struct hwstub_device_t *dev, uint32_t addr);
59int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr); 52int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr);
60/* Returns <0 on error */
61int hwstub_atexit(struct hwstub_device_t *dev, int action);
62int hwstub_exit(struct hwstub_device_t *dev);
63
64const char *hwstub_get_product_string(struct usb_resp_info_stmp_t *stmp);
65const char *hwstub_get_rev_string(struct usb_resp_info_stmp_t *stmp);
66 53
67#ifdef __cplusplus 54#ifdef __cplusplus
68} // extern "C" 55} // extern "C"