123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include <stdint.h>
- #include "usb_desc_data.h"
- #define NULL ((void*)0)
- #define num_elem(a) (sizeof(a) / sizeof(a[0]))
- const void *
- usb_get_device_desc(int *len)
- {
- *len = Devices[0][0];
- return Devices[0];
- }
- const void *
- usb_get_config_desc(int *len, int idx)
- {
- if (idx < num_elem(Configurations)) {
- *len = Configurations[idx][2] + (Configurations[idx][3] << 8);
- return Configurations[idx];
- } else {
- *len = 0;
- return NULL;
- }
- }
- const void *
- usb_get_string_desc(int *len, int idx)
- {
- if (idx <= 0) {
- *len = StringZeros[0][0];
- return StringZeros[0];
- } else if ((idx-1) < num_elem(Strings)) {
- *len = Strings[idx-1][0];
- return Strings[idx-1];
- } else {
- *len = 0;
- return NULL;
- }
- }
|