Files
alloy_elite2_rgb/usb_host.h
2025-08-24 08:58:25 -04:00

38 lines
736 B
C

#ifndef USB_HOST_H_
#define USB_HOST_H_
#define REPORT_MAX_SIZE 64
#define REPORT_BUF_SIZE 256
#define DESCRIPTOR_MAX_SIZE 256
typedef enum {
HOST_INACTIVE=0,
HOST_MOUNTED,
HOST_UNMOUNTED,
HOST_START_LISTEN,
HOST_LISTENING,
HOST_STOP_LISTEN,
} host_state_t;
struct report_desc {
uint8_t dev_addr;
uint8_t instance;
uint8_t descriptor[DESCRIPTOR_MAX_SIZE];
uint16_t desc_len;
struct report_desc *next;
bool listening;
};
#define REPORT_DESC_ALLOC() (struct report_desc *)malloc(sizeof(struct report_desc))
extern host_state_t host_state;
extern struct report_desc *descriptors;
extern uint8_t num_mounted;
void usb_host_main(void);
struct report_desc * report_desc_find(uint8_t dev_addr, uint8_t instance);
#endif