1 #ifndef OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
2 #define OPENOCD_JTAG_DRIVERS_CMSIS_DAP_H
6 struct cmsis_dap_backend;
7 struct cmsis_dap_backend_data;
8 struct command_registration;
11 struct cmsis_dap_backend_data *bdata;
12 const struct cmsis_dap_backend *backend;
15 uint8_t *packet_buffer;
20 struct cmsis_dap_backend {
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);
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[];