/* dfu.c */ extern const struct usb_dfu_descriptor dfu_function; extern const struct usb_interface_descriptor dfu_iface; extern int dfu_control_request(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t **buf, uint16_t *len, void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req)); /* mouse.c */ extern const struct usb_endpoint_descriptor mouse_endpoint; extern const struct usb_interface_descriptor mouse_iface; extern void mouse_get_descriptor(uint8_t **buf, uint16_t *len); extern void mouse_test(void); /* keyboard.c */ extern const struct usb_endpoint_descriptor keyboard_endpoint; extern const struct usb_interface_descriptor keyboard_iface; extern void keyboard_get_descriptor(uint8_t **buf, uint16_t *len); extern void keyboard_test(void); /* main.c */ extern void sys_tick_handler(void); extern int main(void); /* usb.c */ extern const struct usb_device_descriptor dev; extern const struct usb_interface ifaces[]; extern const struct usb_config_descriptor config; extern usbd_device *usbd_dev; extern void usb_set_config(usbd_device *usbd_dev, uint16_t wValue); extern void usb_init(void); extern void usb_run(void); /* tablet.c */ extern const struct usb_endpoint_descriptor tablet_endpoint; extern const struct usb_interface_descriptor tablet_iface; extern void tablet_get_descriptor(uint8_t **buf, uint16_t *len); extern void tablet_test(void); /* usart.c */ extern ring_t rx_ring; extern ring_t tx_ring; 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); /* kvm.c */ extern void kvm_dispatch(void); extern void kvm_recv(uint8_t d); /* 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); /* led.c */ extern void led_clear(void); extern void led_set(uint32_t v); extern void led_tick(void);