aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2019-06-06 18:23:21 +0200
committerAndrey Konovalov <andreyknvl@gmail.com>2019-06-07 15:37:00 +0200
commit58c4b1aeab3199918697f28a54d6811bd0fa9616 (patch)
tree95a6fe728d65afa6da8bc02b166aa7d33e647e19 /sys/linux
parentce9107d08661be9dfd81b6f69700eaac7f93b270 (diff)
sys/linux: use template based structure for USB descriptions
To allow future extensions of USB descriptions to fuzz particular USB classes this patch changes the structure of USB descriptions to use templates. This will invalidate all existing USB corpus.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/gen/386.go62
-rw-r--r--sys/linux/gen/amd64.go62
-rw-r--r--sys/linux/gen/arm.go62
-rw-r--r--sys/linux/gen/arm64.go62
-rw-r--r--sys/linux/gen/ppc64le.go62
-rw-r--r--sys/linux/init_vusb.go19
-rw-r--r--sys/linux/vusb.txt83
7 files changed, 244 insertions, 168 deletions
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index 1bb6cedd6..6f8a8853d 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -25397,6 +25397,9 @@ var structDescs_386 = []*KeyedStruct{
&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[array[usb_interface_descriptor, 1]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_config_descriptor_t[array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[array[usb_interface_descriptor, 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"}},
@@ -25417,6 +25420,9 @@ var structDescs_386 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
}}},
{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_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
@@ -25434,6 +25440,9 @@ var structDescs_386 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
@@ -25493,6 +25502,9 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&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}}},
@@ -26686,78 +26698,78 @@ var structDescs_386 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, 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: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, 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: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
- &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
- }}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, 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: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@@ -51567,4 +51579,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "b81e1c9faaab964af1d3646c5a242f3876e1477e"
+const revision_386 = "098e4d888a1faee16bd32ffe02e25677392797ef"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 64b3a9876..38169939a 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -25768,6 +25768,9 @@ var structDescs_amd64 = []*KeyedStruct{
&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[array[usb_interface_descriptor, 1]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_config_descriptor_t[array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[array[usb_interface_descriptor, 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"}},
@@ -25788,6 +25791,9 @@ var structDescs_amd64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
}}},
{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_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
@@ -25805,6 +25811,9 @@ var structDescs_amd64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
@@ -25864,6 +25873,9 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&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}}},
@@ -27064,78 +27076,78 @@ var structDescs_amd64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, 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: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, 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: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
- &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
- }}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, 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: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@@ -52104,4 +52116,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "2a037cb396e21af51c329cc36af266d089a625b7"
+const revision_amd64 = "d94f5f64dafdba66f74be4b57f44e56af6573717"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 57a3c6882..ff459ba80 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -25219,6 +25219,9 @@ var structDescs_arm = []*KeyedStruct{
&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[array[usb_interface_descriptor, 1]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_config_descriptor_t[array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[array[usb_interface_descriptor, 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"}},
@@ -25239,6 +25242,9 @@ var structDescs_arm = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
}}},
{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_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
@@ -25256,6 +25262,9 @@ var structDescs_arm = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
@@ -25315,6 +25324,9 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&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}}},
@@ -26492,78 +26504,78 @@ var structDescs_arm = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, 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: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, 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: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
- &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
- }}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, 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: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@@ -51144,4 +51156,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "81a967d0dfb7f8b7da62b8fdfdbd38d4929ade87"
+const revision_arm = "5dca115b3303a3e2fb30d9377631ca980bfe6f12"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 068a0edd6..787a34dab 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -25585,6 +25585,9 @@ var structDescs_arm64 = []*KeyedStruct{
&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[array[usb_interface_descriptor, 1]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_config_descriptor_t[array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[array[usb_interface_descriptor, 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"}},
@@ -25605,6 +25608,9 @@ var structDescs_arm64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
}}},
{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_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
@@ -25622,6 +25628,9 @@ var structDescs_arm64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
@@ -25681,6 +25690,9 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&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}}},
@@ -26856,78 +26868,78 @@ var structDescs_arm64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, 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: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, 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: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
- &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
- }}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, 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: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@@ -51454,4 +51466,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "854d614e6ac5abb635fa98a1c0487d361758ba57"
+const revision_arm64 = "12d5e2bb091759f4e9b0b5e0bf56a91143f9b8a4"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index c528c1424..2687b30ca 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -25455,6 +25455,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&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[array[usb_interface_descriptor, 1]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_config_descriptor_t[array[usb_interface_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor_t[array[usb_interface_descriptor, 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"}},
@@ -25475,6 +25478,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
}}},
{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_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor_t[0, 0, 0, 0, 0, 0, array[usb_config_descriptor, 1]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
@@ -25492,6 +25498,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
}}},
{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
@@ -25551,6 +25560,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
}}},
{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, FldName: "inner"},
+ }}},
+ {Key: StructKey{Name: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]", IsVarlen: true}, Fields: []Type{
&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}}},
@@ -26751,78 +26763,78 @@ var structDescs_ppc64le = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 10},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, 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: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, 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: 11},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 1},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+ {Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 64},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 9},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
}}},
- {Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}},
- &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
- }}},
{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, 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: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
}}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
@@ -51421,4 +51433,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "11755b46b0e787b4677561195aeb6b9e7fcbfab9"
+const revision_ppc64le = "df919ad455777d80fdfdf6510b8766d93af07300"
diff --git a/sys/linux/init_vusb.go b/sys/linux/init_vusb.go
index 94e055954..d388914a7 100644
--- a/sys/linux/init_vusb.go
+++ b/sys/linux/init_vusb.go
@@ -100,15 +100,16 @@ func (arch *arch) generateUsbDeviceDescriptor(g *prog.Gen, typ0 prog.Type, old p
id.BInterfaceNumber = uint8(g.Rand().Intn(0xff + 1))
}
- patchGroupArg(arg, 7, "idVendor", uint64(id.IDVendor))
- patchGroupArg(arg, 8, "idProduct", uint64(id.IDProduct))
- patchGroupArg(arg, 9, "bcdDevice", uint64(bcdDevice))
- patchGroupArg(arg, 3, "bDeviceClass", uint64(id.BDeviceClass))
- patchGroupArg(arg, 4, "bDeviceSubClass", uint64(id.BDeviceSubClass))
- patchGroupArg(arg, 5, "bDeviceProtocol", uint64(id.BDeviceProtocol))
-
- configArg := arg.(*prog.GroupArg).Inner[14].(*prog.GroupArg).Inner[0]
- interfaceArg := configArg.(*prog.GroupArg).Inner[8].(*prog.GroupArg).Inner[0]
+ devArg := arg.(*prog.GroupArg).Inner[0]
+ patchGroupArg(devArg, 7, "idVendor", uint64(id.IDVendor))
+ patchGroupArg(devArg, 8, "idProduct", uint64(id.IDProduct))
+ patchGroupArg(devArg, 9, "bcdDevice", uint64(bcdDevice))
+ patchGroupArg(devArg, 3, "bDeviceClass", uint64(id.BDeviceClass))
+ patchGroupArg(devArg, 4, "bDeviceSubClass", uint64(id.BDeviceSubClass))
+ patchGroupArg(devArg, 5, "bDeviceProtocol", uint64(id.BDeviceProtocol))
+
+ configArg := devArg.(*prog.GroupArg).Inner[14].(*prog.GroupArg).Inner[0].(*prog.GroupArg).Inner[0]
+ interfaceArg := configArg.(*prog.GroupArg).Inner[8].(*prog.GroupArg).Inner[0].(*prog.GroupArg).Inner[0]
patchGroupArg(interfaceArg, 5, "bInterfaceClass", uint64(id.BInterfaceClass))
patchGroupArg(interfaceArg, 6, "bInterfaceSubClass", uint64(id.BInterfaceSubClass))
diff --git a/sys/linux/vusb.txt b/sys/linux/vusb.txt
index 35a5eaaa5..5e9177cd6 100644
--- a/sys/linux/vusb.txt
+++ b/sys/linux/vusb.txt
@@ -27,31 +27,34 @@ usb_device_speed = USB_SPEED_UNKNOWN, USB_SPEED_LOW, USB_SPEED_FULL, USB_SPEED_H
# USB device, configuration, interface and endpoint descriptors.
-# TODO: support more than one configuration.
-# bDeviceClass, bDeviceSubClass, bDeviceProtocol, idVendor, idProduct
-# and bcdDevice are patched by Go code, see sys/linux/init_vusb.go.
-usb_device_descriptor {
+type usb_device_descriptor_t[CLASS, SUBCLASS, PROTOCOL, VENDOR, PRODUCT, DEVICE, CFS] {
bLength const[USB_DT_DEVICE_SIZE, int8]
bDescriptorType const[USB_DT_DEVICE, int8]
bcdUSB int16
- bDeviceClass const[0, int8]
- bDeviceSubClass const[0, int8]
- bDeviceProtocol const[0, int8]
+ bDeviceClass const[CLASS, int8]
+ bDeviceSubClass const[SUBCLASS, int8]
+ bDeviceProtocol const[PROTOCOL, int8]
bMaxPacketSize0 int8
- idVendor const[0, int16]
- idProduct const[0, int16]
- bcdDevice const[0, int16]
+ idVendor const[VENDOR, int16]
+ idProduct const[PRODUCT, int16]
+ bcdDevice const[DEVICE, int16]
iManufacturer int8
iProduct int8
iSerialNumber int8
bNumConfigurations len[configs, int8]
- configs array[usb_config_descriptor, 1]
+ configs CFS
} [packed]
-# TODO: support more than one interface.
-usb_config_descriptor {
+# TODO: support more than one configuration.
+# 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]
+
+type usb_config_descriptor_t[IFS] {
bLength const[USB_DT_CONFIG_SIZE, int8]
bDescriptorType const[USB_DT_CONFIG, int8]
@@ -62,31 +65,39 @@ usb_config_descriptor {
bmAttributes flags[usb_config_attributes, int8]
bMaxPower int8
- interfaces array[usb_interface_descriptor, 1]
+ interfaces IFS
+} [packed]
+
+# TODO: support more than one interface.
+usb_config_descriptor {
+ inner usb_config_descriptor_t[array[usb_interface_descriptor, 1]]
} [packed]
usb_config_attributes = USB_CONFIG_ATT_ONE, USB_CONFIG_ATT_SELFPOWER, USB_CONFIG_ATT_WAKEUP, USB_CONFIG_ATT_BATTERY
-# bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol
-# are patched by Go code, see sys/linux/init_vusb.go.
-usb_interface_descriptor {
+type usb_interface_descriptor_t[CLASS, SUBCLASS, PROTOCOL, EXTRA, EPS] {
bLength const[USB_DT_INTERFACE_SIZE, int8]
bDescriptorType const[USB_DT_INTERFACE, int8]
bInterfaceNumber const[0, int8]
bAlternateSetting int8
bNumEndpoints len[endpoints, int8]
- bInterfaceClass const[0, int8]
- bInterfaceSubClass const[0, int8]
- bInterfaceProtocol const[0, int8]
+ bInterfaceClass const[CLASS, int8]
+ bInterfaceSubClass const[SUBCLASS, int8]
+ bInterfaceProtocol const[PROTOCOL, int8]
iInterface int8
- extra array[usb_interface_extra_descriptor, 0:2]
+ extra EXTRA
+ endpoints EPS
+} [packed]
- endpoints array[usb_endpoint_descriptor, 0:16]
+# bInterfaceClass, bInterfaceSubClass and bInterfaceProtocol
+# are patched by Go code, see sys/linux/init_vusb.go.
+usb_interface_descriptor {
+ inner usb_interface_descriptor_t[0, 0, 0, array[usb_interface_extra_descriptor, 0:2], array[usb_endpoint_descriptor, 0:16]]
} [packed]
-usb_endpoint_descriptor {
+type usb_endpoint_descriptor_t[EXTRA] {
bLength const[USB_DT_ENDPOINT_SIZE, int8]
bDescriptorType const[USB_DT_ENDPOINT, int8]
@@ -97,7 +108,11 @@ usb_endpoint_descriptor {
bRefresh int8
bSynchAddress int8
- extra array[usb_endpoint_extra_descriptor, 0:2]
+ extra EXTRA
+} [packed]
+
+usb_endpoint_descriptor {
+ inner usb_endpoint_descriptor_t[array[usb_endpoint_extra_descriptor, 0:2]]
} [packed]
usb_endpoint_attributes = USB_ENDPOINT_XFER_CONTROL, USB_ENDPOINT_XFER_ISOC, USB_ENDPOINT_XFER_BULK, USB_ENDPOINT_XFER_INT, USB_ENDPOINT_INTR_PERIODIC, USB_ENDPOINT_INTR_NOTIFICATION, USB_ENDPOINT_SYNC_NONE, USB_ENDPOINT_SYNC_ASYNC, USB_ENDPOINT_SYNC_ADAPTIVE, USB_ENDPOINT_SYNC_SYNC, USB_ENDPOINT_USAGE_DATA, USB_ENDPOINT_USAGE_FEEDBACK, USB_ENDPOINT_USAGE_FEEDBACK
@@ -642,15 +657,15 @@ type vusb_descriptor_t[CLASS, REQ, DATA] {
vusb_responses {
len len[parent, int32]
generic ptr[in, vusb_response_generic]
- set_interface ptr[in, vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]]
- get_interface ptr[in, vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]]
- set_configuration ptr[in, vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]]
- get_configuration ptr[in, vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]]
- get_status_hub ptr[in, vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]]
- get_status_port ptr[in, vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]]
- aiptek_get_report ptr[in, vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]]
- aiptek_set_report ptr[in, vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]]
- cdc_get_ntb_parameters ptr[in, vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]]
+ set_interface ptr[in, vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]]
+ get_interface ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]]
+ set_configuration ptr[in, vusb_response_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]]
+ get_configuration ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]]
+ get_status_hub ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]]
+ get_status_port ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]]
+ aiptek_get_report ptr[in, vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]]
+ aiptek_set_report ptr[in, vusb_response_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]]
+ cdc_get_ntb_parameters ptr[in, vusb_response_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]]
} [packed]
vusb_response_generic {
@@ -662,7 +677,7 @@ vusb_response_generic {
usb_requests = USB_REQ_GET_STATUS, USB_REQ_CLEAR_FEATURE, USB_REQ_SET_FEATURE, USB_REQ_SET_ADDRESS, USB_REQ_GET_DESCRIPTOR, USB_REQ_SET_DESCRIPTOR, USB_REQ_GET_CONFIGURATION, USB_REQ_SET_CONFIGURATION, USB_REQ_GET_INTERFACE, USB_REQ_SET_INTERFACE, USB_REQ_SYNCH_FRAME, USB_REQ_SET_SEL, USB_REQ_SET_ISOCH_DELAY, USB_REQ_SET_ENCRYPTION, USB_REQ_GET_ENCRYPTION, USB_REQ_RPIPE_ABORT, USB_REQ_SET_HANDSHAKE, USB_REQ_RPIPE_RESET, USB_REQ_GET_HANDSHAKE, USB_REQ_SET_CONNECTION, USB_REQ_SET_SECURITY_DATA, USB_REQ_GET_SECURITY_DATA, USB_REQ_SET_WUSB_DATA, USB_REQ_LOOPBACK_DATA_WRITE, USB_REQ_LOOPBACK_DATA_READ, USB_REQ_SET_INTERFACE_DS, USB_REQ_GET_PARTNER_PDO, USB_REQ_GET_BATTERY_STATUS, USB_REQ_SET_PDO, USB_REQ_GET_VDM, USB_REQ_SEND_VDM
-type vusb_reponse_t[CLASS, REQ, DATA] {
+type vusb_response_t[CLASS, REQ, DATA] {
type const[CLASS, int8]
req const[REQ, int8]
len bytesize[data, int32]