1 /*
2  * Copyright (c) 2022, sakumisu
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef USBD_DFU_H
7 #define USBD_DFU_H
8 
9 #include "usb_dfu.h"
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 /* Init dfu interface driver */
16 struct usbd_interface *usbd_dfu_init_intf(struct usbd_interface *intf);
17 
18 /* Interface functions that need to be implemented by the user */
19 uint8_t *dfu_read_flash(uint8_t *src, uint8_t *dest, uint32_t len);
20 uint16_t dfu_write_flash(uint8_t *src, uint8_t *dest, uint32_t len);
21 uint16_t dfu_erase_flash(uint32_t add);
22 void dfu_leave(void);
23 #ifdef __cplusplus
24 }
25 #endif
26 
27 #endif /* USBD_DFU_H */
28