jtag/drivers/cmsis_dap: fix build with gcc 10.1.0
[fw/openocd] / src / jtag / drivers / cmsis_dap.h
1 #ifndef OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
2 #define OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
3
4 #include <stdint.h>
5
6 struct cmsis_dap_backend;
7 struct cmsis_dap_backend_data;
8 struct command_registration;
9
10 struct cmsis_dap {
11         struct cmsis_dap_backend_data *bdata;
12         const struct cmsis_dap_backend *backend;
13         uint16_t packet_size;
14         int packet_count;
15         uint8_t *packet_buffer;
16         uint8_t caps;
17         uint8_t mode;
18 };
19
20 struct cmsis_dap_backend {
21         const char *name;
22         int (*open)(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], char *serial);
23         void (*close)(struct cmsis_dap *dap);
24         int (*read)(struct cmsis_dap *dap, int timeout_ms);
25         int (*write)(struct cmsis_dap *dap, int len, int timeout_ms);
26 };
27
28 extern const struct cmsis_dap_backend cmsis_dap_hid_backend;
29 extern const struct cmsis_dap_backend cmsis_dap_usb_backend;
30 extern const struct command_registration cmsis_dap_usb_subcommand_handlers[];
31
32 #endif