From 55e0c07757deebc0c6094915fae19fc0959849e4 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Mon, 22 Jul 2019 19:25:54 +0200 Subject: 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 --- sys/linux/gen/386.go | 281 ++++++++++++++++++++------- sys/linux/gen/amd64.go | 281 ++++++++++++++++++++------- sys/linux/gen/arm.go | 281 ++++++++++++++++++++------- sys/linux/gen/arm64.go | 281 ++++++++++++++++++++------- sys/linux/gen/ppc64le.go | 281 ++++++++++++++++++++------- sys/linux/init.go | 25 +-- sys/linux/init_vusb.go | 38 ++++ sys/linux/init_vusb_ids.go | 443 +++++++++++++++++++++++++++++++++++++++++++ sys/linux/vusb.txt | 108 +++++++---- sys/linux/vusb_386.const | 21 ++ sys/linux/vusb_amd64.const | 21 ++ sys/linux/vusb_arm.const | 21 ++ sys/linux/vusb_arm64.const | 21 ++ sys/linux/vusb_ppc64le.const | 21 ++ 14 files changed, 1743 insertions(+), 381 deletions(-) (limited to 'sys') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 61e3d8066..3829dc692 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -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, 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{ + {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: 128}, + &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"}}, - &StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "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, 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{ + {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: 8}, + &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, 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{ + {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}}, Val: 10}, + &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_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{ + {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"}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {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: 1}, + &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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &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: 32}, Fields: []Type{ + {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" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 29baf962d..888e3507c 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -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, 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{ + {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: 128}, + &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"}}, - &StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "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, 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{ + {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: 8}, + &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, 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{ + {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}}, Val: 10}, + &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_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{ + {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"}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {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: 1}, + &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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &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: 60}, Fields: []Type{ + {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" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index d96725ac9..9974fdc5c 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -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, 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{ + {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: 128}, + &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"}}, - &StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "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, 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{ + {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: 8}, + &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, 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{ + {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}}, Val: 10}, + &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_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{ + {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"}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {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: 1}, + &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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &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: 32}, Fields: []Type{ + {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" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index cf01f383f..284dbba5d 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -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, 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{ + {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: 128}, + &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"}}, - &StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "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, 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{ + {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: 8}, + &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, 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{ + {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}}, Val: 10}, + &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_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{ + {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"}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {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: 1}, + &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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &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: 60}, Fields: []Type{ + {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" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index afb73c15e..72b0fd2b3 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -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, 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{ + {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: 128}, + &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"}}, - &StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "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, 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{ + {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: 8}, + &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, 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{ + {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}}, Val: 10}, + &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_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{ + {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"}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {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: 1}, + &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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3}, + &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: 60}, Fields: []Type{ + {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" diff --git a/sys/linux/init.go b/sys/linux/init.go index e694cce09..e24e7eb77 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -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{ diff --git a/sys/linux/init_vusb.go b/sys/linux/init_vusb.go index d388914a7..ac7024182 100644 --- a/sys/linux/init_vusb.go +++ b/sys/linux/init_vusb.go @@ -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 { diff --git a/sys/linux/init_vusb_ids.go b/sys/linux/init_vusb_ids.go index 7be9b19a2..2f2a9266e 100644 --- a/sys/linux/init_vusb_ids.go +++ b/sys/linux/init_vusb_ids.go @@ -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" diff --git a/sys/linux/vusb.txt b/sys/linux/vusb.txt index d0d5ba5b3..dc5fee402 100644 --- a/sys/linux/vusb.txt +++ b/sys/linux/vusb.txt @@ -6,9 +6,19 @@ include include include + +include include include include +include +include + +# 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] diff --git a/sys/linux/vusb_386.const b/sys/linux/vusb_386.const index d3835583c..21ff42280 100644 --- a/sys/linux/vusb_386.const +++ b/sys/linux/vusb_386.const @@ -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 diff --git a/sys/linux/vusb_amd64.const b/sys/linux/vusb_amd64.const index d3835583c..21ff42280 100644 --- a/sys/linux/vusb_amd64.const +++ b/sys/linux/vusb_amd64.const @@ -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 diff --git a/sys/linux/vusb_arm.const b/sys/linux/vusb_arm.const index d3835583c..21ff42280 100644 --- a/sys/linux/vusb_arm.const +++ b/sys/linux/vusb_arm.const @@ -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 diff --git a/sys/linux/vusb_arm64.const b/sys/linux/vusb_arm64.const index d3835583c..21ff42280 100644 --- a/sys/linux/vusb_arm64.const +++ b/sys/linux/vusb_arm64.const @@ -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 diff --git a/sys/linux/vusb_ppc64le.const b/sys/linux/vusb_ppc64le.const index d3835583c..21ff42280 100644 --- a/sys/linux/vusb_ppc64le.const +++ b/sys/linux/vusb_ppc64le.const @@ -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 -- cgit mrf-deployment