Mercurial > games > semicongine
diff fuhtark_test/include/ddk/usb200.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/ddk/usb200.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,112 @@ +#ifndef __USB200_H__ +#define __USB200_H__ + +#include "usb100.h" + +#include <pshpack1.h> + + +typedef enum _USB_DEVICE_TYPE +{ + Usb11Device = 0, + Usb20Device +} USB_DEVICE_TYPE; + +typedef enum _USB_DEVICE_SPEED +{ + UsbLowSpeed = 0, + UsbFullSpeed, + UsbHighSpeed +} USB_DEVICE_SPEED; + +typedef union _BM_REQUEST_TYPE +{ + struct _BM + { + UCHAR Recipient:2; + UCHAR Reserved:3; + UCHAR Type:2; + UCHAR Dir:1; + }; + UCHAR B; +} BM_REQUEST_TYPE, *PBM_REQUEST_TYPE; + +typedef struct _USB_DEFAULT_PIPE_SETUP_PACKET +{ + BM_REQUEST_TYPE bmRequestType; + UCHAR bRequest; + union _wValue + { + struct + { + UCHAR LowByte; + UCHAR HiByte; + }; + USHORT W; + } wValue; + union _wIndex + { + struct + { + UCHAR LowByte; + UCHAR HiByte; + }; + USHORT W; + } wIndex; + USHORT wLength; +} USB_DEFAULT_PIPE_SETUP_PACKET, *PUSB_DEFAULT_PIPE_SETUP_PACKET; + + +C_ASSERT(sizeof(USB_DEFAULT_PIPE_SETUP_PACKET) == 8); + +typedef struct _USB_DEVICE_QUALIFIER_DESCRIPTOR +{ + UCHAR bLength; + UCHAR bDescriptorType; + USHORT bcdUSB; + UCHAR bDeviceClass; + UCHAR bDeviceSubClass; + UCHAR bDeviceProtocol; + UCHAR bMaxPacketSize0; + UCHAR bNumConfigurations; + UCHAR bReserved; +} USB_DEVICE_QUALIFIER_DESCRIPTOR, *PUSB_DEVICE_QUALIFIER_DESCRIPTOR; + + +typedef union _USB_HIGH_SPEED_MAXPACKET +{ + struct _MP + { + USHORT MaxPacket:11; + USHORT HSmux:2; + USHORT Reserved:3; + }; + USHORT us; +} USB_HIGH_SPEED_MAXPACKET, *PUSB_HIGH_SPEED_MAXPACKET; + +typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR +{ + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bFirstInterface; + UCHAR bInterfaceCount; + UCHAR bFunctionClass; + UCHAR bFunctionSubClass; + UCHAR bFunctionProtocol; + UCHAR iFunction; +} USB_INTERFACE_ASSOCIATION_DESCRIPTOR, *PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR; + +#define USB_PORT_STATUS_CONNECT 0x0001 +#define USB_PORT_STATUS_ENABLE 0x0002 +#define USB_PORT_STATUS_SUSPEND 0x0004 +#define USB_PORT_STATUS_OVER_CURRENT 0x0008 +#define USB_PORT_STATUS_RESET 0x0010 +#define USB_PORT_STATUS_POWER 0x0100 +#define USB_PORT_STATUS_LOW_SPEED 0x0200 +#define USB_PORT_STATUS_HIGH_SPEED 0x0400 +#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06 +#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B + +#include <poppack.h> + +#endif __USB200_H__ \ No newline at end of file
