Go to the documentation of this file.
18#ifndef __VSF_USBD_MSEXT_H__
19#define __VSF_USBD_MSEXT_H__
25#if VSF_USE_USB_DEVICE == ENABLED
33#define USB_MSOS10_GENRE 1
34#define USB_MSOS10_EXT_COMPATID_INDEX 4
35#define USB_MSOS10_EXT_PROPERTIES_INDEX 5
37#define USB_MSOS10_EXT_COMPATID_HEADER_LEN 16
38#define USB_MSOS10_EXT_COMPATID_FUNC_LEN 24
40#define __usbd_msos10_compatid_func_desc(__first_ifs, ...) \
47#define __usbd_msos10_compatid_desc(__name, __section_cnt, ...) \
48 typedef struct __##__name##_msos10_compatid_desc_t { \
49 uint8_t header[USB_MSOS10_EXT_COMPATID_HEADER_LEN]; \
50 uint8_t func[__section_cnt][USB_MSOS10_EXT_COMPATID_FUNC_LEN]; \
51 } __##__name##_msos10_compatid_desc_t; \
52 const __##__name##_msos10_compatid_desc_t __##__name##_msos10_compatid_desc = {\
54 USB_DESC_WORD(0x0100), \
57 0, 0, 0, 0, 0, 0, 0, \
61#define usbd_msos10_compatid_desc(__name, __section_cnt, ...) \
62 __usbd_msos10_compatid_desc(__name, (__section_cnt), __VA_ARGS__)
64#define __usbd_msos10_compatid_desc_buffer(__name) \
65 &__##__name##_msos10_compatid_desc
66#define __usbd_msos10_compatid_desc_len(__name) \
67 sizeof(__##__name##_msos10_compatid_desc)
68#define usbd_msos10_compatid_desc_buffer(__name) \
69 __usbd_msos10_compatid_desc_buffer(__name)
70#define usbd_msos10_compatid_desc_len(__name) \
71 __usbd_msos10_compatid_desc_len(__name)