diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2014-02-04 00:10:41 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2014-02-10 23:14:24 +0100 |
commit | c17d30f20466861a244c603665c580feb7758abf (patch) | |
tree | c5044f599f89d89de0b1419bd40e92211f8c8b8a /utils/hwstub/lib/hwstub.h | |
parent | 6d64111b3c2f772cfc3539bb13851f78d4b55870 (diff) | |
download | rockbox-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.h | 23 |
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 | ||
37 | struct hwstub_device_t | 37 | struct 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 */ |
47 | int hwstub_probe(struct hwstub_device_t *dev); | 40 | struct 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 */ |
49 | int hwstub_release(struct hwstub_device_t *dev); | 42 | int hwstub_release(struct hwstub_device_t *dev); |
50 | 43 | ||
51 | /* Returns number of bytes filled */ | 44 | /* Returns number of bytes filled */ |
52 | int hwstub_get_info(struct hwstub_device_t *dev, uint16_t idx, void *info, size_t sz); | 45 | int 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 */ |
54 | int hwstub_get_log(struct hwstub_device_t *dev, void *buf, size_t sz); | 47 | int 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 */ |
58 | int hwstub_call(struct hwstub_device_t *dev, uint32_t addr); | 51 | int hwstub_call(struct hwstub_device_t *dev, uint32_t addr); |
59 | int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr); | 52 | int hwstub_jump(struct hwstub_device_t *dev, uint32_t addr); |
60 | /* Returns <0 on error */ | ||
61 | int hwstub_atexit(struct hwstub_device_t *dev, int action); | ||
62 | int hwstub_exit(struct hwstub_device_t *dev); | ||
63 | |||
64 | const char *hwstub_get_product_string(struct usb_resp_info_stmp_t *stmp); | ||
65 | const 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" |