all: run make generate
diff --git a/executor/defs.h b/executor/defs.h
index 50e48c8..0d70f94 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -60,7 +60,7 @@
 
 #if GOARCH_386
 #define GOARCH "386"
-#define SYZ_REVISION "503a956697098a878ecb10c528a9f3b3ebdb7ba6"
+#define SYZ_REVISION "9c00be196a8a56fe3ab70b20c2356ad34ba8f285"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -70,7 +70,7 @@
 
 #if GOARCH_amd64
 #define GOARCH "amd64"
-#define SYZ_REVISION "4b38ee1745e4a961e5791c130668ea8e902d6c60"
+#define SYZ_REVISION "47aef599b466ebb4ebb60dcd25fb03a67bcfefd6"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
 
 #if GOARCH_arm
 #define GOARCH "arm"
-#define SYZ_REVISION "1c783579f1c8d8b7b56f83697b8582b72646ea70"
+#define SYZ_REVISION "5592a027d775abc4bea1d90f8868ac1b4943965a"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
 
 #if GOARCH_arm64
 #define GOARCH "arm64"
-#define SYZ_REVISION "04bfa4c094d451450d3be112fb037c137c4be8f6"
+#define SYZ_REVISION "6fb195f8cdc0968c58149ec0a2abeb9b278f655f"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
 
 #if GOARCH_ppc64le
 #define GOARCH "ppc64le"
-#define SYZ_REVISION "562eb2e638e859f4373a5f4cffb5a130a56ee4e2"
+#define SYZ_REVISION "1436442d1a0e05b2db29f38530a6d64c5f8ccd18"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index b86276d..714868b 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -3913,6 +3913,10 @@
     {"syz_open_procfs$namespace", 0, (syscall_t)syz_open_procfs},
     {"syz_open_pts", 0, (syscall_t)syz_open_pts},
     {"syz_read_part_table", 0, (syscall_t)syz_read_part_table},
+    {"syz_usb_connect", 0, (syscall_t)syz_usb_connect},
+    {"syz_usb_control_io", 0, (syscall_t)syz_usb_control_io},
+    {"syz_usb_disconnect", 0, (syscall_t)syz_usb_disconnect},
+    {"syz_usb_ep_write", 0, (syscall_t)syz_usb_ep_write},
     {"tee", 315},
     {"tgkill", 270},
     {"time", 13},
@@ -6556,6 +6560,10 @@
     {"syz_open_procfs$namespace", 0, (syscall_t)syz_open_procfs},
     {"syz_open_pts", 0, (syscall_t)syz_open_pts},
     {"syz_read_part_table", 0, (syscall_t)syz_read_part_table},
+    {"syz_usb_connect", 0, (syscall_t)syz_usb_connect},
+    {"syz_usb_control_io", 0, (syscall_t)syz_usb_control_io},
+    {"syz_usb_disconnect", 0, (syscall_t)syz_usb_disconnect},
+    {"syz_usb_ep_write", 0, (syscall_t)syz_usb_ep_write},
     {"tee", 276},
     {"tgkill", 234},
     {"time", 201},
@@ -9151,6 +9159,10 @@
     {"syz_open_procfs$namespace", 0, (syscall_t)syz_open_procfs},
     {"syz_open_pts", 0, (syscall_t)syz_open_pts},
     {"syz_read_part_table", 0, (syscall_t)syz_read_part_table},
+    {"syz_usb_connect", 0, (syscall_t)syz_usb_connect},
+    {"syz_usb_control_io", 0, (syscall_t)syz_usb_control_io},
+    {"syz_usb_disconnect", 0, (syscall_t)syz_usb_disconnect},
+    {"syz_usb_ep_write", 0, (syscall_t)syz_usb_ep_write},
     {"tee", 342},
     {"tgkill", 268},
     {"timer_create", 257},
@@ -11720,6 +11732,10 @@
     {"syz_open_procfs$namespace", 0, (syscall_t)syz_open_procfs},
     {"syz_open_pts", 0, (syscall_t)syz_open_pts},
     {"syz_read_part_table", 0, (syscall_t)syz_read_part_table},
+    {"syz_usb_connect", 0, (syscall_t)syz_usb_connect},
+    {"syz_usb_control_io", 0, (syscall_t)syz_usb_control_io},
+    {"syz_usb_disconnect", 0, (syscall_t)syz_usb_disconnect},
+    {"syz_usb_ep_write", 0, (syscall_t)syz_usb_ep_write},
     {"tee", 77},
     {"tgkill", 131},
     {"timer_create", 107},
@@ -14303,6 +14319,10 @@
     {"syz_open_procfs$namespace", 0, (syscall_t)syz_open_procfs},
     {"syz_open_pts", 0, (syscall_t)syz_open_pts},
     {"syz_read_part_table", 0, (syscall_t)syz_read_part_table},
+    {"syz_usb_connect", 0, (syscall_t)syz_usb_connect},
+    {"syz_usb_control_io", 0, (syscall_t)syz_usb_control_io},
+    {"syz_usb_disconnect", 0, (syscall_t)syz_usb_disconnect},
+    {"syz_usb_ep_write", 0, (syscall_t)syz_usb_ep_write},
     {"tee", 284},
     {"tgkill", 250},
     {"time", 13},
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 4bd86bc..f365446 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -35,7 +35,7 @@
 
 #if SYZ_EXECUTOR || SYZ_PROCS || SYZ_REPEAT && SYZ_ENABLE_CGROUPS ||         \
     SYZ_ENABLE_NETDEV || __NR_syz_mount_image || __NR_syz_read_part_table || \
-    (GOOS_openbsd || GOOS_freebsd) && SYZ_TUN_ENABLE
+    __NR_syz_usb_connect || (GOOS_openbsd || GOOS_freebsd) && SYZ_TUN_ENABLE
 unsigned long long procid;
 #endif
 
@@ -122,7 +122,8 @@
 #endif
 
 #if !GOOS_windows
-#if SYZ_EXECUTOR || SYZ_THREADED || SYZ_REPEAT && SYZ_EXECUTOR_USES_FORK_SERVER
+#if SYZ_EXECUTOR || SYZ_THREADED || SYZ_REPEAT && SYZ_EXECUTOR_USES_FORK_SERVER || \
+    __NR_syz_usb_connect
 static void sleep_ms(uint64 ms)
 {
 	usleep(ms * 1000);
@@ -1702,6 +1703,466 @@
 }
 #endif
 
+#if SYZ_EXECUTOR || __NR_syz_usb_connect
+#include <errno.h>
+#include <fcntl.h>
+#include <linux/usb/ch9.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#define USB_MAX_EP_NUM 32
+
+struct usb_device_index {
+	struct usb_device_descriptor* dev;
+	struct usb_config_descriptor* config;
+	unsigned config_length;
+	struct usb_interface_descriptor* iface;
+	struct usb_endpoint_descriptor* eps[USB_MAX_EP_NUM];
+	unsigned eps_num;
+};
+
+static bool parse_usb_descriptor(char* buffer, size_t length, struct usb_device_index* index)
+{
+	if (length < sizeof(*index->dev) + sizeof(*index->config) + sizeof(*index->iface))
+		return false;
+
+	index->dev = (struct usb_device_descriptor*)buffer;
+	index->config = (struct usb_config_descriptor*)(buffer + sizeof(*index->dev));
+	index->config_length = length - sizeof(*index->dev);
+	index->iface = (struct usb_interface_descriptor*)(buffer + sizeof(*index->dev) + sizeof(*index->config));
+
+	index->eps_num = 0;
+	size_t offset = 0;
+
+	while (true) {
+		if (offset == length)
+			break;
+		if (offset + 1 < length)
+			break;
+		uint8 length = buffer[offset];
+		uint8 type = buffer[offset + 1];
+		if (type == USB_DT_ENDPOINT) {
+			index->eps[index->eps_num] = (struct usb_endpoint_descriptor*)(buffer + offset);
+			index->eps_num++;
+		}
+		if (index->eps_num == USB_MAX_EP_NUM)
+			break;
+		offset += length;
+	}
+
+	return true;
+}
+
+enum usb_fuzzer_event_type {
+	USB_FUZZER_EVENT_INVALID,
+	USB_FUZZER_EVENT_CONNECT,
+	USB_FUZZER_EVENT_DISCONNECT,
+	USB_FUZZER_EVENT_SUSPEND,
+	USB_FUZZER_EVENT_RESUME,
+	USB_FUZZER_EVENT_CONTROL,
+};
+
+struct usb_fuzzer_event {
+	uint32 type;
+	uint32 length;
+	char data[0];
+};
+
+struct usb_fuzzer_init {
+	uint64 speed;
+	const char* driver_name;
+	const char* device_name;
+};
+
+struct usb_fuzzer_ep_io {
+	uint16 ep;
+	uint16 flags;
+	uint32 length;
+	char data[0];
+};
+
+#define USB_FUZZER_IOCTL_INIT _IOW('U', 0, struct usb_fuzzer_init)
+#define USB_FUZZER_IOCTL_RUN _IO('U', 1)
+#define USB_FUZZER_IOCTL_EP0_READ _IOWR('U', 2, struct usb_fuzzer_event)
+#define USB_FUZZER_IOCTL_EP0_WRITE _IOW('U', 3, struct usb_fuzzer_ep_io)
+#define USB_FUZZER_IOCTL_EP_ENABLE _IOW('U', 4, struct usb_endpoint_descriptor)
+#define USB_FUZZER_IOCTL_EP_WRITE _IOW('U', 6, struct usb_fuzzer_ep_io)
+#define USB_FUZZER_IOCTL_CONFIGURE _IO('U', 8)
+#define USB_FUZZER_IOCTL_VBUS_DRAW _IOW('U', 9, uint32)
+
+int usb_fuzzer_open()
+{
+	return open("/sys/kernel/debug/usb-fuzzer", O_RDWR);
+}
+
+int usb_fuzzer_init(int fd, uint32 speed, const char* driver, const char* device)
+{
+	struct usb_fuzzer_init arg;
+	arg.speed = speed;
+	arg.driver_name = driver;
+	arg.device_name = device;
+	return ioctl(fd, USB_FUZZER_IOCTL_INIT, &arg);
+}
+
+int usb_fuzzer_run(int fd)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_RUN, 0);
+}
+
+int usb_fuzzer_ep0_read(int fd, struct usb_fuzzer_event* event)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_EP0_READ, event);
+}
+
+int usb_fuzzer_ep0_write(int fd, struct usb_fuzzer_ep_io* io)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_EP0_WRITE, io);
+}
+
+int usb_fuzzer_ep_write(int fd, struct usb_fuzzer_ep_io* io)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_EP_WRITE, io);
+}
+
+int usb_fuzzer_ep_enable(int fd, struct usb_endpoint_descriptor* desc)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_EP_ENABLE, desc);
+}
+
+int usb_fuzzer_configure(int fd)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_CONFIGURE, 0);
+}
+
+int usb_fuzzer_vbus_draw(int fd, uint32 power)
+{
+	return ioctl(fd, USB_FUZZER_IOCTL_VBUS_DRAW, power);
+}
+
+#define USB_MAX_PACKET_SIZE 1024
+
+struct usb_fuzzer_control_event {
+	struct usb_fuzzer_event inner;
+	struct usb_ctrlrequest ctrl;
+};
+
+struct usb_fuzzer_ep_io_data {
+	struct usb_fuzzer_ep_io inner;
+	char data[USB_MAX_PACKET_SIZE];
+};
+
+struct vusb_connect_string_descriptor {
+	uint32 len;
+	char* str;
+} __attribute__((packed));
+
+struct vusb_connect_descriptors {
+	uint32 qual_len;
+	char* qual;
+	uint32 bos_len;
+	char* bos;
+	uint32 strs_len;
+	struct vusb_connect_string_descriptor strs[0];
+} __attribute__((packed));
+
+static volatile long syz_usb_connect(volatile long a0, volatile long a1, volatile long a2, volatile long a3)
+{
+	int64_t speed = a0;
+	int64_t dev_len = a1;
+	char* dev = (char*)a2;
+	struct vusb_connect_descriptors* conn_descs = (struct vusb_connect_descriptors*)a3;
+
+	debug("syz_usb_connect: dev: %p\n", dev);
+	if (!dev)
+		return -1;
+
+	debug("syz_usb_connect: device data:\n");
+	debug_dump_data(dev, dev_len);
+
+	struct usb_device_index index;
+	memset(&index, 0, sizeof(index));
+	int rv = parse_usb_descriptor(dev, dev_len, &index);
+	if (!rv)
+		return -1;
+	debug("syz_usb_connect: parsed usb descriptor\n");
+
+	int fd = usb_fuzzer_open();
+	if (fd < 0)
+		return -1;
+	debug("syz_usb_connect: usb_fuzzer_open success\n");
+
+	char device[32];
+	sprintf(&device[0], "dummy_udc.%llu", procid);
+	rv = usb_fuzzer_init(fd, speed, "dummy_udc", &device[0]);
+	if (rv < 0)
+		return -1;
+	debug("syz_usb_connect: usb_fuzzer_init success\n");
+
+	rv = usb_fuzzer_run(fd);
+	if (rv < 0)
+		return -1;
+	debug("syz_usb_connect: usb_fuzzer_run success\n");
+
+	bool done = false;
+	while (!done) {
+		char* response_data = NULL;
+		uint32 response_length = 0;
+
+		unsigned ep;
+		uint8 str_idx;
+
+		struct usb_fuzzer_control_event event;
+		event.inner.type = 0;
+		event.inner.length = sizeof(event.ctrl);
+		rv = usb_fuzzer_ep0_read(fd, (struct usb_fuzzer_event*)&event);
+		if (rv < 0)
+			return -1;
+		if (event.inner.type != USB_FUZZER_EVENT_CONTROL)
+			continue;
+
+		debug("syz_usb_connect: bRequestType: 0x%x, bRequest: 0x%x, wValue: 0x%x, wIndex: 0x%x, wLength: %d\n",
+		      event.ctrl.bRequestType, event.ctrl.bRequest, event.ctrl.wValue, event.ctrl.wIndex, event.ctrl.wLength);
+
+		switch (event.ctrl.bRequestType & USB_TYPE_MASK) {
+		case USB_TYPE_STANDARD:
+			switch (event.ctrl.bRequest) {
+			case USB_REQ_GET_DESCRIPTOR:
+				switch (event.ctrl.wValue >> 8) {
+				case USB_DT_DEVICE:
+					response_data = (char*)index.dev;
+					response_length = sizeof(*index.dev);
+					goto reply;
+				case USB_DT_CONFIG:
+					response_data = (char*)index.config;
+					response_length = index.config_length;
+					goto reply;
+				case USB_DT_STRING:
+					str_idx = (uint8)event.ctrl.wValue;
+					if (str_idx >= conn_descs->strs_len)
+						goto reply;
+					response_data = conn_descs->strs[str_idx].str;
+					response_length = conn_descs->strs[str_idx].len;
+					goto reply;
+				case USB_DT_BOS:
+					response_data = conn_descs->bos;
+					response_length = conn_descs->bos_len;
+					goto reply;
+				case USB_DT_DEVICE_QUALIFIER:
+					response_data = conn_descs->qual;
+					response_length = conn_descs->qual_len;
+					goto reply;
+				default:
+					fail("syz_usb_connect: no response");
+					continue;
+				}
+				break;
+			case USB_REQ_SET_CONFIGURATION:
+				rv = usb_fuzzer_vbus_draw(fd, index.config->bMaxPower);
+				if (rv < 0)
+					return -1;
+				rv = usb_fuzzer_configure(fd);
+				if (rv < 0)
+					return -1;
+				for (ep = 0; ep < index.eps_num; ep++) {
+					rv = usb_fuzzer_ep_enable(fd, index.eps[ep]);
+					if (rv < 0)
+						fail("syz_usb_connect: ep enable failed");
+				}
+				done = true;
+				goto reply;
+			default:
+				fail("syz_usb_connect: no response");
+				continue;
+			}
+			break;
+		default:
+			fail("syz_usb_connect: no response");
+			continue;
+		}
+
+		struct usb_fuzzer_ep_io_data response;
+
+	reply:
+		response.inner.ep = 0;
+		response.inner.flags = 0;
+		if (response_length > sizeof(response.data))
+			response_length = 0;
+		response.inner.length = response_length;
+		if (response_data)
+			memcpy(&response.data[0], response_data, response_length);
+		if (event.ctrl.wLength < response.inner.length)
+			response.inner.length = event.ctrl.wLength;
+		debug("syz_usb_connect: reply length = %d\n", response.inner.length);
+		usb_fuzzer_ep0_write(fd, (struct usb_fuzzer_ep_io*)&response);
+	}
+
+	sleep_ms(200);
+
+	debug("syz_usb_connect: configured\n");
+
+	return fd;
+}
+
+#if SYZ_EXECUTOR || __NR_syz_usb_control_io
+struct vusb_descriptor {
+	uint8 req_type;
+	uint8 desc_type;
+	uint32 len;
+	char data[0];
+} __attribute__((packed));
+
+struct vusb_descriptors {
+	uint32 len;
+	struct vusb_descriptor* generic;
+	struct vusb_descriptor* descs[0];
+} __attribute__((packed));
+
+struct vusb_response {
+	uint8 type;
+	uint8 req;
+	uint32 len;
+	char data[0];
+} __attribute__((packed));
+
+struct vusb_responses {
+	uint32 len;
+	struct vusb_response* generic;
+	struct vusb_response* resps[0];
+} __attribute__((packed));
+
+static volatile long syz_usb_control_io(volatile long a0, volatile long a1, volatile long a2)
+{
+	int fd = a0;
+	struct vusb_descriptors* descs = (struct vusb_descriptors*)a1;
+	struct vusb_responses* resps = (struct vusb_responses*)a2;
+
+	struct usb_fuzzer_control_event event;
+	event.inner.type = 0;
+	event.inner.length = sizeof(event.ctrl);
+	int rv = usb_fuzzer_ep0_read(fd, (struct usb_fuzzer_event*)&event);
+	if (rv < 0)
+		return -1;
+	if (event.inner.type != USB_FUZZER_EVENT_CONTROL)
+		return -1;
+
+	debug("syz_usb_control_io: bRequestType: 0x%x, bRequest: 0x%x, wValue: 0x%x, wIndex: 0x%x, wLength: %d\n",
+	      event.ctrl.bRequestType, event.ctrl.bRequest, event.ctrl.wValue, event.ctrl.wIndex, event.ctrl.wLength);
+
+	uint8 req = event.ctrl.bRequest;
+	uint8 req_type = event.ctrl.bRequestType & USB_TYPE_MASK;
+	uint8 desc_type = event.ctrl.wValue >> 8;
+
+	char* response_data = NULL;
+	uint32 response_length = 0;
+
+	if (req == USB_REQ_GET_DESCRIPTOR) {
+		int i;
+		int descs_num = (descs->len - offsetof(struct vusb_descriptors, descs)) / sizeof(descs->descs[0]);
+
+		for (i = 0; i < descs_num; i++) {
+			struct vusb_descriptor* desc = descs->descs[i];
+			if (!desc)
+				continue;
+			if (desc->req_type == req_type && desc->desc_type == desc_type) {
+				response_length = desc->len;
+				if (response_length != 0)
+					response_data = &desc->data[0];
+				goto reply;
+			}
+		}
+
+		if (descs->generic) {
+			response_data = &descs->generic->data[0];
+			response_length = descs->generic->len;
+			goto reply;
+		}
+	} else {
+		int i;
+		int resps_num = (resps->len - offsetof(struct vusb_responses, resps)) / sizeof(resps->resps[0]);
+
+		for (i = 0; i < resps_num; i++) {
+			struct vusb_response* resp = resps->resps[i];
+			if (!resp)
+				continue;
+			if (resp->type == req_type && resp->req == req) {
+				response_length = resp->len;
+				if (response_length != 0)
+					response_data = &resp->data[0];
+				goto reply;
+			}
+		}
+
+		if (resps->generic) {
+			response_data = &resps->generic->data[0];
+			response_length = resps->generic->len;
+			goto reply;
+		}
+	}
+
+	return -1;
+
+	struct usb_fuzzer_ep_io_data response;
+
+reply:
+	response.inner.ep = 0;
+	response.inner.flags = 0;
+	if (response_length > sizeof(response.data))
+		response_length = 0;
+	response.inner.length = response_length;
+	if (response_data)
+		memcpy(&response.data[0], response_data, response_length);
+	if (event.ctrl.wLength < response.inner.length)
+		response.inner.length = event.ctrl.wLength;
+	debug("syz_usb_control_io: reply length = %d\n", response.inner.length);
+	usb_fuzzer_ep0_write(fd, (struct usb_fuzzer_ep_io*)&response);
+
+	sleep_ms(200);
+
+	return 0;
+}
+#endif
+
+#if SYZ_EXECUTOR || __NR_syz_usb_ep_write
+static volatile long syz_usb_ep_write(volatile long a0, volatile long a1, volatile long a2, volatile long a3)
+{
+	int fd = a0;
+	uint16 ep = a1;
+	uint32 len = a2;
+	char* data = (char*)a3;
+
+	struct usb_fuzzer_ep_io_data response;
+	response.inner.ep = ep;
+	response.inner.flags = 0;
+	if (len > sizeof(response.data))
+		len = 0;
+	response.inner.length = len;
+	if (data)
+		memcpy(&response.data[0], data, len);
+
+	return usb_fuzzer_ep_write(fd, (struct usb_fuzzer_ep_io*)&response);
+}
+#endif
+
+#if SYZ_EXECUTOR || __NR_syz_usb_disconnect
+static volatile long syz_usb_disconnect(volatile long a0)
+{
+	int fd = a0;
+
+	int rv = close(fd);
+
+	sleep_ms(200);
+
+	return rv;
+}
+#endif
+
+#endif
+
 #if SYZ_EXECUTOR || __NR_syz_open_dev
 #include <fcntl.h>
 #include <string.h>
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index decb2b1..6da51b7 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -104,6 +104,7 @@
 	{Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+	{Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_usb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -6319,6 +6320,49 @@
 		&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
 		&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
 	}}},
+	{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Buf: "class_desc"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
+	}}},
+	{Key: StructKey{Name: "hid_report_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item", IsVarlen: true}, Fields: []Type{
+		&UnionType{Key: StructKey{Name: "hid_report_item_short"}, FldName: "short"},
+		&StructType{Key: StructKey{Name: "hid_report_item_long"}, FldName: "long"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_long"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_long", IsVarlen: true}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDataSize", TypeSize: 1}}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bLongItemTag", TypeSize: 1}}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 255},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "hid_report_item_short_012"}, FldName: "item_012"},
+		&StructType{Key: StructKey{Name: "hid_report_item_short_4"}, FldName: "item_4"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_012"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_012", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 2},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_4", TypeSize: 5}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
 	{Key: StructKey{Name: "hidp_connadd_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hidp_connadd_req", TypeSize: 160}, Fields: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ctrlsk", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "intrsk", TypeSize: 4}},
@@ -24450,6 +24494,339 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
 	}}},
+	{Key: StructKey{Name: "usb_bos_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_bos_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDeviceCaps", TypeSize: 1}}, Buf: "caps"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "caps", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_dev_cap"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_country_functional_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 7},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iCountryCodeRelDate", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wCountyCode0", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "country_codes", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_dmm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_dmm_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 20},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 15},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iMACAddress", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmEthernetStatistics", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_item"}}, Kind: 1, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_item", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_cdc_generic"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"},
+		&StructType{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, FldName: "call_mgmt"},
+		&StructType{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, FldName: "acm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"},
+		&StructType{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, FldName: "country_functional"},
+		&StructType{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, FldName: "network_terminal"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"},
+		&StructType{Key: StructKey{Name: "usb_cdc_dmm_desc"}, FldName: "dmm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, FldName: "mdlm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, FldName: "mdlm_detail"},
+		&StructType{Key: StructKey{Name: "usb_cdc_obex_desc"}, FldName: "obex"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_desc"}, FldName: "mbim"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_desc", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 27},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxControlMessage", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberFilters", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxFilterSize", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_extended_desc", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 28},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMExtendedVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxOutstandingCommandMessages", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMTU", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_desc", TypeSize: 21}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bGUID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 19},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bGuidDescriptorType", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bDetailData", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_desc", TypeSize: 6}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 26},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdNcmVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_ntb_parameters", TypeSize: 28}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wLength", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmNtbFormatsSupported", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbInMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wPadding1", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbOutMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNtbOutMaxDatagrams", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_network_terminal_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEntityId", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iName", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bChannelIndex", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPhysicalInterface", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_obex_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_obex_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMasterInterface0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSlaveInterface0", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 2},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Buf: "interfaces"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bConfigurationValue", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, FldName: "wireless"},
+		&StructType{Key: StructKey{Name: "usb_ext_cap_descriptor"}, FldName: "ext_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_cap_descriptor"}, FldName: "ss_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, FldName: "ss_container_id"},
+		&StructType{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, FldName: "ssp_cap"},
+		&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
+	}}},
+	{Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Buf: "configs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_endpoint_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 0, 16, 0, 4, 8, 12, 0, 16, 16}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+	}}},
+	{Key: StructKey{Name: "usb_ext_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_descriptor", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_attributes", FldName: "bmAttributes1", TypeSize: 4}, BitfieldLen: 8, BitfieldMdl: true}, Vals: []uint64{2, 4, 8, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes2", TypeSize: 4}, BitfieldOff: 8, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes3", TypeSize: 4}, BitfieldOff: 12, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes4", TypeSize: 4}, BitfieldOff: 16, BitfieldLen: 16}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_capability_types", FldName: "bDevCapabilityType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 10, 4, 11}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "DeviceRemovable", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "PortPwrCtrlMask", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_ss"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_ss", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 42},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubHdrDecLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wHubDelay", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "DeviceRemovable", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_status", TypeSize: 4}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_status_flags", FldName: "wHubStatus", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Buf: "endpoints"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
+	}}},
+	{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_status_flags", FldName: "wPortStatus", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 480, 512, 7168, 0, 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_change_flags", FldName: "wPortChange", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 32, 64, 128}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "dwExtPortStatus", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_port_status_flags", TypeSize: 4}}, Vals: []uint64{15, 240, 3840, 61440}, BitMask: true}, Kind: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ptm_cap_descriptor", TypeSize: 3}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 11},
+	}}},
+	{Key: StructKey{Name: "usb_qualifier_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_qualifier_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumConfigurations", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bRESERVED", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_speed", FldName: "wSpeedSupported", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bFunctionalitySupport", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bU1devExitLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bU2DevExitLat", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_container_id_descriptor", TypeSize: 20}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ContainerID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bmAttributesSublinkSpeeds", TypeSize: 4}, BitfieldLen: 5, BitfieldMdl: true}, Buf: "bmSublinkSpeedAttr"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributesSpeedIDs", TypeSize: 4}, BitfieldOff: 5, BitfieldLen: 27}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_funcs", FldName: "wFunctionalitySupport", TypeSize: 2}}, Vals: []uint64{15, 3840, 61440}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wReserved", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bmSublinkSpeedAttr", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_sublink_speeds", TypeSize: 4}}, Vals: []uint64{15, 48, 192, 16128, 49152, 16711680}, BitMask: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "lang_id", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2, 12, 4, 8, 12}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_phyrates", FldName: "wPHYRates", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmTFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmFFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmBandGroup", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+	}}},
 	{Key: StructKey{Name: "user_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "user_desc", TypeSize: 16}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entry_number", TypeSize: 4}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "user_desc_bases", FldName: "base_addr", TypeSize: 4}}, Vals: []uint64{0, 4096, 1048576, 536870912, 536872960, 536875008, 18446744073709551615}},
@@ -25503,6 +25880,136 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_VTI_REMOTE, int16], ipv4_addr]"}, FldName: "IFLA_VTI_REMOTE"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vti_common_policy", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "vti_common_policy"}}},
 	}}},
+	{Key: StructKey{Name: "vusb_connect_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_descriptors", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "qual_len", TypeSize: 4}}, Buf: "qual"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "qual", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_qualifier_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bos_len", TypeSize: 4}}, Buf: "bos"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_bos_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "strs_len", TypeSize: 4}}, Buf: "strs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "strs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vusb_connect_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_connect_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_string_descriptor", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "str"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "str", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "req_type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "desc_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_report"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 28}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+		&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, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+	}}},
 	{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}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -41011,6 +41518,26 @@
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nsegs", TypeSize: 4}}, Buf: "segments"},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "fs_image_segment"}}}},
 	}},
+	{Name: "syz_usb_connect", CallName: "syz_usb_connect", Args: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Buf: "dev"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{Name: "syz_usb_control_io", CallName: "syz_usb_control_io", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&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}},
+	}},
+	{Name: "syz_usb_ep_write", CallName: "syz_usb_ep_write", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "ep", TypeSize: 2}}, Kind: 2, RangeEnd: 31},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+	}},
 	{NR: 315, Name: "tee", CallName: "tee", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}},
@@ -42683,6 +43210,7 @@
 	{Name: "CMTPCONNDEL", Value: 1074021321},
 	{Name: "CMTPGETCONNINFO", Value: 2147763155},
 	{Name: "CMTPGETCONNLIST", Value: 2147763154},
+	{Name: "CONTAINER_ID_TYPE", Value: 4},
 	{Name: "CRYPTOCFGA_PRIORITY_VAL", Value: 1},
 	{Name: "CRYPTO_ALG_ASYNC", Value: 128},
 	{Name: "CRYPTO_ALG_DEAD", Value: 32},
@@ -43526,6 +44054,57 @@
 	{Name: "HIDPGETCONNLIST", Value: 2147764434},
 	{Name: "HIDP_BOOT_PROTOCOL_MODE_BIT", Value: 2},
 	{Name: "HIDP_VIRTUAL_CABLE_UNPLUG_BIT", Value: 1},
+	{Name: "HID_DT_HID", Value: 33},
+	{Name: "HID_DT_PHYSICAL", Value: 35},
+	{Name: "HID_DT_REPORT", Value: 34},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM", Value: 2},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM", Value: 1},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM", Value: 4},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM", Value: 3},
+	{Name: "HID_GLOBAL_ITEM_TAG_POP", Value: 11},
+	{Name: "HID_GLOBAL_ITEM_TAG_PUSH", Value: 10},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_COUNT", Value: 9},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_ID", Value: 8},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_SIZE", Value: 7},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT", Value: 6},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT", Value: 5},
+	{Name: "HID_GLOBAL_ITEM_TAG_USAGE_PAGE"},
+	{Name: "HID_ITEM_TAG_LONG", Value: 15},
+	{Name: "HID_ITEM_TYPE_GLOBAL", Value: 1},
+	{Name: "HID_ITEM_TYPE_LOCAL", Value: 2},
+	{Name: "HID_ITEM_TYPE_MAIN"},
+	{Name: "HID_ITEM_TYPE_RESERVED", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DELIMITER", Value: 10},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM", Value: 5},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM", Value: 4},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_INDEX", Value: 7},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MAXIMUM", Value: 9},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MINIMUM", Value: 8},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE"},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM", Value: 2},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MINIMUM", Value: 1},
+	{Name: "HID_MAIN_ITEM_TAG_BEGIN_COLLECTION", Value: 10},
+	{Name: "HID_MAIN_ITEM_TAG_END_COLLECTION", Value: 12},
+	{Name: "HID_MAIN_ITEM_TAG_FEATURE", Value: 11},
+	{Name: "HID_MAIN_ITEM_TAG_INPUT", Value: 8},
+	{Name: "HID_MAIN_ITEM_TAG_OUTPUT", Value: 9},
+	{Name: "HID_MAX_DESCRIPTOR_SIZE", Value: 4096},
+	{Name: "HUB_CHANGE_LOCAL_POWER", Value: 1},
+	{Name: "HUB_CHANGE_OVERCURRENT", Value: 2},
+	{Name: "HUB_CHAR_COMMON_LPSM"},
+	{Name: "HUB_CHAR_COMMON_OCPM"},
+	{Name: "HUB_CHAR_COMPOUND", Value: 4},
+	{Name: "HUB_CHAR_INDV_PORT_LPSM", Value: 1},
+	{Name: "HUB_CHAR_INDV_PORT_OCPM", Value: 8},
+	{Name: "HUB_CHAR_LPSM", Value: 3},
+	{Name: "HUB_CHAR_NO_LPSM", Value: 2},
+	{Name: "HUB_CHAR_NO_OCPM", Value: 16},
+	{Name: "HUB_CHAR_OCPM", Value: 24},
+	{Name: "HUB_CHAR_PORTIND", Value: 128},
+	{Name: "HUB_CHAR_TTTT", Value: 96},
+	{Name: "HUB_STATUS_LOCAL_POWER", Value: 1},
+	{Name: "HUB_STATUS_OVERCURRENT", Value: 2},
 	{Name: "HW_BREAKPOINT_EMPTY"},
 	{Name: "HW_BREAKPOINT_R", Value: 1},
 	{Name: "HW_BREAKPOINT_W", Value: 2},
@@ -47692,6 +48271,209 @@
 	{Name: "UI_SET_SWBIT", Value: 1074025837},
 	{Name: "UMOUNT_NOFOLLOW", Value: 8},
 	{Name: "UNIX_PATH_MAX", Value: 108},
+	{Name: "USB_5GBPS_OPERATION", Value: 8},
+	{Name: "USB_BESL_BASELINE_VALID", Value: 8},
+	{Name: "USB_BESL_DEEP_VALID", Value: 16},
+	{Name: "USB_BESL_SUPPORT", Value: 4},
+	{Name: "USB_CAP_TYPE_EXT", Value: 2},
+	{Name: "USB_CAP_TYPE_WIRELESS_USB", Value: 1},
+	{Name: "USB_CDC_ACM_TYPE", Value: 2},
+	{Name: "USB_CDC_CALL_MANAGEMENT_TYPE", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_CALL_MGMT", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_DATA_INTF", Value: 2},
+	{Name: "USB_CDC_CAP_BRK", Value: 4},
+	{Name: "USB_CDC_CAP_LINE", Value: 2},
+	{Name: "USB_CDC_CAP_NOTIFY", Value: 8},
+	{Name: "USB_CDC_COMM_FEATURE", Value: 1},
+	{Name: "USB_CDC_COUNTRY_TYPE", Value: 7},
+	{Name: "USB_CDC_DMM_TYPE", Value: 20},
+	{Name: "USB_CDC_ETHERNET_TYPE", Value: 15},
+	{Name: "USB_CDC_GET_NTB_PARAMETERS", Value: 128},
+	{Name: "USB_CDC_HEADER_TYPE"},
+	{Name: "USB_CDC_MBIM_EXTENDED_TYPE", Value: 28},
+	{Name: "USB_CDC_MBIM_TYPE", Value: 27},
+	{Name: "USB_CDC_MDLM_DETAIL_TYPE", Value: 19},
+	{Name: "USB_CDC_MDLM_TYPE", Value: 18},
+	{Name: "USB_CDC_NCM_TYPE", Value: 26},
+	{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
+	{Name: "USB_CDC_OBEX_TYPE", Value: 21},
+	{Name: "USB_CDC_UNION_TYPE", Value: 6},
+	{Name: "USB_CLASS_APP_SPEC", Value: 254},
+	{Name: "USB_CLASS_AUDIO", Value: 1},
+	{Name: "USB_CLASS_CDC_DATA", Value: 10},
+	{Name: "USB_CLASS_COMM", Value: 2},
+	{Name: "USB_CLASS_CONTENT_SEC", Value: 13},
+	{Name: "USB_CLASS_CSCID", Value: 11},
+	{Name: "USB_CLASS_HID", Value: 3},
+	{Name: "USB_CLASS_HUB", Value: 9},
+	{Name: "USB_CLASS_MASS_STORAGE", Value: 8},
+	{Name: "USB_CLASS_MISC", Value: 239},
+	{Name: "USB_CLASS_PER_INTERFACE"},
+	{Name: "USB_CLASS_PHYSICAL", Value: 5},
+	{Name: "USB_CLASS_PRINTER", Value: 7},
+	{Name: "USB_CLASS_STILL_IMAGE", Value: 6},
+	{Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
+	{Name: "USB_CLASS_VIDEO", Value: 14},
+	{Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+	{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
+	{Name: "USB_CONFIG_ATT_ONE", Value: 128},
+	{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
+	{Name: "USB_CONFIG_ATT_WAKEUP", Value: 32},
+	{Name: "USB_DT_BOS", Value: 15},
+	{Name: "USB_DT_BOS_SIZE", Value: 5},
+	{Name: "USB_DT_CONFIG", Value: 2},
+	{Name: "USB_DT_CONFIG_SIZE", Value: 9},
+	{Name: "USB_DT_CS_INTERFACE", Value: 36},
+	{Name: "USB_DT_CS_RADIO_CONTROL", Value: 35},
+	{Name: "USB_DT_DEBUG", Value: 10},
+	{Name: "USB_DT_DEVICE", Value: 1},
+	{Name: "USB_DT_DEVICE_CAPABILITY", Value: 16},
+	{Name: "USB_DT_DEVICE_QUALIFIER", Value: 6},
+	{Name: "USB_DT_DEVICE_SIZE", Value: 18},
+	{Name: "USB_DT_ENCRYPTION_TYPE", Value: 14},
+	{Name: "USB_DT_ENDPOINT", Value: 5},
+	{Name: "USB_DT_ENDPOINT_SIZE", Value: 7},
+	{Name: "USB_DT_HUB", Value: 41},
+	{Name: "USB_DT_INTERFACE", Value: 4},
+	{Name: "USB_DT_INTERFACE_ASSOCIATION", Value: 11},
+	{Name: "USB_DT_INTERFACE_POWER", Value: 8},
+	{Name: "USB_DT_INTERFACE_SIZE", Value: 9},
+	{Name: "USB_DT_KEY", Value: 13},
+	{Name: "USB_DT_OTG", Value: 9},
+	{Name: "USB_DT_OTHER_SPEED_CONFIG", Value: 7},
+	{Name: "USB_DT_PIPE_USAGE", Value: 36},
+	{Name: "USB_DT_RPIPE", Value: 34},
+	{Name: "USB_DT_SECURITY", Value: 12},
+	{Name: "USB_DT_SSP_ISOC_ENDPOINT_COMP", Value: 49},
+	{Name: "USB_DT_SS_ENDPOINT_COMP", Value: 48},
+	{Name: "USB_DT_SS_HUB", Value: 42},
+	{Name: "USB_DT_STRING", Value: 3},
+	{Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17},
+	{Name: "USB_DT_WIRE_ADAPTER", Value: 33},
+	{Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16},
+	{Name: "USB_ENDPOINT_INTR_PERIODIC"},
+	{Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8},
+	{Name: "USB_ENDPOINT_SYNC_ASYNC", Value: 4},
+	{Name: "USB_ENDPOINT_SYNC_NONE"},
+	{Name: "USB_ENDPOINT_SYNC_SYNC", Value: 12},
+	{Name: "USB_ENDPOINT_USAGE_DATA"},
+	{Name: "USB_ENDPOINT_USAGE_FEEDBACK", Value: 16},
+	{Name: "USB_ENDPOINT_XFER_BULK", Value: 2},
+	{Name: "USB_ENDPOINT_XFER_CONTROL"},
+	{Name: "USB_ENDPOINT_XFER_INT", Value: 3},
+	{Name: "USB_ENDPOINT_XFER_ISOC", Value: 1},
+	{Name: "USB_EXT_PORT_STAT_RX_LANES", Value: 3840},
+	{Name: "USB_EXT_PORT_STAT_RX_SPEED_ID", Value: 15},
+	{Name: "USB_EXT_PORT_STAT_TX_LANES", Value: 61440},
+	{Name: "USB_EXT_PORT_STAT_TX_SPEED_ID", Value: 240},
+	{Name: "USB_FULL_SPEED_OPERATION", Value: 2},
+	{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
+	{Name: "USB_HUB_PORTS_BITS", Value: 4},
+	{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
+	{Name: "USB_LPM_SUPPORT", Value: 2},
+	{Name: "USB_LTM_SUPPORT", Value: 2},
+	{Name: "USB_PORT_STAT_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_BH_RESET", Value: 32},
+	{Name: "USB_PORT_STAT_C_CONFIG_ERROR", Value: 128},
+	{Name: "USB_PORT_STAT_C_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_C_L1", Value: 32},
+	{Name: "USB_PORT_STAT_C_LINK_STATE", Value: 64},
+	{Name: "USB_PORT_STAT_C_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_C_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_C_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_HIGH_SPEED", Value: 1024},
+	{Name: "USB_PORT_STAT_INDICATOR", Value: 4096},
+	{Name: "USB_PORT_STAT_L1", Value: 32},
+	{Name: "USB_PORT_STAT_LINK_STATE", Value: 480},
+	{Name: "USB_PORT_STAT_LOW_SPEED", Value: 512},
+	{Name: "USB_PORT_STAT_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_POWER", Value: 256},
+	{Name: "USB_PORT_STAT_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_SPEED_5GBPS"},
+	{Name: "USB_PORT_STAT_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_TEST", Value: 2048},
+	{Name: "USB_PTM_CAP_TYPE", Value: 11},
+	{Name: "USB_REQ_CLEAR_FEATURE", Value: 1},
+	{Name: "USB_REQ_GET_BATTERY_STATUS", Value: 21},
+	{Name: "USB_REQ_GET_CONFIGURATION", Value: 8},
+	{Name: "USB_REQ_GET_DESCRIPTOR", Value: 6},
+	{Name: "USB_REQ_GET_ENCRYPTION", Value: 14},
+	{Name: "USB_REQ_GET_HANDSHAKE", Value: 16},
+	{Name: "USB_REQ_GET_INTERFACE", Value: 10},
+	{Name: "USB_REQ_GET_PARTNER_PDO", Value: 20},
+	{Name: "USB_REQ_GET_SECURITY_DATA", Value: 19},
+	{Name: "USB_REQ_GET_STATUS"},
+	{Name: "USB_REQ_GET_VDM", Value: 23},
+	{Name: "USB_REQ_LOOPBACK_DATA_READ", Value: 22},
+	{Name: "USB_REQ_LOOPBACK_DATA_WRITE", Value: 21},
+	{Name: "USB_REQ_RPIPE_ABORT", Value: 14},
+	{Name: "USB_REQ_RPIPE_RESET", Value: 15},
+	{Name: "USB_REQ_SEND_VDM", Value: 24},
+	{Name: "USB_REQ_SET_ADDRESS", Value: 5},
+	{Name: "USB_REQ_SET_CONFIGURATION", Value: 9},
+	{Name: "USB_REQ_SET_CONNECTION", Value: 17},
+	{Name: "USB_REQ_SET_DESCRIPTOR", Value: 7},
+	{Name: "USB_REQ_SET_ENCRYPTION", Value: 13},
+	{Name: "USB_REQ_SET_FEATURE", Value: 3},
+	{Name: "USB_REQ_SET_HANDSHAKE", Value: 15},
+	{Name: "USB_REQ_SET_INTERFACE", Value: 11},
+	{Name: "USB_REQ_SET_INTERFACE_DS", Value: 23},
+	{Name: "USB_REQ_SET_ISOCH_DELAY", Value: 49},
+	{Name: "USB_REQ_SET_PDO", Value: 22},
+	{Name: "USB_REQ_SET_SECURITY_DATA", Value: 18},
+	{Name: "USB_REQ_SET_SEL", Value: 48},
+	{Name: "USB_REQ_SET_WUSB_DATA", Value: 20},
+	{Name: "USB_REQ_SYNCH_FRAME", Value: 12},
+	{Name: "USB_SPEED_FULL", Value: 2},
+	{Name: "USB_SPEED_HIGH", Value: 3},
+	{Name: "USB_SPEED_LOW", Value: 1},
+	{Name: "USB_SPEED_SUPER", Value: 5},
+	{Name: "USB_SPEED_SUPER_PLUS", Value: 6},
+	{Name: "USB_SPEED_UNKNOWN"},
+	{Name: "USB_SPEED_WIRELESS", Value: 4},
+	{Name: "USB_SSP_CAP_TYPE", Value: 10},
+	{Name: "USB_SSP_MIN_RX_LANE_COUNT", Value: 3840},
+	{Name: "USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID", Value: 15},
+	{Name: "USB_SSP_MIN_TX_LANE_COUNT", Value: 61440},
+	{Name: "USB_SSP_SUBLINK_SPEED_LP", Value: 49152},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSE", Value: 48},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSM", Value: 16711680},
+	{Name: "USB_SSP_SUBLINK_SPEED_RSVD", Value: 16128},
+	{Name: "USB_SSP_SUBLINK_SPEED_SSID", Value: 15},
+	{Name: "USB_SSP_SUBLINK_SPEED_ST", Value: 192},
+	{Name: "USB_SS_CAP_TYPE", Value: 3},
+	{Name: "USB_SS_PORT_LS_COMP_MOD", Value: 320},
+	{Name: "USB_SS_PORT_LS_HOT_RESET", Value: 288},
+	{Name: "USB_SS_PORT_LS_LOOPBACK", Value: 352},
+	{Name: "USB_SS_PORT_LS_POLLING", Value: 224},
+	{Name: "USB_SS_PORT_LS_RECOVERY", Value: 256},
+	{Name: "USB_SS_PORT_LS_RX_DETECT", Value: 160},
+	{Name: "USB_SS_PORT_LS_SS_DISABLED", Value: 128},
+	{Name: "USB_SS_PORT_LS_SS_INACTIVE", Value: 192},
+	{Name: "USB_SS_PORT_LS_U0"},
+	{Name: "USB_SS_PORT_LS_U1", Value: 32},
+	{Name: "USB_SS_PORT_LS_U2", Value: 64},
+	{Name: "USB_SS_PORT_LS_U3", Value: 96},
+	{Name: "USB_SS_PORT_STAT_POWER", Value: 512},
+	{Name: "USB_SS_PORT_STAT_SPEED", Value: 7168},
+	{Name: "USB_TYPE_CLASS", Value: 32},
+	{Name: "USB_TYPE_STANDARD"},
+	{Name: "USB_TYPE_VENDOR", Value: 64},
+	{Name: "USB_WIRELESS_BEACON_DIRECTED", Value: 8},
+	{Name: "USB_WIRELESS_BEACON_MASK", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_NONE", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_SELF", Value: 4},
+	{Name: "USB_WIRELESS_P2P_DRD", Value: 2},
+	{Name: "USB_WIRELESS_PHY_107", Value: 4},
+	{Name: "USB_WIRELESS_PHY_160", Value: 8},
+	{Name: "USB_WIRELESS_PHY_200", Value: 16},
+	{Name: "USB_WIRELESS_PHY_320", Value: 32},
+	{Name: "USB_WIRELESS_PHY_400", Value: 64},
+	{Name: "USB_WIRELESS_PHY_480", Value: 128},
+	{Name: "USB_WIRELESS_PHY_53", Value: 1},
+	{Name: "USB_WIRELESS_PHY_80", Value: 2},
 	{Name: "USERIO_CMD_REGISTER"},
 	{Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2},
 	{Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1},
@@ -49390,4 +50172,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_386 = "503a956697098a878ecb10c528a9f3b3ebdb7ba6"
+const revision_386 = "9c00be196a8a56fe3ab70b20c2356ad34ba8f285"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 6b31a06..1c3469d 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -104,6 +104,7 @@
 	{Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+	{Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_usb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -6410,6 +6411,49 @@
 		&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
 		&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
 	}}},
+	{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Buf: "class_desc"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
+	}}},
+	{Key: StructKey{Name: "hid_report_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item", IsVarlen: true}, Fields: []Type{
+		&UnionType{Key: StructKey{Name: "hid_report_item_short"}, FldName: "short"},
+		&StructType{Key: StructKey{Name: "hid_report_item_long"}, FldName: "long"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_long"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_long", IsVarlen: true}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDataSize", TypeSize: 1}}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bLongItemTag", TypeSize: 1}}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 255},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "hid_report_item_short_012"}, FldName: "item_012"},
+		&StructType{Key: StructKey{Name: "hid_report_item_short_4"}, FldName: "item_4"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_012"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_012", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 2},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_4", TypeSize: 5}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
 	{Key: StructKey{Name: "hidp_connadd_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hidp_connadd_req", TypeSize: 168}, Fields: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ctrlsk", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "intrsk", TypeSize: 4}},
@@ -24801,6 +24845,339 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
 	}}},
+	{Key: StructKey{Name: "usb_bos_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_bos_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDeviceCaps", TypeSize: 1}}, Buf: "caps"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "caps", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_dev_cap"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_country_functional_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 7},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iCountryCodeRelDate", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wCountyCode0", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "country_codes", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_dmm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_dmm_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 20},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 15},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iMACAddress", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmEthernetStatistics", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_item"}}, Kind: 1, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_item", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_cdc_generic"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"},
+		&StructType{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, FldName: "call_mgmt"},
+		&StructType{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, FldName: "acm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"},
+		&StructType{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, FldName: "country_functional"},
+		&StructType{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, FldName: "network_terminal"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"},
+		&StructType{Key: StructKey{Name: "usb_cdc_dmm_desc"}, FldName: "dmm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, FldName: "mdlm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, FldName: "mdlm_detail"},
+		&StructType{Key: StructKey{Name: "usb_cdc_obex_desc"}, FldName: "obex"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_desc"}, FldName: "mbim"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_desc", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 27},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxControlMessage", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberFilters", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxFilterSize", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_extended_desc", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 28},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMExtendedVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxOutstandingCommandMessages", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMTU", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_desc", TypeSize: 21}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bGUID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 19},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bGuidDescriptorType", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bDetailData", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_desc", TypeSize: 6}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 26},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdNcmVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_ntb_parameters", TypeSize: 28}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wLength", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmNtbFormatsSupported", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbInMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wPadding1", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbOutMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNtbOutMaxDatagrams", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_network_terminal_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEntityId", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iName", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bChannelIndex", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPhysicalInterface", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_obex_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_obex_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMasterInterface0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSlaveInterface0", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 2},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Buf: "interfaces"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bConfigurationValue", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, FldName: "wireless"},
+		&StructType{Key: StructKey{Name: "usb_ext_cap_descriptor"}, FldName: "ext_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_cap_descriptor"}, FldName: "ss_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, FldName: "ss_container_id"},
+		&StructType{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, FldName: "ssp_cap"},
+		&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
+	}}},
+	{Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Buf: "configs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_endpoint_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 0, 16, 0, 4, 8, 12, 0, 16, 16}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+	}}},
+	{Key: StructKey{Name: "usb_ext_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_descriptor", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_attributes", FldName: "bmAttributes1", TypeSize: 4}, BitfieldLen: 8, BitfieldMdl: true}, Vals: []uint64{2, 4, 8, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes2", TypeSize: 4}, BitfieldOff: 8, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes3", TypeSize: 4}, BitfieldOff: 12, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes4", TypeSize: 4}, BitfieldOff: 16, BitfieldLen: 16}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_capability_types", FldName: "bDevCapabilityType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 10, 4, 11}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "DeviceRemovable", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "PortPwrCtrlMask", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_ss"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_ss", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 42},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubHdrDecLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wHubDelay", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "DeviceRemovable", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_status", TypeSize: 4}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_status_flags", FldName: "wHubStatus", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Buf: "endpoints"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
+	}}},
+	{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_status_flags", FldName: "wPortStatus", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 480, 512, 7168, 0, 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_change_flags", FldName: "wPortChange", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 32, 64, 128}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "dwExtPortStatus", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_port_status_flags", TypeSize: 4}}, Vals: []uint64{15, 240, 3840, 61440}, BitMask: true}, Kind: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ptm_cap_descriptor", TypeSize: 3}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 11},
+	}}},
+	{Key: StructKey{Name: "usb_qualifier_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_qualifier_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumConfigurations", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bRESERVED", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_speed", FldName: "wSpeedSupported", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bFunctionalitySupport", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bU1devExitLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bU2DevExitLat", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_container_id_descriptor", TypeSize: 20}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ContainerID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bmAttributesSublinkSpeeds", TypeSize: 4}, BitfieldLen: 5, BitfieldMdl: true}, Buf: "bmSublinkSpeedAttr"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributesSpeedIDs", TypeSize: 4}, BitfieldOff: 5, BitfieldLen: 27}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_funcs", FldName: "wFunctionalitySupport", TypeSize: 2}}, Vals: []uint64{15, 3840, 61440}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wReserved", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bmSublinkSpeedAttr", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_sublink_speeds", TypeSize: 4}}, Vals: []uint64{15, 48, 192, 16128, 49152, 16711680}, BitMask: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "lang_id", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2, 12, 4, 8, 12}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_phyrates", FldName: "wPHYRates", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmTFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmFFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmBandGroup", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+	}}},
 	{Key: StructKey{Name: "user_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "user_desc", TypeSize: 16}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entry_number", TypeSize: 4}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "user_desc_bases", FldName: "base_addr", TypeSize: 4}}, Vals: []uint64{0, 4096, 1048576, 536870912, 536872960, 536875008, 18446744073709551615}},
@@ -25861,6 +26238,136 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_VTI_REMOTE, int16], ipv4_addr]"}, FldName: "IFLA_VTI_REMOTE"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vti_common_policy", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "vti_common_policy"}}},
 	}}},
+	{Key: StructKey{Name: "vusb_connect_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_descriptors", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "qual_len", TypeSize: 4}}, Buf: "qual"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "qual", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_qualifier_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bos_len", TypeSize: 4}}, Buf: "bos"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_bos_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "strs_len", TypeSize: 4}}, Buf: "strs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "strs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vusb_connect_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_connect_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_string_descriptor", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "str"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "str", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "req_type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "desc_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_report"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 52}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+		&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, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+	}}},
 	{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}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -41513,6 +42020,26 @@
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nsegs", TypeSize: 8}}, Buf: "segments"},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "fs_image_segment"}}}},
 	}},
+	{Name: "syz_usb_connect", CallName: "syz_usb_connect", Args: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Buf: "dev"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{Name: "syz_usb_control_io", CallName: "syz_usb_control_io", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&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}},
+	}},
+	{Name: "syz_usb_ep_write", CallName: "syz_usb_ep_write", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "ep", TypeSize: 2}}, Kind: 2, RangeEnd: 31},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+	}},
 	{NR: 276, Name: "tee", CallName: "tee", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}},
@@ -43185,6 +43712,7 @@
 	{Name: "CMTPCONNDEL", Value: 1074021321},
 	{Name: "CMTPGETCONNINFO", Value: 2147763155},
 	{Name: "CMTPGETCONNLIST", Value: 2147763154},
+	{Name: "CONTAINER_ID_TYPE", Value: 4},
 	{Name: "CRYPTOCFGA_PRIORITY_VAL", Value: 1},
 	{Name: "CRYPTO_ALG_ASYNC", Value: 128},
 	{Name: "CRYPTO_ALG_DEAD", Value: 32},
@@ -44028,6 +44556,57 @@
 	{Name: "HIDPGETCONNLIST", Value: 2147764434},
 	{Name: "HIDP_BOOT_PROTOCOL_MODE_BIT", Value: 2},
 	{Name: "HIDP_VIRTUAL_CABLE_UNPLUG_BIT", Value: 1},
+	{Name: "HID_DT_HID", Value: 33},
+	{Name: "HID_DT_PHYSICAL", Value: 35},
+	{Name: "HID_DT_REPORT", Value: 34},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM", Value: 2},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM", Value: 1},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM", Value: 4},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM", Value: 3},
+	{Name: "HID_GLOBAL_ITEM_TAG_POP", Value: 11},
+	{Name: "HID_GLOBAL_ITEM_TAG_PUSH", Value: 10},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_COUNT", Value: 9},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_ID", Value: 8},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_SIZE", Value: 7},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT", Value: 6},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT", Value: 5},
+	{Name: "HID_GLOBAL_ITEM_TAG_USAGE_PAGE"},
+	{Name: "HID_ITEM_TAG_LONG", Value: 15},
+	{Name: "HID_ITEM_TYPE_GLOBAL", Value: 1},
+	{Name: "HID_ITEM_TYPE_LOCAL", Value: 2},
+	{Name: "HID_ITEM_TYPE_MAIN"},
+	{Name: "HID_ITEM_TYPE_RESERVED", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DELIMITER", Value: 10},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM", Value: 5},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM", Value: 4},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_INDEX", Value: 7},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MAXIMUM", Value: 9},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MINIMUM", Value: 8},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE"},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM", Value: 2},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MINIMUM", Value: 1},
+	{Name: "HID_MAIN_ITEM_TAG_BEGIN_COLLECTION", Value: 10},
+	{Name: "HID_MAIN_ITEM_TAG_END_COLLECTION", Value: 12},
+	{Name: "HID_MAIN_ITEM_TAG_FEATURE", Value: 11},
+	{Name: "HID_MAIN_ITEM_TAG_INPUT", Value: 8},
+	{Name: "HID_MAIN_ITEM_TAG_OUTPUT", Value: 9},
+	{Name: "HID_MAX_DESCRIPTOR_SIZE", Value: 4096},
+	{Name: "HUB_CHANGE_LOCAL_POWER", Value: 1},
+	{Name: "HUB_CHANGE_OVERCURRENT", Value: 2},
+	{Name: "HUB_CHAR_COMMON_LPSM"},
+	{Name: "HUB_CHAR_COMMON_OCPM"},
+	{Name: "HUB_CHAR_COMPOUND", Value: 4},
+	{Name: "HUB_CHAR_INDV_PORT_LPSM", Value: 1},
+	{Name: "HUB_CHAR_INDV_PORT_OCPM", Value: 8},
+	{Name: "HUB_CHAR_LPSM", Value: 3},
+	{Name: "HUB_CHAR_NO_LPSM", Value: 2},
+	{Name: "HUB_CHAR_NO_OCPM", Value: 16},
+	{Name: "HUB_CHAR_OCPM", Value: 24},
+	{Name: "HUB_CHAR_PORTIND", Value: 128},
+	{Name: "HUB_CHAR_TTTT", Value: 96},
+	{Name: "HUB_STATUS_LOCAL_POWER", Value: 1},
+	{Name: "HUB_STATUS_OVERCURRENT", Value: 2},
 	{Name: "HW_BREAKPOINT_EMPTY"},
 	{Name: "HW_BREAKPOINT_R", Value: 1},
 	{Name: "HW_BREAKPOINT_W", Value: 2},
@@ -48208,6 +48787,209 @@
 	{Name: "UI_SET_SWBIT", Value: 1074025837},
 	{Name: "UMOUNT_NOFOLLOW", Value: 8},
 	{Name: "UNIX_PATH_MAX", Value: 108},
+	{Name: "USB_5GBPS_OPERATION", Value: 8},
+	{Name: "USB_BESL_BASELINE_VALID", Value: 8},
+	{Name: "USB_BESL_DEEP_VALID", Value: 16},
+	{Name: "USB_BESL_SUPPORT", Value: 4},
+	{Name: "USB_CAP_TYPE_EXT", Value: 2},
+	{Name: "USB_CAP_TYPE_WIRELESS_USB", Value: 1},
+	{Name: "USB_CDC_ACM_TYPE", Value: 2},
+	{Name: "USB_CDC_CALL_MANAGEMENT_TYPE", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_CALL_MGMT", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_DATA_INTF", Value: 2},
+	{Name: "USB_CDC_CAP_BRK", Value: 4},
+	{Name: "USB_CDC_CAP_LINE", Value: 2},
+	{Name: "USB_CDC_CAP_NOTIFY", Value: 8},
+	{Name: "USB_CDC_COMM_FEATURE", Value: 1},
+	{Name: "USB_CDC_COUNTRY_TYPE", Value: 7},
+	{Name: "USB_CDC_DMM_TYPE", Value: 20},
+	{Name: "USB_CDC_ETHERNET_TYPE", Value: 15},
+	{Name: "USB_CDC_GET_NTB_PARAMETERS", Value: 128},
+	{Name: "USB_CDC_HEADER_TYPE"},
+	{Name: "USB_CDC_MBIM_EXTENDED_TYPE", Value: 28},
+	{Name: "USB_CDC_MBIM_TYPE", Value: 27},
+	{Name: "USB_CDC_MDLM_DETAIL_TYPE", Value: 19},
+	{Name: "USB_CDC_MDLM_TYPE", Value: 18},
+	{Name: "USB_CDC_NCM_TYPE", Value: 26},
+	{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
+	{Name: "USB_CDC_OBEX_TYPE", Value: 21},
+	{Name: "USB_CDC_UNION_TYPE", Value: 6},
+	{Name: "USB_CLASS_APP_SPEC", Value: 254},
+	{Name: "USB_CLASS_AUDIO", Value: 1},
+	{Name: "USB_CLASS_CDC_DATA", Value: 10},
+	{Name: "USB_CLASS_COMM", Value: 2},
+	{Name: "USB_CLASS_CONTENT_SEC", Value: 13},
+	{Name: "USB_CLASS_CSCID", Value: 11},
+	{Name: "USB_CLASS_HID", Value: 3},
+	{Name: "USB_CLASS_HUB", Value: 9},
+	{Name: "USB_CLASS_MASS_STORAGE", Value: 8},
+	{Name: "USB_CLASS_MISC", Value: 239},
+	{Name: "USB_CLASS_PER_INTERFACE"},
+	{Name: "USB_CLASS_PHYSICAL", Value: 5},
+	{Name: "USB_CLASS_PRINTER", Value: 7},
+	{Name: "USB_CLASS_STILL_IMAGE", Value: 6},
+	{Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
+	{Name: "USB_CLASS_VIDEO", Value: 14},
+	{Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+	{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
+	{Name: "USB_CONFIG_ATT_ONE", Value: 128},
+	{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
+	{Name: "USB_CONFIG_ATT_WAKEUP", Value: 32},
+	{Name: "USB_DT_BOS", Value: 15},
+	{Name: "USB_DT_BOS_SIZE", Value: 5},
+	{Name: "USB_DT_CONFIG", Value: 2},
+	{Name: "USB_DT_CONFIG_SIZE", Value: 9},
+	{Name: "USB_DT_CS_INTERFACE", Value: 36},
+	{Name: "USB_DT_CS_RADIO_CONTROL", Value: 35},
+	{Name: "USB_DT_DEBUG", Value: 10},
+	{Name: "USB_DT_DEVICE", Value: 1},
+	{Name: "USB_DT_DEVICE_CAPABILITY", Value: 16},
+	{Name: "USB_DT_DEVICE_QUALIFIER", Value: 6},
+	{Name: "USB_DT_DEVICE_SIZE", Value: 18},
+	{Name: "USB_DT_ENCRYPTION_TYPE", Value: 14},
+	{Name: "USB_DT_ENDPOINT", Value: 5},
+	{Name: "USB_DT_ENDPOINT_SIZE", Value: 7},
+	{Name: "USB_DT_HUB", Value: 41},
+	{Name: "USB_DT_INTERFACE", Value: 4},
+	{Name: "USB_DT_INTERFACE_ASSOCIATION", Value: 11},
+	{Name: "USB_DT_INTERFACE_POWER", Value: 8},
+	{Name: "USB_DT_INTERFACE_SIZE", Value: 9},
+	{Name: "USB_DT_KEY", Value: 13},
+	{Name: "USB_DT_OTG", Value: 9},
+	{Name: "USB_DT_OTHER_SPEED_CONFIG", Value: 7},
+	{Name: "USB_DT_PIPE_USAGE", Value: 36},
+	{Name: "USB_DT_RPIPE", Value: 34},
+	{Name: "USB_DT_SECURITY", Value: 12},
+	{Name: "USB_DT_SSP_ISOC_ENDPOINT_COMP", Value: 49},
+	{Name: "USB_DT_SS_ENDPOINT_COMP", Value: 48},
+	{Name: "USB_DT_SS_HUB", Value: 42},
+	{Name: "USB_DT_STRING", Value: 3},
+	{Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17},
+	{Name: "USB_DT_WIRE_ADAPTER", Value: 33},
+	{Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16},
+	{Name: "USB_ENDPOINT_INTR_PERIODIC"},
+	{Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8},
+	{Name: "USB_ENDPOINT_SYNC_ASYNC", Value: 4},
+	{Name: "USB_ENDPOINT_SYNC_NONE"},
+	{Name: "USB_ENDPOINT_SYNC_SYNC", Value: 12},
+	{Name: "USB_ENDPOINT_USAGE_DATA"},
+	{Name: "USB_ENDPOINT_USAGE_FEEDBACK", Value: 16},
+	{Name: "USB_ENDPOINT_XFER_BULK", Value: 2},
+	{Name: "USB_ENDPOINT_XFER_CONTROL"},
+	{Name: "USB_ENDPOINT_XFER_INT", Value: 3},
+	{Name: "USB_ENDPOINT_XFER_ISOC", Value: 1},
+	{Name: "USB_EXT_PORT_STAT_RX_LANES", Value: 3840},
+	{Name: "USB_EXT_PORT_STAT_RX_SPEED_ID", Value: 15},
+	{Name: "USB_EXT_PORT_STAT_TX_LANES", Value: 61440},
+	{Name: "USB_EXT_PORT_STAT_TX_SPEED_ID", Value: 240},
+	{Name: "USB_FULL_SPEED_OPERATION", Value: 2},
+	{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
+	{Name: "USB_HUB_PORTS_BITS", Value: 4},
+	{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
+	{Name: "USB_LPM_SUPPORT", Value: 2},
+	{Name: "USB_LTM_SUPPORT", Value: 2},
+	{Name: "USB_PORT_STAT_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_BH_RESET", Value: 32},
+	{Name: "USB_PORT_STAT_C_CONFIG_ERROR", Value: 128},
+	{Name: "USB_PORT_STAT_C_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_C_L1", Value: 32},
+	{Name: "USB_PORT_STAT_C_LINK_STATE", Value: 64},
+	{Name: "USB_PORT_STAT_C_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_C_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_C_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_HIGH_SPEED", Value: 1024},
+	{Name: "USB_PORT_STAT_INDICATOR", Value: 4096},
+	{Name: "USB_PORT_STAT_L1", Value: 32},
+	{Name: "USB_PORT_STAT_LINK_STATE", Value: 480},
+	{Name: "USB_PORT_STAT_LOW_SPEED", Value: 512},
+	{Name: "USB_PORT_STAT_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_POWER", Value: 256},
+	{Name: "USB_PORT_STAT_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_SPEED_5GBPS"},
+	{Name: "USB_PORT_STAT_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_TEST", Value: 2048},
+	{Name: "USB_PTM_CAP_TYPE", Value: 11},
+	{Name: "USB_REQ_CLEAR_FEATURE", Value: 1},
+	{Name: "USB_REQ_GET_BATTERY_STATUS", Value: 21},
+	{Name: "USB_REQ_GET_CONFIGURATION", Value: 8},
+	{Name: "USB_REQ_GET_DESCRIPTOR", Value: 6},
+	{Name: "USB_REQ_GET_ENCRYPTION", Value: 14},
+	{Name: "USB_REQ_GET_HANDSHAKE", Value: 16},
+	{Name: "USB_REQ_GET_INTERFACE", Value: 10},
+	{Name: "USB_REQ_GET_PARTNER_PDO", Value: 20},
+	{Name: "USB_REQ_GET_SECURITY_DATA", Value: 19},
+	{Name: "USB_REQ_GET_STATUS"},
+	{Name: "USB_REQ_GET_VDM", Value: 23},
+	{Name: "USB_REQ_LOOPBACK_DATA_READ", Value: 22},
+	{Name: "USB_REQ_LOOPBACK_DATA_WRITE", Value: 21},
+	{Name: "USB_REQ_RPIPE_ABORT", Value: 14},
+	{Name: "USB_REQ_RPIPE_RESET", Value: 15},
+	{Name: "USB_REQ_SEND_VDM", Value: 24},
+	{Name: "USB_REQ_SET_ADDRESS", Value: 5},
+	{Name: "USB_REQ_SET_CONFIGURATION", Value: 9},
+	{Name: "USB_REQ_SET_CONNECTION", Value: 17},
+	{Name: "USB_REQ_SET_DESCRIPTOR", Value: 7},
+	{Name: "USB_REQ_SET_ENCRYPTION", Value: 13},
+	{Name: "USB_REQ_SET_FEATURE", Value: 3},
+	{Name: "USB_REQ_SET_HANDSHAKE", Value: 15},
+	{Name: "USB_REQ_SET_INTERFACE", Value: 11},
+	{Name: "USB_REQ_SET_INTERFACE_DS", Value: 23},
+	{Name: "USB_REQ_SET_ISOCH_DELAY", Value: 49},
+	{Name: "USB_REQ_SET_PDO", Value: 22},
+	{Name: "USB_REQ_SET_SECURITY_DATA", Value: 18},
+	{Name: "USB_REQ_SET_SEL", Value: 48},
+	{Name: "USB_REQ_SET_WUSB_DATA", Value: 20},
+	{Name: "USB_REQ_SYNCH_FRAME", Value: 12},
+	{Name: "USB_SPEED_FULL", Value: 2},
+	{Name: "USB_SPEED_HIGH", Value: 3},
+	{Name: "USB_SPEED_LOW", Value: 1},
+	{Name: "USB_SPEED_SUPER", Value: 5},
+	{Name: "USB_SPEED_SUPER_PLUS", Value: 6},
+	{Name: "USB_SPEED_UNKNOWN"},
+	{Name: "USB_SPEED_WIRELESS", Value: 4},
+	{Name: "USB_SSP_CAP_TYPE", Value: 10},
+	{Name: "USB_SSP_MIN_RX_LANE_COUNT", Value: 3840},
+	{Name: "USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID", Value: 15},
+	{Name: "USB_SSP_MIN_TX_LANE_COUNT", Value: 61440},
+	{Name: "USB_SSP_SUBLINK_SPEED_LP", Value: 49152},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSE", Value: 48},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSM", Value: 16711680},
+	{Name: "USB_SSP_SUBLINK_SPEED_RSVD", Value: 16128},
+	{Name: "USB_SSP_SUBLINK_SPEED_SSID", Value: 15},
+	{Name: "USB_SSP_SUBLINK_SPEED_ST", Value: 192},
+	{Name: "USB_SS_CAP_TYPE", Value: 3},
+	{Name: "USB_SS_PORT_LS_COMP_MOD", Value: 320},
+	{Name: "USB_SS_PORT_LS_HOT_RESET", Value: 288},
+	{Name: "USB_SS_PORT_LS_LOOPBACK", Value: 352},
+	{Name: "USB_SS_PORT_LS_POLLING", Value: 224},
+	{Name: "USB_SS_PORT_LS_RECOVERY", Value: 256},
+	{Name: "USB_SS_PORT_LS_RX_DETECT", Value: 160},
+	{Name: "USB_SS_PORT_LS_SS_DISABLED", Value: 128},
+	{Name: "USB_SS_PORT_LS_SS_INACTIVE", Value: 192},
+	{Name: "USB_SS_PORT_LS_U0"},
+	{Name: "USB_SS_PORT_LS_U1", Value: 32},
+	{Name: "USB_SS_PORT_LS_U2", Value: 64},
+	{Name: "USB_SS_PORT_LS_U3", Value: 96},
+	{Name: "USB_SS_PORT_STAT_POWER", Value: 512},
+	{Name: "USB_SS_PORT_STAT_SPEED", Value: 7168},
+	{Name: "USB_TYPE_CLASS", Value: 32},
+	{Name: "USB_TYPE_STANDARD"},
+	{Name: "USB_TYPE_VENDOR", Value: 64},
+	{Name: "USB_WIRELESS_BEACON_DIRECTED", Value: 8},
+	{Name: "USB_WIRELESS_BEACON_MASK", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_NONE", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_SELF", Value: 4},
+	{Name: "USB_WIRELESS_P2P_DRD", Value: 2},
+	{Name: "USB_WIRELESS_PHY_107", Value: 4},
+	{Name: "USB_WIRELESS_PHY_160", Value: 8},
+	{Name: "USB_WIRELESS_PHY_200", Value: 16},
+	{Name: "USB_WIRELESS_PHY_320", Value: 32},
+	{Name: "USB_WIRELESS_PHY_400", Value: 64},
+	{Name: "USB_WIRELESS_PHY_480", Value: 128},
+	{Name: "USB_WIRELESS_PHY_53", Value: 1},
+	{Name: "USB_WIRELESS_PHY_80", Value: 2},
 	{Name: "USERIO_CMD_REGISTER"},
 	{Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2},
 	{Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1},
@@ -49907,4 +50689,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_amd64 = "4b38ee1745e4a961e5791c130668ea8e902d6c60"
+const revision_amd64 = "47aef599b466ebb4ebb60dcd25fb03a67bcfefd6"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 03ac705..2e64589 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -104,6 +104,7 @@
 	{Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+	{Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_usb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -6319,6 +6320,49 @@
 		&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
 		&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
 	}}},
+	{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Buf: "class_desc"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
+	}}},
+	{Key: StructKey{Name: "hid_report_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item", IsVarlen: true}, Fields: []Type{
+		&UnionType{Key: StructKey{Name: "hid_report_item_short"}, FldName: "short"},
+		&StructType{Key: StructKey{Name: "hid_report_item_long"}, FldName: "long"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_long"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_long", IsVarlen: true}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDataSize", TypeSize: 1}}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bLongItemTag", TypeSize: 1}}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 255},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "hid_report_item_short_012"}, FldName: "item_012"},
+		&StructType{Key: StructKey{Name: "hid_report_item_short_4"}, FldName: "item_4"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_012"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_012", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 2},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_4", TypeSize: 5}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
 	{Key: StructKey{Name: "hidp_connadd_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hidp_connadd_req", TypeSize: 160}, Fields: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ctrlsk", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "intrsk", TypeSize: 4}},
@@ -24272,6 +24316,339 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
 	}}},
+	{Key: StructKey{Name: "usb_bos_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_bos_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDeviceCaps", TypeSize: 1}}, Buf: "caps"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "caps", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_dev_cap"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_country_functional_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 7},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iCountryCodeRelDate", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wCountyCode0", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "country_codes", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_dmm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_dmm_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 20},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 15},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iMACAddress", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmEthernetStatistics", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_item"}}, Kind: 1, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_item", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_cdc_generic"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"},
+		&StructType{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, FldName: "call_mgmt"},
+		&StructType{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, FldName: "acm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"},
+		&StructType{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, FldName: "country_functional"},
+		&StructType{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, FldName: "network_terminal"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"},
+		&StructType{Key: StructKey{Name: "usb_cdc_dmm_desc"}, FldName: "dmm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, FldName: "mdlm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, FldName: "mdlm_detail"},
+		&StructType{Key: StructKey{Name: "usb_cdc_obex_desc"}, FldName: "obex"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_desc"}, FldName: "mbim"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_desc", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 27},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxControlMessage", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberFilters", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxFilterSize", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_extended_desc", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 28},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMExtendedVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxOutstandingCommandMessages", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMTU", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_desc", TypeSize: 21}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bGUID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 19},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bGuidDescriptorType", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bDetailData", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_desc", TypeSize: 6}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 26},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdNcmVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_ntb_parameters", TypeSize: 28}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wLength", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmNtbFormatsSupported", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbInMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wPadding1", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbOutMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNtbOutMaxDatagrams", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_network_terminal_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEntityId", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iName", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bChannelIndex", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPhysicalInterface", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_obex_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_obex_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMasterInterface0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSlaveInterface0", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 2},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Buf: "interfaces"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bConfigurationValue", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, FldName: "wireless"},
+		&StructType{Key: StructKey{Name: "usb_ext_cap_descriptor"}, FldName: "ext_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_cap_descriptor"}, FldName: "ss_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, FldName: "ss_container_id"},
+		&StructType{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, FldName: "ssp_cap"},
+		&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
+	}}},
+	{Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Buf: "configs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_endpoint_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 0, 16, 0, 4, 8, 12, 0, 16, 16}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+	}}},
+	{Key: StructKey{Name: "usb_ext_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_descriptor", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_attributes", FldName: "bmAttributes1", TypeSize: 4}, BitfieldLen: 8, BitfieldMdl: true}, Vals: []uint64{2, 4, 8, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes2", TypeSize: 4}, BitfieldOff: 8, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes3", TypeSize: 4}, BitfieldOff: 12, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes4", TypeSize: 4}, BitfieldOff: 16, BitfieldLen: 16}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_capability_types", FldName: "bDevCapabilityType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 10, 4, 11}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "DeviceRemovable", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "PortPwrCtrlMask", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_ss"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_ss", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 42},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubHdrDecLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wHubDelay", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "DeviceRemovable", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_status", TypeSize: 4}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_status_flags", FldName: "wHubStatus", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Buf: "endpoints"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
+	}}},
+	{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_status_flags", FldName: "wPortStatus", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 480, 512, 7168, 0, 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_change_flags", FldName: "wPortChange", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 32, 64, 128}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "dwExtPortStatus", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_port_status_flags", TypeSize: 4}}, Vals: []uint64{15, 240, 3840, 61440}, BitMask: true}, Kind: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ptm_cap_descriptor", TypeSize: 3}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 11},
+	}}},
+	{Key: StructKey{Name: "usb_qualifier_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_qualifier_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumConfigurations", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bRESERVED", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_speed", FldName: "wSpeedSupported", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bFunctionalitySupport", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bU1devExitLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bU2DevExitLat", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_container_id_descriptor", TypeSize: 20}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ContainerID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bmAttributesSublinkSpeeds", TypeSize: 4}, BitfieldLen: 5, BitfieldMdl: true}, Buf: "bmSublinkSpeedAttr"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributesSpeedIDs", TypeSize: 4}, BitfieldOff: 5, BitfieldLen: 27}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_funcs", FldName: "wFunctionalitySupport", TypeSize: 2}}, Vals: []uint64{15, 3840, 61440}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wReserved", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bmSublinkSpeedAttr", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_sublink_speeds", TypeSize: 4}}, Vals: []uint64{15, 48, 192, 16128, 49152, 16711680}, BitMask: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "lang_id", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2, 12, 4, 8, 12}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_phyrates", FldName: "wPHYRates", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmTFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmFFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmBandGroup", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+	}}},
 	{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
@@ -25309,6 +25686,136 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_VTI_REMOTE, int16], ipv4_addr]"}, FldName: "IFLA_VTI_REMOTE"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vti_common_policy", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "vti_common_policy"}}},
 	}}},
+	{Key: StructKey{Name: "vusb_connect_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_descriptors", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "qual_len", TypeSize: 4}}, Buf: "qual"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "qual", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_qualifier_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bos_len", TypeSize: 4}}, Buf: "bos"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_bos_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "strs_len", TypeSize: 4}}, Buf: "strs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "strs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vusb_connect_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_connect_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_string_descriptor", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "str"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "str", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "req_type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "desc_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_report"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 28}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+		&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, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 44}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+	}}},
 	{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}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -40667,6 +41174,26 @@
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nsegs", TypeSize: 4}}, Buf: "segments"},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "fs_image_segment"}}}},
 	}},
+	{Name: "syz_usb_connect", CallName: "syz_usb_connect", Args: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 4}}, Buf: "dev"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{Name: "syz_usb_control_io", CallName: "syz_usb_control_io", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&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}},
+	}},
+	{Name: "syz_usb_ep_write", CallName: "syz_usb_ep_write", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "ep", TypeSize: 2}}, Kind: 2, RangeEnd: 31},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+	}},
 	{NR: 342, Name: "tee", CallName: "tee", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}},
@@ -42323,6 +42850,7 @@
 	{Name: "CMTPCONNDEL", Value: 1074021321},
 	{Name: "CMTPGETCONNINFO", Value: 2147763155},
 	{Name: "CMTPGETCONNLIST", Value: 2147763154},
+	{Name: "CONTAINER_ID_TYPE", Value: 4},
 	{Name: "CRYPTOCFGA_PRIORITY_VAL", Value: 1},
 	{Name: "CRYPTO_ALG_ASYNC", Value: 128},
 	{Name: "CRYPTO_ALG_DEAD", Value: 32},
@@ -43166,6 +43694,57 @@
 	{Name: "HIDPGETCONNLIST", Value: 2147764434},
 	{Name: "HIDP_BOOT_PROTOCOL_MODE_BIT", Value: 2},
 	{Name: "HIDP_VIRTUAL_CABLE_UNPLUG_BIT", Value: 1},
+	{Name: "HID_DT_HID", Value: 33},
+	{Name: "HID_DT_PHYSICAL", Value: 35},
+	{Name: "HID_DT_REPORT", Value: 34},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM", Value: 2},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM", Value: 1},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM", Value: 4},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM", Value: 3},
+	{Name: "HID_GLOBAL_ITEM_TAG_POP", Value: 11},
+	{Name: "HID_GLOBAL_ITEM_TAG_PUSH", Value: 10},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_COUNT", Value: 9},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_ID", Value: 8},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_SIZE", Value: 7},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT", Value: 6},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT", Value: 5},
+	{Name: "HID_GLOBAL_ITEM_TAG_USAGE_PAGE"},
+	{Name: "HID_ITEM_TAG_LONG", Value: 15},
+	{Name: "HID_ITEM_TYPE_GLOBAL", Value: 1},
+	{Name: "HID_ITEM_TYPE_LOCAL", Value: 2},
+	{Name: "HID_ITEM_TYPE_MAIN"},
+	{Name: "HID_ITEM_TYPE_RESERVED", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DELIMITER", Value: 10},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM", Value: 5},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM", Value: 4},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_INDEX", Value: 7},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MAXIMUM", Value: 9},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MINIMUM", Value: 8},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE"},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM", Value: 2},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MINIMUM", Value: 1},
+	{Name: "HID_MAIN_ITEM_TAG_BEGIN_COLLECTION", Value: 10},
+	{Name: "HID_MAIN_ITEM_TAG_END_COLLECTION", Value: 12},
+	{Name: "HID_MAIN_ITEM_TAG_FEATURE", Value: 11},
+	{Name: "HID_MAIN_ITEM_TAG_INPUT", Value: 8},
+	{Name: "HID_MAIN_ITEM_TAG_OUTPUT", Value: 9},
+	{Name: "HID_MAX_DESCRIPTOR_SIZE", Value: 4096},
+	{Name: "HUB_CHANGE_LOCAL_POWER", Value: 1},
+	{Name: "HUB_CHANGE_OVERCURRENT", Value: 2},
+	{Name: "HUB_CHAR_COMMON_LPSM"},
+	{Name: "HUB_CHAR_COMMON_OCPM"},
+	{Name: "HUB_CHAR_COMPOUND", Value: 4},
+	{Name: "HUB_CHAR_INDV_PORT_LPSM", Value: 1},
+	{Name: "HUB_CHAR_INDV_PORT_OCPM", Value: 8},
+	{Name: "HUB_CHAR_LPSM", Value: 3},
+	{Name: "HUB_CHAR_NO_LPSM", Value: 2},
+	{Name: "HUB_CHAR_NO_OCPM", Value: 16},
+	{Name: "HUB_CHAR_OCPM", Value: 24},
+	{Name: "HUB_CHAR_PORTIND", Value: 128},
+	{Name: "HUB_CHAR_TTTT", Value: 96},
+	{Name: "HUB_STATUS_LOCAL_POWER", Value: 1},
+	{Name: "HUB_STATUS_OVERCURRENT", Value: 2},
 	{Name: "HW_BREAKPOINT_EMPTY"},
 	{Name: "HW_BREAKPOINT_R", Value: 1},
 	{Name: "HW_BREAKPOINT_W", Value: 2},
@@ -47279,6 +47858,209 @@
 	{Name: "UI_SET_SWBIT", Value: 1074025837},
 	{Name: "UMOUNT_NOFOLLOW", Value: 8},
 	{Name: "UNIX_PATH_MAX", Value: 108},
+	{Name: "USB_5GBPS_OPERATION", Value: 8},
+	{Name: "USB_BESL_BASELINE_VALID", Value: 8},
+	{Name: "USB_BESL_DEEP_VALID", Value: 16},
+	{Name: "USB_BESL_SUPPORT", Value: 4},
+	{Name: "USB_CAP_TYPE_EXT", Value: 2},
+	{Name: "USB_CAP_TYPE_WIRELESS_USB", Value: 1},
+	{Name: "USB_CDC_ACM_TYPE", Value: 2},
+	{Name: "USB_CDC_CALL_MANAGEMENT_TYPE", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_CALL_MGMT", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_DATA_INTF", Value: 2},
+	{Name: "USB_CDC_CAP_BRK", Value: 4},
+	{Name: "USB_CDC_CAP_LINE", Value: 2},
+	{Name: "USB_CDC_CAP_NOTIFY", Value: 8},
+	{Name: "USB_CDC_COMM_FEATURE", Value: 1},
+	{Name: "USB_CDC_COUNTRY_TYPE", Value: 7},
+	{Name: "USB_CDC_DMM_TYPE", Value: 20},
+	{Name: "USB_CDC_ETHERNET_TYPE", Value: 15},
+	{Name: "USB_CDC_GET_NTB_PARAMETERS", Value: 128},
+	{Name: "USB_CDC_HEADER_TYPE"},
+	{Name: "USB_CDC_MBIM_EXTENDED_TYPE", Value: 28},
+	{Name: "USB_CDC_MBIM_TYPE", Value: 27},
+	{Name: "USB_CDC_MDLM_DETAIL_TYPE", Value: 19},
+	{Name: "USB_CDC_MDLM_TYPE", Value: 18},
+	{Name: "USB_CDC_NCM_TYPE", Value: 26},
+	{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
+	{Name: "USB_CDC_OBEX_TYPE", Value: 21},
+	{Name: "USB_CDC_UNION_TYPE", Value: 6},
+	{Name: "USB_CLASS_APP_SPEC", Value: 254},
+	{Name: "USB_CLASS_AUDIO", Value: 1},
+	{Name: "USB_CLASS_CDC_DATA", Value: 10},
+	{Name: "USB_CLASS_COMM", Value: 2},
+	{Name: "USB_CLASS_CONTENT_SEC", Value: 13},
+	{Name: "USB_CLASS_CSCID", Value: 11},
+	{Name: "USB_CLASS_HID", Value: 3},
+	{Name: "USB_CLASS_HUB", Value: 9},
+	{Name: "USB_CLASS_MASS_STORAGE", Value: 8},
+	{Name: "USB_CLASS_MISC", Value: 239},
+	{Name: "USB_CLASS_PER_INTERFACE"},
+	{Name: "USB_CLASS_PHYSICAL", Value: 5},
+	{Name: "USB_CLASS_PRINTER", Value: 7},
+	{Name: "USB_CLASS_STILL_IMAGE", Value: 6},
+	{Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
+	{Name: "USB_CLASS_VIDEO", Value: 14},
+	{Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+	{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
+	{Name: "USB_CONFIG_ATT_ONE", Value: 128},
+	{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
+	{Name: "USB_CONFIG_ATT_WAKEUP", Value: 32},
+	{Name: "USB_DT_BOS", Value: 15},
+	{Name: "USB_DT_BOS_SIZE", Value: 5},
+	{Name: "USB_DT_CONFIG", Value: 2},
+	{Name: "USB_DT_CONFIG_SIZE", Value: 9},
+	{Name: "USB_DT_CS_INTERFACE", Value: 36},
+	{Name: "USB_DT_CS_RADIO_CONTROL", Value: 35},
+	{Name: "USB_DT_DEBUG", Value: 10},
+	{Name: "USB_DT_DEVICE", Value: 1},
+	{Name: "USB_DT_DEVICE_CAPABILITY", Value: 16},
+	{Name: "USB_DT_DEVICE_QUALIFIER", Value: 6},
+	{Name: "USB_DT_DEVICE_SIZE", Value: 18},
+	{Name: "USB_DT_ENCRYPTION_TYPE", Value: 14},
+	{Name: "USB_DT_ENDPOINT", Value: 5},
+	{Name: "USB_DT_ENDPOINT_SIZE", Value: 7},
+	{Name: "USB_DT_HUB", Value: 41},
+	{Name: "USB_DT_INTERFACE", Value: 4},
+	{Name: "USB_DT_INTERFACE_ASSOCIATION", Value: 11},
+	{Name: "USB_DT_INTERFACE_POWER", Value: 8},
+	{Name: "USB_DT_INTERFACE_SIZE", Value: 9},
+	{Name: "USB_DT_KEY", Value: 13},
+	{Name: "USB_DT_OTG", Value: 9},
+	{Name: "USB_DT_OTHER_SPEED_CONFIG", Value: 7},
+	{Name: "USB_DT_PIPE_USAGE", Value: 36},
+	{Name: "USB_DT_RPIPE", Value: 34},
+	{Name: "USB_DT_SECURITY", Value: 12},
+	{Name: "USB_DT_SSP_ISOC_ENDPOINT_COMP", Value: 49},
+	{Name: "USB_DT_SS_ENDPOINT_COMP", Value: 48},
+	{Name: "USB_DT_SS_HUB", Value: 42},
+	{Name: "USB_DT_STRING", Value: 3},
+	{Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17},
+	{Name: "USB_DT_WIRE_ADAPTER", Value: 33},
+	{Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16},
+	{Name: "USB_ENDPOINT_INTR_PERIODIC"},
+	{Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8},
+	{Name: "USB_ENDPOINT_SYNC_ASYNC", Value: 4},
+	{Name: "USB_ENDPOINT_SYNC_NONE"},
+	{Name: "USB_ENDPOINT_SYNC_SYNC", Value: 12},
+	{Name: "USB_ENDPOINT_USAGE_DATA"},
+	{Name: "USB_ENDPOINT_USAGE_FEEDBACK", Value: 16},
+	{Name: "USB_ENDPOINT_XFER_BULK", Value: 2},
+	{Name: "USB_ENDPOINT_XFER_CONTROL"},
+	{Name: "USB_ENDPOINT_XFER_INT", Value: 3},
+	{Name: "USB_ENDPOINT_XFER_ISOC", Value: 1},
+	{Name: "USB_EXT_PORT_STAT_RX_LANES", Value: 3840},
+	{Name: "USB_EXT_PORT_STAT_RX_SPEED_ID", Value: 15},
+	{Name: "USB_EXT_PORT_STAT_TX_LANES", Value: 61440},
+	{Name: "USB_EXT_PORT_STAT_TX_SPEED_ID", Value: 240},
+	{Name: "USB_FULL_SPEED_OPERATION", Value: 2},
+	{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
+	{Name: "USB_HUB_PORTS_BITS", Value: 4},
+	{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
+	{Name: "USB_LPM_SUPPORT", Value: 2},
+	{Name: "USB_LTM_SUPPORT", Value: 2},
+	{Name: "USB_PORT_STAT_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_BH_RESET", Value: 32},
+	{Name: "USB_PORT_STAT_C_CONFIG_ERROR", Value: 128},
+	{Name: "USB_PORT_STAT_C_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_C_L1", Value: 32},
+	{Name: "USB_PORT_STAT_C_LINK_STATE", Value: 64},
+	{Name: "USB_PORT_STAT_C_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_C_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_C_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_HIGH_SPEED", Value: 1024},
+	{Name: "USB_PORT_STAT_INDICATOR", Value: 4096},
+	{Name: "USB_PORT_STAT_L1", Value: 32},
+	{Name: "USB_PORT_STAT_LINK_STATE", Value: 480},
+	{Name: "USB_PORT_STAT_LOW_SPEED", Value: 512},
+	{Name: "USB_PORT_STAT_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_POWER", Value: 256},
+	{Name: "USB_PORT_STAT_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_SPEED_5GBPS"},
+	{Name: "USB_PORT_STAT_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_TEST", Value: 2048},
+	{Name: "USB_PTM_CAP_TYPE", Value: 11},
+	{Name: "USB_REQ_CLEAR_FEATURE", Value: 1},
+	{Name: "USB_REQ_GET_BATTERY_STATUS", Value: 21},
+	{Name: "USB_REQ_GET_CONFIGURATION", Value: 8},
+	{Name: "USB_REQ_GET_DESCRIPTOR", Value: 6},
+	{Name: "USB_REQ_GET_ENCRYPTION", Value: 14},
+	{Name: "USB_REQ_GET_HANDSHAKE", Value: 16},
+	{Name: "USB_REQ_GET_INTERFACE", Value: 10},
+	{Name: "USB_REQ_GET_PARTNER_PDO", Value: 20},
+	{Name: "USB_REQ_GET_SECURITY_DATA", Value: 19},
+	{Name: "USB_REQ_GET_STATUS"},
+	{Name: "USB_REQ_GET_VDM", Value: 23},
+	{Name: "USB_REQ_LOOPBACK_DATA_READ", Value: 22},
+	{Name: "USB_REQ_LOOPBACK_DATA_WRITE", Value: 21},
+	{Name: "USB_REQ_RPIPE_ABORT", Value: 14},
+	{Name: "USB_REQ_RPIPE_RESET", Value: 15},
+	{Name: "USB_REQ_SEND_VDM", Value: 24},
+	{Name: "USB_REQ_SET_ADDRESS", Value: 5},
+	{Name: "USB_REQ_SET_CONFIGURATION", Value: 9},
+	{Name: "USB_REQ_SET_CONNECTION", Value: 17},
+	{Name: "USB_REQ_SET_DESCRIPTOR", Value: 7},
+	{Name: "USB_REQ_SET_ENCRYPTION", Value: 13},
+	{Name: "USB_REQ_SET_FEATURE", Value: 3},
+	{Name: "USB_REQ_SET_HANDSHAKE", Value: 15},
+	{Name: "USB_REQ_SET_INTERFACE", Value: 11},
+	{Name: "USB_REQ_SET_INTERFACE_DS", Value: 23},
+	{Name: "USB_REQ_SET_ISOCH_DELAY", Value: 49},
+	{Name: "USB_REQ_SET_PDO", Value: 22},
+	{Name: "USB_REQ_SET_SECURITY_DATA", Value: 18},
+	{Name: "USB_REQ_SET_SEL", Value: 48},
+	{Name: "USB_REQ_SET_WUSB_DATA", Value: 20},
+	{Name: "USB_REQ_SYNCH_FRAME", Value: 12},
+	{Name: "USB_SPEED_FULL", Value: 2},
+	{Name: "USB_SPEED_HIGH", Value: 3},
+	{Name: "USB_SPEED_LOW", Value: 1},
+	{Name: "USB_SPEED_SUPER", Value: 5},
+	{Name: "USB_SPEED_SUPER_PLUS", Value: 6},
+	{Name: "USB_SPEED_UNKNOWN"},
+	{Name: "USB_SPEED_WIRELESS", Value: 4},
+	{Name: "USB_SSP_CAP_TYPE", Value: 10},
+	{Name: "USB_SSP_MIN_RX_LANE_COUNT", Value: 3840},
+	{Name: "USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID", Value: 15},
+	{Name: "USB_SSP_MIN_TX_LANE_COUNT", Value: 61440},
+	{Name: "USB_SSP_SUBLINK_SPEED_LP", Value: 49152},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSE", Value: 48},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSM", Value: 16711680},
+	{Name: "USB_SSP_SUBLINK_SPEED_RSVD", Value: 16128},
+	{Name: "USB_SSP_SUBLINK_SPEED_SSID", Value: 15},
+	{Name: "USB_SSP_SUBLINK_SPEED_ST", Value: 192},
+	{Name: "USB_SS_CAP_TYPE", Value: 3},
+	{Name: "USB_SS_PORT_LS_COMP_MOD", Value: 320},
+	{Name: "USB_SS_PORT_LS_HOT_RESET", Value: 288},
+	{Name: "USB_SS_PORT_LS_LOOPBACK", Value: 352},
+	{Name: "USB_SS_PORT_LS_POLLING", Value: 224},
+	{Name: "USB_SS_PORT_LS_RECOVERY", Value: 256},
+	{Name: "USB_SS_PORT_LS_RX_DETECT", Value: 160},
+	{Name: "USB_SS_PORT_LS_SS_DISABLED", Value: 128},
+	{Name: "USB_SS_PORT_LS_SS_INACTIVE", Value: 192},
+	{Name: "USB_SS_PORT_LS_U0"},
+	{Name: "USB_SS_PORT_LS_U1", Value: 32},
+	{Name: "USB_SS_PORT_LS_U2", Value: 64},
+	{Name: "USB_SS_PORT_LS_U3", Value: 96},
+	{Name: "USB_SS_PORT_STAT_POWER", Value: 512},
+	{Name: "USB_SS_PORT_STAT_SPEED", Value: 7168},
+	{Name: "USB_TYPE_CLASS", Value: 32},
+	{Name: "USB_TYPE_STANDARD"},
+	{Name: "USB_TYPE_VENDOR", Value: 64},
+	{Name: "USB_WIRELESS_BEACON_DIRECTED", Value: 8},
+	{Name: "USB_WIRELESS_BEACON_MASK", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_NONE", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_SELF", Value: 4},
+	{Name: "USB_WIRELESS_P2P_DRD", Value: 2},
+	{Name: "USB_WIRELESS_PHY_107", Value: 4},
+	{Name: "USB_WIRELESS_PHY_160", Value: 8},
+	{Name: "USB_WIRELESS_PHY_200", Value: 16},
+	{Name: "USB_WIRELESS_PHY_320", Value: 32},
+	{Name: "USB_WIRELESS_PHY_400", Value: 64},
+	{Name: "USB_WIRELESS_PHY_480", Value: 128},
+	{Name: "USB_WIRELESS_PHY_53", Value: 1},
+	{Name: "USB_WIRELESS_PHY_80", Value: 2},
 	{Name: "USERIO_CMD_REGISTER"},
 	{Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2},
 	{Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1},
@@ -48967,4 +49749,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm = "1c783579f1c8d8b7b56f83697b8582b72646ea70"
+const revision_arm = "5592a027d775abc4bea1d90f8868ac1b4943965a"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index aed0408..573e7e0 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -104,6 +104,7 @@
 	{Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+	{Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_usb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -6410,6 +6411,49 @@
 		&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
 		&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
 	}}},
+	{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Buf: "class_desc"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
+	}}},
+	{Key: StructKey{Name: "hid_report_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item", IsVarlen: true}, Fields: []Type{
+		&UnionType{Key: StructKey{Name: "hid_report_item_short"}, FldName: "short"},
+		&StructType{Key: StructKey{Name: "hid_report_item_long"}, FldName: "long"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_long"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_long", IsVarlen: true}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDataSize", TypeSize: 1}}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bLongItemTag", TypeSize: 1}}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 255},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "hid_report_item_short_012"}, FldName: "item_012"},
+		&StructType{Key: StructKey{Name: "hid_report_item_short_4"}, FldName: "item_4"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_012"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_012", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 2},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_4", TypeSize: 5}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
 	{Key: StructKey{Name: "hidp_connadd_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hidp_connadd_req", TypeSize: 168}, Fields: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ctrlsk", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "intrsk", TypeSize: 4}},
@@ -24618,6 +24662,339 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
 	}}},
+	{Key: StructKey{Name: "usb_bos_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_bos_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDeviceCaps", TypeSize: 1}}, Buf: "caps"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "caps", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_dev_cap"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_country_functional_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 7},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iCountryCodeRelDate", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wCountyCode0", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "country_codes", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_dmm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_dmm_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 20},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 15},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iMACAddress", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmEthernetStatistics", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_item"}}, Kind: 1, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_item", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_cdc_generic"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"},
+		&StructType{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, FldName: "call_mgmt"},
+		&StructType{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, FldName: "acm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"},
+		&StructType{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, FldName: "country_functional"},
+		&StructType{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, FldName: "network_terminal"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"},
+		&StructType{Key: StructKey{Name: "usb_cdc_dmm_desc"}, FldName: "dmm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, FldName: "mdlm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, FldName: "mdlm_detail"},
+		&StructType{Key: StructKey{Name: "usb_cdc_obex_desc"}, FldName: "obex"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_desc"}, FldName: "mbim"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_desc", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 27},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxControlMessage", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberFilters", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxFilterSize", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_extended_desc", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 28},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMExtendedVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxOutstandingCommandMessages", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMTU", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_desc", TypeSize: 21}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bGUID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 19},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bGuidDescriptorType", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bDetailData", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_desc", TypeSize: 6}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 26},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdNcmVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_ntb_parameters", TypeSize: 28}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wLength", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmNtbFormatsSupported", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbInMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wPadding1", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbOutMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNtbOutMaxDatagrams", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_network_terminal_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEntityId", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iName", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bChannelIndex", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPhysicalInterface", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_obex_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_obex_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMasterInterface0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSlaveInterface0", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 2},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Buf: "interfaces"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bConfigurationValue", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, FldName: "wireless"},
+		&StructType{Key: StructKey{Name: "usb_ext_cap_descriptor"}, FldName: "ext_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_cap_descriptor"}, FldName: "ss_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, FldName: "ss_container_id"},
+		&StructType{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, FldName: "ssp_cap"},
+		&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
+	}}},
+	{Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Buf: "configs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_endpoint_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 0, 16, 0, 4, 8, 12, 0, 16, 16}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+	}}},
+	{Key: StructKey{Name: "usb_ext_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_descriptor", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_attributes", FldName: "bmAttributes1", TypeSize: 4}, BitfieldLen: 8, BitfieldMdl: true}, Vals: []uint64{2, 4, 8, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes2", TypeSize: 4}, BitfieldOff: 8, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes3", TypeSize: 4}, BitfieldOff: 12, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes4", TypeSize: 4}, BitfieldOff: 16, BitfieldLen: 16}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_capability_types", FldName: "bDevCapabilityType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 10, 4, 11}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "DeviceRemovable", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "PortPwrCtrlMask", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_ss"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_ss", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 42},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubHdrDecLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wHubDelay", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "DeviceRemovable", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_status", TypeSize: 4}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_status_flags", FldName: "wHubStatus", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Buf: "endpoints"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
+	}}},
+	{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_status_flags", FldName: "wPortStatus", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 480, 512, 7168, 0, 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_change_flags", FldName: "wPortChange", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 32, 64, 128}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "dwExtPortStatus", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_port_status_flags", TypeSize: 4}}, Vals: []uint64{15, 240, 3840, 61440}, BitMask: true}, Kind: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ptm_cap_descriptor", TypeSize: 3}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 11},
+	}}},
+	{Key: StructKey{Name: "usb_qualifier_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_qualifier_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumConfigurations", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bRESERVED", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_speed", FldName: "wSpeedSupported", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bFunctionalitySupport", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bU1devExitLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bU2DevExitLat", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_container_id_descriptor", TypeSize: 20}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ContainerID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bmAttributesSublinkSpeeds", TypeSize: 4}, BitfieldLen: 5, BitfieldMdl: true}, Buf: "bmSublinkSpeedAttr"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributesSpeedIDs", TypeSize: 4}, BitfieldOff: 5, BitfieldLen: 27}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_funcs", FldName: "wFunctionalitySupport", TypeSize: 2}}, Vals: []uint64{15, 3840, 61440}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wReserved", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bmSublinkSpeedAttr", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_sublink_speeds", TypeSize: 4}}, Vals: []uint64{15, 48, 192, 16128, 49152, 16711680}, BitMask: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "lang_id", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2, 12, 4, 8, 12}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_phyrates", FldName: "wPHYRates", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmTFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmFFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmBandGroup", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+	}}},
 	{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
@@ -25653,6 +26030,136 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_VTI_REMOTE, int16], ipv4_addr]"}, FldName: "IFLA_VTI_REMOTE"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vti_common_policy", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "vti_common_policy"}}},
 	}}},
+	{Key: StructKey{Name: "vusb_connect_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_descriptors", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "qual_len", TypeSize: 4}}, Buf: "qual"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "qual", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_qualifier_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bos_len", TypeSize: 4}}, Buf: "bos"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_bos_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "strs_len", TypeSize: 4}}, Buf: "strs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "strs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vusb_connect_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_connect_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_string_descriptor", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "str"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "str", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "req_type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "desc_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_report"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 52}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+		&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, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+	}}},
 	{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}}},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -40989,6 +41496,26 @@
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nsegs", TypeSize: 8}}, Buf: "segments"},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "fs_image_segment"}}}},
 	}},
+	{Name: "syz_usb_connect", CallName: "syz_usb_connect", Args: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Buf: "dev"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{Name: "syz_usb_control_io", CallName: "syz_usb_control_io", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&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}},
+	}},
+	{Name: "syz_usb_ep_write", CallName: "syz_usb_ep_write", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "ep", TypeSize: 2}}, Kind: 2, RangeEnd: 31},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+	}},
 	{NR: 77, Name: "tee", CallName: "tee", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}},
@@ -42631,6 +43158,7 @@
 	{Name: "CMTPCONNDEL", Value: 1074021321},
 	{Name: "CMTPGETCONNINFO", Value: 2147763155},
 	{Name: "CMTPGETCONNLIST", Value: 2147763154},
+	{Name: "CONTAINER_ID_TYPE", Value: 4},
 	{Name: "CRYPTOCFGA_PRIORITY_VAL", Value: 1},
 	{Name: "CRYPTO_ALG_ASYNC", Value: 128},
 	{Name: "CRYPTO_ALG_DEAD", Value: 32},
@@ -43474,6 +44002,57 @@
 	{Name: "HIDPGETCONNLIST", Value: 2147764434},
 	{Name: "HIDP_BOOT_PROTOCOL_MODE_BIT", Value: 2},
 	{Name: "HIDP_VIRTUAL_CABLE_UNPLUG_BIT", Value: 1},
+	{Name: "HID_DT_HID", Value: 33},
+	{Name: "HID_DT_PHYSICAL", Value: 35},
+	{Name: "HID_DT_REPORT", Value: 34},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM", Value: 2},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM", Value: 1},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM", Value: 4},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM", Value: 3},
+	{Name: "HID_GLOBAL_ITEM_TAG_POP", Value: 11},
+	{Name: "HID_GLOBAL_ITEM_TAG_PUSH", Value: 10},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_COUNT", Value: 9},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_ID", Value: 8},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_SIZE", Value: 7},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT", Value: 6},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT", Value: 5},
+	{Name: "HID_GLOBAL_ITEM_TAG_USAGE_PAGE"},
+	{Name: "HID_ITEM_TAG_LONG", Value: 15},
+	{Name: "HID_ITEM_TYPE_GLOBAL", Value: 1},
+	{Name: "HID_ITEM_TYPE_LOCAL", Value: 2},
+	{Name: "HID_ITEM_TYPE_MAIN"},
+	{Name: "HID_ITEM_TYPE_RESERVED", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DELIMITER", Value: 10},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM", Value: 5},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM", Value: 4},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_INDEX", Value: 7},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MAXIMUM", Value: 9},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MINIMUM", Value: 8},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE"},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM", Value: 2},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MINIMUM", Value: 1},
+	{Name: "HID_MAIN_ITEM_TAG_BEGIN_COLLECTION", Value: 10},
+	{Name: "HID_MAIN_ITEM_TAG_END_COLLECTION", Value: 12},
+	{Name: "HID_MAIN_ITEM_TAG_FEATURE", Value: 11},
+	{Name: "HID_MAIN_ITEM_TAG_INPUT", Value: 8},
+	{Name: "HID_MAIN_ITEM_TAG_OUTPUT", Value: 9},
+	{Name: "HID_MAX_DESCRIPTOR_SIZE", Value: 4096},
+	{Name: "HUB_CHANGE_LOCAL_POWER", Value: 1},
+	{Name: "HUB_CHANGE_OVERCURRENT", Value: 2},
+	{Name: "HUB_CHAR_COMMON_LPSM"},
+	{Name: "HUB_CHAR_COMMON_OCPM"},
+	{Name: "HUB_CHAR_COMPOUND", Value: 4},
+	{Name: "HUB_CHAR_INDV_PORT_LPSM", Value: 1},
+	{Name: "HUB_CHAR_INDV_PORT_OCPM", Value: 8},
+	{Name: "HUB_CHAR_LPSM", Value: 3},
+	{Name: "HUB_CHAR_NO_LPSM", Value: 2},
+	{Name: "HUB_CHAR_NO_OCPM", Value: 16},
+	{Name: "HUB_CHAR_OCPM", Value: 24},
+	{Name: "HUB_CHAR_PORTIND", Value: 128},
+	{Name: "HUB_CHAR_TTTT", Value: 96},
+	{Name: "HUB_STATUS_LOCAL_POWER", Value: 1},
+	{Name: "HUB_STATUS_OVERCURRENT", Value: 2},
 	{Name: "HW_BREAKPOINT_EMPTY"},
 	{Name: "HW_BREAKPOINT_R", Value: 1},
 	{Name: "HW_BREAKPOINT_W", Value: 2},
@@ -47599,6 +48178,209 @@
 	{Name: "UI_SET_SWBIT", Value: 1074025837},
 	{Name: "UMOUNT_NOFOLLOW", Value: 8},
 	{Name: "UNIX_PATH_MAX", Value: 108},
+	{Name: "USB_5GBPS_OPERATION", Value: 8},
+	{Name: "USB_BESL_BASELINE_VALID", Value: 8},
+	{Name: "USB_BESL_DEEP_VALID", Value: 16},
+	{Name: "USB_BESL_SUPPORT", Value: 4},
+	{Name: "USB_CAP_TYPE_EXT", Value: 2},
+	{Name: "USB_CAP_TYPE_WIRELESS_USB", Value: 1},
+	{Name: "USB_CDC_ACM_TYPE", Value: 2},
+	{Name: "USB_CDC_CALL_MANAGEMENT_TYPE", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_CALL_MGMT", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_DATA_INTF", Value: 2},
+	{Name: "USB_CDC_CAP_BRK", Value: 4},
+	{Name: "USB_CDC_CAP_LINE", Value: 2},
+	{Name: "USB_CDC_CAP_NOTIFY", Value: 8},
+	{Name: "USB_CDC_COMM_FEATURE", Value: 1},
+	{Name: "USB_CDC_COUNTRY_TYPE", Value: 7},
+	{Name: "USB_CDC_DMM_TYPE", Value: 20},
+	{Name: "USB_CDC_ETHERNET_TYPE", Value: 15},
+	{Name: "USB_CDC_GET_NTB_PARAMETERS", Value: 128},
+	{Name: "USB_CDC_HEADER_TYPE"},
+	{Name: "USB_CDC_MBIM_EXTENDED_TYPE", Value: 28},
+	{Name: "USB_CDC_MBIM_TYPE", Value: 27},
+	{Name: "USB_CDC_MDLM_DETAIL_TYPE", Value: 19},
+	{Name: "USB_CDC_MDLM_TYPE", Value: 18},
+	{Name: "USB_CDC_NCM_TYPE", Value: 26},
+	{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
+	{Name: "USB_CDC_OBEX_TYPE", Value: 21},
+	{Name: "USB_CDC_UNION_TYPE", Value: 6},
+	{Name: "USB_CLASS_APP_SPEC", Value: 254},
+	{Name: "USB_CLASS_AUDIO", Value: 1},
+	{Name: "USB_CLASS_CDC_DATA", Value: 10},
+	{Name: "USB_CLASS_COMM", Value: 2},
+	{Name: "USB_CLASS_CONTENT_SEC", Value: 13},
+	{Name: "USB_CLASS_CSCID", Value: 11},
+	{Name: "USB_CLASS_HID", Value: 3},
+	{Name: "USB_CLASS_HUB", Value: 9},
+	{Name: "USB_CLASS_MASS_STORAGE", Value: 8},
+	{Name: "USB_CLASS_MISC", Value: 239},
+	{Name: "USB_CLASS_PER_INTERFACE"},
+	{Name: "USB_CLASS_PHYSICAL", Value: 5},
+	{Name: "USB_CLASS_PRINTER", Value: 7},
+	{Name: "USB_CLASS_STILL_IMAGE", Value: 6},
+	{Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
+	{Name: "USB_CLASS_VIDEO", Value: 14},
+	{Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+	{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
+	{Name: "USB_CONFIG_ATT_ONE", Value: 128},
+	{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
+	{Name: "USB_CONFIG_ATT_WAKEUP", Value: 32},
+	{Name: "USB_DT_BOS", Value: 15},
+	{Name: "USB_DT_BOS_SIZE", Value: 5},
+	{Name: "USB_DT_CONFIG", Value: 2},
+	{Name: "USB_DT_CONFIG_SIZE", Value: 9},
+	{Name: "USB_DT_CS_INTERFACE", Value: 36},
+	{Name: "USB_DT_CS_RADIO_CONTROL", Value: 35},
+	{Name: "USB_DT_DEBUG", Value: 10},
+	{Name: "USB_DT_DEVICE", Value: 1},
+	{Name: "USB_DT_DEVICE_CAPABILITY", Value: 16},
+	{Name: "USB_DT_DEVICE_QUALIFIER", Value: 6},
+	{Name: "USB_DT_DEVICE_SIZE", Value: 18},
+	{Name: "USB_DT_ENCRYPTION_TYPE", Value: 14},
+	{Name: "USB_DT_ENDPOINT", Value: 5},
+	{Name: "USB_DT_ENDPOINT_SIZE", Value: 7},
+	{Name: "USB_DT_HUB", Value: 41},
+	{Name: "USB_DT_INTERFACE", Value: 4},
+	{Name: "USB_DT_INTERFACE_ASSOCIATION", Value: 11},
+	{Name: "USB_DT_INTERFACE_POWER", Value: 8},
+	{Name: "USB_DT_INTERFACE_SIZE", Value: 9},
+	{Name: "USB_DT_KEY", Value: 13},
+	{Name: "USB_DT_OTG", Value: 9},
+	{Name: "USB_DT_OTHER_SPEED_CONFIG", Value: 7},
+	{Name: "USB_DT_PIPE_USAGE", Value: 36},
+	{Name: "USB_DT_RPIPE", Value: 34},
+	{Name: "USB_DT_SECURITY", Value: 12},
+	{Name: "USB_DT_SSP_ISOC_ENDPOINT_COMP", Value: 49},
+	{Name: "USB_DT_SS_ENDPOINT_COMP", Value: 48},
+	{Name: "USB_DT_SS_HUB", Value: 42},
+	{Name: "USB_DT_STRING", Value: 3},
+	{Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17},
+	{Name: "USB_DT_WIRE_ADAPTER", Value: 33},
+	{Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16},
+	{Name: "USB_ENDPOINT_INTR_PERIODIC"},
+	{Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8},
+	{Name: "USB_ENDPOINT_SYNC_ASYNC", Value: 4},
+	{Name: "USB_ENDPOINT_SYNC_NONE"},
+	{Name: "USB_ENDPOINT_SYNC_SYNC", Value: 12},
+	{Name: "USB_ENDPOINT_USAGE_DATA"},
+	{Name: "USB_ENDPOINT_USAGE_FEEDBACK", Value: 16},
+	{Name: "USB_ENDPOINT_XFER_BULK", Value: 2},
+	{Name: "USB_ENDPOINT_XFER_CONTROL"},
+	{Name: "USB_ENDPOINT_XFER_INT", Value: 3},
+	{Name: "USB_ENDPOINT_XFER_ISOC", Value: 1},
+	{Name: "USB_EXT_PORT_STAT_RX_LANES", Value: 3840},
+	{Name: "USB_EXT_PORT_STAT_RX_SPEED_ID", Value: 15},
+	{Name: "USB_EXT_PORT_STAT_TX_LANES", Value: 61440},
+	{Name: "USB_EXT_PORT_STAT_TX_SPEED_ID", Value: 240},
+	{Name: "USB_FULL_SPEED_OPERATION", Value: 2},
+	{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
+	{Name: "USB_HUB_PORTS_BITS", Value: 4},
+	{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
+	{Name: "USB_LPM_SUPPORT", Value: 2},
+	{Name: "USB_LTM_SUPPORT", Value: 2},
+	{Name: "USB_PORT_STAT_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_BH_RESET", Value: 32},
+	{Name: "USB_PORT_STAT_C_CONFIG_ERROR", Value: 128},
+	{Name: "USB_PORT_STAT_C_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_C_L1", Value: 32},
+	{Name: "USB_PORT_STAT_C_LINK_STATE", Value: 64},
+	{Name: "USB_PORT_STAT_C_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_C_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_C_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_HIGH_SPEED", Value: 1024},
+	{Name: "USB_PORT_STAT_INDICATOR", Value: 4096},
+	{Name: "USB_PORT_STAT_L1", Value: 32},
+	{Name: "USB_PORT_STAT_LINK_STATE", Value: 480},
+	{Name: "USB_PORT_STAT_LOW_SPEED", Value: 512},
+	{Name: "USB_PORT_STAT_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_POWER", Value: 256},
+	{Name: "USB_PORT_STAT_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_SPEED_5GBPS"},
+	{Name: "USB_PORT_STAT_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_TEST", Value: 2048},
+	{Name: "USB_PTM_CAP_TYPE", Value: 11},
+	{Name: "USB_REQ_CLEAR_FEATURE", Value: 1},
+	{Name: "USB_REQ_GET_BATTERY_STATUS", Value: 21},
+	{Name: "USB_REQ_GET_CONFIGURATION", Value: 8},
+	{Name: "USB_REQ_GET_DESCRIPTOR", Value: 6},
+	{Name: "USB_REQ_GET_ENCRYPTION", Value: 14},
+	{Name: "USB_REQ_GET_HANDSHAKE", Value: 16},
+	{Name: "USB_REQ_GET_INTERFACE", Value: 10},
+	{Name: "USB_REQ_GET_PARTNER_PDO", Value: 20},
+	{Name: "USB_REQ_GET_SECURITY_DATA", Value: 19},
+	{Name: "USB_REQ_GET_STATUS"},
+	{Name: "USB_REQ_GET_VDM", Value: 23},
+	{Name: "USB_REQ_LOOPBACK_DATA_READ", Value: 22},
+	{Name: "USB_REQ_LOOPBACK_DATA_WRITE", Value: 21},
+	{Name: "USB_REQ_RPIPE_ABORT", Value: 14},
+	{Name: "USB_REQ_RPIPE_RESET", Value: 15},
+	{Name: "USB_REQ_SEND_VDM", Value: 24},
+	{Name: "USB_REQ_SET_ADDRESS", Value: 5},
+	{Name: "USB_REQ_SET_CONFIGURATION", Value: 9},
+	{Name: "USB_REQ_SET_CONNECTION", Value: 17},
+	{Name: "USB_REQ_SET_DESCRIPTOR", Value: 7},
+	{Name: "USB_REQ_SET_ENCRYPTION", Value: 13},
+	{Name: "USB_REQ_SET_FEATURE", Value: 3},
+	{Name: "USB_REQ_SET_HANDSHAKE", Value: 15},
+	{Name: "USB_REQ_SET_INTERFACE", Value: 11},
+	{Name: "USB_REQ_SET_INTERFACE_DS", Value: 23},
+	{Name: "USB_REQ_SET_ISOCH_DELAY", Value: 49},
+	{Name: "USB_REQ_SET_PDO", Value: 22},
+	{Name: "USB_REQ_SET_SECURITY_DATA", Value: 18},
+	{Name: "USB_REQ_SET_SEL", Value: 48},
+	{Name: "USB_REQ_SET_WUSB_DATA", Value: 20},
+	{Name: "USB_REQ_SYNCH_FRAME", Value: 12},
+	{Name: "USB_SPEED_FULL", Value: 2},
+	{Name: "USB_SPEED_HIGH", Value: 3},
+	{Name: "USB_SPEED_LOW", Value: 1},
+	{Name: "USB_SPEED_SUPER", Value: 5},
+	{Name: "USB_SPEED_SUPER_PLUS", Value: 6},
+	{Name: "USB_SPEED_UNKNOWN"},
+	{Name: "USB_SPEED_WIRELESS", Value: 4},
+	{Name: "USB_SSP_CAP_TYPE", Value: 10},
+	{Name: "USB_SSP_MIN_RX_LANE_COUNT", Value: 3840},
+	{Name: "USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID", Value: 15},
+	{Name: "USB_SSP_MIN_TX_LANE_COUNT", Value: 61440},
+	{Name: "USB_SSP_SUBLINK_SPEED_LP", Value: 49152},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSE", Value: 48},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSM", Value: 16711680},
+	{Name: "USB_SSP_SUBLINK_SPEED_RSVD", Value: 16128},
+	{Name: "USB_SSP_SUBLINK_SPEED_SSID", Value: 15},
+	{Name: "USB_SSP_SUBLINK_SPEED_ST", Value: 192},
+	{Name: "USB_SS_CAP_TYPE", Value: 3},
+	{Name: "USB_SS_PORT_LS_COMP_MOD", Value: 320},
+	{Name: "USB_SS_PORT_LS_HOT_RESET", Value: 288},
+	{Name: "USB_SS_PORT_LS_LOOPBACK", Value: 352},
+	{Name: "USB_SS_PORT_LS_POLLING", Value: 224},
+	{Name: "USB_SS_PORT_LS_RECOVERY", Value: 256},
+	{Name: "USB_SS_PORT_LS_RX_DETECT", Value: 160},
+	{Name: "USB_SS_PORT_LS_SS_DISABLED", Value: 128},
+	{Name: "USB_SS_PORT_LS_SS_INACTIVE", Value: 192},
+	{Name: "USB_SS_PORT_LS_U0"},
+	{Name: "USB_SS_PORT_LS_U1", Value: 32},
+	{Name: "USB_SS_PORT_LS_U2", Value: 64},
+	{Name: "USB_SS_PORT_LS_U3", Value: 96},
+	{Name: "USB_SS_PORT_STAT_POWER", Value: 512},
+	{Name: "USB_SS_PORT_STAT_SPEED", Value: 7168},
+	{Name: "USB_TYPE_CLASS", Value: 32},
+	{Name: "USB_TYPE_STANDARD"},
+	{Name: "USB_TYPE_VENDOR", Value: 64},
+	{Name: "USB_WIRELESS_BEACON_DIRECTED", Value: 8},
+	{Name: "USB_WIRELESS_BEACON_MASK", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_NONE", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_SELF", Value: 4},
+	{Name: "USB_WIRELESS_P2P_DRD", Value: 2},
+	{Name: "USB_WIRELESS_PHY_107", Value: 4},
+	{Name: "USB_WIRELESS_PHY_160", Value: 8},
+	{Name: "USB_WIRELESS_PHY_200", Value: 16},
+	{Name: "USB_WIRELESS_PHY_320", Value: 32},
+	{Name: "USB_WIRELESS_PHY_400", Value: 64},
+	{Name: "USB_WIRELESS_PHY_480", Value: 128},
+	{Name: "USB_WIRELESS_PHY_53", Value: 1},
+	{Name: "USB_WIRELESS_PHY_80", Value: 2},
 	{Name: "USERIO_CMD_REGISTER"},
 	{Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2},
 	{Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1},
@@ -49257,4 +50039,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm64 = "04bfa4c094d451450d3be112fb037c137c4be8f6"
+const revision_arm64 = "6fb195f8cdc0968c58149ec0a2abeb9b278f655f"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index d72ce0a..fa24890 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -104,6 +104,7 @@
 	{Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+	{Name: "fd_usb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_usb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
 	{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -6409,6 +6410,49 @@
 		&StructType{Key: StructKey{Name: "fs_opt[\"session\", fmt[hex, int32]]"}, FldName: "session"},
 		&StructType{Key: StructKey{Name: "fs_opt[\"nls\", stringnoz[codepages_names]]"}, FldName: "nls"},
 	}}},
+	{Key: StructKey{Name: "hid_class_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_class_descriptor", TypeSize: 3}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{33, 34, 35}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wDescriptorLength", TypeSize: 2}}, Kind: 2, RangeEnd: 4096},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_hid"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_hid", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 33},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdHID", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bCountryCode", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDescriptors", TypeSize: 1}}, Buf: "class_desc"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "class_desc", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "hid_class_descriptor"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "hid_descriptor_report"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_descriptor_report", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "hid_report_item"}}},
+	}}},
+	{Key: StructKey{Name: "hid_report_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item", IsVarlen: true}, Fields: []Type{
+		&UnionType{Key: StructKey{Name: "hid_report_item_short"}, FldName: "short"},
+		&StructType{Key: StructKey{Name: "hid_report_item_long"}, FldName: "long"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_long"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_long", IsVarlen: true}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDataSize", TypeSize: 1}}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bLongItemTag", TypeSize: 1}}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 255},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "hid_report_item_short_012"}, FldName: "item_012"},
+		&StructType{Key: StructKey{Name: "hid_report_item_short_4"}, FldName: "item_4"},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_012"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_012", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Buf: "data"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 2},
+	}}},
+	{Key: StructKey{Name: "hid_report_item_short_4"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hid_report_item_short_4", TypeSize: 5}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bSize", TypeSize: 1}, BitfieldLen: 2, BitfieldMdl: true}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_types", FldName: "bType", TypeSize: 1}, BitfieldOff: 2, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "hid_report_item_tags", FldName: "bTag", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{15, 8, 9, 11, 10, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 5, 7, 8, 9, 10}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
 	{Key: StructKey{Name: "hidp_connadd_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hidp_connadd_req", TypeSize: 168}, Fields: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ctrlsk", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "intrsk", TypeSize: 4}},
@@ -24494,6 +24538,339 @@
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
 	}}},
+	{Key: StructKey{Name: "usb_bos_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_bos_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumDeviceCaps", TypeSize: 1}}, Buf: "caps"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "caps", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_dev_cap"}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_acm_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_descriptor", TypeSize: 4}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_call_mgmt_caps", FldName: "bmCapabilities", TypeSize: 1}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_country_functional_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 7},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iCountryCodeRelDate", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wCountyCode0", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "country_codes", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_dmm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_dmm_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 20},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxCommand", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ether_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ether_desc", TypeSize: 13}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 15},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iMACAddress", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmEthernetStatistics", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNumberMCFilters", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberPowerFilters", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "items", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "usb_cdc_header_item"}}, Kind: 1, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdCDC", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_header_item"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header_item", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_cdc_generic"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header_desc"}, FldName: "header"},
+		&StructType{Key: StructKey{Name: "usb_cdc_call_mgmt_descriptor"}, FldName: "call_mgmt"},
+		&StructType{Key: StructKey{Name: "usb_cdc_acm_descriptor"}, FldName: "acm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_union_desc"}, FldName: "union"},
+		&StructType{Key: StructKey{Name: "usb_cdc_country_functional_desc"}, FldName: "country_functional"},
+		&StructType{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, FldName: "network_terminal"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ether_desc"}, FldName: "ether"},
+		&StructType{Key: StructKey{Name: "usb_cdc_dmm_desc"}, FldName: "dmm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, FldName: "mdlm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, FldName: "mdlm_detail"},
+		&StructType{Key: StructKey{Name: "usb_cdc_obex_desc"}, FldName: "obex"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_desc"}, FldName: "ncm"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_desc"}, FldName: "mbim"},
+		&StructType{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, FldName: "mbim_extended"},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_desc", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 27},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxControlMessage", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumberFilters", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxFilterSize", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMaxSegmentSize", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mbim_extended_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mbim_extended_desc", TypeSize: 8}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 28},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdMBIMExtendedVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxOutstandingCommandMessages", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wMTU", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_desc", TypeSize: 21}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 18},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bGUID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_mdlm_detail_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_mdlm_detail_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 19},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bGuidDescriptorType", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bDetailData", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_desc", TypeSize: 6}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 26},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdNcmVersion", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmNetworkCapabilities", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_ncm_ntb_parameters", TypeSize: 28}, Fields: []Type{
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wLength", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmNtbFormatsSupported", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbInMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpInAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wPadding1", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dwNtbOutMaxSize", TypeSize: 4}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutDivisor", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutPayloadRemainder", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNdpOutAlignment", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wNtbOutMaxDatagrams", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_network_terminal_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_network_terminal_desc", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEntityId", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iName", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bChannelIndex", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPhysicalInterface", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_obex_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_obex_desc", TypeSize: 5}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 21},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdVersion", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_cdc_union_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_union_desc", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorSubType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMasterInterface0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bSlaveInterface0", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "slave_interfaces", IsVarlen: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_config_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_config_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 2},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "wTotalLength", TypeSize: 2}}, Buf: "parent"},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumInterfaces", TypeSize: 1}}, Buf: "interfaces"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bConfigurationValue", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iConfiguration", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_config_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{128, 64, 32, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPower", TypeSize: 1}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "interfaces", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_interface_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_dev_cap"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_dev_cap", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_cap_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, FldName: "wireless"},
+		&StructType{Key: StructKey{Name: "usb_ext_cap_descriptor"}, FldName: "ext_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_cap_descriptor"}, FldName: "ss_cap"},
+		&StructType{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, FldName: "ss_container_id"},
+		&StructType{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, FldName: "ssp_cap"},
+		&StructType{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, FldName: "ptm_cap"},
+	}}},
+	{Key: StructKey{Name: "usb_device_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_device_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 18},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 1},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idVendor", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "idProduct", TypeSize: 2}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bcdDevice", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iManufacturer", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iProduct", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iSerialNumber", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumConfigurations", TypeSize: 1}}, Buf: "configs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "configs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "usb_config_descriptor"}}, Kind: 1, RangeBegin: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_endpoint_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 7},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 5},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bEndpointAddress", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_endpoint_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 0, 16, 0, 4, 8, 12, 0, 16, 16}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_endpoint_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+	}}},
+	{Key: StructKey{Name: "usb_ext_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_descriptor", TypeSize: 7}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 2},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_cap_attributes", FldName: "bmAttributes1", TypeSize: 4}, BitfieldLen: 8, BitfieldMdl: true}, Vals: []uint64{2, 4, 8, 16}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes2", TypeSize: 4}, BitfieldOff: 8, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes3", TypeSize: 4}, BitfieldOff: 12, BitfieldLen: 4, BitfieldMdl: true}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributes4", TypeSize: 4}, BitfieldOff: 16, BitfieldLen: 16}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_capability_types", FldName: "bDevCapabilityType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 10, 4, 11}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_generic_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_generic_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "bDescriptorType", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_hs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_hs", TypeSize: 15}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 41},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "DeviceRemovable", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "PortPwrCtrlMask", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4},
+	}}},
+	{Key: StructKey{Name: "usb_hub_descriptor_ss"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_descriptor_ss", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bDescLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 42},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNbrPorts", TypeSize: 1}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_characteristics", FldName: "wHubCharacteristics", TypeSize: 2}}, Vals: []uint64{3, 0, 1, 2, 4, 24, 0, 8, 16, 96, 128}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bPwrOn2PwrGood", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubContrCurrent", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bHubHdrDecLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wHubDelay", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "DeviceRemovable", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_hub_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_hub_status", TypeSize: 4}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_status_flags", FldName: "wHubStatus", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_hub_change_flags", FldName: "wHubChange", TypeSize: 2}}, Vals: []uint64{1, 2}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "usb_interface_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_descriptor", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bLength", TypeSize: 1}}, Val: 9},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 4},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceNumber", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bAlternateSetting", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bNumEndpoints", TypeSize: 1}}, Buf: "endpoints"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceSubClass", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bInterfaceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "iInterface", TypeSize: 1}}},
+		&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_extra_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_interface_extra_descriptor", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "generic"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_hid"}, FldName: "hid_hid"},
+		&StructType{Key: StructKey{Name: "usb_cdc_header"}, FldName: "usb_cdc"},
+	}}},
+	{Key: StructKey{Name: "usb_port_status"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_port_status", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_status_flags", FldName: "wPortStatus", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 480, 512, 7168, 0, 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_port_change_flags", FldName: "wPortChange", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 32, 64, 128}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "dwExtPortStatus", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ext_port_status_flags", TypeSize: 4}}, Vals: []uint64{15, 240, 3840, 61440}, BitMask: true}, Kind: 1, RangeEnd: 1},
+	}}},
+	{Key: StructKey{Name: "usb_ptm_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ptm_cap_descriptor", TypeSize: 3}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 11},
+	}}},
+	{Key: StructKey{Name: "usb_qualifier_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_qualifier_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 6},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bcdUSB", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceSubClass", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bDeviceProtocol", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bMaxPacketSize0", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bNumConfigurations", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bRESERVED", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_descriptor", TypeSize: 10}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ss_cap_speed", FldName: "wSpeedSupported", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bFunctionalitySupport", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bU1devExitLat", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bU2DevExitLat", TypeSize: 2}}},
+	}}},
+	{Key: StructKey{Name: "usb_ss_container_id_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ss_container_id_descriptor", TypeSize: 20}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "ContainerID", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16},
+	}}},
+	{Key: StructKey{Name: "usb_ssp_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 10},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bmAttributesSublinkSpeeds", TypeSize: 4}, BitfieldLen: 5, BitfieldMdl: true}, Buf: "bmSublinkSpeedAttr"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "bmAttributesSpeedIDs", TypeSize: 4}, BitfieldOff: 5, BitfieldLen: 27}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_funcs", FldName: "wFunctionalitySupport", TypeSize: 2}}, Vals: []uint64{15, 3840, 61440}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "wReserved", TypeSize: 2}}},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "bmSublinkSpeedAttr", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_ssp_cap_sublink_speeds", TypeSize: 4}}, Vals: []uint64{15, 48, 192, 16128, 49152, 16711680}, BitMask: true}, Kind: 1, RangeEnd: 6},
+	}}},
+	{Key: StructKey{Name: "usb_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_string_descriptor", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 3},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_lang_ids", FldName: "lang_id", TypeSize: 2}}, Vals: []uint64{1078, 1052, 1025, 2049, 3073, 4097, 5121, 6145, 7169, 8193, 9217, 10241, 11265, 12289, 13313, 14337, 15361, 16385, 1067, 1101, 1068, 2092, 1069, 1059, 1093, 1026, 1109, 1027, 1028, 2052, 3076, 4100, 5124, 1050, 1029, 1030, 1043, 2067, 1033, 2057, 3081, 4105, 5129, 6153, 7177, 8201, 9225, 10249, 11273, 12297, 13321, 1061, 1080, 1065, 1035, 1036, 2060, 3084, 4108, 5132, 6156, 1079, 1031, 2055, 3079, 4103, 5127, 1032, 1095, 1037, 1081, 1038, 1039, 1057, 1040, 2064, 1041, 1099, 2144, 1087, 1111, 1042, 2066, 1062, 1063, 2087, 1071, 1086, 2110, 1100, 1112, 1102, 2145, 1044, 2068, 1096, 1045, 1046, 2070, 1094, 1048, 1049, 1103, 3098, 2074, 1113, 1051, 1060, 1034, 2058, 3082, 4106, 5130, 6154, 7178, 8202, 9226, 10250, 11274, 12298, 13322, 14346, 15370, 16394, 17418, 18442, 19466, 20490, 1072, 1089, 1053, 2077, 1097, 1092, 1098, 1054, 1055, 1058, 1056, 2080, 1091, 2115, 1066, 1279, 61695, 62719, 63743, 64767}},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "usb_wireless_cap_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_descriptor", TypeSize: 11}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 16},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDevCapabilityType", TypeSize: 1}}, Val: 1},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_attributes", FldName: "bmAttributes", TypeSize: 1}}, Vals: []uint64{2, 12, 4, 8, 12}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_wireless_cap_phyrates", FldName: "wPHYRates", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128}, BitMask: true},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmTFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bmFFITXPowerInfo", TypeSize: 1}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bmBandGroup", TypeSize: 2}}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "bReserved", TypeSize: 1}}},
+	}}},
 	{Key: StructKey{Name: "user_desc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "user_desc", TypeSize: 16}, Fields: []Type{
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entry_number", TypeSize: 4}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "user_desc_bases", FldName: "base_addr", TypeSize: 4}}, Vals: []uint64{0, 4096, 1048576, 536870912, 536872960, 536875008, 18446744073709551615}},
@@ -25554,6 +25931,136 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_VTI_REMOTE, int16], ipv4_addr]"}, FldName: "IFLA_VTI_REMOTE"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "vti_common_policy", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "vti_common_policy"}}},
 	}}},
+	{Key: StructKey{Name: "vusb_connect_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_descriptors", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "qual_len", TypeSize: 4}}, Buf: "qual"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "qual", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_qualifier_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bos_len", TypeSize: 4}}, Buf: "bos"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_bos_descriptor"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "strs_len", TypeSize: 4}}, Buf: "strs"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "strs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "vusb_connect_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_connect_string_descriptor"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_connect_string_descriptor", TypeSize: 12}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "str"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "str", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_string_descriptor"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "req_type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_descriptor_types", FldName: "desc_type", TypeSize: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, 48, 49, 33, 34, 35}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_generic_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 34},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "hid_descriptor_report"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 15},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_bos_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]", TypeSize: 21}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 41},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_hs"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]", TypeSize: 18}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 42},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_descriptor_ss"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 3},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_string_descriptor"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_descriptors"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_descriptors", TypeSize: 52}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "string", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_STRING, usb_string_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hid_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, HID_DT_REPORT, hid_descriptor_report]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "bos", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_BOS, usb_bos_descriptor]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_hs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_HUB, usb_hub_descriptor_hs]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hub_ss", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_descriptor_t[USB_TYPE_STANDARD, USB_DT_SS_HUB, usb_hub_descriptor_ss]"}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]", TypeSize: 34}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 128},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_cdc_ncm_ntb_parameters"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]", TypeSize: 7}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}, Val: 8},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]", TypeSize: 7}, Fields: []Type{
+		&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, Buf: "data"},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]", TypeSize: 10}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_hub_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]", IsVarlen: true}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 32},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "req", TypeSize: 1}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&StructType{Key: StructKey{Name: "usb_port_status"}, FldName: "data"},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]", TypeSize: 6}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "void", FldName: "data"}, Kind: 1},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]", TypeSize: 9}, Fields: []Type{
+		&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, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 3}, Kind: 1, RangeBegin: 3, RangeEnd: 3},
+	}}},
+	{Key: StructKey{Name: "vusb_response_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_response_generic", IsVarlen: true}, Fields: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_request_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 32, 64}, BitMask: true},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_requests", FldName: "req", TypeSize: 1}}, Vals: []uint64{0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 48, 49, 13, 14, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 21, 22, 23, 24}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
+		&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+	}}},
+	{Key: StructKey{Name: "vusb_responses"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "vusb_responses", TypeSize: 84}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "parent"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "generic", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_generic"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_INTERFACE, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_interface", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_INTERFACE, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "set_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_STANDARD, USB_REQ_SET_CONFIGURATION, void]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_configuration", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_CONFIGURATION, int8]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_hub", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_hub_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "get_status_port", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_REQ_GET_STATUS, usb_port_status]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_get_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x1, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "aiptek_set_report", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_VENDOR, 0x9, array[int8, 3]]"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cdc_get_ntb_parameters", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_reponse_t[USB_TYPE_CLASS, USB_CDC_GET_NTB_PARAMETERS, usb_cdc_ncm_ntb_parameters]"}}},
+	}}},
 	{Key: StructKey{Name: "wr", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "wr", TypeSize: 32, ArgDir: 2}, Fields: []Type{
 		&StructType{Key: StructKey{Name: "rdma", Dir: 2}, FldName: "rdma"},
 		&StructType{Key: StructKey{Name: "atomic", Dir: 2}, FldName: "atomic"},
@@ -40936,6 +41443,26 @@
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nsegs", TypeSize: 8}}, Buf: "segments"},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "fs_image_segment"}}}},
 	}},
+	{Name: "syz_usb_connect", CallName: "syz_usb_connect", Args: []Type{
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_device_speed", FldName: "speed", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "dev_len", TypeSize: 8}}, Buf: "dev"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "usb_device_descriptor"}}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "conn_descs", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_connect_descriptors"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+	{Name: "syz_usb_control_io", CallName: "syz_usb_control_io", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&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}},
+	}},
+	{Name: "syz_usb_ep_write", CallName: "syz_usb_ep_write", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usb", FldName: "fd", TypeSize: 4}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "ep", TypeSize: 2}}, Kind: 2, RangeEnd: 31},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+	}},
 	{NR: 284, Name: "tee", CallName: "tee", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}},
@@ -42599,6 +43126,7 @@
 	{Name: "CMTPCONNDEL", Value: 2147763145},
 	{Name: "CMTPGETCONNINFO", Value: 1074021331},
 	{Name: "CMTPGETCONNLIST", Value: 1074021330},
+	{Name: "CONTAINER_ID_TYPE", Value: 4},
 	{Name: "CRYPTOCFGA_PRIORITY_VAL", Value: 1},
 	{Name: "CRYPTO_ALG_ASYNC", Value: 128},
 	{Name: "CRYPTO_ALG_DEAD", Value: 32},
@@ -43442,6 +43970,57 @@
 	{Name: "HIDPGETCONNLIST", Value: 1074022610},
 	{Name: "HIDP_BOOT_PROTOCOL_MODE_BIT", Value: 2},
 	{Name: "HIDP_VIRTUAL_CABLE_UNPLUG_BIT", Value: 1},
+	{Name: "HID_DT_HID", Value: 33},
+	{Name: "HID_DT_PHYSICAL", Value: 35},
+	{Name: "HID_DT_REPORT", Value: 34},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM", Value: 2},
+	{Name: "HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM", Value: 1},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM", Value: 4},
+	{Name: "HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM", Value: 3},
+	{Name: "HID_GLOBAL_ITEM_TAG_POP", Value: 11},
+	{Name: "HID_GLOBAL_ITEM_TAG_PUSH", Value: 10},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_COUNT", Value: 9},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_ID", Value: 8},
+	{Name: "HID_GLOBAL_ITEM_TAG_REPORT_SIZE", Value: 7},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT", Value: 6},
+	{Name: "HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT", Value: 5},
+	{Name: "HID_GLOBAL_ITEM_TAG_USAGE_PAGE"},
+	{Name: "HID_ITEM_TAG_LONG", Value: 15},
+	{Name: "HID_ITEM_TYPE_GLOBAL", Value: 1},
+	{Name: "HID_ITEM_TYPE_LOCAL", Value: 2},
+	{Name: "HID_ITEM_TYPE_MAIN"},
+	{Name: "HID_ITEM_TYPE_RESERVED", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DELIMITER", Value: 10},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX", Value: 3},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM", Value: 5},
+	{Name: "HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM", Value: 4},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_INDEX", Value: 7},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MAXIMUM", Value: 9},
+	{Name: "HID_LOCAL_ITEM_TAG_STRING_MINIMUM", Value: 8},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE"},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM", Value: 2},
+	{Name: "HID_LOCAL_ITEM_TAG_USAGE_MINIMUM", Value: 1},
+	{Name: "HID_MAIN_ITEM_TAG_BEGIN_COLLECTION", Value: 10},
+	{Name: "HID_MAIN_ITEM_TAG_END_COLLECTION", Value: 12},
+	{Name: "HID_MAIN_ITEM_TAG_FEATURE", Value: 11},
+	{Name: "HID_MAIN_ITEM_TAG_INPUT", Value: 8},
+	{Name: "HID_MAIN_ITEM_TAG_OUTPUT", Value: 9},
+	{Name: "HID_MAX_DESCRIPTOR_SIZE", Value: 4096},
+	{Name: "HUB_CHANGE_LOCAL_POWER", Value: 1},
+	{Name: "HUB_CHANGE_OVERCURRENT", Value: 2},
+	{Name: "HUB_CHAR_COMMON_LPSM"},
+	{Name: "HUB_CHAR_COMMON_OCPM"},
+	{Name: "HUB_CHAR_COMPOUND", Value: 4},
+	{Name: "HUB_CHAR_INDV_PORT_LPSM", Value: 1},
+	{Name: "HUB_CHAR_INDV_PORT_OCPM", Value: 8},
+	{Name: "HUB_CHAR_LPSM", Value: 3},
+	{Name: "HUB_CHAR_NO_LPSM", Value: 2},
+	{Name: "HUB_CHAR_NO_OCPM", Value: 16},
+	{Name: "HUB_CHAR_OCPM", Value: 24},
+	{Name: "HUB_CHAR_PORTIND", Value: 128},
+	{Name: "HUB_CHAR_TTTT", Value: 96},
+	{Name: "HUB_STATUS_LOCAL_POWER", Value: 1},
+	{Name: "HUB_STATUS_OVERCURRENT", Value: 2},
 	{Name: "HW_BREAKPOINT_EMPTY"},
 	{Name: "HW_BREAKPOINT_R", Value: 1},
 	{Name: "HW_BREAKPOINT_W", Value: 2},
@@ -47544,6 +48123,209 @@
 	{Name: "UI_SET_SWBIT", Value: 2147767661},
 	{Name: "UMOUNT_NOFOLLOW", Value: 8},
 	{Name: "UNIX_PATH_MAX", Value: 108},
+	{Name: "USB_5GBPS_OPERATION", Value: 8},
+	{Name: "USB_BESL_BASELINE_VALID", Value: 8},
+	{Name: "USB_BESL_DEEP_VALID", Value: 16},
+	{Name: "USB_BESL_SUPPORT", Value: 4},
+	{Name: "USB_CAP_TYPE_EXT", Value: 2},
+	{Name: "USB_CAP_TYPE_WIRELESS_USB", Value: 1},
+	{Name: "USB_CDC_ACM_TYPE", Value: 2},
+	{Name: "USB_CDC_CALL_MANAGEMENT_TYPE", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_CALL_MGMT", Value: 1},
+	{Name: "USB_CDC_CALL_MGMT_CAP_DATA_INTF", Value: 2},
+	{Name: "USB_CDC_CAP_BRK", Value: 4},
+	{Name: "USB_CDC_CAP_LINE", Value: 2},
+	{Name: "USB_CDC_CAP_NOTIFY", Value: 8},
+	{Name: "USB_CDC_COMM_FEATURE", Value: 1},
+	{Name: "USB_CDC_COUNTRY_TYPE", Value: 7},
+	{Name: "USB_CDC_DMM_TYPE", Value: 20},
+	{Name: "USB_CDC_ETHERNET_TYPE", Value: 15},
+	{Name: "USB_CDC_GET_NTB_PARAMETERS", Value: 128},
+	{Name: "USB_CDC_HEADER_TYPE"},
+	{Name: "USB_CDC_MBIM_EXTENDED_TYPE", Value: 28},
+	{Name: "USB_CDC_MBIM_TYPE", Value: 27},
+	{Name: "USB_CDC_MDLM_DETAIL_TYPE", Value: 19},
+	{Name: "USB_CDC_MDLM_TYPE", Value: 18},
+	{Name: "USB_CDC_NCM_TYPE", Value: 26},
+	{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
+	{Name: "USB_CDC_OBEX_TYPE", Value: 21},
+	{Name: "USB_CDC_UNION_TYPE", Value: 6},
+	{Name: "USB_CLASS_APP_SPEC", Value: 254},
+	{Name: "USB_CLASS_AUDIO", Value: 1},
+	{Name: "USB_CLASS_CDC_DATA", Value: 10},
+	{Name: "USB_CLASS_COMM", Value: 2},
+	{Name: "USB_CLASS_CONTENT_SEC", Value: 13},
+	{Name: "USB_CLASS_CSCID", Value: 11},
+	{Name: "USB_CLASS_HID", Value: 3},
+	{Name: "USB_CLASS_HUB", Value: 9},
+	{Name: "USB_CLASS_MASS_STORAGE", Value: 8},
+	{Name: "USB_CLASS_MISC", Value: 239},
+	{Name: "USB_CLASS_PER_INTERFACE"},
+	{Name: "USB_CLASS_PHYSICAL", Value: 5},
+	{Name: "USB_CLASS_PRINTER", Value: 7},
+	{Name: "USB_CLASS_STILL_IMAGE", Value: 6},
+	{Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
+	{Name: "USB_CLASS_VIDEO", Value: 14},
+	{Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+	{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
+	{Name: "USB_CONFIG_ATT_ONE", Value: 128},
+	{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
+	{Name: "USB_CONFIG_ATT_WAKEUP", Value: 32},
+	{Name: "USB_DT_BOS", Value: 15},
+	{Name: "USB_DT_BOS_SIZE", Value: 5},
+	{Name: "USB_DT_CONFIG", Value: 2},
+	{Name: "USB_DT_CONFIG_SIZE", Value: 9},
+	{Name: "USB_DT_CS_INTERFACE", Value: 36},
+	{Name: "USB_DT_CS_RADIO_CONTROL", Value: 35},
+	{Name: "USB_DT_DEBUG", Value: 10},
+	{Name: "USB_DT_DEVICE", Value: 1},
+	{Name: "USB_DT_DEVICE_CAPABILITY", Value: 16},
+	{Name: "USB_DT_DEVICE_QUALIFIER", Value: 6},
+	{Name: "USB_DT_DEVICE_SIZE", Value: 18},
+	{Name: "USB_DT_ENCRYPTION_TYPE", Value: 14},
+	{Name: "USB_DT_ENDPOINT", Value: 5},
+	{Name: "USB_DT_ENDPOINT_SIZE", Value: 7},
+	{Name: "USB_DT_HUB", Value: 41},
+	{Name: "USB_DT_INTERFACE", Value: 4},
+	{Name: "USB_DT_INTERFACE_ASSOCIATION", Value: 11},
+	{Name: "USB_DT_INTERFACE_POWER", Value: 8},
+	{Name: "USB_DT_INTERFACE_SIZE", Value: 9},
+	{Name: "USB_DT_KEY", Value: 13},
+	{Name: "USB_DT_OTG", Value: 9},
+	{Name: "USB_DT_OTHER_SPEED_CONFIG", Value: 7},
+	{Name: "USB_DT_PIPE_USAGE", Value: 36},
+	{Name: "USB_DT_RPIPE", Value: 34},
+	{Name: "USB_DT_SECURITY", Value: 12},
+	{Name: "USB_DT_SSP_ISOC_ENDPOINT_COMP", Value: 49},
+	{Name: "USB_DT_SS_ENDPOINT_COMP", Value: 48},
+	{Name: "USB_DT_SS_HUB", Value: 42},
+	{Name: "USB_DT_STRING", Value: 3},
+	{Name: "USB_DT_WIRELESS_ENDPOINT_COMP", Value: 17},
+	{Name: "USB_DT_WIRE_ADAPTER", Value: 33},
+	{Name: "USB_ENDPOINT_INTR_NOTIFICATION", Value: 16},
+	{Name: "USB_ENDPOINT_INTR_PERIODIC"},
+	{Name: "USB_ENDPOINT_SYNC_ADAPTIVE", Value: 8},
+	{Name: "USB_ENDPOINT_SYNC_ASYNC", Value: 4},
+	{Name: "USB_ENDPOINT_SYNC_NONE"},
+	{Name: "USB_ENDPOINT_SYNC_SYNC", Value: 12},
+	{Name: "USB_ENDPOINT_USAGE_DATA"},
+	{Name: "USB_ENDPOINT_USAGE_FEEDBACK", Value: 16},
+	{Name: "USB_ENDPOINT_XFER_BULK", Value: 2},
+	{Name: "USB_ENDPOINT_XFER_CONTROL"},
+	{Name: "USB_ENDPOINT_XFER_INT", Value: 3},
+	{Name: "USB_ENDPOINT_XFER_ISOC", Value: 1},
+	{Name: "USB_EXT_PORT_STAT_RX_LANES", Value: 3840},
+	{Name: "USB_EXT_PORT_STAT_RX_SPEED_ID", Value: 15},
+	{Name: "USB_EXT_PORT_STAT_TX_LANES", Value: 61440},
+	{Name: "USB_EXT_PORT_STAT_TX_SPEED_ID", Value: 240},
+	{Name: "USB_FULL_SPEED_OPERATION", Value: 2},
+	{Name: "USB_HIGH_SPEED_OPERATION", Value: 4},
+	{Name: "USB_HUB_PORTS_BITS", Value: 4},
+	{Name: "USB_LOW_SPEED_OPERATION", Value: 1},
+	{Name: "USB_LPM_SUPPORT", Value: 2},
+	{Name: "USB_LTM_SUPPORT", Value: 2},
+	{Name: "USB_PORT_STAT_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_BH_RESET", Value: 32},
+	{Name: "USB_PORT_STAT_C_CONFIG_ERROR", Value: 128},
+	{Name: "USB_PORT_STAT_C_CONNECTION", Value: 1},
+	{Name: "USB_PORT_STAT_C_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_C_L1", Value: 32},
+	{Name: "USB_PORT_STAT_C_LINK_STATE", Value: 64},
+	{Name: "USB_PORT_STAT_C_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_C_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_C_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_ENABLE", Value: 2},
+	{Name: "USB_PORT_STAT_HIGH_SPEED", Value: 1024},
+	{Name: "USB_PORT_STAT_INDICATOR", Value: 4096},
+	{Name: "USB_PORT_STAT_L1", Value: 32},
+	{Name: "USB_PORT_STAT_LINK_STATE", Value: 480},
+	{Name: "USB_PORT_STAT_LOW_SPEED", Value: 512},
+	{Name: "USB_PORT_STAT_OVERCURRENT", Value: 8},
+	{Name: "USB_PORT_STAT_POWER", Value: 256},
+	{Name: "USB_PORT_STAT_RESET", Value: 16},
+	{Name: "USB_PORT_STAT_SPEED_5GBPS"},
+	{Name: "USB_PORT_STAT_SUSPEND", Value: 4},
+	{Name: "USB_PORT_STAT_TEST", Value: 2048},
+	{Name: "USB_PTM_CAP_TYPE", Value: 11},
+	{Name: "USB_REQ_CLEAR_FEATURE", Value: 1},
+	{Name: "USB_REQ_GET_BATTERY_STATUS", Value: 21},
+	{Name: "USB_REQ_GET_CONFIGURATION", Value: 8},
+	{Name: "USB_REQ_GET_DESCRIPTOR", Value: 6},
+	{Name: "USB_REQ_GET_ENCRYPTION", Value: 14},
+	{Name: "USB_REQ_GET_HANDSHAKE", Value: 16},
+	{Name: "USB_REQ_GET_INTERFACE", Value: 10},
+	{Name: "USB_REQ_GET_PARTNER_PDO", Value: 20},
+	{Name: "USB_REQ_GET_SECURITY_DATA", Value: 19},
+	{Name: "USB_REQ_GET_STATUS"},
+	{Name: "USB_REQ_GET_VDM", Value: 23},
+	{Name: "USB_REQ_LOOPBACK_DATA_READ", Value: 22},
+	{Name: "USB_REQ_LOOPBACK_DATA_WRITE", Value: 21},
+	{Name: "USB_REQ_RPIPE_ABORT", Value: 14},
+	{Name: "USB_REQ_RPIPE_RESET", Value: 15},
+	{Name: "USB_REQ_SEND_VDM", Value: 24},
+	{Name: "USB_REQ_SET_ADDRESS", Value: 5},
+	{Name: "USB_REQ_SET_CONFIGURATION", Value: 9},
+	{Name: "USB_REQ_SET_CONNECTION", Value: 17},
+	{Name: "USB_REQ_SET_DESCRIPTOR", Value: 7},
+	{Name: "USB_REQ_SET_ENCRYPTION", Value: 13},
+	{Name: "USB_REQ_SET_FEATURE", Value: 3},
+	{Name: "USB_REQ_SET_HANDSHAKE", Value: 15},
+	{Name: "USB_REQ_SET_INTERFACE", Value: 11},
+	{Name: "USB_REQ_SET_INTERFACE_DS", Value: 23},
+	{Name: "USB_REQ_SET_ISOCH_DELAY", Value: 49},
+	{Name: "USB_REQ_SET_PDO", Value: 22},
+	{Name: "USB_REQ_SET_SECURITY_DATA", Value: 18},
+	{Name: "USB_REQ_SET_SEL", Value: 48},
+	{Name: "USB_REQ_SET_WUSB_DATA", Value: 20},
+	{Name: "USB_REQ_SYNCH_FRAME", Value: 12},
+	{Name: "USB_SPEED_FULL", Value: 2},
+	{Name: "USB_SPEED_HIGH", Value: 3},
+	{Name: "USB_SPEED_LOW", Value: 1},
+	{Name: "USB_SPEED_SUPER", Value: 5},
+	{Name: "USB_SPEED_SUPER_PLUS", Value: 6},
+	{Name: "USB_SPEED_UNKNOWN"},
+	{Name: "USB_SPEED_WIRELESS", Value: 4},
+	{Name: "USB_SSP_CAP_TYPE", Value: 10},
+	{Name: "USB_SSP_MIN_RX_LANE_COUNT", Value: 3840},
+	{Name: "USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID", Value: 15},
+	{Name: "USB_SSP_MIN_TX_LANE_COUNT", Value: 61440},
+	{Name: "USB_SSP_SUBLINK_SPEED_LP", Value: 49152},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSE", Value: 48},
+	{Name: "USB_SSP_SUBLINK_SPEED_LSM", Value: 16711680},
+	{Name: "USB_SSP_SUBLINK_SPEED_RSVD", Value: 16128},
+	{Name: "USB_SSP_SUBLINK_SPEED_SSID", Value: 15},
+	{Name: "USB_SSP_SUBLINK_SPEED_ST", Value: 192},
+	{Name: "USB_SS_CAP_TYPE", Value: 3},
+	{Name: "USB_SS_PORT_LS_COMP_MOD", Value: 320},
+	{Name: "USB_SS_PORT_LS_HOT_RESET", Value: 288},
+	{Name: "USB_SS_PORT_LS_LOOPBACK", Value: 352},
+	{Name: "USB_SS_PORT_LS_POLLING", Value: 224},
+	{Name: "USB_SS_PORT_LS_RECOVERY", Value: 256},
+	{Name: "USB_SS_PORT_LS_RX_DETECT", Value: 160},
+	{Name: "USB_SS_PORT_LS_SS_DISABLED", Value: 128},
+	{Name: "USB_SS_PORT_LS_SS_INACTIVE", Value: 192},
+	{Name: "USB_SS_PORT_LS_U0"},
+	{Name: "USB_SS_PORT_LS_U1", Value: 32},
+	{Name: "USB_SS_PORT_LS_U2", Value: 64},
+	{Name: "USB_SS_PORT_LS_U3", Value: 96},
+	{Name: "USB_SS_PORT_STAT_POWER", Value: 512},
+	{Name: "USB_SS_PORT_STAT_SPEED", Value: 7168},
+	{Name: "USB_TYPE_CLASS", Value: 32},
+	{Name: "USB_TYPE_STANDARD"},
+	{Name: "USB_TYPE_VENDOR", Value: 64},
+	{Name: "USB_WIRELESS_BEACON_DIRECTED", Value: 8},
+	{Name: "USB_WIRELESS_BEACON_MASK", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_NONE", Value: 12},
+	{Name: "USB_WIRELESS_BEACON_SELF", Value: 4},
+	{Name: "USB_WIRELESS_P2P_DRD", Value: 2},
+	{Name: "USB_WIRELESS_PHY_107", Value: 4},
+	{Name: "USB_WIRELESS_PHY_160", Value: 8},
+	{Name: "USB_WIRELESS_PHY_200", Value: 16},
+	{Name: "USB_WIRELESS_PHY_320", Value: 32},
+	{Name: "USB_WIRELESS_PHY_400", Value: 64},
+	{Name: "USB_WIRELESS_PHY_480", Value: 128},
+	{Name: "USB_WIRELESS_PHY_53", Value: 1},
+	{Name: "USB_WIRELESS_PHY_80", Value: 2},
 	{Name: "USERIO_CMD_REGISTER"},
 	{Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2},
 	{Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1},
@@ -49194,4 +49976,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_ppc64le = "562eb2e638e859f4373a5f4cffb5a130a56ee4e2"
+const revision_ppc64le = "1436442d1a0e05b2db29f38530a6d64c5f8ccd18"