Files
mop3/kernel/device/usb/usb.h
kamkow1 4c4c10c61e
Some checks failed
Build ISO image / build-and-deploy (push) Failing after 35s
Build documentation / build-and-deploy (push) Failing after 7s
organize device drivers into subdirectories
2026-03-31 15:56:30 +02:00

64 lines
1.2 KiB
C

#ifndef _KERNEL_DEVICE_USB_H
#define _KERNEL_DEVICE_USB_H
#include <aux/compiler.h>
#include <libk/std.h>
struct usb_desc_hdr {
uint8_t length;
uint8_t desc_type;
} PACKED;
struct usb_device_desc {
struct usb_desc_hdr hdr;
uint16_t bcd_usb;
uint8_t dev_class;
uint8_t dev_subclass;
uint8_t dev_proto;
uint8_t max_packet_size;
uint16_t vendor_id;
uint16_t product_id;
uint16_t bcd_device;
uint8_t manufacturer;
uint8_t product;
uint8_t serial_num;
uint8_t num_configs;
} PACKED;
struct usb_string_lang_desc {
struct usb_desc_hdr hdr;
uint16_t langs[126];
} PACKED;
struct usb_config_desc {
struct usb_desc_hdr hdr;
uint16_t total_length;
uint8_t num_ifs;
uint8_t config_value;
uint8_t config;
uint8_t attrs;
uint8_t max_power;
uint8_t data[245];
} PACKED;
struct usb_if_desc {
struct usb_desc_hdr hdr;
uint8_t if_num;
uint8_t alt_setting;
uint8_t num_endpoints;
uint8_t if_class;
uint8_t if_subclass;
uint8_t if_proto;
uint8_t if1;
} PACKED;
struct usb_endpoint_desc {
struct usb_desc_hdr hdr;
uint8_t endpoint_addr;
uint8_t attrs;
uint16_t max_packet_size;
uint8_t interval;
} PACKED;
#endif // _KERNEL_DEVICE_USB_H