diff options
| -rw-r--r-- | executor/common_usb.h | 55 | ||||
| -rw-r--r-- | executor/defs.h | 10 | ||||
| -rw-r--r-- | pkg/csource/generated.go | 55 | ||||
| -rw-r--r-- | sys/linux/gen/386.go | 99 | ||||
| -rw-r--r-- | sys/linux/gen/amd64.go | 99 | ||||
| -rw-r--r-- | sys/linux/gen/arm.go | 99 | ||||
| -rw-r--r-- | sys/linux/gen/arm64.go | 99 | ||||
| -rw-r--r-- | sys/linux/gen/ppc64le.go | 99 | ||||
| -rw-r--r-- | sys/linux/vusb.txt | 41 | ||||
| -rw-r--r-- | sys/linux/vusb_386.const | 6 | ||||
| -rw-r--r-- | sys/linux/vusb_amd64.const | 6 | ||||
| -rw-r--r-- | sys/linux/vusb_arm.const | 6 | ||||
| -rw-r--r-- | sys/linux/vusb_arm64.const | 6 | ||||
| -rw-r--r-- | sys/linux/vusb_ppc64le.const | 6 |
14 files changed, 283 insertions, 403 deletions
diff --git a/executor/common_usb.h b/executor/common_usb.h index fbb4e2128..11e92565c 100644 --- a/executor/common_usb.h +++ b/executor/common_usb.h @@ -5,6 +5,8 @@ // Implementation of syz_usb_* pseudo-syscalls. +#define USB_DEBUG 0 + #define USB_MAX_EP_NUM 32 struct usb_device_index { @@ -305,13 +307,13 @@ static volatile long syz_usb_connect(volatile long a0, volatile long a1, volatil if (event.ctrl.bRequestType & USB_DIR_IN) { NONFAILING(response_found = lookup_connect_response(descs, &index, &event.ctrl, &response_data, &response_length)); if (!response_found) { - debug("syz_usb_connect: unknown IN request\n"); + debug("syz_usb_connect: unknown control IN request\n"); return -1; } } else { if ((event.ctrl.bRequestType & USB_TYPE_MASK) != USB_TYPE_STANDARD || event.ctrl.bRequest != USB_REQ_SET_CONFIGURATION) { - fail("syz_usb_connect: unknown OUT request"); + fail("syz_usb_connect: unknown control OUT request"); return -1; } done = true; @@ -397,8 +399,8 @@ struct vusb_responses { struct vusb_response* resps[0]; } __attribute__((packed)); -static bool lookup_control_io_response(struct vusb_descriptors* descs, struct vusb_responses* resps, - struct usb_ctrlrequest* ctrl, char** response_data, uint32* response_length) +static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_responses* resps, + struct usb_ctrlrequest* ctrl, char** response_data, uint32* response_length) { int descs_num = (descs->len - offsetof(struct vusb_descriptors, descs)) / sizeof(descs->descs[0]); int resps_num = (resps->len - offsetof(struct vusb_responses, resps)) / sizeof(resps->resps[0]); @@ -456,6 +458,44 @@ static bool lookup_control_io_response(struct vusb_descriptors* descs, struct vu return false; } +#if USB_DEBUG +#include <linux/hid.h> +#include <linux/usb/cdc.h> +#include <linux/usb/ch11.h> +#include <linux/usb/ch9.h> + +static void analyze_control_request(struct usb_ctrlrequest* ctrl) +{ + switch (ctrl->bRequestType & USB_TYPE_MASK) { + case USB_TYPE_STANDARD: + switch (ctrl->bRequest) { + case USB_REQ_GET_DESCRIPTOR: + switch (ctrl->wValue >> 8) { + case USB_DT_DEVICE: + case USB_DT_CONFIG: + case USB_DT_STRING: + case HID_DT_REPORT: + case USB_DT_BOS: + case USB_DT_HUB: + case USB_DT_SS_HUB: + return; + } + } + break; + case USB_TYPE_CLASS: + switch (ctrl->bRequest) { + case USB_REQ_GET_INTERFACE: + case USB_REQ_GET_CONFIGURATION: + case USB_REQ_GET_STATUS: + case USB_CDC_GET_NTB_PARAMETERS: + return; + } + } + fail("analyze_control_request: unknown control request (0x%x, 0x%x, 0x%x)", + ctrl->bRequestType, ctrl->bRequest, ctrl->wValue); +} +#endif + static volatile long syz_usb_control_io(volatile long a0, volatile long a1, volatile long a2) { int fd = a0; @@ -484,9 +524,12 @@ static volatile long syz_usb_control_io(volatile long a0, volatile long a1, vola uint32 response_length = 0; if (event.ctrl.bRequestType & USB_DIR_IN) { - NONFAILING(response_found = lookup_control_io_response(descs, resps, &event.ctrl, &response_data, &response_length)); + NONFAILING(response_found = lookup_control_response(descs, resps, &event.ctrl, &response_data, &response_length)); if (!response_found) { - debug("syz_usb_control_io: no response found\n"); +#if USB_DEBUG + analyze_control_request(&event.ctrl); +#endif + debug("syz_usb_control_io: unknown control IN request\n"); return -1; } } else { diff --git a/executor/defs.h b/executor/defs.h index 8aa9355a3..9be26a25e 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -70,7 +70,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "e6852411760a2a78058472eaf4813af2801ed202" +#define SYZ_REVISION "ccc2cdeb1bb485261e99acfaa2cdf88c89136043" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "dcbebec84b823ea25f3b394a09856311b9dd1ca0" +#define SYZ_REVISION "3ad0caf28b47f3c27a8f69b938b8f93073f6611c" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "e1dc4882544d6442aef7732b455d7285ae1eb641" +#define SYZ_REVISION "0aea57e00bdd385a6598b158d35ac8f03cb3915b" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "d2380e739438289715ad5793155eba1a5ec89c5b" +#define SYZ_REVISION "8cd19665e25b860288db2dbdc6ecd8638c78592b" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -110,7 +110,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "3c6f9896b7cb868b391014be969a0359572922f5" +#define SYZ_REVISION "5e7246d3cadcc34a6acaa0542495c1056a555bef" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 3db1ee059..3224ff69d 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -1744,6 +1744,8 @@ static long syz_extract_tcp_res(volatile long a0, volatile long a1, volatile lon #include <sys/stat.h> #include <sys/types.h> +#define USB_DEBUG 0 + #define USB_MAX_EP_NUM 32 struct usb_device_index { @@ -2043,13 +2045,13 @@ static volatile long syz_usb_connect(volatile long a0, volatile long a1, volatil if (event.ctrl.bRequestType & USB_DIR_IN) { NONFAILING(response_found = lookup_connect_response(descs, &index, &event.ctrl, &response_data, &response_length)); if (!response_found) { - debug("syz_usb_connect: unknown IN request\n"); + debug("syz_usb_connect: unknown control IN request\n"); return -1; } } else { if ((event.ctrl.bRequestType & USB_TYPE_MASK) != USB_TYPE_STANDARD || event.ctrl.bRequest != USB_REQ_SET_CONFIGURATION) { - fail("syz_usb_connect: unknown OUT request"); + fail("syz_usb_connect: unknown control OUT request"); return -1; } done = true; @@ -2135,8 +2137,8 @@ struct vusb_responses { struct vusb_response* resps[0]; } __attribute__((packed)); -static bool lookup_control_io_response(struct vusb_descriptors* descs, struct vusb_responses* resps, - struct usb_ctrlrequest* ctrl, char** response_data, uint32* response_length) +static bool lookup_control_response(struct vusb_descriptors* descs, struct vusb_responses* resps, + struct usb_ctrlrequest* ctrl, char** response_data, uint32* response_length) { int descs_num = (descs->len - offsetof(struct vusb_descriptors, descs)) / sizeof(descs->descs[0]); int resps_num = (resps->len - offsetof(struct vusb_responses, resps)) / sizeof(resps->resps[0]); @@ -2194,6 +2196,44 @@ static bool lookup_control_io_response(struct vusb_descriptors* descs, struct vu return false; } +#if USB_DEBUG +#include <linux/hid.h> +#include <linux/usb/cdc.h> +#include <linux/usb/ch11.h> +#include <linux/usb/ch9.h> + +static void analyze_control_request(struct usb_ctrlrequest* ctrl) +{ + switch (ctrl->bRequestType & USB_TYPE_MASK) { + case USB_TYPE_STANDARD: + switch (ctrl->bRequest) { + case USB_REQ_GET_DESCRIPTOR: + switch (ctrl->wValue >> 8) { + case USB_DT_DEVICE: + case USB_DT_CONFIG: + case USB_DT_STRING: + case HID_DT_REPORT: + case USB_DT_BOS: + case USB_DT_HUB: + case USB_DT_SS_HUB: + return; + } + } + break; + case USB_TYPE_CLASS: + switch (ctrl->bRequest) { + case USB_REQ_GET_INTERFACE: + case USB_REQ_GET_CONFIGURATION: + case USB_REQ_GET_STATUS: + case USB_CDC_GET_NTB_PARAMETERS: + return; + } + } + fail("analyze_control_request: unknown control request (0x%x, 0x%x, 0x%x)", + ctrl->bRequestType, ctrl->bRequest, ctrl->wValue); +} +#endif + static volatile long syz_usb_control_io(volatile long a0, volatile long a1, volatile long a2) { int fd = a0; @@ -2222,9 +2262,12 @@ static volatile long syz_usb_control_io(volatile long a0, volatile long a1, vola uint32 response_length = 0; if (event.ctrl.bRequestType & USB_DIR_IN) { - NONFAILING(response_found = lookup_control_io_response(descs, resps, &event.ctrl, &response_data, &response_length)); + NONFAILING(response_found = lookup_control_response(descs, resps, &event.ctrl, &response_data, &response_length)); if (!response_found) { - debug("syz_usb_control_io: no response found\n"); +#if USB_DEBUG + analyze_control_request(&event.ctrl); +#endif + debug("syz_usb_control_io: unknown control IN request\n"); return -1; } } else { diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 48a95977a..e0a2de96e 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -25505,10 +25505,13 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129}, @@ -25519,6 +25522,17 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bmAttributes", TypeSize: 1}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxPacketSize", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, + }}}, {Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, @@ -25530,6 +25544,10 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "usb_endpoint_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, }}}, @@ -25582,7 +25600,7 @@ var structDescs_386 = []*KeyedStruct{ &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_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"}, }}}, {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}, @@ -25597,7 +25615,7 @@ var structDescs_386 = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{ &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}}}, @@ -25608,7 +25626,7 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, @@ -26791,37 +26809,12 @@ 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_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 20}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}}, - }}}, {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, HID_REQ_SET_IDLE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]", TypeSize: 6}, 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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1}, - }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]", TypeSize: 6}, 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: 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_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]", TypeSize: 6}, 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: 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_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}, @@ -26852,49 +26845,21 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_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_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_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_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_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 32}, 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_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: "vusb_responses_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_hid", TypeSize: 20}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_idle", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_protocol", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}}}, + &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]]"}}}, }}}, {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}}}, @@ -42914,8 +42879,8 @@ var syscalls_386 = []*Syscall{ }}, {Name: "syz_usb_control_io$hid", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_hid", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_hid"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_hid"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, {Name: "syz_usb_disconnect", CallName: "syz_usb_disconnect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}}, @@ -45591,9 +45556,6 @@ var consts_386 = []ConstValue{ {Name: "HID_REPORT_ID_UNKNOWN", Value: 4294967295}, {Name: "HID_REPORT_TYPE_MAX", Value: 3}, {Name: "HID_REPORT_TYPE_MIN", Value: 1}, - {Name: "HID_REQ_SET_IDLE", Value: 10}, - {Name: "HID_REQ_SET_PROTOCOL", Value: 11}, - {Name: "HID_REQ_SET_REPORT", Value: 9}, {Name: "HUB_CHANGE_LOCAL_POWER", Value: 1}, {Name: "HUB_CHANGE_OVERCURRENT", Value: 2}, {Name: "HUB_CHAR_COMMON_LPSM"}, @@ -49919,8 +49881,9 @@ var consts_386 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_HID_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, {Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16}, {Name: "USB_ENDPOINT_INTR_PERIODIC"}, {Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8}, @@ -51755,4 +51718,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "e6852411760a2a78058472eaf4813af2801ed202" +const revision_386 = "ccc2cdeb1bb485261e99acfaa2cdf88c89136043" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 15b6d9cab..602bdf3e8 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -25876,10 +25876,13 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129}, @@ -25890,6 +25893,17 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bmAttributes", TypeSize: 1}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxPacketSize", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, + }}}, {Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, @@ -25901,6 +25915,10 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "usb_endpoint_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, }}}, @@ -25953,7 +25971,7 @@ var structDescs_amd64 = []*KeyedStruct{ &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_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"}, }}}, {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}, @@ -25968,7 +25986,7 @@ var structDescs_amd64 = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{ &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}}}, @@ -25979,7 +25997,7 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, @@ -27169,37 +27187,12 @@ 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_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}}, - }}}, {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, HID_REQ_SET_IDLE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]", TypeSize: 6}, 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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1}, - }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]", TypeSize: 6}, 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: 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_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]", TypeSize: 6}, 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: 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_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}, @@ -27230,49 +27223,21 @@ var structDescs_amd64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_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_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_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_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_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, 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_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: "vusb_responses_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_hid", TypeSize: 36}, 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_idle", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_protocol", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}}}, + &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]]"}}}, }}}, {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}}}, @@ -43436,8 +43401,8 @@ var syscalls_amd64 = []*Syscall{ }}, {Name: "syz_usb_control_io$hid", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_hid", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_hid"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_hid"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, {Name: "syz_usb_disconnect", CallName: "syz_usb_disconnect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}}, @@ -46113,9 +46078,6 @@ var consts_amd64 = []ConstValue{ {Name: "HID_REPORT_ID_UNKNOWN", Value: 4294967295}, {Name: "HID_REPORT_TYPE_MAX", Value: 3}, {Name: "HID_REPORT_TYPE_MIN", Value: 1}, - {Name: "HID_REQ_SET_IDLE", Value: 10}, - {Name: "HID_REQ_SET_PROTOCOL", Value: 11}, - {Name: "HID_REQ_SET_REPORT", Value: 9}, {Name: "HUB_CHANGE_LOCAL_POWER", Value: 1}, {Name: "HUB_CHANGE_OVERCURRENT", Value: 2}, {Name: "HUB_CHAR_COMMON_LPSM"}, @@ -50455,8 +50417,9 @@ var consts_amd64 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_HID_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, {Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16}, {Name: "USB_ENDPOINT_INTR_PERIODIC"}, {Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8}, @@ -52292,4 +52255,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "dcbebec84b823ea25f3b394a09856311b9dd1ca0" +const revision_amd64 = "3ad0caf28b47f3c27a8f69b938b8f93073f6611c" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 91a29fe40..fd19f6a62 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -25327,10 +25327,13 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129}, @@ -25341,6 +25344,17 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bmAttributes", TypeSize: 1}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxPacketSize", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, + }}}, {Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, @@ -25352,6 +25366,10 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "usb_endpoint_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, }}}, @@ -25404,7 +25422,7 @@ var structDescs_arm = []*KeyedStruct{ &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_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"}, }}}, {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}, @@ -25419,7 +25437,7 @@ var structDescs_arm = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{ &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}}}, @@ -25430,7 +25448,7 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, @@ -26597,37 +26615,12 @@ 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_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 20}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}}, - }}}, {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, HID_REQ_SET_IDLE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]", TypeSize: 6}, 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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1}, - }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]", TypeSize: 6}, 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: 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_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]", TypeSize: 6}, 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: 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_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}, @@ -26658,49 +26651,21 @@ var structDescs_arm = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_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_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_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_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_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 32}, 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_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: "vusb_responses_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_hid", TypeSize: 20}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_idle", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_protocol", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}}}, + &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]]"}}}, }}}, {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}}}, @@ -42570,8 +42535,8 @@ var syscalls_arm = []*Syscall{ }}, {Name: "syz_usb_control_io$hid", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_hid", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_hid"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses_hid"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, {Name: "syz_usb_disconnect", CallName: "syz_usb_disconnect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}}, @@ -45231,9 +45196,6 @@ var consts_arm = []ConstValue{ {Name: "HID_REPORT_ID_UNKNOWN", Value: 4294967295}, {Name: "HID_REPORT_TYPE_MAX", Value: 3}, {Name: "HID_REPORT_TYPE_MIN", Value: 1}, - {Name: "HID_REQ_SET_IDLE", Value: 10}, - {Name: "HID_REQ_SET_PROTOCOL", Value: 11}, - {Name: "HID_REQ_SET_REPORT", Value: 9}, {Name: "HUB_CHANGE_LOCAL_POWER", Value: 1}, {Name: "HUB_CHANGE_OVERCURRENT", Value: 2}, {Name: "HUB_CHAR_COMMON_LPSM"}, @@ -49506,8 +49468,9 @@ var consts_arm = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_HID_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, {Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16}, {Name: "USB_ENDPOINT_INTR_PERIODIC"}, {Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8}, @@ -51332,4 +51295,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "e1dc4882544d6442aef7732b455d7285ae1eb641" +const revision_arm = "0aea57e00bdd385a6598b158d35ac8f03cb3915b" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index cce9f6c90..80b928052 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -25693,10 +25693,13 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129}, @@ -25707,6 +25710,17 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bmAttributes", TypeSize: 1}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxPacketSize", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, + }}}, {Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, @@ -25718,6 +25732,10 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "usb_endpoint_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, }}}, @@ -25770,7 +25788,7 @@ var structDescs_arm64 = []*KeyedStruct{ &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_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"}, }}}, {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}, @@ -25785,7 +25803,7 @@ var structDescs_arm64 = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{ &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}}}, @@ -25796,7 +25814,7 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, @@ -26961,37 +26979,12 @@ 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_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}}, - }}}, {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, HID_REQ_SET_IDLE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]", TypeSize: 6}, 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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1}, - }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]", TypeSize: 6}, 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: 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_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]", TypeSize: 6}, 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: 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_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}, @@ -27022,49 +27015,21 @@ var structDescs_arm64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_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_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_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_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_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, 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_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: "vusb_responses_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_hid", TypeSize: 36}, 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_idle", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_protocol", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}}}, + &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]]"}}}, }}}, {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}}}, @@ -42912,8 +42877,8 @@ var syscalls_arm64 = []*Syscall{ }}, {Name: "syz_usb_control_io$hid", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_hid", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_hid"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_hid"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, {Name: "syz_usb_disconnect", CallName: "syz_usb_disconnect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}}, @@ -45559,9 +45524,6 @@ var consts_arm64 = []ConstValue{ {Name: "HID_REPORT_ID_UNKNOWN", Value: 4294967295}, {Name: "HID_REPORT_TYPE_MAX", Value: 3}, {Name: "HID_REPORT_TYPE_MIN", Value: 1}, - {Name: "HID_REQ_SET_IDLE", Value: 10}, - {Name: "HID_REQ_SET_PROTOCOL", Value: 11}, - {Name: "HID_REQ_SET_REPORT", Value: 9}, {Name: "HUB_CHANGE_LOCAL_POWER", Value: 1}, {Name: "HUB_CHANGE_OVERCURRENT", Value: 2}, {Name: "HUB_CHAR_COMMON_LPSM"}, @@ -49848,8 +49810,9 @@ var consts_arm64 = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_HID_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, {Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16}, {Name: "USB_ENDPOINT_INTR_PERIODIC"}, {Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8}, @@ -51644,4 +51607,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "d2380e739438289715ad5793155eba1a5ec89c5b" +const revision_arm64 = "8cd19665e25b860288db2dbdc6ecd8638c78592b" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 3a2cd7175..ad4a286f4 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -25563,10 +25563,13 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_in", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, }}}, - {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_hid_out", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, FldName: "inner"}, + }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 129}, @@ -25577,6 +25580,17 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bEndpointAddress", TypeSize: 1}}, Val: 2}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bmAttributes", TypeSize: 1}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxPacketSize", TypeSize: 2}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bInterval", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bRefresh", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, + }}}, {Key: StructKey{Name: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor_t[flags[usb_endpoint_addresses, int8], flags[usb_endpoint_attributes, int8], array[usb_endpoint_extra_descriptor, 0:2]]", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5}, @@ -25588,6 +25602,10 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSynchAddress", TypeSize: 1}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_endpoint_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, }}}, + {Key: StructKey{Name: "usb_endpoint_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptors", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_in"}, FldName: "in"}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "out", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid_out"}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "usb_endpoint_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, }}}, @@ -25640,7 +25658,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &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_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_hid", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, FldName: "inner"}, + &StructType{Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, FldName: "inner"}, }}}, {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}, @@ -25655,7 +25673,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extra", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_interface_extra_descriptor"}}, Kind: 1, RangeEnd: 2}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor"}}, Kind: 1, RangeEnd: 16}, }}}, - {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]]", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors]", IsVarlen: true}, Fields: []Type{ &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}}}, @@ -25666,7 +25684,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}, Val: 1}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}}, &StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "extra"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "endpoints", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_endpoint_descriptor_hid"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1}, + &StructType{Key: StructKey{Name: "usb_endpoint_descriptors"}, FldName: "endpoints"}, }}}, {Key: StructKey{Name: "usb_interface_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"}, @@ -26856,37 +26874,12 @@ 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_descriptors_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors_hid", TypeSize: 36}, Fields: []Type{ - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}}, - }}}, {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, HID_REQ_SET_IDLE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]", TypeSize: 6}, 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"}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1}, - }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]", TypeSize: 6}, 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: 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_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]", TypeSize: 6}, 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: 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_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}, @@ -26917,49 +26910,21 @@ var structDescs_ppc64le = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Path: []string{"data"}}, &StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"}, }}}, - {Key: StructKey{Name: "vusb_response_t[USB_TYPE_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_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_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_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_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{ + {Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 60}, 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_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: "vusb_responses_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses_hid", TypeSize: 36}, 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_idle", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_protocol", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]"}}}, + &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]]"}}}, }}}, {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}}}, @@ -42885,8 +42850,8 @@ var syscalls_ppc64le = []*Syscall{ }}, {Name: "syz_usb_control_io$hid", CallName: "syz_usb_control_io", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb_hid", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors_hid"}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses_hid"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptors"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "resps", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_responses"}}}, }}, {Name: "syz_usb_disconnect", CallName: "syz_usb_disconnect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}}, @@ -45553,9 +45518,6 @@ var consts_ppc64le = []ConstValue{ {Name: "HID_REPORT_ID_UNKNOWN", Value: 4294967295}, {Name: "HID_REPORT_TYPE_MAX", Value: 3}, {Name: "HID_REPORT_TYPE_MIN", Value: 1}, - {Name: "HID_REQ_SET_IDLE", Value: 10}, - {Name: "HID_REQ_SET_PROTOCOL", Value: 11}, - {Name: "HID_REQ_SET_REPORT", Value: 9}, {Name: "HUB_CHANGE_LOCAL_POWER", Value: 1}, {Name: "HUB_CHANGE_OVERCURRENT", Value: 2}, {Name: "HUB_CHAR_COMMON_LPSM"}, @@ -49821,8 +49783,9 @@ var consts_ppc64le = []ConstValue{ {Name: "USB_DT_STRING", Value: 3}, {Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17}, {Name: "USB_DT_WIRE_ADAPTER", Value: 33}, - {Name: "USB_ENDPOINT_HID_ADDRESS", Value: 129}, {Name: "USB_ENDPOINT_HID_ATTRIBUTES", Value: 3}, + {Name: "USB_ENDPOINT_HID_IN_ADDRESS", Value: 129}, + {Name: "USB_ENDPOINT_HID_OUT_ADDRESS", Value: 2}, {Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16}, {Name: "USB_ENDPOINT_INTR_PERIODIC"}, {Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8}, @@ -51609,4 +51572,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "3c6f9896b7cb868b391014be969a0359572922f5" +const revision_ppc64le = "5e7246d3cadcc34a6acaa0542495c1056a555bef" diff --git a/sys/linux/vusb.txt b/sys/linux/vusb.txt index 5ff2f5446..d0d5ba5b3 100644 --- a/sys/linux/vusb.txt +++ b/sys/linux/vusb.txt @@ -25,7 +25,7 @@ syz_usb_disconnect(fd fd_usb) # These are syzcalls specifically targeted to the HID device class. syz_usb_connect$hid(speed flags[usb_device_speed], dev_len len[dev], dev ptr[in, usb_device_descriptor_hid], conn_descs ptr[in, vusb_connect_descriptors]) fd_usb_hid -syz_usb_control_io$hid(fd fd_usb_hid, descs ptr[in, vusb_descriptors_hid], resps ptr[in, vusb_responses_hid]) +syz_usb_control_io$hid(fd fd_usb_hid, descs ptr[in, vusb_descriptors], resps ptr[in, vusb_responses]) usb_device_speed = USB_SPEED_UNKNOWN, USB_SPEED_LOW, USB_SPEED_FULL, USB_SPEED_HIGH, USB_SPEED_WIRELESS, USB_SPEED_SUPER, USB_SPEED_SUPER_PLUS @@ -182,15 +182,12 @@ type vusb_descriptor_t[CLASS, REQ, DATA] { vusb_responses { len len[parent, int32] generic ptr[in, vusb_response_generic] - 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]] + aiptek_get_report ptr[in, vusb_response_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]] } [packed] vusb_response_generic { @@ -225,35 +222,27 @@ usb_config_descriptor_hid { } [packed] usb_interface_descriptor_hid { - inner usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, array[usb_endpoint_descriptor_hid, 1]] + inner usb_interface_descriptor_t[USB_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT, USB_INTERFACE_PROTOCOL_KEYBOARD, hid_descriptor_hid, usb_endpoint_descriptors] } [packed] -usb_endpoint_descriptor_hid { - inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]] +usb_endpoint_descriptors { + in usb_endpoint_descriptor_hid_in + out array[usb_endpoint_descriptor_hid_out, 0:1] } [packed] -define USB_CONFIG_HID_ATTRIBUTES (USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_WAKEUP) -define USB_ENDPOINT_HID_ADDRESS (1 | USB_DIR_IN) -define USB_ENDPOINT_HID_ATTRIBUTES (USB_ENDPOINT_XFER_INT) - -# TODO: consider merging with vusb_descriptors. -vusb_descriptors_hid { - len len[parent, int32] - generic ptr[in, vusb_descriptor_generic] - string ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]] - hid_report ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]] - bos ptr[in, vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]] +usb_endpoint_descriptor_hid_in { + inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_IN_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]] } [packed] -# TODO: consider merging with vusb_responses. -vusb_responses_hid { - len len[parent, int32] - generic ptr[in, vusb_response_generic] - set_idle ptr[in, vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_IDLE, void]] - set_report ptr[in, vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_REPORT, void]] - set_protocol ptr[in, vusb_response_t[USB_TYPE_CLASS, HID_REQ_SET_PROTOCOL, void]] +usb_endpoint_descriptor_hid_out { + inner usb_endpoint_descriptor_t[const[USB_ENDPOINT_HID_OUT_ADDRESS, int8], const[USB_ENDPOINT_HID_ATTRIBUTES, int8], array[usb_endpoint_extra_descriptor, 0:2]] } [packed] +define USB_CONFIG_HID_ATTRIBUTES (USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_WAKEUP) +define USB_ENDPOINT_HID_ATTRIBUTES (USB_ENDPOINT_XFER_INT) +define USB_ENDPOINT_HID_IN_ADDRESS (1 | USB_DIR_IN) +define USB_ENDPOINT_HID_OUT_ADDRESS (2) + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/sys/linux/vusb_386.const b/sys/linux/vusb_386.const index c639b46d0..d3835583c 100644 --- a/sys/linux/vusb_386.const +++ b/sys/linux/vusb_386.const @@ -36,9 +36,6 @@ HID_MAIN_ITEM_TAG_FEATURE = 11 HID_MAIN_ITEM_TAG_INPUT = 8 HID_MAIN_ITEM_TAG_OUTPUT = 9 HID_MAX_DESCRIPTOR_SIZE = 4096 -HID_REQ_SET_IDLE = 10 -HID_REQ_SET_PROTOCOL = 11 -HID_REQ_SET_REPORT = 9 HUB_CHANGE_LOCAL_POWER = 1 HUB_CHANGE_OVERCURRENT = 2 HUB_CHAR_COMMON_LPSM = 0 @@ -121,8 +118,9 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_HID_ADDRESS = 129 USB_ENDPOINT_HID_ATTRIBUTES = 3 +USB_ENDPOINT_HID_IN_ADDRESS = 129 +USB_ENDPOINT_HID_OUT_ADDRESS = 2 USB_ENDPOINT_INTR_NOTIFICATION = 16 USB_ENDPOINT_INTR_PERIODIC = 0 USB_ENDPOINT_SYNC_ADAPTIVE = 8 diff --git a/sys/linux/vusb_amd64.const b/sys/linux/vusb_amd64.const index c639b46d0..d3835583c 100644 --- a/sys/linux/vusb_amd64.const +++ b/sys/linux/vusb_amd64.const @@ -36,9 +36,6 @@ HID_MAIN_ITEM_TAG_FEATURE = 11 HID_MAIN_ITEM_TAG_INPUT = 8 HID_MAIN_ITEM_TAG_OUTPUT = 9 HID_MAX_DESCRIPTOR_SIZE = 4096 -HID_REQ_SET_IDLE = 10 -HID_REQ_SET_PROTOCOL = 11 -HID_REQ_SET_REPORT = 9 HUB_CHANGE_LOCAL_POWER = 1 HUB_CHANGE_OVERCURRENT = 2 HUB_CHAR_COMMON_LPSM = 0 @@ -121,8 +118,9 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_HID_ADDRESS = 129 USB_ENDPOINT_HID_ATTRIBUTES = 3 +USB_ENDPOINT_HID_IN_ADDRESS = 129 +USB_ENDPOINT_HID_OUT_ADDRESS = 2 USB_ENDPOINT_INTR_NOTIFICATION = 16 USB_ENDPOINT_INTR_PERIODIC = 0 USB_ENDPOINT_SYNC_ADAPTIVE = 8 diff --git a/sys/linux/vusb_arm.const b/sys/linux/vusb_arm.const index c639b46d0..d3835583c 100644 --- a/sys/linux/vusb_arm.const +++ b/sys/linux/vusb_arm.const @@ -36,9 +36,6 @@ HID_MAIN_ITEM_TAG_FEATURE = 11 HID_MAIN_ITEM_TAG_INPUT = 8 HID_MAIN_ITEM_TAG_OUTPUT = 9 HID_MAX_DESCRIPTOR_SIZE = 4096 -HID_REQ_SET_IDLE = 10 -HID_REQ_SET_PROTOCOL = 11 -HID_REQ_SET_REPORT = 9 HUB_CHANGE_LOCAL_POWER = 1 HUB_CHANGE_OVERCURRENT = 2 HUB_CHAR_COMMON_LPSM = 0 @@ -121,8 +118,9 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_HID_ADDRESS = 129 USB_ENDPOINT_HID_ATTRIBUTES = 3 +USB_ENDPOINT_HID_IN_ADDRESS = 129 +USB_ENDPOINT_HID_OUT_ADDRESS = 2 USB_ENDPOINT_INTR_NOTIFICATION = 16 USB_ENDPOINT_INTR_PERIODIC = 0 USB_ENDPOINT_SYNC_ADAPTIVE = 8 diff --git a/sys/linux/vusb_arm64.const b/sys/linux/vusb_arm64.const index c639b46d0..d3835583c 100644 --- a/sys/linux/vusb_arm64.const +++ b/sys/linux/vusb_arm64.const @@ -36,9 +36,6 @@ HID_MAIN_ITEM_TAG_FEATURE = 11 HID_MAIN_ITEM_TAG_INPUT = 8 HID_MAIN_ITEM_TAG_OUTPUT = 9 HID_MAX_DESCRIPTOR_SIZE = 4096 -HID_REQ_SET_IDLE = 10 -HID_REQ_SET_PROTOCOL = 11 -HID_REQ_SET_REPORT = 9 HUB_CHANGE_LOCAL_POWER = 1 HUB_CHANGE_OVERCURRENT = 2 HUB_CHAR_COMMON_LPSM = 0 @@ -121,8 +118,9 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_HID_ADDRESS = 129 USB_ENDPOINT_HID_ATTRIBUTES = 3 +USB_ENDPOINT_HID_IN_ADDRESS = 129 +USB_ENDPOINT_HID_OUT_ADDRESS = 2 USB_ENDPOINT_INTR_NOTIFICATION = 16 USB_ENDPOINT_INTR_PERIODIC = 0 USB_ENDPOINT_SYNC_ADAPTIVE = 8 diff --git a/sys/linux/vusb_ppc64le.const b/sys/linux/vusb_ppc64le.const index c639b46d0..d3835583c 100644 --- a/sys/linux/vusb_ppc64le.const +++ b/sys/linux/vusb_ppc64le.const @@ -36,9 +36,6 @@ HID_MAIN_ITEM_TAG_FEATURE = 11 HID_MAIN_ITEM_TAG_INPUT = 8 HID_MAIN_ITEM_TAG_OUTPUT = 9 HID_MAX_DESCRIPTOR_SIZE = 4096 -HID_REQ_SET_IDLE = 10 -HID_REQ_SET_PROTOCOL = 11 -HID_REQ_SET_REPORT = 9 HUB_CHANGE_LOCAL_POWER = 1 HUB_CHANGE_OVERCURRENT = 2 HUB_CHAR_COMMON_LPSM = 0 @@ -121,8 +118,9 @@ USB_DT_SS_HUB = 42 USB_DT_STRING = 3 USB_DT_WIRELESS_ENDPOINT_COMP = 17 USB_DT_WIRE_ADAPTER = 33 -USB_ENDPOINT_HID_ADDRESS = 129 USB_ENDPOINT_HID_ATTRIBUTES = 3 +USB_ENDPOINT_HID_IN_ADDRESS = 129 +USB_ENDPOINT_HID_OUT_ADDRESS = 2 USB_ENDPOINT_INTR_NOTIFICATION = 16 USB_ENDPOINT_INTR_PERIODIC = 0 USB_ENDPOINT_SYNC_ADAPTIVE = 8 |
