USB_Types: USB_Feature_Selector + USB_DeviceRequest definitions
This commit is contained in:
parent
542f8cb128
commit
a362722b96
|
@ -8,7 +8,57 @@ import from Osmocom_Types all;
|
||||||
type hexstring HEX4LE length(4) with { variant "BYTEORDER(last)" variant "HEXORDER(high)" };
|
type hexstring HEX4LE length(4) with { variant "BYTEORDER(last)" variant "HEXORDER(high)" };
|
||||||
type integer u16le_t (0..65535) with { variant "unsigned 16 bit" variant "BYTEORDER(first)" };
|
type integer u16le_t (0..65535) with { variant "unsigned 16 bit" variant "BYTEORDER(first)" };
|
||||||
|
|
||||||
/* Table 9-5: Descriptor Type */
|
/* Chapter 9.3 */
|
||||||
|
type enumerated USB_RequestType_Direction {
|
||||||
|
Host_to_Device (0),
|
||||||
|
Device_to_Host (1)
|
||||||
|
} with { variant "FIELDLENGTH(1)" };
|
||||||
|
type enumerated USB_RequestType_Type {
|
||||||
|
RequestType_Standard (0),
|
||||||
|
RequestType_Class (1),
|
||||||
|
RequestType_Vendor (2),
|
||||||
|
RequestType_Reserve (3)
|
||||||
|
} with { variant "FIELDLENGTH(2)" };
|
||||||
|
type enumerated USB_RequestType_Recipient {
|
||||||
|
RequestRecipient_Device (0),
|
||||||
|
RequestRecipient_Interface (1),
|
||||||
|
RequestRecipient_Endpoint (2),
|
||||||
|
RequestRecipient_Other (3)
|
||||||
|
} with { variant "FIELDLENGTH(5)" };
|
||||||
|
type record USB_DeviceRequestType {
|
||||||
|
USB_RequestType_Direction direction,
|
||||||
|
USB_RequestType_Type req_type,
|
||||||
|
USB_RequestType_Recipient recipient
|
||||||
|
};
|
||||||
|
type record USB_DeviceRequest {
|
||||||
|
USB_DeviceRequestType req_type,
|
||||||
|
OCT1 bRequest,
|
||||||
|
u16le_t wValue,
|
||||||
|
u16le_t wIndex,
|
||||||
|
u16le_t wLength
|
||||||
|
};
|
||||||
|
|
||||||
|
external function enc_USB_DeviceRequest(in USB_DeviceRequest desc) return octetstring
|
||||||
|
with { extension "prototype(convert) encode(RAW)" };
|
||||||
|
external function dec_USB_DeviceRequest(in octetstring stream) return USB_DeviceRequest
|
||||||
|
with { extension "prototype(convert) decode(RAW)" };
|
||||||
|
|
||||||
|
/* Chapter 9.4, Table 9-4: Standard Request Codes */
|
||||||
|
type enumerated USB_DeviceRequestCode {
|
||||||
|
USB_DevReq_GET_FEATURE (0),
|
||||||
|
USB_DevReq_CLEAR_FEATURE (1),
|
||||||
|
USB_DevReq_SET_FEATURE (3),
|
||||||
|
USB_DevReq_SET_ADDRESS (5),
|
||||||
|
USB_DevReq_GET_DESCRIPTOR (6),
|
||||||
|
USB_DevReq_SET_DESCRIPTOR (7),
|
||||||
|
USB_DevReq_GET_CONFIGURATION (8),
|
||||||
|
USB_DevReq_SET_CONFIGURATION (9),
|
||||||
|
USB_DevReq_GET_INTERFACE (10),
|
||||||
|
USB_DevReq_SET_INTERFACE (11),
|
||||||
|
USB_DevReq_SYNCH_FRAME (12)
|
||||||
|
} with { variant "FIELDLENGTH(8)" };
|
||||||
|
|
||||||
|
/* Chapter 9.4, Table 9-5: Descriptor Type */
|
||||||
type enumerated USB_DescriptorType {
|
type enumerated USB_DescriptorType {
|
||||||
USB_DescriptorType_DEVICE (1),
|
USB_DescriptorType_DEVICE (1),
|
||||||
USB_DescriptorType_CONFIGURATION (2),
|
USB_DescriptorType_CONFIGURATION (2),
|
||||||
|
@ -20,6 +70,13 @@ type enumerated USB_DescriptorType {
|
||||||
USB_DescriptorType_INTERFACE_POWER (8)
|
USB_DescriptorType_INTERFACE_POWER (8)
|
||||||
} with { variant "FIELDLENGTH(8)" };
|
} with { variant "FIELDLENGTH(8)" };
|
||||||
|
|
||||||
|
/* Chapter 9.4, Table 9-6: Standard Feature Selectors */
|
||||||
|
type enumerated USB_Feature_Selector {
|
||||||
|
USB_Feature_DEVICE_REMOTE_WAKEUP (1),
|
||||||
|
USB_Feature_ENDPOINT_HALT (0),
|
||||||
|
USB_Feature_TEST_MODE (2)
|
||||||
|
} with { variant "FIELDLENGTH(8)" };
|
||||||
|
|
||||||
type record USB_DescriptorHeader {
|
type record USB_DescriptorHeader {
|
||||||
uint8_t bLength,
|
uint8_t bLength,
|
||||||
OCT1 bDescriptorType
|
OCT1 bDescriptorType
|
||||||
|
|
Loading…
Reference in New Issue