/* usbdfu.c */
extern uint8_t usbd_control_buffer[1024];
extern const struct usb_device_descriptor dev;
extern const struct usb_dfu_descriptor dfu_function;
extern const struct usb_interface_descriptor iface;
extern const struct usb_interface ifaces[];
extern const struct usb_config_descriptor config;
extern int main(void);
/* ring.c */
extern void ring_init(ring_t *r, uint8_t *buf, size_t len);
extern int ring_write_byte(ring_t *r, uint8_t c);
extern int ring_read_byte(ring_t *r, uint8_t *c);
extern int ring_write(ring_t *r, uint8_t *buf, size_t len);
/* usart.c */
extern void usart1_isr(void);
extern int _write(int file, char *ptr, int len);
extern void usart_queue(uint8_t d);
extern void usart_init(void);