sys/linux: extract USB HID ids (#1294)

* sys/linux: extract USB HID ids

As it turns out the HID kernel subsystem registers only one USB driver that
checks that the interface of the connected device has HID class and then looks
up its own list of vendor/device ids to find a matching driver. This means
that we currently don't generate proper vendor/device ids for USB HID devices.

This patch updates the syz-usbgen tool to also extract USB HID vendor/device
ids from a running kernel and makes the generated descriptions for HID devices
to be patched using the extracted ids.

This patch also contains some minor improvements to USB descriptions
(better HID descriptions and more replies for some USB classes/drivers).

* sys/linux: run make generate
This commit is contained in:
Andrey Konovalov 2019-07-22 19:25:54 +02:00 committed by GitHub
parent 6a786da97c
commit 55e0c07757
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 1898 additions and 451 deletions

View File

@ -70,7 +70,7 @@
#if GOARCH_386
#define GOARCH "386"
#define SYZ_REVISION "1bc0fa9f7861ff91d569dcf8ba650d737652afab"
#define SYZ_REVISION "abf775e79eb587f356d2e4185f389e7c85b39dbd"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@ -80,7 +80,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
#define SYZ_REVISION "9ca635816b59c55b8f7d9aa6abe52088a4cc64ea"
#define SYZ_REVISION "3b91569fc90e0cdabd6fba3c5e67788d63e3c523"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@ -90,7 +90,7 @@
#if GOARCH_arm
#define GOARCH "arm"
#define SYZ_REVISION "cff0433ff8043192fac9e969c584db0c17598e63"
#define SYZ_REVISION "f96baee65093845b4b1a678cd8aa38b95e3b0372"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@ -100,7 +100,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
#define SYZ_REVISION "b66ad52635de8aacc57393a6f483c52c32386027"
#define SYZ_REVISION "5307034b0db8d1657d4ddcdab7db939d9ab16c14"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@ -110,7 +110,7 @@
#if GOARCH_ppc64le
#define GOARCH "ppc64le"
#define SYZ_REVISION "e26f6705a451d4be0e383459b6c7950eed5820f9"
#define SYZ_REVISION "e5b063cf52a1846e567817a2871dc574193113d9"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096

View File

@ -6764,18 +6764,6 @@ var structDescs_386 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
}}},
{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Path: []string{"class_desc"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
}}},
{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
}}},
@ -25466,7 +25454,7 @@ var structDescs_386 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
@ -25485,7 +25473,7 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Path: []string{"configs"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_versions", FldName: "bcdUSB", TypeSize: 2}}, Vals: []uint64{272, 512, 513, 592, 768, 784}},
@ -25493,8 +25481,8 @@ var structDescs_386 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_max_packet_sizes", FldName: "bMaxPacketSize0", TypeSize: 1}}, Vals: []uint64{8, 16, 32, 64}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}, Val: 1133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}, Val: 49948},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}, Val: 64},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
@ -25505,13 +25493,13 @@ var structDescs_386 = []*KeyedStruct{
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129},
@ -25520,9 +25508,9 @@ var structDescs_386 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2},
@ -25531,7 +25519,7 @@ var structDescs_386 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
@ -25544,7 +25532,7 @@ var structDescs_386 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1},
}}},
@ -25571,6 +25559,18 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_class_descriptor_report", TypeSize: 3}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 34},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "usb_hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_descriptor_hid", TypeSize: 9}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumDescriptors", TypeSize: 1}}, Val: 1},
&StructType{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, FldName: "report_desc"},
}}},
{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
@ -25597,12 +25597,12 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
@ -25615,22 +25615,22 @@ var structDescs_386 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Path: []string{"endpoints"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 1},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hid_protocols", FldName: "bInterfaceProtocol", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, FldName: "endpoints"},
}}},
{Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
}}},
{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
@ -26770,6 +26770,18 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
@ -26782,18 +26794,6 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
@ -26804,10 +26804,10 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
@ -26815,24 +26815,60 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 129},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 131},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 133},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 130},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 132},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 4},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 1023},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
@ -26845,21 +26881,111 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 32}, Fields: []Type{
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 23},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 30},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 26},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 7},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 28},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 19},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 25},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 33},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 104}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_CUR", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MIN", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MAX", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_USB_CDC_GET_NTB_PARAMETERS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MII_REG", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_STATMNGSTS_REG", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_EEPROM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_RX_CTL", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_NODE_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX88172_CMD_READ_NODE_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_PHY_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MEDIUM_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MONITOR_MODE", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_GPIOS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_SW_PHY_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@ -44155,6 +44281,17 @@ var consts_386 = []ConstValue{
{Name: "AX25_T2", Value: 5},
{Name: "AX25_T3", Value: 4},
{Name: "AX25_WINDOW", Value: 1},
{Name: "AX88172_CMD_READ_NODE_ID", Value: 23},
{Name: "AX_CMD_READ_EEPROM", Value: 11},
{Name: "AX_CMD_READ_GPIOS", Value: 30},
{Name: "AX_CMD_READ_MEDIUM_STATUS", Value: 26},
{Name: "AX_CMD_READ_MII_REG", Value: 7},
{Name: "AX_CMD_READ_MONITOR_MODE", Value: 28},
{Name: "AX_CMD_READ_NODE_ID", Value: 19},
{Name: "AX_CMD_READ_PHY_ID", Value: 25},
{Name: "AX_CMD_READ_RX_CTL", Value: 15},
{Name: "AX_CMD_STATMNGSTS_REG", Value: 9},
{Name: "AX_CMD_SW_PHY_STATUS", Value: 33},
{Name: "BC_ACQUIRE", Value: 1074029317},
{Name: "BC_ACQUIRE_DONE", Value: 1074815753},
{Name: "BC_CLEAR_DEATH_NOTIFICATION", Value: 1074553615},
@ -49748,6 +49885,11 @@ var consts_386 = []ConstValue{
{Name: "TX_RESET_MULTI_IDX", Value: 512},
{Name: "TX_SEND", Value: 4},
{Name: "TX_SETUP", Value: 1},
{Name: "UAC_GET_CUR", Value: 129},
{Name: "UAC_GET_MAX", Value: 131},
{Name: "UAC_GET_MEM", Value: 133},
{Name: "UAC_GET_MIN", Value: 130},
{Name: "UAC_GET_RES", Value: 132},
{Name: "UDMABUF_CREATE", Value: 1075344706},
{Name: "UDMABUF_CREATE_LIST", Value: 1074296131},
{Name: "UDPLITE_RECV_CSCOV", Value: 11},
@ -49814,6 +49956,10 @@ var consts_386 = []ConstValue{
{Name: "UI_SET_SWBIT", Value: 1074025837},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USBLP_REQ_GET_ID"},
{Name: "USBLP_REQ_GET_STATUS", Value: 1},
{Name: "USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST"},
{Name: "USBLP_REQ_RESET", Value: 2},
{Name: "USB_5GBPS_OPERATION", Value: 8},
{Name: "USB_BESL_BASELINE_VALID", Value: 8},
{Name: "USB_BESL_DEEP_VALID", Value: 16},
@ -49904,6 +50050,7 @@ var consts_386 = []ConstValue{
{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
{Name: "USB_HUB_PORTS_BITS", Value: 4},
{Name: "USB_INTERFACE_PROTOCOL_KEYBOARD", Value: 1},
{Name: "USB_INTERFACE_PROTOCOL_MOUSE", Value: 2},
{Name: "USB_INTERFACE_SUBCLASS_BOOT", Value: 1},
{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
{Name: "USB_LPM_SUPPORT", Value: 2},
@ -51718,4 +51865,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
const revision_386 = "1bc0fa9f7861ff91d569dcf8ba650d737652afab"
const revision_386 = "abf775e79eb587f356d2e4185f389e7c85b39dbd"

View File

@ -6866,18 +6866,6 @@ var structDescs_amd64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
}}},
{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Path: []string{"class_desc"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
}}},
{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
}}},
@ -25837,7 +25825,7 @@ var structDescs_amd64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
@ -25856,7 +25844,7 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Path: []string{"configs"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_versions", FldName: "bcdUSB", TypeSize: 2}}, Vals: []uint64{272, 512, 513, 592, 768, 784}},
@ -25864,8 +25852,8 @@ var structDescs_amd64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_max_packet_sizes", FldName: "bMaxPacketSize0", TypeSize: 1}}, Vals: []uint64{8, 16, 32, 64}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}, Val: 1133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}, Val: 49948},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}, Val: 64},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
@ -25876,13 +25864,13 @@ var structDescs_amd64 = []*KeyedStruct{
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129},
@ -25891,9 +25879,9 @@ var structDescs_amd64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2},
@ -25902,7 +25890,7 @@ var structDescs_amd64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
@ -25915,7 +25903,7 @@ var structDescs_amd64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1},
}}},
@ -25942,6 +25930,18 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_class_descriptor_report", TypeSize: 3}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 34},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "usb_hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_descriptor_hid", TypeSize: 9}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumDescriptors", TypeSize: 1}}, Val: 1},
&StructType{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, FldName: "report_desc"},
}}},
{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
@ -25968,12 +25968,12 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
@ -25986,22 +25986,22 @@ var structDescs_amd64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Path: []string{"endpoints"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 1},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hid_protocols", FldName: "bInterfaceProtocol", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, FldName: "endpoints"},
}}},
{Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
}}},
{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
@ -27148,6 +27148,18 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
@ -27160,18 +27172,6 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
@ -27182,10 +27182,10 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
@ -27193,24 +27193,60 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 129},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 131},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 133},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 130},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 132},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 4},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 1023},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
@ -27223,21 +27259,111 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, Fields: []Type{
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 23},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 30},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 26},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 7},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 28},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 19},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 25},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 33},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 204}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_CUR", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MIN", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MAX", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_USB_CDC_GET_NTB_PARAMETERS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MII_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_STATMNGSTS_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_EEPROM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_RX_CTL", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX88172_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_PHY_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MEDIUM_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MONITOR_MODE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_GPIOS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_SW_PHY_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@ -44677,6 +44803,17 @@ var consts_amd64 = []ConstValue{
{Name: "AX25_T2", Value: 5},
{Name: "AX25_T3", Value: 4},
{Name: "AX25_WINDOW", Value: 1},
{Name: "AX88172_CMD_READ_NODE_ID", Value: 23},
{Name: "AX_CMD_READ_EEPROM", Value: 11},
{Name: "AX_CMD_READ_GPIOS", Value: 30},
{Name: "AX_CMD_READ_MEDIUM_STATUS", Value: 26},
{Name: "AX_CMD_READ_MII_REG", Value: 7},
{Name: "AX_CMD_READ_MONITOR_MODE", Value: 28},
{Name: "AX_CMD_READ_NODE_ID", Value: 19},
{Name: "AX_CMD_READ_PHY_ID", Value: 25},
{Name: "AX_CMD_READ_RX_CTL", Value: 15},
{Name: "AX_CMD_STATMNGSTS_REG", Value: 9},
{Name: "AX_CMD_SW_PHY_STATUS", Value: 33},
{Name: "BC_ACQUIRE", Value: 1074029317},
{Name: "BC_ACQUIRE_DONE", Value: 1074815753},
{Name: "BC_CLEAR_DEATH_NOTIFICATION", Value: 1074553615},
@ -50284,6 +50421,11 @@ var consts_amd64 = []ConstValue{
{Name: "TX_RESET_MULTI_IDX", Value: 512},
{Name: "TX_SEND", Value: 4},
{Name: "TX_SETUP", Value: 1},
{Name: "UAC_GET_CUR", Value: 129},
{Name: "UAC_GET_MAX", Value: 131},
{Name: "UAC_GET_MEM", Value: 133},
{Name: "UAC_GET_MIN", Value: 130},
{Name: "UAC_GET_RES", Value: 132},
{Name: "UDMABUF_CREATE", Value: 1075344706},
{Name: "UDMABUF_CREATE_LIST", Value: 1074296131},
{Name: "UDPLITE_RECV_CSCOV", Value: 11},
@ -50350,6 +50492,10 @@ var consts_amd64 = []ConstValue{
{Name: "UI_SET_SWBIT", Value: 1074025837},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USBLP_REQ_GET_ID"},
{Name: "USBLP_REQ_GET_STATUS", Value: 1},
{Name: "USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST"},
{Name: "USBLP_REQ_RESET", Value: 2},
{Name: "USB_5GBPS_OPERATION", Value: 8},
{Name: "USB_BESL_BASELINE_VALID", Value: 8},
{Name: "USB_BESL_DEEP_VALID", Value: 16},
@ -50440,6 +50586,7 @@ var consts_amd64 = []ConstValue{
{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
{Name: "USB_HUB_PORTS_BITS", Value: 4},
{Name: "USB_INTERFACE_PROTOCOL_KEYBOARD", Value: 1},
{Name: "USB_INTERFACE_PROTOCOL_MOUSE", Value: 2},
{Name: "USB_INTERFACE_SUBCLASS_BOOT", Value: 1},
{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
{Name: "USB_LPM_SUPPORT", Value: 2},
@ -52255,4 +52402,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
const revision_amd64 = "9ca635816b59c55b8f7d9aa6abe52088a4cc64ea"
const revision_amd64 = "3b91569fc90e0cdabd6fba3c5e67788d63e3c523"

View File

@ -6764,18 +6764,6 @@ var structDescs_arm = []*KeyedStruct{
&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
}}},
{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Path: []string{"class_desc"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
}}},
{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
}}},
@ -25288,7 +25276,7 @@ var structDescs_arm = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
@ -25307,7 +25295,7 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Path: []string{"configs"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_versions", FldName: "bcdUSB", TypeSize: 2}}, Vals: []uint64{272, 512, 513, 592, 768, 784}},
@ -25315,8 +25303,8 @@ var structDescs_arm = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_max_packet_sizes", FldName: "bMaxPacketSize0", TypeSize: 1}}, Vals: []uint64{8, 16, 32, 64}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}, Val: 1133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}, Val: 49948},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}, Val: 64},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
@ -25327,13 +25315,13 @@ var structDescs_arm = []*KeyedStruct{
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129},
@ -25342,9 +25330,9 @@ var structDescs_arm = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2},
@ -25353,7 +25341,7 @@ var structDescs_arm = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
@ -25366,7 +25354,7 @@ var structDescs_arm = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1},
}}},
@ -25393,6 +25381,18 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_class_descriptor_report", TypeSize: 3}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 34},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "usb_hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_descriptor_hid", TypeSize: 9}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumDescriptors", TypeSize: 1}}, Val: 1},
&StructType{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, FldName: "report_desc"},
}}},
{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
@ -25419,12 +25419,12 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
@ -25437,22 +25437,22 @@ var structDescs_arm = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Path: []string{"endpoints"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 1},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hid_protocols", FldName: "bInterfaceProtocol", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, FldName: "endpoints"},
}}},
{Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
}}},
{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
@ -26576,6 +26576,18 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
@ -26588,18 +26600,6 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
@ -26610,10 +26610,10 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
@ -26621,24 +26621,60 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 129},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 131},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 133},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 130},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 132},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 4},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 1023},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
@ -26651,21 +26687,111 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 32}, Fields: []Type{
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 23},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 30},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 26},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 7},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 28},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 19},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 25},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 33},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 104}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_CUR", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MIN", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MAX", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_USB_CDC_GET_NTB_PARAMETERS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MII_REG", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_STATMNGSTS_REG", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_EEPROM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_RX_CTL", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_NODE_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX88172_CMD_READ_NODE_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_PHY_ID", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MEDIUM_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MONITOR_MODE", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_GPIOS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_SW_PHY_STATUS", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@ -43795,6 +43921,17 @@ var consts_arm = []ConstValue{
{Name: "AX25_T2", Value: 5},
{Name: "AX25_T3", Value: 4},
{Name: "AX25_WINDOW", Value: 1},
{Name: "AX88172_CMD_READ_NODE_ID", Value: 23},
{Name: "AX_CMD_READ_EEPROM", Value: 11},
{Name: "AX_CMD_READ_GPIOS", Value: 30},
{Name: "AX_CMD_READ_MEDIUM_STATUS", Value: 26},
{Name: "AX_CMD_READ_MII_REG", Value: 7},
{Name: "AX_CMD_READ_MONITOR_MODE", Value: 28},
{Name: "AX_CMD_READ_NODE_ID", Value: 19},
{Name: "AX_CMD_READ_PHY_ID", Value: 25},
{Name: "AX_CMD_READ_RX_CTL", Value: 15},
{Name: "AX_CMD_STATMNGSTS_REG", Value: 9},
{Name: "AX_CMD_SW_PHY_STATUS", Value: 33},
{Name: "BC_ACQUIRE", Value: 1074029317},
{Name: "BC_ACQUIRE_DONE", Value: 1074815753},
{Name: "BC_CLEAR_DEATH_NOTIFICATION", Value: 1074553615},
@ -49335,6 +49472,11 @@ var consts_arm = []ConstValue{
{Name: "TX_RESET_MULTI_IDX", Value: 512},
{Name: "TX_SEND", Value: 4},
{Name: "TX_SETUP", Value: 1},
{Name: "UAC_GET_CUR", Value: 129},
{Name: "UAC_GET_MAX", Value: 131},
{Name: "UAC_GET_MEM", Value: 133},
{Name: "UAC_GET_MIN", Value: 130},
{Name: "UAC_GET_RES", Value: 132},
{Name: "UDMABUF_CREATE", Value: 1075344706},
{Name: "UDMABUF_CREATE_LIST", Value: 1074296131},
{Name: "UDPLITE_RECV_CSCOV", Value: 11},
@ -49401,6 +49543,10 @@ var consts_arm = []ConstValue{
{Name: "UI_SET_SWBIT", Value: 1074025837},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USBLP_REQ_GET_ID"},
{Name: "USBLP_REQ_GET_STATUS", Value: 1},
{Name: "USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST"},
{Name: "USBLP_REQ_RESET", Value: 2},
{Name: "USB_5GBPS_OPERATION", Value: 8},
{Name: "USB_BESL_BASELINE_VALID", Value: 8},
{Name: "USB_BESL_DEEP_VALID", Value: 16},
@ -49491,6 +49637,7 @@ var consts_arm = []ConstValue{
{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
{Name: "USB_HUB_PORTS_BITS", Value: 4},
{Name: "USB_INTERFACE_PROTOCOL_KEYBOARD", Value: 1},
{Name: "USB_INTERFACE_PROTOCOL_MOUSE", Value: 2},
{Name: "USB_INTERFACE_SUBCLASS_BOOT", Value: 1},
{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
{Name: "USB_LPM_SUPPORT", Value: 2},
@ -51295,4 +51442,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
const revision_arm = "cff0433ff8043192fac9e969c584db0c17598e63"
const revision_arm = "f96baee65093845b4b1a678cd8aa38b95e3b0372"

View File

@ -6866,18 +6866,6 @@ var structDescs_arm64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
}}},
{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Path: []string{"class_desc"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
}}},
{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
}}},
@ -25654,7 +25642,7 @@ var structDescs_arm64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
@ -25673,7 +25661,7 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Path: []string{"configs"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_versions", FldName: "bcdUSB", TypeSize: 2}}, Vals: []uint64{272, 512, 513, 592, 768, 784}},
@ -25681,8 +25669,8 @@ var structDescs_arm64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_max_packet_sizes", FldName: "bMaxPacketSize0", TypeSize: 1}}, Vals: []uint64{8, 16, 32, 64}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}, Val: 1133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}, Val: 49948},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}, Val: 64},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
@ -25693,13 +25681,13 @@ var structDescs_arm64 = []*KeyedStruct{
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129},
@ -25708,9 +25696,9 @@ var structDescs_arm64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2},
@ -25719,7 +25707,7 @@ var structDescs_arm64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
@ -25732,7 +25720,7 @@ var structDescs_arm64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1},
}}},
@ -25759,6 +25747,18 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_class_descriptor_report", TypeSize: 3}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 34},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "usb_hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_descriptor_hid", TypeSize: 9}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumDescriptors", TypeSize: 1}}, Val: 1},
&StructType{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, FldName: "report_desc"},
}}},
{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
@ -25785,12 +25785,12 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
@ -25803,22 +25803,22 @@ var structDescs_arm64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Path: []string{"endpoints"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 1},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hid_protocols", FldName: "bInterfaceProtocol", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, FldName: "endpoints"},
}}},
{Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
}}},
{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
@ -26940,6 +26940,18 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
@ -26952,18 +26964,6 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
@ -26974,10 +26974,10 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
@ -26985,24 +26985,60 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 129},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 131},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 133},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 130},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 132},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 4},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 1023},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
@ -27015,21 +27051,111 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, Fields: []Type{
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 23},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 30},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 26},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 7},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 28},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 19},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 25},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 33},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 204}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_CUR", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MIN", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MAX", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_USB_CDC_GET_NTB_PARAMETERS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MII_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_STATMNGSTS_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_EEPROM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_RX_CTL", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX88172_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_PHY_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MEDIUM_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MONITOR_MODE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_GPIOS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_SW_PHY_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@ -44123,6 +44249,17 @@ var consts_arm64 = []ConstValue{
{Name: "AX25_T2", Value: 5},
{Name: "AX25_T3", Value: 4},
{Name: "AX25_WINDOW", Value: 1},
{Name: "AX88172_CMD_READ_NODE_ID", Value: 23},
{Name: "AX_CMD_READ_EEPROM", Value: 11},
{Name: "AX_CMD_READ_GPIOS", Value: 30},
{Name: "AX_CMD_READ_MEDIUM_STATUS", Value: 26},
{Name: "AX_CMD_READ_MII_REG", Value: 7},
{Name: "AX_CMD_READ_MONITOR_MODE", Value: 28},
{Name: "AX_CMD_READ_NODE_ID", Value: 19},
{Name: "AX_CMD_READ_PHY_ID", Value: 25},
{Name: "AX_CMD_READ_RX_CTL", Value: 15},
{Name: "AX_CMD_STATMNGSTS_REG", Value: 9},
{Name: "AX_CMD_SW_PHY_STATUS", Value: 33},
{Name: "BC_ACQUIRE", Value: 1074029317},
{Name: "BC_ACQUIRE_DONE", Value: 1074815753},
{Name: "BC_CLEAR_DEATH_NOTIFICATION", Value: 1074553615},
@ -49677,6 +49814,11 @@ var consts_arm64 = []ConstValue{
{Name: "TX_RESET_MULTI_IDX", Value: 512},
{Name: "TX_SEND", Value: 4},
{Name: "TX_SETUP", Value: 1},
{Name: "UAC_GET_CUR", Value: 129},
{Name: "UAC_GET_MAX", Value: 131},
{Name: "UAC_GET_MEM", Value: 133},
{Name: "UAC_GET_MIN", Value: 130},
{Name: "UAC_GET_RES", Value: 132},
{Name: "UDMABUF_CREATE", Value: 1075344706},
{Name: "UDMABUF_CREATE_LIST", Value: 1074296131},
{Name: "UDPLITE_RECV_CSCOV", Value: 11},
@ -49743,6 +49885,10 @@ var consts_arm64 = []ConstValue{
{Name: "UI_SET_SWBIT", Value: 1074025837},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USBLP_REQ_GET_ID"},
{Name: "USBLP_REQ_GET_STATUS", Value: 1},
{Name: "USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST"},
{Name: "USBLP_REQ_RESET", Value: 2},
{Name: "USB_5GBPS_OPERATION", Value: 8},
{Name: "USB_BESL_BASELINE_VALID", Value: 8},
{Name: "USB_BESL_DEEP_VALID", Value: 16},
@ -49833,6 +49979,7 @@ var consts_arm64 = []ConstValue{
{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
{Name: "USB_HUB_PORTS_BITS", Value: 4},
{Name: "USB_INTERFACE_PROTOCOL_KEYBOARD", Value: 1},
{Name: "USB_INTERFACE_PROTOCOL_MOUSE", Value: 2},
{Name: "USB_INTERFACE_SUBCLASS_BOOT", Value: 1},
{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
{Name: "USB_LPM_SUPPORT", Value: 2},
@ -51607,4 +51754,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
const revision_arm64 = "b66ad52635de8aacc57393a6f483c52c32386027"
const revision_arm64 = "5307034b0db8d1657d4ddcdab7db939d9ab16c14"

View File

@ -6865,18 +6865,6 @@ var structDescs_ppc64le = []*KeyedStruct{
&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
}}},
{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Path: []string{"class_desc"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
}}},
{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
}}},
@ -25524,7 +25512,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
@ -25543,7 +25531,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Path: []string{"configs"}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_versions", FldName: "bcdUSB", TypeSize: 2}}, Vals: []uint64{272, 512, 513, 592, 768, 784}},
@ -25551,8 +25539,8 @@ var structDescs_ppc64le = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_max_packet_sizes", FldName: "bMaxPacketSize0", TypeSize: 1}}, Vals: []uint64{8, 16, 32, 64}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}, Val: 1133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}, Val: 49948},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}, Val: 64},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
@ -25563,13 +25551,13 @@ var structDescs_ppc64le = []*KeyedStruct{
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", TypeSize: 9}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129},
@ -25578,9 +25566,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2},
@ -25589,7 +25577,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
@ -25602,7 +25590,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1},
}}},
@ -25629,6 +25617,18 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_class_descriptor_report", TypeSize: 3}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 34},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
}}},
{Key: StructKey{Name: "usb_hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hid_descriptor_hid", TypeSize: 9}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumDescriptors", TypeSize: 1}}, Val: 1},
&StructType{Key: StructKey{Name: "usb_hid_class_descriptor_report"}, FldName: "report_desc"},
}}},
{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Path: []string{"parent"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
@ -25655,12 +25655,12 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"},
&StructType{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, FldName: "inner"},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
@ -25673,22 +25673,22 @@ var structDescs_ppc64le = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16},
}}},
{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{
{Key: StructKey{Name: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterfaceNumber", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Path: []string{"endpoints"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 1},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hid_protocols", FldName: "bInterfaceProtocol", TypeSize: 1}}, Vals: []uint64{0, 1, 2}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "extra"},
&StructType{Key: StructKey{Name: "usb_endpoint_descriptors_hid"}, FldName: "endpoints"},
}}},
{Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_hid_descriptor_hid"}, FldName: "hid_hid"},
&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
}}},
{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
@ -26835,6 +26835,18 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
@ -26847,18 +26859,6 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
@ -26869,10 +26869,10 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
@ -26880,24 +26880,60 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 129},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 131},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 133},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 130},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 3},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 132},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeBegin: 1, RangeEnd: 4},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 1023},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
@ -26910,21 +26946,111 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, Fields: []Type{
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 23},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 30},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 26},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 7},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 28},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 19},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&UnionType{Key: StructKey{Name: "mac_addr"}, FldName: "data"},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 25},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 2}, Kind: 1, RangeBegin: 2, RangeEnd: 2},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "data", TypeSize: 2}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 33},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 204}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_CUR", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MIN", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MAX", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_GET_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_USB_REQ_GET_STATUS_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_USB_CDC_GET_NTB_PARAMETERS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MII_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_STATMNGSTS_REG", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_EEPROM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_RX_CTL", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX88172_CMD_READ_NODE_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_PHY_ID", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MEDIUM_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_MONITOR_MODE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_READ_GPIOS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "asix_AX_CMD_SW_PHY_STATUS", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@ -44117,6 +44243,17 @@ var consts_ppc64le = []ConstValue{
{Name: "AX25_T2", Value: 5},
{Name: "AX25_T3", Value: 4},
{Name: "AX25_WINDOW", Value: 1},
{Name: "AX88172_CMD_READ_NODE_ID", Value: 23},
{Name: "AX_CMD_READ_EEPROM", Value: 11},
{Name: "AX_CMD_READ_GPIOS", Value: 30},
{Name: "AX_CMD_READ_MEDIUM_STATUS", Value: 26},
{Name: "AX_CMD_READ_MII_REG", Value: 7},
{Name: "AX_CMD_READ_MONITOR_MODE", Value: 28},
{Name: "AX_CMD_READ_NODE_ID", Value: 19},
{Name: "AX_CMD_READ_PHY_ID", Value: 25},
{Name: "AX_CMD_READ_RX_CTL", Value: 15},
{Name: "AX_CMD_STATMNGSTS_REG", Value: 9},
{Name: "AX_CMD_SW_PHY_STATUS", Value: 33},
{Name: "BC_ACQUIRE", Value: 2147771141},
{Name: "BC_ACQUIRE_DONE", Value: 2148557577},
{Name: "BC_CLEAR_DEATH_NOTIFICATION", Value: 2148295439},
@ -49650,6 +49787,11 @@ var consts_ppc64le = []ConstValue{
{Name: "TX_RESET_MULTI_IDX", Value: 512},
{Name: "TX_SEND", Value: 4},
{Name: "TX_SETUP", Value: 1},
{Name: "UAC_GET_CUR", Value: 129},
{Name: "UAC_GET_MAX", Value: 131},
{Name: "UAC_GET_MEM", Value: 133},
{Name: "UAC_GET_MIN", Value: 130},
{Name: "UAC_GET_RES", Value: 132},
{Name: "UDMABUF_CREATE", Value: 2149086530},
{Name: "UDMABUF_CREATE_LIST", Value: 2148037955},
{Name: "UDPLITE_RECV_CSCOV", Value: 11},
@ -49716,6 +49858,10 @@ var consts_ppc64le = []ConstValue{
{Name: "UI_SET_SWBIT", Value: 2147767661},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USBLP_REQ_GET_ID"},
{Name: "USBLP_REQ_GET_STATUS", Value: 1},
{Name: "USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST"},
{Name: "USBLP_REQ_RESET", Value: 2},
{Name: "USB_5GBPS_OPERATION", Value: 8},
{Name: "USB_BESL_BASELINE_VALID", Value: 8},
{Name: "USB_BESL_DEEP_VALID", Value: 16},
@ -49806,6 +49952,7 @@ var consts_ppc64le = []ConstValue{
{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
{Name: "USB_HUB_PORTS_BITS", Value: 4},
{Name: "USB_INTERFACE_PROTOCOL_KEYBOARD", Value: 1},
{Name: "USB_INTERFACE_PROTOCOL_MOUSE", Value: 2},
{Name: "USB_INTERFACE_SUBCLASS_BOOT", Value: 1},
{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
{Name: "USB_LPM_SUPPORT", Value: 2},
@ -51572,4 +51719,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
const revision_ppc64le = "e26f6705a451d4be0e383459b6c7950eed5820f9"
const revision_ppc64le = "e5b063cf52a1846e567817a2871dc574193113d9"

View File

@ -50,18 +50,19 @@ func InitTarget(target *prog.Target) {
target.SanitizeCall = arch.sanitizeCall
target.SpecialTypes = map[string]func(g *prog.Gen, typ prog.Type, old prog.Arg) (
prog.Arg, []*prog.Call){
"timespec": arch.generateTimespec,
"timeval": arch.generateTimespec,
"sockaddr_alg": arch.generateSockaddrAlg,
"alg_name": arch.generateAlgName,
"alg_aead_name": arch.generateAlgAeadName,
"alg_hash_name": arch.generateAlgHashName,
"alg_blkcipher_name": arch.generateAlgBlkcipherhName,
"ipt_replace": arch.generateIptables,
"ip6t_replace": arch.generateIptables,
"arpt_replace": arch.generateArptables,
"ebt_replace": arch.generateEbtables,
"usb_device_descriptor": arch.generateUsbDeviceDescriptor,
"timespec": arch.generateTimespec,
"timeval": arch.generateTimespec,
"sockaddr_alg": arch.generateSockaddrAlg,
"alg_name": arch.generateAlgName,
"alg_aead_name": arch.generateAlgAeadName,
"alg_hash_name": arch.generateAlgHashName,
"alg_blkcipher_name": arch.generateAlgBlkcipherhName,
"ipt_replace": arch.generateIptables,
"ip6t_replace": arch.generateIptables,
"arpt_replace": arch.generateArptables,
"ebt_replace": arch.generateEbtables,
"usb_device_descriptor": arch.generateUsbDeviceDescriptor,
"usb_device_descriptor_hid": arch.generateUsbHidDeviceDescriptor,
}
// TODO(dvyukov): get rid of this, this must be in descriptions.
target.StringDictionary = []string{

View File

@ -25,6 +25,7 @@ const (
USB_DEVICE_ID_MATCH_INT_NUMBER
BytesPerUsbID = 17
BytesPerHidID = 12
)
type UsbDeviceID struct {
@ -42,6 +43,13 @@ type UsbDeviceID struct {
BInterfaceNumber uint8
}
type HidDeviceID struct {
Bus uint16
Group uint16
Vendor uint32
Product uint32
}
func (arch *arch) generateUsbDeviceDescriptor(g *prog.Gen, typ0 prog.Type, old prog.Arg) (
arg prog.Arg, calls []*prog.Call) {
@ -119,6 +127,36 @@ func (arch *arch) generateUsbDeviceDescriptor(g *prog.Gen, typ0 prog.Type, old p
return
}
func (arch *arch) generateUsbHidDeviceDescriptor(g *prog.Gen, typ0 prog.Type, old prog.Arg) (
arg prog.Arg, calls []*prog.Call) {
if old == nil {
arg = g.GenerateSpecialArg(typ0, &calls)
} else {
arg = old
calls = g.MutateArg(arg)
}
if g.Target().ArgContainsAny(arg) {
return
}
totalIds := len(hidIds) / BytesPerHidID
idNum := g.Rand().Intn(totalIds)
base := hidIds[idNum*BytesPerHidID : (idNum+1)*BytesPerHidID]
p := strings.NewReader(base)
var id HidDeviceID
if binary.Read(p, binary.LittleEndian, &id) != nil {
panic("not enough data to read")
}
devArg := arg.(*prog.GroupArg).Inner[0]
patchGroupArg(devArg, 7, "idVendor", uint64(id.Vendor))
patchGroupArg(devArg, 8, "idProduct", uint64(id.Product))
return
}
func patchGroupArg(arg prog.Arg, index int, field string, value uint64) {
fieldArg := arg.(*prog.GroupArg).Inner[index].(*prog.ConstArg)
if fieldArg.Type().FieldName() != field {

View File

@ -7985,3 +7985,446 @@ var usbIds = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
"\xf3\x03\x954\a0\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00" +
"\xf3\x03\xa9\x15\x05\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00" +
"\xf3\x03\xd1\a\x028\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00"
var hidIds = "\x03\x00\x00\x00\x03\x04\x00\x00\xc1\x97\x00\x00" +
"\x03\x00\x00\x00\r\x05\x00\x00\x012\x00\x00" +
"\x03\x00\x00\x00\x10\b\x00\x00\x01\x00\x00\x00" +
"\x03\x00\x00\x00\x10\b\x00\x00\x02\x00\x00\x00" +
"\x03\x00\x00\x00\x16\f\x00\x00\x02\x00\x00\x00" +
"\x03\x00\x00\x00\x16\f\x00\x00\x03\x00\x00\x00" +
"\x03\x00\x00\x00\x16\f\x00\x00\b\x00\x00\x00" +
"\x03\x00\x00\x00\x18\x05\x00\x00\x02\x00\x00\x00" +
"\x03\x00\x00\x00\x19\x04\x00\x00\x00\x06\x00\x00" +
"\x03\x00\x00\x00\x19\x04\x00\x00\x01\x00\x00\x00" +
"\x03\x00\x00\x00\x1c\x1b\x00\x00\x02\x1b\x00\x00" +
"\x03\x00\x00\x00\x1c\x1b\x00\x00\t\x1b\x00\x00" +
"\x03\x00\x00\x00\x1c\x1b\x00\x004\x1b\x00\x00" +
"\x03\x00\x00\x00\x1c\x1b\x00\x00>\x1b\x00\x00" +
"\x03\x00\x00\x00 \x10\x00\x00\x06\x00\x00\x00" +
"\x03\x00\x00\x000\x0f\x00\x00\x11\x01\x00\x00" +
"\x03\x00\x00\x00A\x12\x00\x00\x15P\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\x03\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\x04\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\x05\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\"\x05\x00\x00" +
"\x03\x00\x00\x00CU\x00\x0010\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00B\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00E\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00G\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00M\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00d\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00n\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\x81\x00\x00\x00" +
"\x03\x00\x00\x00CU\x00\x00\x81\a\x00\x00" +
"\x03\x00\x00\x00E\f\x00\x00\vv\x00\x00" +
"\x03\x00\x00\x00E\x13\x00\x00\b0\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\x00\x10\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\x02\x00\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00/\x04\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00K\x02\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00h\x02\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00t\x03\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\xa0\v\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\xc4\x05\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\xcc\t\x00\x00" +
"\x03\x00\x00\x00L\x05\x00\x00\xd5\x03\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\x13\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\x1d\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x000\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x002\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00;\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00H\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00P\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00l\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\x9d\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xb4\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xda\a\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xdb\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xdc\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xe3\x00\x00\x00" +
"\x03\x00\x00\x00^\x04\x00\x00\xf9\x00\x00\x00" +
"\x03\x00\x00\x00f\x05\x00\x00\x040\x00\x00" +
"\x03\x00\x00\x00f\a\x00\x00\x04\x02\x00\x00" +
"\x03\x00\x00\x00j\x04\x00\x00#\x00\x00\x00" +
"\x03\x00\x00\x00j\x04\x00\x00'\x00\x00\x00" +
"\x03\x00\x00\x00l%\x00\x00n\x00\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x01\xc1\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x03\xca\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x04\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x04\xca\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\n\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\n\xc3\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\n\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\f\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x0e\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x0e\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x11\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x12\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x13\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x14\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x15\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x16\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x17\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x18\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x19\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x1b\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x1b\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x1c\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x1f\xc7\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00#\xc6\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00&\xc6\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00+\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00/\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x002\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x004\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x009\xc5\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00O\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00b\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00k\xc0\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x81\xc0\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x82\xc0\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x83\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x86\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x87\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x93\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x94\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x95\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x98\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x99\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x9a\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x9b\xc2\x00\x00" +
"\x03\x00\x00\x00m\x04\x00\x00\x9c\xc2\x00\x00" +
"\x03\x00\x00\x00n\x04\x00\x00wU\x00\x00" +
"\x03\x00\x00\x00n\x04\x00\x00xU\x00\x00" +
"\x03\x00\x00\x00p\x17\x00\x00\x00\xff\x00\x00" +
"\x03\x00\x00\x00y!\x00\x00S\x00\x00\x00" +
"\x03\x00\x00\x00}\x04\x00\x00A \x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\".\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00$,\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00.,\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x0022\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x0081\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00P-\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00Q-\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00Z-\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00d2\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\x9c1\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xb4-\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xbe-\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xce1\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xd40\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xed,\x00\x00" +
"\x03\x00\x00\x00}\x1e\x00\x00\xf6,\x00\x00" +
"\x03\x00\x00\x00\x80\x83\x00\x00P\x18\x00\x00" +
"\x03\x00\x00\x00\x84\x17\x00\x00\x04\x00\x00\x00" +
"\x03\x00\x00\x00\x8a%\x00\x00\x88j\x00\x00" +
"\x03\x00\x00\x00\x8d\x04\x00\x00\x95\x85\x00\x00" +
"\x03\x00\x00\x00\x8f\x0e\x00\x00\x03\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x01\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x03\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x04\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x05\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x06\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\a\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\b\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\t\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\n\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\v\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\f\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\r\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x0e\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x0f\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x10\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x11\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x12\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x13\x00\x00\x00" +
"\x03\x00\x00\x00\x96\x1b\x00\x00\x14\x00\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x04\x03\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\n\x03\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\v\x03\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x0e\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x0f\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x14\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x15\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x16\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x17\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x18\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x19\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1a\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1b\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1c\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1d\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1e\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x1f\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00 \x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00!\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\"\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00#\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00$\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00%\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00)\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00*\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00+\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x000\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x001\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x002\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x006\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x007\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x008\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00?\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00@\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00@\x14\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00@\x82\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00A\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00A\x82\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00B\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00B\x82\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00C\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00C\x82\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00D\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00E\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00F\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00G\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00I\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00J\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00K\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00L\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00M\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00N\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00O\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00P\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00Q\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00R\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00S\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00T\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00Y\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00Z\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00[\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00b\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00c\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00d\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00g\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00l\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00r\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00s\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00t\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x90\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x91\x02\x00\x00" +
"\x03\x00\x00\x00\xac\x05\x00\x00\x92\x02\x00\x00" +
"\x03\x00\x00\x00\xb1\x18\x00\x007\x00\x00\x00" +
"\x03\x00\x00\x00\xb4\x04\x00\x00\x01\x00\x00\x00" +
"\x03\x00\x00\x00\xb4\x04\x00\x00a\xde\x00\x00" +
"\x03\x00\x00\x00\xb4\x04\x00\x00d\xde\x00\x00" +
"\x03\x00\x00\x00\xb4\x04\x00\x00\x81\xed\x00\x00" +
"\x03\x00\x00\x00\xb4\x04\x00\x00\xa1\xbc\x00\x00" +
"\x03\x00\x00\x00\xbc \x00\x00\x00U\x00\x00" +
"\x03\x00\x00\x00\xbd(\x00\x00B\x00\x00\x00" +
"\x03\x00\x00\x00\xbd(\x00\x00q\x00\x00\x00" +
"\x03\x00\x00\x00\xbd(\x00\x00t\x00\x00\x00" +
"\x03\x00\x00\x00\xbd(\x00\x00u\x00\x00\x00" +
"\x03\x00\x00\x00\xbd(\x00\x00\x94\x00\x00\x00" +
"\x03\x00\x00\x00\xc0\x11\x00\x00\x06U\x00\x00" +
"\x03\x00\x00\x00\xc2\x11\x00\x00\b\"\x00\x00" +
"\x03\x00\x00\x00\xc4\x10\x00\x00\x90\xea\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00J\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00U\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00g\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00p\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00r\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00\x81\xa0\x00\x00" +
"\x03\x00\x00\x00\xd9\x04\x00\x00\u00a0\x00\x00" +
"\x03\x00\x00\x00\xda\t\x00\x00\x06\x00\x00\x00" +
"\x03\x00\x00\x00\xda\t\x00\x00\n\x00\x00\x00" +
"\x03\x00\x00\x00\xda\t\x00\x00\x1a\x00\x00\x00" +
"\x03\x00\x00\x00\xe1\x14\x00\x00\x00`\x00\x00" +
"\x03\x00\x00\x00\xe7\x04\x00\x00\t\x00\x00\x00" +
"\x03\x00\x00\x00\xe7\x04\x00\x000\x00\x00\x00" +
"\x03\x00\x00\x00\xe7\x04\x00\x00P\x00\x00\x00" +
"\x03\x00\x00\x00\xef\x17\x00\x00\x04`\x00\x00" +
"\x03\x00\x00\x00\xf2\x04\x00\x00\x18\x04\x00\x00" +
"\x03\x00\x00\x00\xf2\x04\x00\x00\x18\x06\x00\x00" +
"\x03\x00\x00\x00\xf2\x04\x00\x00!\x14\x00\x00" +
"\x03\x00\x00\x00\xf2\x04\x00\x00#\x11\x00\x00" +
"\x03\x00\x00\x00\xfc\x04\x00\x00\xd8\x05\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x00\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x00\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x00\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x00P\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x01\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x01\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x01@\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x02\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x02P\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x03\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x03\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x04\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x04@\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\a\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\t\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\n\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\f\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\r\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x0e\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x0e\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x0f\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x10\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x11\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x12\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x13\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x14\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x14\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x15\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x15\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x16\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x16\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x17\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x17\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x18\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x18\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x19\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x19\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00 \x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00!\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\"\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00#\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00#\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00$\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00%\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00&\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00&\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00'\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00(\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00)\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00*\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00*\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00+\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00,\x01\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00,\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00/\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x000\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x001\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x001\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x002\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x003\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x003\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x004\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x005\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x005\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x006\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x007\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x008\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x009\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00;\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00<\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00=\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00>\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00?\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00A\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00B\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00C\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00C\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00D\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00E\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00G\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00W\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00Y\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00[\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00]\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00^\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00`\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00a\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00b\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00c\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00d\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00e\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00i\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00j\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00k\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00z\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00{\x03\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x84\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x90\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x93\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x97\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x9a\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\x9f\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb0\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb1\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb2\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb3\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb4\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb5\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb7\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb8\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xb9\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xba\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xbb\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xbc\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc0\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc2\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc4\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc5\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc6\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xc7\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xcc\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xce\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd0\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd1\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd2\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd3\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd4\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd5\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd6\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd7\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xd8\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xda\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xdb\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xdd\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xde\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xdf\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xe2\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xe3\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xe5\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xe6\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xec\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xed\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xef\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xf0\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xf4\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xf6\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xf8\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xfa\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xfb\x00\x00\x00" +
"\x03\x00\x01\x01j\x05\x00\x00\xff\xff\xff\xff" +
"\x03\x00\x02\x01m\x04\x00\x00\x01A\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x02@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x05\xb3\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\a@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\v\xb3\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x10@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x11@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x13\xb0\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x17\x10\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x18\xb0\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x1a\x10\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x1b\x10\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\x1f\xb0\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00$@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00-@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00A@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00J@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00P@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00^@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00`@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00i@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00j@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00m@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00q@\x00\x00" +
"\x03\x00\x02\x01m\x04\x00\x00\xff\xff\xff\xff" +
"\x03\x00\x04\x01m\x04\x00\x00I\x00\x00\x00" +
"\x03\x00\x04\x01m\x04\x00\x00W\x00\x00\x00" +
"\x03\x00\x04\x01m\x04\x00\x00\\\x00\x00\x00" +
"\x03\x00\x04\x01m\x04\x00\x00\xfe\x00\x00\x00" +
"\x03\x00\x04\x01m\x04\x00\x00\xff\xff\xff\xff" +
"\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff" +
"\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff"

View File

@ -6,9 +6,19 @@ include <linux/byteorder/generic.h>
include <uapi/linux/usb/ch9.h>
include <uapi/linux/usb/ch11.h>
include <uapi/linux/usb/audio.h>
include <uapi/linux/hid.h>
include <linux/hid.h>
include <uapi/linux/usb/cdc.h>
include <uapi/linux/if_ether.h>
include <drivers/net/usb/asix.h>
# drivers/usb/class/usblp.c
define USBLP_REQ_GET_ID 0x00
define USBLP_REQ_GET_STATUS 0x01
define USBLP_REQ_RESET 0x02
define USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST 0x00
# This is a special fd for USB fuzzing and should only be used with syz_usb_* syzcalls.
# We don't inherit it from the fd resource, to discourage syzkaller calling raw ioctls on it.
@ -23,7 +33,7 @@ syz_usb_ep_write(fd fd_usb, ep int16[0:31], len len[data], data buffer[in])
syz_usb_ep_read(fd fd_usb, ep int16[0:31], len len[data], data buffer[out])
syz_usb_disconnect(fd fd_usb)
# These are syzcalls specifically targeted to the HID device class.
# These are syzcalls that specifically target the HID device class.
syz_usb_connect$hid(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_hid], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_hid
syz_usb_control_io$hid(fd fd_usb_hid, descs ptr[in, vusb_descriptors], resps ptr[in, vusb_responses])
@ -72,16 +82,16 @@ type usb_config_descriptor_t[ATTRS, IFS] {
interfaces IFS
} [packed]
type usb_interface_descriptor_t[CLASS, SUBCLASS, PROTOCOL, EXTRA, EPS] {
type usb_interface_descriptor_t[IFNUM, CLASS, SUBCLASS, PROTOCOL, EXTRA, EPS] {
bLength const[USB_DT_INTERFACE_SIZE, int8]
bDescriptorType const[USB_DT_INTERFACE, int8]
bInterfaceNumber const[0, int8]
bInterfaceNumber IFNUM
bAlternateSetting int8
bNumEndpoints len[endpoints, int8]
bInterfaceClass const[CLASS, int8]
bInterfaceSubClass const[SUBCLASS, int8]
bInterfaceProtocol const[PROTOCOL, int8]
bInterfaceClass CLASS
bInterfaceSubClass SUBCLASS
bInterfaceProtocol PROTOCOL
iInterface int8
extra EXTRA
@ -124,10 +134,10 @@ usb_config_descriptor {
usb_config_attributes = USB_CONFIG_ATT_ONE, USB_CONFIG_ATT_SELFPOWER, USB_CONFIG_ATT_WAKEUP, USB_CONFIG_ATT_BATTERY
# bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol
# bInterfaceNumber, bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol
# are patched by Go code, see sys/linux/init_vusb.go.
usb_interface_descriptor {
inner usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]
inner usb_interface_descriptor_t[const[0, int8], const[0, int8], const[0, int8], const[0, int8], array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]
} [packed]
usb_endpoint_descriptor {
@ -156,11 +166,15 @@ vusb_connect_string_descriptor {
vusb_descriptors {
len len[parent, int32]
generic ptr[in, vusb_descriptor_generic]
string ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]]
hid_report ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]]
bos ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]]
hub_hs ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]]
hub_ss ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]]
# For unknown reasons HID_DT_REPORT is requested as USB_TYPE_STANDARD and not as USB_TYPE_CLASS.
hid_report ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]]
hub_hs ptr[in, vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_HUB, usb_hub_descriptor_hs]]
hub_ss ptr[in, vusb_descriptor_t[USB_TYPE_CLASS, USB_DT_SS_HUB, usb_hub_descriptor_ss]]
} [packed]
vusb_descriptor_generic {
@ -180,14 +194,38 @@ type vusb_descriptor_t[CLASS, REQ, DATA] {
} [packed]
vusb_responses {
len len[parent, int32]
generic ptr[in, vusb_response_generic]
get_interface ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]]
get_configuration ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]]
get_status_hub ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]]
get_status_port ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]]
cdc_get_ntb_parameters ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]]
aiptek_get_report ptr[in, vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]]
len len[parent, int32]
generic ptr[in, vusb_response_generic]
get_interface ptr[in, vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]]
get_configuration ptr[in, vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_CONFIGURATION, int8]]
audio_UAC_GET_CUR ptr[in, vusb_response_t[USB_TYPE_CLASS, UAC_GET_CUR, array[int8, 1:3]]]
audio_UAC_GET_MIN ptr[in, vusb_response_t[USB_TYPE_CLASS, UAC_GET_MIN, array[int8, 1:3]]]
audio_UAC_GET_MAX ptr[in, vusb_response_t[USB_TYPE_CLASS, UAC_GET_MAX, array[int8, 1:3]]]
audio_UAC_GET_RES ptr[in, vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]]
audio_UAC_GET_MEM ptr[in, vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]]
printer_USBLP_REQ_GET_ID ptr[in, vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_ID, array[int8, 0:1023]]]
printer_USBLP_REQ_GET_STATUS ptr[in, vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_GET_STATUS, int8]]
printer_USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST ptr[in, vusb_response_t[USB_TYPE_CLASS, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, int8]]
hub_USB_REQ_GET_STATUS_hub ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]]
hub_USB_REQ_GET_STATUS_port ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]]
cdc_USB_CDC_GET_NTB_PARAMETERS ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]]
asix_AX_CMD_READ_MII_REG ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MII_REG, int16]]
asix_AX_CMD_STATMNGSTS_REG ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_STATMNGSTS_REG, int8]]
asix_AX_CMD_READ_EEPROM ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_EEPROM, array[int8, 2]]]
asix_AX_CMD_READ_RX_CTL ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_RX_CTL, int16]]
asix_AX_CMD_READ_NODE_ID ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_NODE_ID, mac_addr]]
asix_AX88172_CMD_READ_NODE_ID ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX88172_CMD_READ_NODE_ID, mac_addr]]
asix_AX_CMD_READ_PHY_ID ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_PHY_ID, array[int8, 2]]]
asix_AX_CMD_READ_MEDIUM_STATUS ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MEDIUM_STATUS, int16]]
asix_AX_CMD_READ_MONITOR_MODE ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_MONITOR_MODE, int8]]
asix_AX_CMD_READ_GPIOS ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_READ_GPIOS, int8]]
asix_AX_CMD_SW_PHY_STATUS ptr[in, vusb_response_t[USB_TYPE_VENDOR, AX_CMD_SW_PHY_STATUS, int8]]
} [packed]
vusb_response_generic {
@ -211,10 +249,10 @@ type vusb_response_t[CLASS, REQ, DATA] {
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# USB device, configuration, interface and endpoint descriptors for the HID device class.
# Modelled after the Logitech K120 keyboard.
# idVendor and idProduct are patched by Go code, see sys/linux/init_vusb.go.
usb_device_descriptor_hid {
inner usb_device_descriptor_t[0, 0, 0, 0x46d, 0xc31c, 64, array[usb_config_descriptor_hid, 1]]
inner usb_device_descriptor_t[0, 0, 0, 0, 0, 64, array[usb_config_descriptor_hid, 1]]
} [packed]
usb_config_descriptor_hid {
@ -222,20 +260,22 @@ usb_config_descriptor_hid {
} [packed]
usb_interface_descriptor_hid {
inner usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]
inner usb_interface_descriptor_t[int8, const[USB_CLASS_HID, int8], const[USB_INTERFACE_SUBCLASS_BOOT, int8], flags[usb_hid_protocols, int8], usb_hid_descriptor_hid, usb_endpoint_descriptors_hid]
} [packed]
usb_endpoint_descriptors {
usb_hid_protocols = 0, USB_INTERFACE_PROTOCOL_KEYBOARD, USB_INTERFACE_PROTOCOL_MOUSE
usb_endpoint_descriptors_hid {
in usb_endpoint_descriptor_hid_in
out array[usb_endpoint_descriptor_hid_out, 0:1]
} [packed]
usb_endpoint_descriptor_hid_in {
inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]
inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]
} [packed]
usb_endpoint_descriptor_hid_out {
inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]
inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], void]
} [packed]
define USB_CONFIG_HID_ATTRIBUTES (USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_WAKEUP)
@ -386,7 +426,6 @@ usb_ptm_cap_descriptor {
# Extra USB descriptors that come after an interface or an endpoint descriptor.
# CHECK: usbhid_parse (iface)
# CHECK: cdc_parse_cdc_header (iface)
# TODO: uas_find_endpoints (endpoint)
@ -404,7 +443,7 @@ usb_ptm_cap_descriptor {
usb_interface_extra_descriptor [
generic usb_generic_descriptor
hid_hid hid_descriptor_hid
hid_hid usb_hid_descriptor_hid
usb_cdc usb_cdc_header
] [varlen]
@ -421,24 +460,25 @@ usb_generic_descriptor {
usb_descriptor_types = USB_DT_DEVICE, USB_DT_CONFIG, USB_DT_STRING, USB_DT_INTERFACE, USB_DT_ENDPOINT, USB_DT_DEVICE_QUALIFIER, USB_DT_OTHER_SPEED_CONFIG, USB_DT_INTERFACE_POWER, USB_DT_OTG, USB_DT_DEBUG, USB_DT_INTERFACE_ASSOCIATION, USB_DT_SECURITY, USB_DT_KEY, USB_DT_ENCRYPTION_TYPE, USB_DT_BOS, USB_DT_DEVICE_CAPABILITY, USB_DT_WIRELESS_ENDPOINT_COMP, USB_DT_WIRE_ADAPTER, USB_DT_RPIPE, USB_DT_CS_RADIO_CONTROL, USB_DT_PIPE_USAGE, USB_DT_SS_ENDPOINT_COMP, USB_DT_SSP_ISOC_ENDPOINT_COMP, HID_DT_HID, HID_DT_REPORT, HID_DT_PHYSICAL
hid_descriptor_hid {
# USB HID specifications allows for multiple report and physical descriptors
# to be present, but I don't see any support for them in the Linux kernel,
# except for a single report descriptor.
usb_hid_descriptor_hid {
bLength len[parent, int8]
bDescriptorType const[HID_DT_HID, int8]
bcdHID int16
bCountryCode int8
bNumDescriptors len[class_desc, int8]
bNumDescriptors const[1, int8]
class_desc array[hid_class_descriptor, 0:6]
report_desc usb_hid_class_descriptor_report
} [packed]
hid_class_descriptor {
bDescriptorType flags[hid_descriptor_types, int8]
usb_hid_class_descriptor_report {
bDescriptorType const[HID_DT_REPORT, int8]
wDescriptorLength int16[0:HID_MAX_DESCRIPTOR_SIZE]
} [packed]
hid_descriptor_types = HID_DT_HID, HID_DT_REPORT, HID_DT_PHYSICAL
usb_cdc_header {
items array[usb_cdc_header_item, 0:16]
} [packed]

View File

@ -1,4 +1,15 @@
# AUTOGENERATED FILE
AX88172_CMD_READ_NODE_ID = 23
AX_CMD_READ_EEPROM = 11
AX_CMD_READ_GPIOS = 30
AX_CMD_READ_MEDIUM_STATUS = 26
AX_CMD_READ_MII_REG = 7
AX_CMD_READ_MONITOR_MODE = 28
AX_CMD_READ_NODE_ID = 19
AX_CMD_READ_PHY_ID = 25
AX_CMD_READ_RX_CTL = 15
AX_CMD_STATMNGSTS_REG = 9
AX_CMD_SW_PHY_STATUS = 33
CONTAINER_ID_TYPE = 4
HID_DT_HID = 33
HID_DT_PHYSICAL = 35
@ -51,6 +62,15 @@ HUB_CHAR_PORTIND = 128
HUB_CHAR_TTTT = 96
HUB_STATUS_LOCAL_POWER = 1
HUB_STATUS_OVERCURRENT = 2
UAC_GET_CUR = 129
UAC_GET_MAX = 131
UAC_GET_MEM = 133
UAC_GET_MIN = 130
UAC_GET_RES = 132
USBLP_REQ_GET_ID = 0
USBLP_REQ_GET_STATUS = 1
USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST = 0
USBLP_REQ_RESET = 2
USB_5GBPS_OPERATION = 8
USB_BESL_BASELINE_VALID = 8
USB_BESL_DEEP_VALID = 16
@ -141,6 +161,7 @@ USB_FULL_SPEED_OPERATION = 2
USB_HIGH_SPEED_OPERATION = 4
USB_HUB_PORTS_BITS = 4
USB_INTERFACE_PROTOCOL_KEYBOARD = 1
USB_INTERFACE_PROTOCOL_MOUSE = 2
USB_INTERFACE_SUBCLASS_BOOT = 1
USB_LOW_SPEED_OPERATION = 1
USB_LPM_SUPPORT = 2

View File

@ -1,4 +1,15 @@
# AUTOGENERATED FILE
AX88172_CMD_READ_NODE_ID = 23
AX_CMD_READ_EEPROM = 11
AX_CMD_READ_GPIOS = 30
AX_CMD_READ_MEDIUM_STATUS = 26
AX_CMD_READ_MII_REG = 7
AX_CMD_READ_MONITOR_MODE = 28
AX_CMD_READ_NODE_ID = 19
AX_CMD_READ_PHY_ID = 25
AX_CMD_READ_RX_CTL = 15
AX_CMD_STATMNGSTS_REG = 9
AX_CMD_SW_PHY_STATUS = 33
CONTAINER_ID_TYPE = 4
HID_DT_HID = 33
HID_DT_PHYSICAL = 35
@ -51,6 +62,15 @@ HUB_CHAR_PORTIND = 128
HUB_CHAR_TTTT = 96
HUB_STATUS_LOCAL_POWER = 1
HUB_STATUS_OVERCURRENT = 2
UAC_GET_CUR = 129
UAC_GET_MAX = 131
UAC_GET_MEM = 133
UAC_GET_MIN = 130
UAC_GET_RES = 132
USBLP_REQ_GET_ID = 0
USBLP_REQ_GET_STATUS = 1
USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST = 0
USBLP_REQ_RESET = 2
USB_5GBPS_OPERATION = 8
USB_BESL_BASELINE_VALID = 8
USB_BESL_DEEP_VALID = 16
@ -141,6 +161,7 @@ USB_FULL_SPEED_OPERATION = 2
USB_HIGH_SPEED_OPERATION = 4
USB_HUB_PORTS_BITS = 4
USB_INTERFACE_PROTOCOL_KEYBOARD = 1
USB_INTERFACE_PROTOCOL_MOUSE = 2
USB_INTERFACE_SUBCLASS_BOOT = 1
USB_LOW_SPEED_OPERATION = 1
USB_LPM_SUPPORT = 2

View File

@ -1,4 +1,15 @@
# AUTOGENERATED FILE
AX88172_CMD_READ_NODE_ID = 23
AX_CMD_READ_EEPROM = 11
AX_CMD_READ_GPIOS = 30
AX_CMD_READ_MEDIUM_STATUS = 26
AX_CMD_READ_MII_REG = 7
AX_CMD_READ_MONITOR_MODE = 28
AX_CMD_READ_NODE_ID = 19
AX_CMD_READ_PHY_ID = 25
AX_CMD_READ_RX_CTL = 15
AX_CMD_STATMNGSTS_REG = 9
AX_CMD_SW_PHY_STATUS = 33
CONTAINER_ID_TYPE = 4
HID_DT_HID = 33
HID_DT_PHYSICAL = 35
@ -51,6 +62,15 @@ HUB_CHAR_PORTIND = 128
HUB_CHAR_TTTT = 96
HUB_STATUS_LOCAL_POWER = 1
HUB_STATUS_OVERCURRENT = 2
UAC_GET_CUR = 129
UAC_GET_MAX = 131
UAC_GET_MEM = 133
UAC_GET_MIN = 130
UAC_GET_RES = 132
USBLP_REQ_GET_ID = 0
USBLP_REQ_GET_STATUS = 1
USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST = 0
USBLP_REQ_RESET = 2
USB_5GBPS_OPERATION = 8
USB_BESL_BASELINE_VALID = 8
USB_BESL_DEEP_VALID = 16
@ -141,6 +161,7 @@ USB_FULL_SPEED_OPERATION = 2
USB_HIGH_SPEED_OPERATION = 4
USB_HUB_PORTS_BITS = 4
USB_INTERFACE_PROTOCOL_KEYBOARD = 1
USB_INTERFACE_PROTOCOL_MOUSE = 2
USB_INTERFACE_SUBCLASS_BOOT = 1
USB_LOW_SPEED_OPERATION = 1
USB_LPM_SUPPORT = 2

View File

@ -1,4 +1,15 @@
# AUTOGENERATED FILE
AX88172_CMD_READ_NODE_ID = 23
AX_CMD_READ_EEPROM = 11
AX_CMD_READ_GPIOS = 30
AX_CMD_READ_MEDIUM_STATUS = 26
AX_CMD_READ_MII_REG = 7
AX_CMD_READ_MONITOR_MODE = 28
AX_CMD_READ_NODE_ID = 19
AX_CMD_READ_PHY_ID = 25
AX_CMD_READ_RX_CTL = 15
AX_CMD_STATMNGSTS_REG = 9
AX_CMD_SW_PHY_STATUS = 33
CONTAINER_ID_TYPE = 4
HID_DT_HID = 33
HID_DT_PHYSICAL = 35
@ -51,6 +62,15 @@ HUB_CHAR_PORTIND = 128
HUB_CHAR_TTTT = 96
HUB_STATUS_LOCAL_POWER = 1
HUB_STATUS_OVERCURRENT = 2
UAC_GET_CUR = 129
UAC_GET_MAX = 131
UAC_GET_MEM = 133
UAC_GET_MIN = 130
UAC_GET_RES = 132
USBLP_REQ_GET_ID = 0
USBLP_REQ_GET_STATUS = 1
USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST = 0
USBLP_REQ_RESET = 2
USB_5GBPS_OPERATION = 8
USB_BESL_BASELINE_VALID = 8
USB_BESL_DEEP_VALID = 16
@ -141,6 +161,7 @@ USB_FULL_SPEED_OPERATION = 2
USB_HIGH_SPEED_OPERATION = 4
USB_HUB_PORTS_BITS = 4
USB_INTERFACE_PROTOCOL_KEYBOARD = 1
USB_INTERFACE_PROTOCOL_MOUSE = 2
USB_INTERFACE_SUBCLASS_BOOT = 1
USB_LOW_SPEED_OPERATION = 1
USB_LPM_SUPPORT = 2

View File

@ -1,4 +1,15 @@
# AUTOGENERATED FILE
AX88172_CMD_READ_NODE_ID = 23
AX_CMD_READ_EEPROM = 11
AX_CMD_READ_GPIOS = 30
AX_CMD_READ_MEDIUM_STATUS = 26
AX_CMD_READ_MII_REG = 7
AX_CMD_READ_MONITOR_MODE = 28
AX_CMD_READ_NODE_ID = 19
AX_CMD_READ_PHY_ID = 25
AX_CMD_READ_RX_CTL = 15
AX_CMD_STATMNGSTS_REG = 9
AX_CMD_SW_PHY_STATUS = 33
CONTAINER_ID_TYPE = 4
HID_DT_HID = 33
HID_DT_PHYSICAL = 35
@ -51,6 +62,15 @@ HUB_CHAR_PORTIND = 128
HUB_CHAR_TTTT = 96
HUB_STATUS_LOCAL_POWER = 1
HUB_STATUS_OVERCURRENT = 2
UAC_GET_CUR = 129
UAC_GET_MAX = 131
UAC_GET_MEM = 133
UAC_GET_MIN = 130
UAC_GET_RES = 132
USBLP_REQ_GET_ID = 0
USBLP_REQ_GET_STATUS = 1
USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST = 0
USBLP_REQ_RESET = 2
USB_5GBPS_OPERATION = 8
USB_BESL_BASELINE_VALID = 8
USB_BESL_DEEP_VALID = 16
@ -141,6 +161,7 @@ USB_FULL_SPEED_OPERATION = 2
USB_HIGH_SPEED_OPERATION = 4
USB_HUB_PORTS_BITS = 4
USB_INTERFACE_PROTOCOL_KEYBOARD = 1
USB_INTERFACE_PROTOCOL_MOUSE = 2
USB_INTERFACE_SUBCLASS_BOOT = 1
USB_LOW_SPEED_OPERATION = 1
USB_LPM_SUPPORT = 2

View File

@ -1,39 +1,109 @@
commit dcdaff7e78ec4647fdaa4892dd7fdc6b470ee491
commit 17edce0094c7d7b78b05748d5ce54d68d9bcb419
Author: Andrey Konovalov <andreyknvl@google.com>
Date: Wed Sep 27 17:06:15 2017 +0200
usb-fuzzer: dump usb device ids on enumeration
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 210b81a56e1a..6547515b8a2d 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -2114,11 +2114,45 @@ static void hid_free_dynids(struct hid_driver *hdrv)
spin_unlock(&hdrv->dyn_lock);
}
+static void hid_device_id_dump_one(const struct hid_device_id *id)
+{
+ char buffer[128];
+ int size = (char *)&id->product + sizeof(id->product) - (char *)id;
+
+ if (id->bus != HID_BUS_ANY && id->bus != BUS_USB)
+ return;
+
+ bin2hex((char *)&buffer[0], (const char *)id, size);
+ buffer[size * 2] = 0;
+ pr_err("HIDID: %s\n", &buffer[0]);
+}
+
+static void hid_device_id_dump_static(struct hid_driver *hdrv)
+{
+ const struct hid_device_id *id = hdrv->id_table;
+
+ for (; id->bus; id++)
+ hid_device_id_dump_one(id);
+}
+
+static void hid_device_id_dump_dynamic(struct hid_driver *hdrv)
+{
+ struct hid_dynid *dynid;
+
+ spin_lock(&hdrv->dyn_lock);
+ list_for_each_entry(dynid, &hdrv->dyn_list, list)
+ hid_device_id_dump_one(&dynid->id);
+ spin_unlock(&hdrv->dyn_lock);
+}
+
const struct hid_device_id *hid_match_device(struct hid_device *hdev,
struct hid_driver *hdrv)
{
struct hid_dynid *dynid;
+ hid_device_id_dump_static(hdrv);
+ hid_device_id_dump_dynamic(hdrv);
+
spin_lock(&hdrv->dyn_lock);
list_for_each_entry(dynid, &hdrv->dyn_list, list) {
if (hid_match_one_id(hdev, &dynid->id)) {
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 8987cec9549d..166f2b6486af 100644
index ebcadaad89d1..44e2d797bb6a 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -795,6 +795,19 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface,
@@ -790,6 +790,39 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface,
}
EXPORT_SYMBOL_GPL(usb_match_id);
+void usb_device_id_dump(const struct usb_device_id *id)
+static void usb_device_id_dump_one(const struct usb_device_id *id)
+{
+ for (; id->idVendor || id->idProduct || id->bDeviceClass ||
+ id->bInterfaceClass || id->driver_info; id++) {
+ char buffer[128];
+ int size = (char *)&id->driver_info - (char *)id;
+ bin2hex((char *)&buffer[0], (const char *)id, size);
+ buffer[size * 2] = 0;
+ pr_err("USBID: %s\n", &buffer[0]);
+ }
+ char buffer[128];
+ int size = (char *)&id->bInterfaceNumber + sizeof(id->bInterfaceNumber)
+ - (char *)id;
+
+ bin2hex((char *)&buffer[0], (const char *)id, size);
+ buffer[size * 2] = 0;
+ pr_err("USBID: %s\n", &buffer[0]);
+}
+
+static void usb_device_id_dump_static(struct usb_driver *drv)
+{
+ const struct usb_device_id *id = drv->id_table;
+
+ if (id == NULL)
+ return;
+
+ for (; id->idVendor || id->idProduct || id->bDeviceClass ||
+ id->bInterfaceClass || id->driver_info; id++)
+ usb_device_id_dump_one(id);
+}
+
+static void usb_device_id_dump_dynamic(struct usb_driver *drv)
+{
+ struct usb_dynid *dynid;
+
+ spin_lock(&drv->dynids.lock);
+ list_for_each_entry(dynid, &drv->dynids.list, node)
+ usb_device_id_dump_one(&dynid->id);
+ spin_unlock(&drv->dynids.lock);
+}
+
static int usb_device_match(struct device *dev, struct device_driver *drv)
{
/* devices and interfaces are handled separately */
@@ -819,6 +832,9 @@ static int usb_device_match(struct device *dev, struct device_driver *drv)
@@ -814,6 +847,9 @@ static int usb_device_match(struct device *dev, struct device_driver *drv)
intf = to_usb_interface(dev);
usb_drv = to_usb_driver(drv);
+ if (usb_drv->id_table != NULL)
+ usb_device_id_dump(usb_drv->id_table);
+ usb_device_id_dump_static(usb_drv);
+ usb_device_id_dump_dynamic(usb_drv);
+
id = usb_match_id(intf, usb_drv->id_table);
if (id)

View File

@ -27,7 +27,27 @@ func main() {
failf("failed to read file %v: %v", args[0], err)
}
r := regexp.MustCompile(`usbID: [0-9a-f]{48}`)
usbIds := extractIds(syslog, "USBID", 34)
hidIds := extractIds(syslog, "HIDID", 24)
output := make([]byte, 0)
output = append(output, []byte("// AUTOGENERATED FILE\n")...)
output = append(output, []byte("// See docs/linux/external_fuzzing_usb.md\n")...)
output = append(output, []byte("\n")...)
output = append(output, []byte("package linux\n")...)
output = append(output, []byte("\n")...)
output = append(output, generateIdsVar(usbIds, "usbIds")...)
output = append(output, []byte("\n")...)
output = append(output, generateIdsVar(hidIds, "hidIds")...)
if err := osutil.WriteFile(args[1], output); err != nil {
failf("failed to output file %v: %v", args[1], err)
}
}
func extractIds(syslog []byte, prefix string, size int) []string {
re := fmt.Sprintf("%s: [0-9a-f]{%d}", prefix, size)
r := regexp.MustCompile(re)
matches := r.FindAll(syslog, -1)
uniqueMatches := make(map[string]bool)
for _, match := range matches {
@ -35,41 +55,36 @@ func main() {
}
sortedMatches := make([]string, 0)
for match := range uniqueMatches {
match = match[len("usbID: "):]
match = match[:34]
match = match[len(prefix+": "):]
match = match[:size]
sortedMatches = append(sortedMatches, match)
}
sort.Strings(sortedMatches)
return sortedMatches
}
usbIDs := make([]byte, 0)
usbIDs = append(usbIDs, []byte("// AUTOGENERATED FILE\n")...)
usbIDs = append(usbIDs, []byte("// See docs/linux/external_fuzzing_usb.md\n")...)
usbIDs = append(usbIDs, []byte("\n")...)
usbIDs = append(usbIDs, []byte("package linux\n")...)
usbIDs = append(usbIDs, []byte("\n")...)
usbIDs = append(usbIDs, []byte("var usbIDs = ")...)
for i, match := range sortedMatches {
decodedMatch, err := hex.DecodeString(match)
func generateIdsVar(ids []string, name string) []byte {
output := []byte(fmt.Sprintf("var %s = ", name))
for i, id := range ids {
decodedID, err := hex.DecodeString(id)
if err != nil {
failf("failed to decode hes string %v: %v", match, err)
failf("failed to decode hex string %v: %v", id, err)
}
prefix := "\t"
suffix := " +"
if i == 0 {
prefix = ""
}
if i == len(sortedMatches)-1 {
if i == len(ids)-1 {
suffix = ""
}
usbID := fmt.Sprintf("%v%#v%v\n", prefix, string(decodedMatch), suffix)
usbIDs = append(usbIDs, []byte(usbID)...)
outputID := fmt.Sprintf("%v%#v%v\n", prefix, string(decodedID), suffix)
output = append(output, []byte(outputID)...)
}
if err := osutil.WriteFile(args[1], usbIDs); err != nil {
failf("failed to output file %v: %v", args[1], err)
}
fmt.Printf("%v %s ids written\n", len(ids), name)
fmt.Printf("%v ids written\n", len(sortedMatches))
return output
}
func usage() {