From 4280382fb9f105ad77dec928c2ab5590d95ac6da Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Thu, 5 Sep 2019 18:48:55 +0200 Subject: sys/linux/vusb.txt: properly describe interfaces for USB CDC NCM Also rename cdc_ethernet to cdc_ecm. --- sys/linux/gen/386.go | 191 ++++++++++++++++++++++++++----------------- sys/linux/gen/amd64.go | 191 ++++++++++++++++++++++++++----------------- sys/linux/gen/arm.go | 191 ++++++++++++++++++++++++++----------------- sys/linux/gen/arm64.go | 191 ++++++++++++++++++++++++++----------------- sys/linux/gen/ppc64le.go | 191 ++++++++++++++++++++++++++----------------- sys/linux/vusb.txt | 116 +++++++++++++------------- sys/linux/vusb_386.const | 11 +-- sys/linux/vusb_amd64.const | 11 +-- sys/linux/vusb_arm.const | 11 +-- sys/linux/vusb_arm64.const | 11 +-- sys/linux/vusb_ppc64le.const | 11 +-- 11 files changed, 671 insertions(+), 455 deletions(-) (limited to 'sys') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 549a1e248..747eb887f 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -113,7 +113,7 @@ var resources_386 = []*ResourceDesc{ {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb"}, Values: []uint64{18446744073709551615}}, - {Name: "fd_usb_cdc_ethernet", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ethernet"}, Values: []uint64{18446744073709551615}}, + {Name: "fd_usb_cdc_ecm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ecm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_cdc_ncm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ncm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_hid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_hid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_printer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_printer"}, Values: []uint64{18446744073709551615}}, @@ -25368,6 +25368,13 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mac", TypeSize: 48}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, + }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mbm_guid", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, + }}}, {Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, 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: 36}, @@ -25378,13 +25385,6 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mac", TypeSize: 48}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, - }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mbm_guid", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, - }}}, {Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, 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: 36}, @@ -25392,7 +25392,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}}, }}}, {Key: StructKey{Name: "usb_cdc_header_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "other", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_ethernet_other"}}, Kind: 1, RangeEnd: 6}, @@ -25411,7 +25411,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"}, }}}, {Key: StructKey{Name: "usb_cdc_header_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"}, @@ -25453,7 +25453,7 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, FldName: "bGUID"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, FldName: "bGUID"}, }}}, {Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -25498,7 +25498,7 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, }}}, - {Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 0]", 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: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, @@ -25506,33 +25506,41 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, }}}, + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 1]", 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: 36}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bMasterInterface0", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, + }}}, {Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_printer", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Path: []string{"interfaces"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumInterfaces", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bConfigurationValue", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, FldName: "interfaces"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25541,9 +25549,9 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25554,7 +25562,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25565,7 +25573,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25574,7 +25582,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 4}, }}}, {Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"}, @@ -25588,8 +25596,8 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{ &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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_device_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, @@ -25651,7 +25659,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_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 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}}, @@ -25666,7 +25674,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}}, &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_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18}, @@ -25688,14 +25696,14 @@ 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_cdc_ethernet_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_in", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_in", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_notify", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_notify", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_out", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_out", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, 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"}, @@ -25709,7 +25717,7 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor_printer_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_printer_out", TypeSize: 9}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_PRINTER_OUT_ADDRESS, int8], const[USB_ENDPOINT_PRINTER_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 130}, @@ -25720,7 +25728,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_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}, @@ -25731,7 +25739,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 3}, @@ -25797,10 +25805,14 @@ 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}}, Kind: 1, RangeEnd: 1}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_in"}, FldName: "in"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, FldName: "out"}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ncm_data", TypeSize: 18}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, }}}, {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"}, @@ -25873,11 +25885,8 @@ var structDescs_386 = []*KeyedStruct{ {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[const[0, int8], int8, len[endpoints, 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, - }}}, - {Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, 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[const[0, int8], int8, int8[1:2], 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"}, @@ -25885,18 +25894,18 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "usb_interface_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_printer", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], const[USB_CLASS_PRINTER, int8], const[1, int8], int8[USBLP_FIRST_PROTOCOL:USBLP_LAST_PROTOCOL], void, usb_endpoint_descriptors_printer]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]", 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}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumEndpoints", TypeSize: 1}}, Kind: 2, RangeBegin: 2, RangeEnd: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ncm"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], 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[const[0, int8], int8, int8[1:2], 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}, @@ -25924,7 +25933,7 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_printer"}, FldName: "endpoints"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]", 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}}}, @@ -25935,7 +25944,7 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ethernet"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, len[endpoints, 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], int8, len[endpoints, 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}, @@ -25950,6 +25959,37 @@ 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[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, 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: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "endpoints"}, Kind: 1}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]", TypeSize: 27}, 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}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, FldName: "endpoints"}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptors_cdc_ncm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, FldName: "control"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, FldName: "data_nop"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, FldName: "data"}, + }}}, {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: "usb_hid_descriptor_hid"}, FldName: "hid_hid"}, @@ -26022,10 +26062,10 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "data", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}}, }}}, - {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ethernet_mac]", TypeSize: 50}, Fields: []Type{ + {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ecm_mac]", TypeSize: 50}, 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: 3}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mac"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mac"}, FldName: "data"}, }}}, {Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -27164,11 +27204,11 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &UnionType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]", TypeSize: 56}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]", TypeSize: 56}, 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}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, - &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, FldName: "data"}, }}}, {Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 24}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27178,15 +27218,15 @@ var structDescs_386 = []*KeyedStruct{ &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_descriptors_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ethernet", TypeSize: 12}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ecm", TypeSize: 12}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ncm", TypeSize: 12}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 20}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27410,7 +27450,7 @@ var structDescs_386 = []*KeyedStruct{ &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: "vusb_responses_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ethernet", TypeSize: 16}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ecm", TypeSize: 16}, 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: "USB_REQ_GET_INTERFACE", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}}, @@ -43546,12 +43586,12 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {Name: "syz_usb_connect$cdc_ethernet", CallName: "syz_usb_connect", Args: []Type{ + {Name: "syz_usb_connect$cdc_ecm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Path: []string{"dev"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ethernet"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_usb_connect$cdc_ncm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Path: []string{"dev"}}, @@ -43575,10 +43615,10 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, - {Name: "syz_usb_control_io$cdc_ethernet", CallName: "syz_usb_control_io", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ethernet"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ethernet"}}}, + {Name: "syz_usb_control_io$cdc_ecm", CallName: "syz_usb_control_io", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ecm"}}}, }}, {Name: "syz_usb_control_io$cdc_ncm", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ncm", FldName: "fd", TypeSize: 4}}, @@ -45223,6 +45263,7 @@ var consts_386 = []ConstValue{ {Name: "CAPI_SET_FLAGS", Value: 2147762980}, {Name: "CAP_LAST_CAP", Value: 37}, {Name: "CDC_NCM_COMM_ALTSETTING_NCM"}, + {Name: "CDC_NCM_DATA_ALTSETTING_NCM", Value: 1}, {Name: "CDO_AUTO_CLOSE", Value: 1}, {Name: "CDO_AUTO_EJECT", Value: 2}, {Name: "CDO_CHECK_TYPE", Value: 16}, @@ -50651,11 +50692,11 @@ var consts_386 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES", Value: 2}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS", Value: 130}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS", Value: 129}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES", Value: 3}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES", Value: 2}, + {Name: "USB_ENDPOINT_CDC_ECM_IN_ADDRESS", Value: 130}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_OUT_ADDRESS", Value: 3}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, @@ -52514,4 +52555,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "2e14b80bd3c5898c201814073472a02dfe0ff8e2" +const revision_386 = "37f1a67c5f3345ed9b6f32d97a6268f76e38265a" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 5e903a9f6..ddff15850 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -113,7 +113,7 @@ var resources_amd64 = []*ResourceDesc{ {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb"}, Values: []uint64{18446744073709551615}}, - {Name: "fd_usb_cdc_ethernet", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ethernet"}, Values: []uint64{18446744073709551615}}, + {Name: "fd_usb_cdc_ecm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ecm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_cdc_ncm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ncm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_hid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_hid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_printer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_printer"}, Values: []uint64{18446744073709551615}}, @@ -25739,6 +25739,13 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mac", TypeSize: 48}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, + }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mbm_guid", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, + }}}, {Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, 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: 36}, @@ -25749,13 +25756,6 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mac", TypeSize: 48}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, - }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mbm_guid", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, - }}}, {Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, 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: 36}, @@ -25763,7 +25763,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}}, }}}, {Key: StructKey{Name: "usb_cdc_header_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "other", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_ethernet_other"}}, Kind: 1, RangeEnd: 6}, @@ -25782,7 +25782,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"}, }}}, {Key: StructKey{Name: "usb_cdc_header_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"}, @@ -25824,7 +25824,7 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, FldName: "bGUID"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, FldName: "bGUID"}, }}}, {Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -25869,7 +25869,7 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, }}}, - {Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 0]", 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: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, @@ -25877,33 +25877,41 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, }}}, + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 1]", 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: 36}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bMasterInterface0", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, + }}}, {Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_printer", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Path: []string{"interfaces"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumInterfaces", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bConfigurationValue", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, FldName: "interfaces"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25912,9 +25920,9 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25925,7 +25933,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25936,7 +25944,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25945,7 +25953,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 4}, }}}, {Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"}, @@ -25959,8 +25967,8 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{ &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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_device_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, @@ -26022,7 +26030,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_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 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}}, @@ -26037,7 +26045,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}}, &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_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18}, @@ -26059,14 +26067,14 @@ 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_cdc_ethernet_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_in", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_in", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_notify", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_notify", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_out", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_out", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, 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"}, @@ -26080,7 +26088,7 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor_printer_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_printer_out", TypeSize: 9}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_PRINTER_OUT_ADDRESS, int8], const[USB_ENDPOINT_PRINTER_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 130}, @@ -26091,7 +26099,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_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}, @@ -26102,7 +26110,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 3}, @@ -26168,10 +26176,14 @@ 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}}, Kind: 1, RangeEnd: 1}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_in"}, FldName: "in"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, FldName: "out"}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ncm_data", TypeSize: 18}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, }}}, {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"}, @@ -26244,11 +26256,8 @@ var structDescs_amd64 = []*KeyedStruct{ {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[const[0, int8], int8, len[endpoints, 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, - }}}, - {Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, 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[const[0, int8], int8, int8[1:2], 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"}, @@ -26256,18 +26265,18 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_interface_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_printer", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], const[USB_CLASS_PRINTER, int8], const[1, int8], int8[USBLP_FIRST_PROTOCOL:USBLP_LAST_PROTOCOL], void, usb_endpoint_descriptors_printer]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]", 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}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumEndpoints", TypeSize: 1}}, Kind: 2, RangeBegin: 2, RangeEnd: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ncm"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], 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[const[0, int8], int8, int8[1:2], 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}, @@ -26295,7 +26304,7 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_printer"}, FldName: "endpoints"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]", 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}}}, @@ -26306,7 +26315,7 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ethernet"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, len[endpoints, 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], int8, len[endpoints, 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}, @@ -26321,6 +26330,37 @@ 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[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, 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: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "endpoints"}, Kind: 1}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]", TypeSize: 27}, 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}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, FldName: "endpoints"}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptors_cdc_ncm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, FldName: "control"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, FldName: "data_nop"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, FldName: "data"}, + }}}, {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: "usb_hid_descriptor_hid"}, FldName: "hid_hid"}, @@ -26393,10 +26433,10 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "data", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}}, }}}, - {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ethernet_mac]", TypeSize: 50}, Fields: []Type{ + {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ecm_mac]", TypeSize: 50}, 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: 3}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mac"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mac"}, FldName: "data"}, }}}, {Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -27542,11 +27582,11 @@ var structDescs_amd64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &UnionType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]", TypeSize: 56}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]", TypeSize: 56}, 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}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, - &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, FldName: "data"}, }}}, {Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 44}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27556,15 +27596,15 @@ var structDescs_amd64 = []*KeyedStruct{ &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_descriptors_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ethernet", TypeSize: 20}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ecm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ncm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27788,7 +27828,7 @@ var structDescs_amd64 = []*KeyedStruct{ &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: "vusb_responses_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ethernet", TypeSize: 28}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ecm", TypeSize: 28}, 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: "USB_REQ_GET_INTERFACE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}}, @@ -44068,12 +44108,12 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {Name: "syz_usb_connect$cdc_ethernet", CallName: "syz_usb_connect", Args: []Type{ + {Name: "syz_usb_connect$cdc_ecm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ethernet"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_usb_connect$cdc_ncm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, @@ -44097,10 +44137,10 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, - {Name: "syz_usb_control_io$cdc_ethernet", CallName: "syz_usb_control_io", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ethernet"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ethernet"}}}, + {Name: "syz_usb_control_io$cdc_ecm", CallName: "syz_usb_control_io", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ecm"}}}, }}, {Name: "syz_usb_control_io$cdc_ncm", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ncm", FldName: "fd", TypeSize: 4}}, @@ -45745,6 +45785,7 @@ var consts_amd64 = []ConstValue{ {Name: "CAPI_SET_FLAGS", Value: 2147762980}, {Name: "CAP_LAST_CAP", Value: 37}, {Name: "CDC_NCM_COMM_ALTSETTING_NCM"}, + {Name: "CDC_NCM_DATA_ALTSETTING_NCM", Value: 1}, {Name: "CDO_AUTO_CLOSE", Value: 1}, {Name: "CDO_AUTO_EJECT", Value: 2}, {Name: "CDO_CHECK_TYPE", Value: 16}, @@ -51187,11 +51228,11 @@ var consts_amd64 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES", Value: 2}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS", Value: 130}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS", Value: 129}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES", Value: 3}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES", Value: 2}, + {Name: "USB_ENDPOINT_CDC_ECM_IN_ADDRESS", Value: 130}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_OUT_ADDRESS", Value: 3}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, @@ -53051,4 +53092,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "ab1f45f6956685a93e61ca4841f86dce0062a1c3" +const revision_amd64 = "d53c1aecb273eaa32dd6030279d495a54690f862" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 0e70a3173..869a6ae29 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -113,7 +113,7 @@ var resources_arm = []*ResourceDesc{ {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb"}, Values: []uint64{18446744073709551615}}, - {Name: "fd_usb_cdc_ethernet", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ethernet"}, Values: []uint64{18446744073709551615}}, + {Name: "fd_usb_cdc_ecm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ecm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_cdc_ncm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ncm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_hid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_hid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_printer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_printer"}, Values: []uint64{18446744073709551615}}, @@ -25190,6 +25190,13 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mac", TypeSize: 48}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, + }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mbm_guid", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, + }}}, {Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, 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: 36}, @@ -25200,13 +25207,6 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mac", TypeSize: 48}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, - }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mbm_guid", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, - }}}, {Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, 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: 36}, @@ -25214,7 +25214,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}}, }}}, {Key: StructKey{Name: "usb_cdc_header_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "other", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_ethernet_other"}}, Kind: 1, RangeEnd: 6}, @@ -25233,7 +25233,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"}, }}}, {Key: StructKey{Name: "usb_cdc_header_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"}, @@ -25275,7 +25275,7 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, FldName: "bGUID"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, FldName: "bGUID"}, }}}, {Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -25320,7 +25320,7 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, }}}, - {Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 0]", 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: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, @@ -25328,33 +25328,41 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, }}}, + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 1]", 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: 36}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bMasterInterface0", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, + }}}, {Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_printer", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Path: []string{"interfaces"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumInterfaces", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bConfigurationValue", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, FldName: "interfaces"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25363,9 +25371,9 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25376,7 +25384,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25387,7 +25395,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25396,7 +25404,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 4}, }}}, {Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"}, @@ -25410,8 +25418,8 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{ &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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_device_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, @@ -25473,7 +25481,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_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 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}}, @@ -25488,7 +25496,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}}, &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_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18}, @@ -25510,14 +25518,14 @@ 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_cdc_ethernet_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_in", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_in", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_notify", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_notify", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_out", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_out", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, 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"}, @@ -25531,7 +25539,7 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor_printer_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_printer_out", TypeSize: 9}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_PRINTER_OUT_ADDRESS, int8], const[USB_ENDPOINT_PRINTER_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 130}, @@ -25542,7 +25550,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_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}, @@ -25553,7 +25561,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 3}, @@ -25619,10 +25627,14 @@ 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}}, Kind: 1, RangeEnd: 1}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_in"}, FldName: "in"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, FldName: "out"}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ncm_data", TypeSize: 18}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, }}}, {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"}, @@ -25695,11 +25707,8 @@ var structDescs_arm = []*KeyedStruct{ {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[const[0, int8], int8, len[endpoints, 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, - }}}, - {Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, 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[const[0, int8], int8, int8[1:2], 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"}, @@ -25707,18 +25716,18 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "usb_interface_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_printer", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], const[USB_CLASS_PRINTER, int8], const[1, int8], int8[USBLP_FIRST_PROTOCOL:USBLP_LAST_PROTOCOL], void, usb_endpoint_descriptors_printer]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]", 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}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumEndpoints", TypeSize: 1}}, Kind: 2, RangeBegin: 2, RangeEnd: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ncm"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], 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[const[0, int8], int8, int8[1:2], 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}, @@ -25746,7 +25755,7 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_printer"}, FldName: "endpoints"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]", 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}}}, @@ -25757,7 +25766,7 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ethernet"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, len[endpoints, 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], int8, len[endpoints, 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}, @@ -25772,6 +25781,37 @@ 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[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, 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: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "endpoints"}, Kind: 1}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]", TypeSize: 27}, 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}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, FldName: "endpoints"}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptors_cdc_ncm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, FldName: "control"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, FldName: "data_nop"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, FldName: "data"}, + }}}, {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: "usb_hid_descriptor_hid"}, FldName: "hid_hid"}, @@ -25844,10 +25884,10 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "data", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}}, }}}, - {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ethernet_mac]", TypeSize: 50}, Fields: []Type{ + {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ecm_mac]", TypeSize: 50}, 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: 3}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mac"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mac"}, FldName: "data"}, }}}, {Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -26970,11 +27010,11 @@ var structDescs_arm = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &UnionType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]", TypeSize: 56}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]", TypeSize: 56}, 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}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, - &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, FldName: "data"}, }}}, {Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 24}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -26984,15 +27024,15 @@ var structDescs_arm = []*KeyedStruct{ &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_descriptors_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ethernet", TypeSize: 12}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ecm", TypeSize: 12}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ncm", TypeSize: 12}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 20}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27216,7 +27256,7 @@ var structDescs_arm = []*KeyedStruct{ &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: "vusb_responses_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ethernet", TypeSize: 16}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ecm", TypeSize: 16}, 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: "USB_REQ_GET_INTERFACE", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}}, @@ -43202,12 +43242,12 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {Name: "syz_usb_connect$cdc_ethernet", CallName: "syz_usb_connect", Args: []Type{ + {Name: "syz_usb_connect$cdc_ecm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Path: []string{"dev"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ethernet"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_usb_connect$cdc_ncm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Path: []string{"dev"}}, @@ -43231,10 +43271,10 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, - {Name: "syz_usb_control_io$cdc_ethernet", CallName: "syz_usb_control_io", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ethernet"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ethernet"}}}, + {Name: "syz_usb_control_io$cdc_ecm", CallName: "syz_usb_control_io", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ecm"}}}, }}, {Name: "syz_usb_control_io$cdc_ncm", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ncm", FldName: "fd", TypeSize: 4}}, @@ -44863,6 +44903,7 @@ var consts_arm = []ConstValue{ {Name: "CAPI_SET_FLAGS", Value: 2147762980}, {Name: "CAP_LAST_CAP", Value: 37}, {Name: "CDC_NCM_COMM_ALTSETTING_NCM"}, + {Name: "CDC_NCM_DATA_ALTSETTING_NCM", Value: 1}, {Name: "CDO_AUTO_CLOSE", Value: 1}, {Name: "CDO_AUTO_EJECT", Value: 2}, {Name: "CDO_CHECK_TYPE", Value: 16}, @@ -50238,11 +50279,11 @@ var consts_arm = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES", Value: 2}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS", Value: 130}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS", Value: 129}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES", Value: 3}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES", Value: 2}, + {Name: "USB_ENDPOINT_CDC_ECM_IN_ADDRESS", Value: 130}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_OUT_ADDRESS", Value: 3}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, @@ -52091,4 +52132,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "0f8ab9a465d6f44092861c03f29e3410a53f0f2d" +const revision_arm = "77cfcda2e2c7d1c10253793c16be0a80b1fd29ce" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 7c629f173..a730d1c1b 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -113,7 +113,7 @@ var resources_arm64 = []*ResourceDesc{ {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb"}, Values: []uint64{18446744073709551615}}, - {Name: "fd_usb_cdc_ethernet", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ethernet"}, Values: []uint64{18446744073709551615}}, + {Name: "fd_usb_cdc_ecm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ecm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_cdc_ncm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ncm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_hid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_hid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_printer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_printer"}, Values: []uint64{18446744073709551615}}, @@ -25556,6 +25556,13 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mac", TypeSize: 48}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, + }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mbm_guid", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, + }}}, {Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, 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: 36}, @@ -25566,13 +25573,6 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mac", TypeSize: 48}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, - }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mbm_guid", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, - }}}, {Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, 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: 36}, @@ -25580,7 +25580,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}}, }}}, {Key: StructKey{Name: "usb_cdc_header_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "other", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_ethernet_other"}}, Kind: 1, RangeEnd: 6}, @@ -25599,7 +25599,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"}, }}}, {Key: StructKey{Name: "usb_cdc_header_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"}, @@ -25641,7 +25641,7 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, FldName: "bGUID"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, FldName: "bGUID"}, }}}, {Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -25686,7 +25686,7 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, }}}, - {Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 0]", 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: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, @@ -25694,33 +25694,41 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, }}}, + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 1]", 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: 36}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bMasterInterface0", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, + }}}, {Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_printer", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Path: []string{"interfaces"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumInterfaces", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bConfigurationValue", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, FldName: "interfaces"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25729,9 +25737,9 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25742,7 +25750,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25753,7 +25761,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25762,7 +25770,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 4}, }}}, {Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"}, @@ -25776,8 +25784,8 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{ &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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_device_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, @@ -25839,7 +25847,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_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 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}}, @@ -25854,7 +25862,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}}, &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_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18}, @@ -25876,14 +25884,14 @@ 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_cdc_ethernet_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_in", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_in", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_notify", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_notify", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_out", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_out", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, 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"}, @@ -25897,7 +25905,7 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor_printer_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_printer_out", TypeSize: 9}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_PRINTER_OUT_ADDRESS, int8], const[USB_ENDPOINT_PRINTER_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 130}, @@ -25908,7 +25916,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_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}, @@ -25919,7 +25927,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 3}, @@ -25985,10 +25993,14 @@ 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}}, Kind: 1, RangeEnd: 1}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_in"}, FldName: "in"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, FldName: "out"}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ncm_data", TypeSize: 18}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, }}}, {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"}, @@ -26061,11 +26073,8 @@ var structDescs_arm64 = []*KeyedStruct{ {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[const[0, int8], int8, len[endpoints, 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, - }}}, - {Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, 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[const[0, int8], int8, int8[1:2], 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"}, @@ -26073,18 +26082,18 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_interface_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_printer", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], const[USB_CLASS_PRINTER, int8], const[1, int8], int8[USBLP_FIRST_PROTOCOL:USBLP_LAST_PROTOCOL], void, usb_endpoint_descriptors_printer]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]", 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}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumEndpoints", TypeSize: 1}}, Kind: 2, RangeBegin: 2, RangeEnd: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ncm"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], 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[const[0, int8], int8, int8[1:2], 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}, @@ -26112,7 +26121,7 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_printer"}, FldName: "endpoints"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]", 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}}}, @@ -26123,7 +26132,7 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ethernet"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, len[endpoints, 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], int8, len[endpoints, 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}, @@ -26138,6 +26147,37 @@ 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[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, 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: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "endpoints"}, Kind: 1}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]", TypeSize: 27}, 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}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, FldName: "endpoints"}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptors_cdc_ncm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, FldName: "control"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, FldName: "data_nop"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, FldName: "data"}, + }}}, {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: "usb_hid_descriptor_hid"}, FldName: "hid_hid"}, @@ -26210,10 +26250,10 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "data", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}}, }}}, - {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ethernet_mac]", TypeSize: 50}, Fields: []Type{ + {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ecm_mac]", TypeSize: 50}, 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: 3}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mac"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mac"}, FldName: "data"}, }}}, {Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -27334,11 +27374,11 @@ var structDescs_arm64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &UnionType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]", TypeSize: 56}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]", TypeSize: 56}, 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}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, - &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, FldName: "data"}, }}}, {Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 44}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27348,15 +27388,15 @@ var structDescs_arm64 = []*KeyedStruct{ &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_descriptors_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ethernet", TypeSize: 20}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ecm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ncm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27580,7 +27620,7 @@ var structDescs_arm64 = []*KeyedStruct{ &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: "vusb_responses_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ethernet", TypeSize: 28}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ecm", TypeSize: 28}, 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: "USB_REQ_GET_INTERFACE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}}, @@ -43544,12 +43584,12 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {Name: "syz_usb_connect$cdc_ethernet", CallName: "syz_usb_connect", Args: []Type{ + {Name: "syz_usb_connect$cdc_ecm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ethernet"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_usb_connect$cdc_ncm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, @@ -43573,10 +43613,10 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, - {Name: "syz_usb_control_io$cdc_ethernet", CallName: "syz_usb_control_io", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ethernet"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ethernet"}}}, + {Name: "syz_usb_control_io$cdc_ecm", CallName: "syz_usb_control_io", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ecm"}}}, }}, {Name: "syz_usb_control_io$cdc_ncm", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ncm", FldName: "fd", TypeSize: 4}}, @@ -45191,6 +45231,7 @@ var consts_arm64 = []ConstValue{ {Name: "CAPI_SET_FLAGS", Value: 2147762980}, {Name: "CAP_LAST_CAP", Value: 37}, {Name: "CDC_NCM_COMM_ALTSETTING_NCM"}, + {Name: "CDC_NCM_DATA_ALTSETTING_NCM", Value: 1}, {Name: "CDO_AUTO_CLOSE", Value: 1}, {Name: "CDO_AUTO_EJECT", Value: 2}, {Name: "CDO_CHECK_TYPE", Value: 16}, @@ -50580,11 +50621,11 @@ var consts_arm64 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES", Value: 2}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS", Value: 130}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS", Value: 129}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES", Value: 3}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES", Value: 2}, + {Name: "USB_ENDPOINT_CDC_ECM_IN_ADDRESS", Value: 130}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_OUT_ADDRESS", Value: 3}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, @@ -52403,4 +52444,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "dfbfc601e22c993712d3d148db88e2dbb833b417" +const revision_arm64 = "2f03bf4e8fc17095f3cc62c29aaa4f12ba613b90" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 16ed424ef..c3c21e741 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -113,7 +113,7 @@ var resources_ppc64le = []*ResourceDesc{ {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb"}, Values: []uint64{18446744073709551615}}, - {Name: "fd_usb_cdc_ethernet", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ethernet"}, Values: []uint64{18446744073709551615}}, + {Name: "fd_usb_cdc_ecm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ecm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_cdc_ncm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_cdc_ncm"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_hid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_hid"}, Values: []uint64{18446744073709551615}}, {Name: "fd_usb_printer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd_usb", "fd_usb_printer"}, Values: []uint64{18446744073709551615}}, @@ -25426,6 +25426,13 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}}, }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mac", TypeSize: 48}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, + }}}, + {Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ecm_mbm_guid", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, + }}}, {Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, 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: 36}, @@ -25436,13 +25443,6 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mac"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mac", TypeSize: 48}, Fields: []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "data", TypeSize: 48}, Kind: 2, Values: []string{"340032003400320034003200340032003400320034003200"}, NoZ: true}, - }}}, - {Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ethernet_mbm_guid", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id0", TypeSize: 8}}, Val: 94397490813999011}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "id1", TypeSize: 8}}, Val: 3042602437899716518}, - }}}, {Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, 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: 36}, @@ -25450,7 +25450,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}}, }}}, {Key: StructKey{Name: "usb_cdc_header_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "other", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_ethernet_other"}}, Kind: 1, RangeEnd: 6}, @@ -25469,7 +25469,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"}, }}}, {Key: StructKey{Name: "usb_cdc_header_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"}, + &StructType{Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, FldName: "union"}, &StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"}, &StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"}, &StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"}, @@ -25511,7 +25511,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mbm_guid"}, FldName: "bGUID"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mbm_guid"}, FldName: "bGUID"}, }}}, {Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -25556,7 +25556,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}}, }}}, - {Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 0]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 0]", 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: 36}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, @@ -25564,33 +25564,41 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, }}}, + {Key: StructKey{Name: "usb_cdc_union_desc_t[0, 1]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc_t[0, 1]", 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: 36}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bMasterInterface0", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSlaveInterface0", TypeSize: 1}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6}, + }}}, {Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_config_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_printer", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Path: []string{"interfaces"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumInterfaces", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bConfigurationValue", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, FldName: "interfaces"}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25599,9 +25607,9 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25612,7 +25620,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[const[1, int8], len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25623,7 +25631,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[int8, len[interfaces, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]]", 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: 2}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Path: []string{"parent"}}, @@ -25632,7 +25640,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 4}, }}}, {Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"}, @@ -25646,8 +25654,8 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{ &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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, FldName: "inner"}, }}}, {Key: StructKey{Name: "usb_device_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, FldName: "inner"}, @@ -25709,7 +25717,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_printer"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, - {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 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}}, @@ -25724,7 +25732,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}}, &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_cdc_ethernet"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor_cdc_ecm"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, }}}, {Key: StructKey{Name: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ncm, 1]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18}, @@ -25746,14 +25754,14 @@ 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_cdc_ethernet_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_in", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_in", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_notify", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_notify", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ethernet_out", TypeSize: 9}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_cdc_ecm_out", TypeSize: 9}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, 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"}, @@ -25767,7 +25775,7 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor_printer_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_printer_out", TypeSize: 9}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_PRINTER_OUT_ADDRESS, int8], const[USB_ENDPOINT_PRINTER_ATTRIBUTES, int8], void]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 130}, @@ -25778,7 +25786,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_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}, @@ -25789,7 +25797,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void]", TypeSize: 9}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_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: 3}, @@ -25855,10 +25863,14 @@ 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_notify"}}, Kind: 1, RangeEnd: 1}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_in"}, FldName: "in"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ethernet_out"}, FldName: "out"}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "notify", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}}, Kind: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors_cdc_ncm_data", TypeSize: 18}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_in"}, FldName: "in"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_out"}, FldName: "out"}, }}}, {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"}, @@ -25931,11 +25943,8 @@ var structDescs_ppc64le = []*KeyedStruct{ {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[const[0, int8], int8, len[endpoints, 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_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ethernet", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, - }}}, - {Key: StructKey{Name: "usb_interface_descriptor_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ncm", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_interface_descriptor_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_cdc_ecm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, 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[const[0, int8], int8, int8[1:2], 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"}, @@ -25943,18 +25952,18 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "usb_interface_descriptor_printer"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_printer", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], const[USB_CLASS_PRINTER, int8], const[1, int8], int8[USBLP_FIRST_PROTOCOL:USBLP_LAST_PROTOCOL], void, usb_endpoint_descriptors_printer]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]", 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}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumEndpoints", TypeSize: 1}}, Kind: 2, RangeBegin: 2, RangeEnd: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ncm"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_cdc_ecm_notify"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[1:2], 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[const[0, int8], int8, int8[1:2], 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}, @@ -25982,7 +25991,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_printer"}, FldName: "endpoints"}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm]", 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}}}, @@ -25993,7 +26002,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "usb_cdc_header_ethernet"}, FldName: "extra"}, - &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ethernet"}, FldName: "endpoints"}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ecm"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], int8, len[endpoints, 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], int8, len[endpoints, 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}, @@ -26008,6 +26017,37 @@ 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[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, 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: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "endpoints"}, Kind: 1}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]", TypeSize: 27}, 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}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bAlternateSetting", TypeSize: 1}}, Val: 1}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bNumEndpoints", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}, Val: 13}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "extra"}, Kind: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors_cdc_ncm_data"}, FldName: "endpoints"}, + }}}, + {Key: StructKey{Name: "usb_interface_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptors_cdc_ncm", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify]"}, FldName: "control"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void]"}, FldName: "data_nop"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data]"}, FldName: "data"}, + }}}, {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: "usb_hid_descriptor_hid"}, FldName: "hid_hid"}, @@ -26080,10 +26120,10 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "data", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}}, }}}, - {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ethernet_mac]", TypeSize: 50}, Fields: []Type{ + {Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor_t[usb_cdc_ecm_mac]", TypeSize: 50}, 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: 3}, - &StructType{Key: StructKey{Name: "usb_cdc_ethernet_mac"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_cdc_ecm_mac"}, FldName: "data"}, }}}, {Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Path: []string{"parent"}}, @@ -27229,11 +27269,11 @@ var structDescs_ppc64le = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &UnionType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]", TypeSize: 56}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]", TypeSize: 56}, 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}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, - &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ethernet_mac]"}, FldName: "data"}, + &StructType{Key: StructKey{Name: "usb_string_descriptor_t[usb_cdc_ecm_mac]"}, FldName: "data"}, }}}, {Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 44}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27243,15 +27283,15 @@ var structDescs_ppc64le = []*KeyedStruct{ &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_descriptors_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ethernet", TypeSize: 20}, Fields: []Type{ + {Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ecm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_cdc_ncm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_cdc_ncm", TypeSize: 20}, 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_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "USB_DT_STRING", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]"}}}, }}}, {Key: StructKey{Name: "vusb_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -27475,7 +27515,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &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: "vusb_responses_cdc_ethernet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ethernet", TypeSize: 28}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses_cdc_ecm"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_cdc_ecm", TypeSize: 28}, 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: "USB_REQ_GET_INTERFACE", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_GET_INTERFACE, int8]"}}}, @@ -43517,12 +43557,12 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {Name: "syz_usb_connect$cdc_ethernet", CallName: "syz_usb_connect", Args: []Type{ + {Name: "syz_usb_connect$cdc_ecm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ethernet"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor_cdc_ecm"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_usb_connect$cdc_ncm", CallName: "syz_usb_connect", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Path: []string{"dev"}}, @@ -43546,10 +43586,10 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, - {Name: "syz_usb_control_io$cdc_ethernet", CallName: "syz_usb_control_io", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ethernet", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ethernet"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ethernet"}}}, + {Name: "syz_usb_control_io$cdc_ecm", CallName: "syz_usb_control_io", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ecm", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_cdc_ecm"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_cdc_ecm"}}}, }}, {Name: "syz_usb_control_io$cdc_ncm", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_cdc_ncm", FldName: "fd", TypeSize: 4}}, @@ -45185,6 +45225,7 @@ var consts_ppc64le = []ConstValue{ {Name: "CAPI_SET_FLAGS", Value: 1074021156}, {Name: "CAP_LAST_CAP", Value: 37}, {Name: "CDC_NCM_COMM_ALTSETTING_NCM"}, + {Name: "CDC_NCM_DATA_ALTSETTING_NCM", Value: 1}, {Name: "CDO_AUTO_CLOSE", Value: 1}, {Name: "CDO_AUTO_EJECT", Value: 2}, {Name: "CDO_CHECK_TYPE", Value: 16}, @@ -50553,11 +50594,11 @@ var consts_ppc64le = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES", Value: 2}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS", Value: 130}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS", Value: 129}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES", Value: 3}, - {Name: "USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES", Value: 2}, + {Name: "USB_ENDPOINT_CDC_ECM_IN_ADDRESS", Value: 130}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_CDC_ECM_OUT_ADDRESS", Value: 3}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, @@ -52368,4 +52409,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "3c7c02596be3dea7a1e1096d92deb38f7a109d44" +const revision_ppc64le = "a35643c50901c256f2d819a07b5ee6c3fdf763f7" diff --git a/sys/linux/vusb.txt b/sys/linux/vusb.txt index 9facfe37c..37a1ccd4f 100644 --- a/sys/linux/vusb.txt +++ b/sys/linux/vusb.txt @@ -21,7 +21,7 @@ include resource fd_usb[int32]: -1 resource fd_usb_hid[fd_usb] resource fd_usb_printer[fd_usb] -resource fd_usb_cdc_ethernet[fd_usb] +resource fd_usb_cdc_ecm[fd_usb] resource fd_usb_cdc_ncm[fd_usb] # These are generic syzcalls for emulating arbitrary USB devices. @@ -40,9 +40,9 @@ syz_usb_control_io$hid(fd fd_usb_hid, descs ptr[in, vusb_descriptors_hid], resps syz_usb_connect$printer(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_printer], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_printer syz_usb_control_io$printer(fd fd_usb_printer, descs ptr[in, vusb_descriptors_printer], resps ptr[in, vusb_responses_printer]) -# These syzcalls specifically target the CDC Ethernet device class. -syz_usb_connect$cdc_ethernet(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_cdc_ethernet], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_cdc_ethernet -syz_usb_control_io$cdc_ethernet(fd fd_usb_cdc_ethernet, descs ptr[in, vusb_descriptors_cdc_ethernet], resps ptr[in, vusb_responses_cdc_ethernet]) +# These syzcalls specifically target the CDC ECM (Ethernet) device class. +syz_usb_connect$cdc_ecm(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_cdc_ecm], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_cdc_ecm +syz_usb_control_io$cdc_ecm(fd fd_usb_cdc_ecm, descs ptr[in, vusb_descriptors_cdc_ecm], resps ptr[in, vusb_responses_cdc_ecm]) # These syzcalls specifically target the CDC NCM device class. syz_usb_connect$cdc_ncm(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_cdc_ncm], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_cdc_ncm @@ -79,12 +79,12 @@ usb_versions = 0x110, 0x200, 0x201, 0x250, 0x300, 0x310 # https://elixir.bootlin.com/linux/v5.1.7/source/drivers/usb/core/hub.c#L4661 usb_device_max_packet_sizes = 8, 16, 32, 64, 255 -type usb_config_descriptor_t[NUM, ATTRS, IFS] { +type usb_config_descriptor_t[NUM, IFSNUM, ATTRS, IFS] { bLength const[USB_DT_CONFIG_SIZE, int8] bDescriptorType const[USB_DT_CONFIG, int8] wTotalLength len[parent, int16] - bNumInterfaces len[interfaces, int8] + bNumInterfaces IFSNUM bConfigurationValue NUM iConfiguration int8 bmAttributes ATTRS @@ -93,6 +93,8 @@ type usb_config_descriptor_t[NUM, ATTRS, IFS] { interfaces IFS } [packed] +type usb_config_descriptor_ifaces_array_t[NUM, ATTRS, IFS] usb_config_descriptor_t[NUM, len[interfaces, int8], ATTRS, IFS] + type usb_interface_descriptor_t[IFNUM, ALTNUM, EPSNUM, CLASS, SUBCLASS, PROTOCOL, EXTRA, EPS] { bLength const[USB_DT_INTERFACE_SIZE, int8] bDescriptorType const[USB_DT_INTERFACE, int8] @@ -133,16 +135,15 @@ type usb_endpoint_descriptor_t[ADDR, ATTRS, EXTRA] { # Generic USB device, configuration, interface and endpoint descriptors. -# TODO: support more than one configuration. +# We only support one configuration per device. # bDeviceClass, bDeviceSubClass, bDeviceProtocol, idVendor, idProduct # and bcdDevice are patched by Go code, see sys/linux/init_vusb.go. usb_device_descriptor { inner usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]] } [packed] -# TODO: support more than one interface. usb_config_descriptor { - inner usb_config_descriptor_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1]] + inner usb_config_descriptor_ifaces_array_t[int8, flags[usb_config_attributes, int8], array[usb_interface_descriptor, 1:4]] } [packed] usb_config_attributes = USB_CONFIG_ATT_ONE, USB_CONFIG_ATT_SELFPOWER, USB_CONFIG_ATT_WAKEUP, USB_CONFIG_ATT_BATTERY @@ -515,7 +516,7 @@ usb_device_descriptor_hid { } [packed] usb_config_descriptor_hid { - inner usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]] + inner usb_config_descriptor_ifaces_array_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_hid, 1]] } [packed] usb_interface_descriptor_hid { @@ -649,7 +650,7 @@ usb_device_descriptor_printer { } [packed] usb_config_descriptor_printer { - inner usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]] + inner usb_config_descriptor_ifaces_array_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_printer, 1]] } [packed] usb_interface_descriptor_printer { @@ -701,7 +702,7 @@ usb_printer_get_id_response { # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# CDC Ethernet device class specific descriptions. +# CDC ECM (Ethernet) device class specific descriptions. # https://www.usb.org/document-library/class-definitions-communication-devices-12 # https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/cdc_ether.c # https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/usbnet.c @@ -709,54 +710,54 @@ usb_printer_get_id_response { # https://elixir.bootlin.com/linux/latest/source/drivers/usb/gadget/function/f_ecm.c # https://elixir.bootlin.com/linux/latest/source/drivers/usb/gadget/function/u_ether.c -# Connected CDC Ethernet devices are known to create usbN network interfaces. +# Connected CDC ECM devices are known to create usbN network interfaces. # TODO: enable fuzzing of those. # TODO: currently the only endpoint which is being successfully enabled is the notification endpoint #1. # TODO: consider patching idVendor and idProduct in Go code. -usb_device_descriptor_cdc_ethernet { - inner usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ethernet, 1]] +usb_device_descriptor_cdc_ecm { + inner usb_device_descriptor_t[USB_CLASS_COMM, 0, 0, 0x525, 0xa4a1, 64, array[usb_config_descriptor_cdc_ecm, 1]] } [packed] -usb_config_descriptor_cdc_ethernet { - inner usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ethernet, 1]] +usb_config_descriptor_cdc_ecm { + inner usb_config_descriptor_ifaces_array_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ecm, 1]] } [packed] -# Per specification CDC Ethernet devices have two interfaces (control and data), but we're merging -# them into one, as Linux supports this, and syzkaller doesn't support multiple interfaces yet. -usb_interface_descriptor_cdc_ethernet { - inner usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ethernet] +# Per specification CDC ECM devices have two interfaces (control and data), +# but here we're merging them into one for simplicity since Linux supports that. +usb_interface_descriptor_cdc_ecm { + inner usb_interface_descriptor_t[const[0, int8], int8, int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_ETHERNET, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ethernet, usb_endpoint_descriptors_cdc_ecm] } [packed] -usb_endpoint_descriptors_cdc_ethernet { - notify array[usb_endpoint_descriptor_cdc_ethernet_notify, 0:1] - in usb_endpoint_descriptor_cdc_ethernet_in - out usb_endpoint_descriptor_cdc_ethernet_out +usb_endpoint_descriptors_cdc_ecm { + notify array[usb_endpoint_descriptor_cdc_ecm_notify, 0:1] + in usb_endpoint_descriptor_cdc_ecm_in + out usb_endpoint_descriptor_cdc_ecm_out } [packed] -usb_endpoint_descriptor_cdc_ethernet_notify { - inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES, int8], void] +usb_endpoint_descriptor_cdc_ecm_notify { + inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES, int8], void] } [packed] -usb_endpoint_descriptor_cdc_ethernet_in { - inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void] +usb_endpoint_descriptor_cdc_ecm_in { + inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_IN_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void] } [packed] -usb_endpoint_descriptor_cdc_ethernet_out { - inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES, int8], void] +usb_endpoint_descriptor_cdc_ecm_out { + inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_CDC_ECM_OUT_ADDRESS, int8], const[USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES, int8], void] } [packed] -define USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES (USB_ENDPOINT_XFER_INT) -define USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES (USB_ENDPOINT_XFER_BULK) -define USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS (1 | USB_DIR_IN) -define USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS (2 | USB_DIR_IN) -define USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS (3) +define USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES (USB_ENDPOINT_XFER_INT) +define USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES (USB_ENDPOINT_XFER_BULK) +define USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS (1 | USB_DIR_IN) +define USB_ENDPOINT_CDC_ECM_IN_ADDRESS (2 | USB_DIR_IN) +define USB_ENDPOINT_CDC_ECM_OUT_ADDRESS (3) # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/usb/core/message.c#L2137 # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/net/usb/cdc_ether.c#L155 usb_cdc_header_ethernet { - union usb_cdc_union_desc + union usb_cdc_union_desc_t[0, 0] header usb_cdc_header_desc ether usb_cdc_ether_desc @@ -806,14 +807,13 @@ usb_cdc_acm_descriptor { usb_cdc_acm_caps = USB_CDC_COMM_FEATURE, USB_CDC_CAP_LINE, USB_CDC_CAP_BRK, USB_CDC_CAP_NOTIFY -usb_cdc_union_desc { +type usb_cdc_union_desc_t[MASTER, SLAVE] { bLength len[parent, int8] bDescriptorType const[USB_DT_CS_INTERFACE, int8] bDescriptorSubType const[USB_CDC_UNION_TYPE, int8] -# These must match bInterfaceNumber. - bMasterInterface0 const[0, int8] - bSlaveInterface0 const[0, int8] + bMasterInterface0 const[MASTER, int8] + bSlaveInterface0 const[SLAVE, int8] slave_interfaces array[int8, 0:6] } [packed] @@ -865,11 +865,11 @@ usb_cdc_mdlm_desc { bDescriptorSubType const[USB_CDC_MDLM_TYPE, int8] bcdVersion int16 - bGUID usb_cdc_ethernet_mbm_guid + bGUID usb_cdc_ecm_mbm_guid } [packed] # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/net/usb/cdc_ether.c#L61 -usb_cdc_ethernet_mbm_guid { +usb_cdc_ecm_mbm_guid { id0 const[0x14f5e048ba817a3, int64] id1 const[0x2a397ecbffc007a6, int64] } [packed] @@ -923,20 +923,20 @@ usb_cdc_mbim_extended_desc { wMTU int16 } [packed] -vusb_descriptors_cdc_ethernet { +vusb_descriptors_cdc_ecm { len len[parent, int32] generic ptr[in, vusb_descriptor_generic] # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/net/usb/usbnet.c#L147 - USB_DT_STRING ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]] + USB_DT_STRING ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]] } [packed] -usb_cdc_ethernet_mac { +usb_cdc_ecm_mac { # This is a UTF16 encoded string '424242424242'. data stringnoz["340032003400320034003200340032003400320034003200"] } [packed] -vusb_responses_cdc_ethernet { +vusb_responses_cdc_ecm { len len[parent, int32] generic ptr[in, vusb_response_generic] @@ -949,15 +949,14 @@ vusb_responses_cdc_ethernet { # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # CDC NCM class specific descriptions. -# CDC NCM is based on CDC Ethernet, so some of the descriptions are reused. +# CDC NCM is based on CDC ECM, so some of the descriptions are reused. # https://www.usb.org/document-library/network-control-model-devices-specification-v10-and-errata-and-adopters-agreement # https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/cdc_ncm.c # https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/usbnet.c # https://elixir.bootlin.com/linux/latest/source/drivers/usb/gadget/legacy/ncm.c # https://elixir.bootlin.com/linux/latest/source/drivers/usb/gadget/function/f_ncm.c -# TODO: CDC NCM requires altsettings (multiple interfaces) support for proper fuzzing. -# https://elixir.bootlin.com/linux/v5.2.8/source/drivers/net/usb/cdc_ncm.c#L1028 +# TODO: currently the only endpoint which is being successfully enabled is the notification endpoint #1. # TODO: consider patching idVendor and idProduct in Go code. usb_device_descriptor_cdc_ncm { @@ -965,17 +964,24 @@ usb_device_descriptor_cdc_ncm { } [packed] usb_config_descriptor_cdc_ncm { - inner usb_config_descriptor_t[const[1, int8], flags[usb_config_attributes, int8], array[usb_interface_descriptor_cdc_ncm, 1]] + inner usb_config_descriptor_t[const[1, int8], const[2, int8], flags[usb_config_attributes, int8], usb_interface_descriptors_cdc_ncm] +} [packed] + +usb_interface_descriptors_cdc_ncm { + control usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], const[1, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptor_cdc_ecm_notify] + data_nop usb_interface_descriptor_t[const[1, int8], const[0, int8], const[0, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, void] + data usb_interface_descriptor_t[const[1, int8], const[CDC_NCM_DATA_ALTSETTING_NCM, int8], const[2, int8], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], void, usb_endpoint_descriptors_cdc_ncm_data] } [packed] -usb_interface_descriptor_cdc_ncm { - inner usb_interface_descriptor_t[const[0, int8], const[CDC_NCM_COMM_ALTSETTING_NCM, int8], int8[2:3], const[USB_CLASS_COMM, int8], const[USB_CDC_SUBCLASS_NCM, int8], const[USB_CDC_PROTO_NONE, int8], usb_cdc_header_ncm, usb_endpoint_descriptors_cdc_ethernet] +usb_endpoint_descriptors_cdc_ncm_data { + in usb_endpoint_descriptor_cdc_ecm_in + out usb_endpoint_descriptor_cdc_ecm_out } [packed] # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/usb/core/message.c#L2137 # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/net/usb/cdc_ncm.c#L798 usb_cdc_header_ncm { - union usb_cdc_union_desc + union usb_cdc_union_desc_t[0, 1] header usb_cdc_header_desc ether usb_cdc_ether_desc ncm usb_cdc_ncm_desc @@ -1001,7 +1007,7 @@ vusb_descriptors_cdc_ncm { generic ptr[in, vusb_descriptor_generic] # https://elixir.bootlin.com/linux/v5.2.7/source/drivers/net/usb/usbnet.c#L147 - USB_DT_STRING ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ethernet_mac]]] + USB_DT_STRING ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor_t[usb_cdc_ecm_mac]]] } [packed] vusb_responses_cdc_ncm { diff --git a/sys/linux/vusb_386.const b/sys/linux/vusb_386.const index d12839597..0928f05d0 100644 --- a/sys/linux/vusb_386.const +++ b/sys/linux/vusb_386.const @@ -11,6 +11,7 @@ AX_CMD_READ_RX_CTL = 15 AX_CMD_STATMNGSTS_REG = 9 AX_CMD_SW_PHY_STATUS = 33 CDC_NCM_COMM_ALTSETTING_NCM = 0 +CDC_NCM_DATA_ALTSETTING_NCM = 1 CONTAINER_ID_TYPE = 4 HID_DT_HID = 33 HID_DT_PHYSICAL = 35 @@ -148,11 +149,11 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES = 2 -USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS = 130 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS = 129 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES = 3 -USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS = 3 +USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES = 2 +USB_ENDPOINT_CDC_ECM_IN_ADDRESS = 130 +USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS = 129 +USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES = 3 +USB_ENDPOINT_CDC_ECM_OUT_ADDRESS = 3 USB_ENDPOINT_HID_ATTRIBUTES = 3 USB_ENDPOINT_HID_IN_ADDRESS = 129 USB_ENDPOINT_HID_OUT_ADDRESS = 2 diff --git a/sys/linux/vusb_amd64.const b/sys/linux/vusb_amd64.const index d12839597..0928f05d0 100644 --- a/sys/linux/vusb_amd64.const +++ b/sys/linux/vusb_amd64.const @@ -11,6 +11,7 @@ AX_CMD_READ_RX_CTL = 15 AX_CMD_STATMNGSTS_REG = 9 AX_CMD_SW_PHY_STATUS = 33 CDC_NCM_COMM_ALTSETTING_NCM = 0 +CDC_NCM_DATA_ALTSETTING_NCM = 1 CONTAINER_ID_TYPE = 4 HID_DT_HID = 33 HID_DT_PHYSICAL = 35 @@ -148,11 +149,11 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES = 2 -USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS = 130 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS = 129 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES = 3 -USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS = 3 +USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES = 2 +USB_ENDPOINT_CDC_ECM_IN_ADDRESS = 130 +USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS = 129 +USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES = 3 +USB_ENDPOINT_CDC_ECM_OUT_ADDRESS = 3 USB_ENDPOINT_HID_ATTRIBUTES = 3 USB_ENDPOINT_HID_IN_ADDRESS = 129 USB_ENDPOINT_HID_OUT_ADDRESS = 2 diff --git a/sys/linux/vusb_arm.const b/sys/linux/vusb_arm.const index d12839597..0928f05d0 100644 --- a/sys/linux/vusb_arm.const +++ b/sys/linux/vusb_arm.const @@ -11,6 +11,7 @@ AX_CMD_READ_RX_CTL = 15 AX_CMD_STATMNGSTS_REG = 9 AX_CMD_SW_PHY_STATUS = 33 CDC_NCM_COMM_ALTSETTING_NCM = 0 +CDC_NCM_DATA_ALTSETTING_NCM = 1 CONTAINER_ID_TYPE = 4 HID_DT_HID = 33 HID_DT_PHYSICAL = 35 @@ -148,11 +149,11 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES = 2 -USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS = 130 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS = 129 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES = 3 -USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS = 3 +USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES = 2 +USB_ENDPOINT_CDC_ECM_IN_ADDRESS = 130 +USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS = 129 +USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES = 3 +USB_ENDPOINT_CDC_ECM_OUT_ADDRESS = 3 USB_ENDPOINT_HID_ATTRIBUTES = 3 USB_ENDPOINT_HID_IN_ADDRESS = 129 USB_ENDPOINT_HID_OUT_ADDRESS = 2 diff --git a/sys/linux/vusb_arm64.const b/sys/linux/vusb_arm64.const index d12839597..0928f05d0 100644 --- a/sys/linux/vusb_arm64.const +++ b/sys/linux/vusb_arm64.const @@ -11,6 +11,7 @@ AX_CMD_READ_RX_CTL = 15 AX_CMD_STATMNGSTS_REG = 9 AX_CMD_SW_PHY_STATUS = 33 CDC_NCM_COMM_ALTSETTING_NCM = 0 +CDC_NCM_DATA_ALTSETTING_NCM = 1 CONTAINER_ID_TYPE = 4 HID_DT_HID = 33 HID_DT_PHYSICAL = 35 @@ -148,11 +149,11 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES = 2 -USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS = 130 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS = 129 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES = 3 -USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS = 3 +USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES = 2 +USB_ENDPOINT_CDC_ECM_IN_ADDRESS = 130 +USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS = 129 +USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES = 3 +USB_ENDPOINT_CDC_ECM_OUT_ADDRESS = 3 USB_ENDPOINT_HID_ATTRIBUTES = 3 USB_ENDPOINT_HID_IN_ADDRESS = 129 USB_ENDPOINT_HID_OUT_ADDRESS = 2 diff --git a/sys/linux/vusb_ppc64le.const b/sys/linux/vusb_ppc64le.const index d12839597..0928f05d0 100644 --- a/sys/linux/vusb_ppc64le.const +++ b/sys/linux/vusb_ppc64le.const @@ -11,6 +11,7 @@ AX_CMD_READ_RX_CTL = 15 AX_CMD_STATMNGSTS_REG = 9 AX_CMD_SW_PHY_STATUS = 33 CDC_NCM_COMM_ALTSETTING_NCM = 0 +CDC_NCM_DATA_ALTSETTING_NCM = 1 CONTAINER_ID_TYPE = 4 HID_DT_HID = 33 HID_DT_PHYSICAL = 35 @@ -148,11 +149,11 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_CDC_ETHERNET_DATA_ATTRIBUTES = 2 -USB_ENDPOINT_CDC_ETHERNET_IN_ADDRESS = 130 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ADDRESS = 129 -USB_ENDPOINT_CDC_ETHERNET_NOTIFY_ATTRIBUTES = 3 -USB_ENDPOINT_CDC_ETHERNET_OUT_ADDRESS = 3 +USB_ENDPOINT_CDC_ECM_DATA_ATTRIBUTES = 2 +USB_ENDPOINT_CDC_ECM_IN_ADDRESS = 130 +USB_ENDPOINT_CDC_ECM_NOTIFY_ADDRESS = 129 +USB_ENDPOINT_CDC_ECM_NOTIFY_ATTRIBUTES = 3 +USB_ENDPOINT_CDC_ECM_OUT_ADDRESS = 3 USB_ENDPOINT_HID_ATTRIBUTES = 3 USB_ENDPOINT_HID_IN_ADDRESS = 129 USB_ENDPOINT_HID_OUT_ADDRESS = 2 -- cgit mrf-deployment