Change USB strings handling code

This commit add an extra field to the _usbd_device, that allows to
keep track of the number of USB strings  which allows simplify
boundaries checking code in usb_standard_get_descriptor.

This commit also changes the index base for strings in
usb_standard_get_descriptor which allows to get rid of necessity to
have a dummy one-character string in a strings array.
This commit is contained in:
Andrey Smirnov
2012-11-06 16:46:55 -08:00
parent 74405de4a5
commit 7a5da60e26
4 changed files with 16 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ extern u8 usbd_control_buffer[];
extern int usbd_init(const usbd_driver *driver,
const struct usb_device_descriptor *dev,
const struct usb_config_descriptor *conf,
const char **strings);
const char **strings, int num_strings);
extern void usbd_set_control_buffer_size(u16 size);
extern void usbd_register_reset_callback(void (*callback)(void));