/* 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 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 int usb_is_suspended; extern int usb_wakeup_host (void); 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 rx1_ring; extern ring_t tx1_ring; extern ring_t rx2_ring; extern ring_t tx2_ring; extern ring_t tx3_ring; extern void usart1_isr (void); extern void usart2_isr (void); extern void usart3_isr (void); extern int _write (int file, char *ptr, int len); extern void usart2_queue (uint8_t d); extern void usart3_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_init (void); extern void led_set (uint32_t v); extern void led_tick (void); /* consumer.c */ extern const struct usb_endpoint_descriptor consumer_endpoint; extern const struct usb_interface_descriptor consumer_iface; extern void consumer_get_descriptor (uint8_t ** buf, uint16_t * len); /* ticker.c */ extern volatile uint32_t ticks; extern void delay_us (uint32_t d); extern void sys_tick_handler (void); extern void delay_ms (uint32_t d); extern int timed_out (uint32_t then, unsigned int ms); extern void ticker_init (void);