@@ -302,7 +302,7 @@ STRUCT!{#[repr(packed)] struct USB_NODE_CONNECTION_INFORMATION_EX {
302302 PipeList : [ USB_PIPE_INFO ; 0 ] ,
303303} }
304304pub type PUSB_NODE_CONNECTION_INFORMATION_EX = * mut USB_NODE_CONNECTION_INFORMATION_EX ;
305- STRUCT ! { struct USB_HUB_CAP_FLAGS {
305+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_CAP_FLAGS {
306306 ul: ULONG ,
307307} }
308308BITFIELD ! { USB_HUB_CAP_FLAGS ul: ULONG [
@@ -316,23 +316,23 @@ BITFIELD!{USB_HUB_CAP_FLAGS ul: ULONG [
316316 ReservedMBZ set_ReservedMBZ[ 7 ..32 ] ,
317317] }
318318pub type PUSB_HUB_CAP_FLAGS = * mut USB_HUB_CAP_FLAGS ;
319- STRUCT ! { struct USB_HUB_CAPABILITIES_EX {
319+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_CAPABILITIES_EX {
320320 CapabilityFlags : USB_HUB_CAP_FLAGS ,
321321} }
322322pub type PUSB_HUB_CAPABILITIES_EX = * mut USB_HUB_CAPABILITIES_EX ;
323- STRUCT ! { struct USB_CYCLE_PORT_PARAMS {
323+ STRUCT ! { # [ repr ( packed ) ] struct USB_CYCLE_PORT_PARAMS {
324324 ConnectionIndex : ULONG ,
325325 StatusReturned : ULONG ,
326326} }
327327pub type PUSB_CYCLE_PORT_PARAMS = * mut USB_CYCLE_PORT_PARAMS ;
328- STRUCT ! { struct USB_ID_STRING {
328+ STRUCT ! { # [ repr ( packed ) ] struct USB_ID_STRING {
329329 LanguageId : USHORT ,
330330 Pad : USHORT ,
331331 LengthInBytes : ULONG ,
332332 Buffer : PWCHAR ,
333333} }
334334pub type PUSB_ID_STRING = * mut USB_ID_STRING ;
335- STRUCT ! { struct USB_HUB_DEVICE_UXD_SETTINGS {
335+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_DEVICE_UXD_SETTINGS {
336336 Version : ULONG ,
337337 PnpGuid : GUID ,
338338 OwnerGuid : GUID ,
@@ -342,7 +342,7 @@ STRUCT!{struct USB_HUB_DEVICE_UXD_SETTINGS {
342342 Reserved : [ ULONG ; 5 ] ,
343343} }
344344pub type PUSB_HUB_DEVICE_UXD_SETTINGS = * mut USB_HUB_DEVICE_UXD_SETTINGS ;
345- STRUCT ! { struct HUB_DEVICE_CONFIG_INFO {
345+ STRUCT ! { # [ repr ( packed ) ] struct HUB_DEVICE_CONFIG_INFO {
346346 Version : ULONG ,
347347 Length : ULONG ,
348348 HubFlags : USB_HUB_CAP_FLAGS ,
@@ -353,7 +353,7 @@ STRUCT!{struct HUB_DEVICE_CONFIG_INFO {
353353 UxdSettings : USB_HUB_DEVICE_UXD_SETTINGS ,
354354} }
355355pub type PHUB_DEVICE_CONFIG_INFO = * mut HUB_DEVICE_CONFIG_INFO ;
356- STRUCT ! { struct HCD_STAT_COUNTERS {
356+ STRUCT ! { # [ repr ( packed ) ] struct HCD_STAT_COUNTERS {
357357 BytesTransferred : ULONG ,
358358 IsoMissedCount : USHORT ,
359359 DataOverrunErrorCount : USHORT ,
@@ -367,7 +367,7 @@ STRUCT!{struct HCD_STAT_COUNTERS {
367367 PortDisableCount : USHORT ,
368368} }
369369pub type PHCD_STAT_COUNTERS = * mut HCD_STAT_COUNTERS ;
370- STRUCT ! { struct HCD_ISO_STAT_COUNTERS {
370+ STRUCT ! { # [ repr ( packed ) ] struct HCD_ISO_STAT_COUNTERS {
371371 LateUrbs : USHORT ,
372372 DoubleBufferedPackets : USHORT ,
373373 TransfersCF_5ms : USHORT ,
@@ -390,15 +390,15 @@ STRUCT!{struct HCD_ISO_STAT_COUNTERS {
390390 Reserved7 : [ ULONG ; 8 ] ,
391391} }
392392pub type PHCD_ISO_STAT_COUNTERS = * mut HCD_ISO_STAT_COUNTERS ;
393- STRUCT ! { struct HCD_STAT_INFORMATION_1 {
393+ STRUCT ! { # [ repr ( packed ) ] struct HCD_STAT_INFORMATION_1 {
394394 Reserved1 : ULONG ,
395395 Reserved2 : ULONG ,
396396 ResetCounters : ULONG ,
397397 TimeRead : LARGE_INTEGER ,
398398 Counters : HCD_STAT_COUNTERS ,
399399} }
400400pub type PHCD_STAT_INFORMATION_1 = * mut HCD_STAT_INFORMATION_1 ;
401- STRUCT ! { struct HCD_STAT_INFORMATION_2 {
401+ STRUCT ! { # [ repr ( packed ) ] struct HCD_STAT_INFORMATION_2 {
402402 Reserved1 : ULONG ,
403403 Reserved2 : ULONG ,
404404 ResetCounters : ULONG ,
@@ -428,11 +428,11 @@ ENUM!{enum USB_NOTIFICATION_TYPE {
428428 HubNestedTooDeeply ,
429429 ModernDeviceInLegacyHub ,
430430} }
431- STRUCT ! { struct USB_NOTIFICATION {
431+ STRUCT ! { # [ repr ( packed ) ] struct USB_NOTIFICATION {
432432 NotificationType : USB_NOTIFICATION_TYPE ,
433433} }
434434pub type PUSB_NOTIFICATION = * mut USB_NOTIFICATION ;
435- STRUCT ! { struct USB_CONNECTION_NOTIFICATION {
435+ STRUCT ! { # [ repr ( packed ) ] struct USB_CONNECTION_NOTIFICATION {
436436 NotificationType : USB_NOTIFICATION_TYPE ,
437437 ConnectionNumber : ULONG ,
438438 RequestedBandwidth : ULONG ,
@@ -441,14 +441,14 @@ STRUCT!{struct USB_CONNECTION_NOTIFICATION {
441441 HubNameLength : ULONG ,
442442} }
443443pub type PUSB_CONNECTION_NOTIFICATION = * mut USB_CONNECTION_NOTIFICATION ;
444- STRUCT ! { struct USB_BUS_NOTIFICATION {
444+ STRUCT ! { # [ repr ( packed ) ] struct USB_BUS_NOTIFICATION {
445445 NotificationType : USB_NOTIFICATION_TYPE ,
446446 TotalBandwidth : ULONG ,
447447 ConsumedBandwidth : ULONG ,
448448 ControllerNameLength : ULONG ,
449449} }
450450pub type PUSB_BUS_NOTIFICATION = * mut USB_BUS_NOTIFICATION ;
451- STRUCT ! { struct USB_ACQUIRE_INFO {
451+ STRUCT ! { # [ repr ( packed ) ] struct USB_ACQUIRE_INFO {
452452 NotificationType : USB_NOTIFICATION_TYPE ,
453453 TotalSize : ULONG ,
454454 Buffer : [ WCHAR ; 1 ] ,
@@ -461,23 +461,23 @@ ENUM!{enum USB_WMI_DEVICE_NODE_TYPE {
461461 UsbController ,
462462} }
463463pub type PUSB_WMI_DEVICE_NODE_TYPE = * mut USB_WMI_DEVICE_NODE_TYPE ;
464- STRUCT ! { struct USB_DEVICE_STATE {
464+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_STATE {
465465 bitfield: ULONG ,
466466} }
467467BITFIELD ! { USB_DEVICE_STATE bitfield: ULONG [
468468 DeviceConnected set_DeviceConnected[ 0 ..1 ] ,
469469 DeviceStarted set_DeviceStarted[ 1 ..2 ] ,
470470] }
471471pub type PUSB_DEVICE_STATE = * mut USB_DEVICE_STATE ;
472- STRUCT ! { struct USB_HUB_PORT_INFORMATION {
472+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_PORT_INFORMATION {
473473 DeviceState : USB_DEVICE_STATE ,
474474 PortNumber : USHORT ,
475475 DeviceAddress : USHORT ,
476476 ConnectionIndex : ULONG ,
477477 ConnectionStatus : USB_CONNECTION_STATUS ,
478478} }
479479pub type PUSB_HUB_PORT_INFORMATION = * mut USB_HUB_PORT_INFORMATION ;
480- STRUCT ! { struct USB_HUB_DEVICE_INFO {
480+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_DEVICE_INFO {
481481 HubDescriptor : USB_HUB_DESCRIPTOR ,
482482 HubNumber : ULONG ,
483483 DeviceAddress : USHORT ,
@@ -488,30 +488,30 @@ STRUCT!{struct USB_HUB_DEVICE_INFO {
488488 PortInfo : [ USB_HUB_PORT_INFORMATION ; 1 ] ,
489489} }
490490pub type PUSB_HUB_DEVICE_INFO = * mut USB_HUB_DEVICE_INFO ;
491- STRUCT ! { struct USB_COMPOSITE_FUNCTION_INFO {
491+ STRUCT ! { # [ repr ( packed ) ] struct USB_COMPOSITE_FUNCTION_INFO {
492492 FunctionNumber : UCHAR ,
493493 BaseInterfaceNumber : UCHAR ,
494494 NumberOfInterfaces : UCHAR ,
495495 FunctionIsIdle : BOOLEAN ,
496496} }
497497pub type PUSB_COMPOSITE_FUNCTION_INFO = * mut USB_COMPOSITE_FUNCTION_INFO ;
498- STRUCT ! { struct USB_COMPOSITE_DEVICE_INFO {
498+ STRUCT ! { # [ repr ( packed ) ] struct USB_COMPOSITE_DEVICE_INFO {
499499 DeviceDescriptor : USB_DEVICE_DESCRIPTOR ,
500500 CurrentConfigDescriptor : USB_CONFIGURATION_DESCRIPTOR ,
501501 CurrentConfigurationValue : UCHAR ,
502502 NumberOfFunctions : UCHAR ,
503503 FunctionInfo : [ USB_COMPOSITE_FUNCTION_INFO ; 1 ] ,
504504} }
505505pub type PUSB_COMPOSITE_DEVICE_INFO = * mut USB_COMPOSITE_DEVICE_INFO ;
506- STRUCT ! { struct USB_CONTROLLER_DEVICE_INFO {
506+ STRUCT ! { # [ repr ( packed ) ] struct USB_CONTROLLER_DEVICE_INFO {
507507 PciVendorId : ULONG ,
508508 PciDeviceId : ULONG ,
509509 PciRevision : ULONG ,
510510 NumberOfRootPorts : ULONG ,
511511 HcFeatureFlags : ULONG ,
512512} }
513513pub type PUSB_CONTROLLER_DEVICE_INFO = * mut USB_CONTROLLER_DEVICE_INFO ;
514- STRUCT ! { struct USB_DEVICE_INFO {
514+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_INFO {
515515 DeviceState : USB_DEVICE_STATE ,
516516 PortNumber : USHORT ,
517517 DeviceDescriptor : USB_DEVICE_DESCRIPTOR ,
@@ -528,7 +528,7 @@ STRUCT!{struct USB_DEVICE_INFO {
528528 PipeList : [ USB_PIPE_INFO ; 1 ] ,
529529} }
530530pub type PUSB_DEVICE_INFO = * mut USB_DEVICE_INFO ;
531- STRUCT ! { struct USB_DEVICE_NODE_INFO {
531+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_NODE_INFO {
532532 Sig : ULONG ,
533533 LengthInBytes : ULONG ,
534534 DeviceDescription : [ WCHAR ; 40 ] ,
@@ -545,7 +545,7 @@ UNION!{union USB_DEVICE_NODE_INFO_u {
545545 DeviceInformation DeviceInformation_mut : [ UCHAR ; 4 ] ,
546546} }
547547pub type PUSB_DEVICE_NODE_INFO = * mut USB_DEVICE_NODE_INFO ;
548- STRUCT ! { struct USB_DEVICE_PERFORMANCE_INFO {
548+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_PERFORMANCE_INFO {
549549 BulkBytes : ULONG ,
550550 ControlDataBytes : ULONG ,
551551 IsoBytes : ULONG ,
@@ -576,7 +576,7 @@ ENUM!{enum USB_HUB_TYPE {
576576 Usb20Hub = 2 ,
577577 Usb30Hub = 3 ,
578578} }
579- STRUCT ! { struct USB_HUB_INFORMATION_EX {
579+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_INFORMATION_EX {
580580 HubType : USB_HUB_TYPE ,
581581 HighestPortNumber : USHORT ,
582582 u: USB_HUB_INFORMATION_EX_u ,
@@ -587,7 +587,7 @@ UNION!{union USB_HUB_INFORMATION_EX_u {
587587 Usb30HubDescriptor Usb30HubDescriptor_mut : USB_30_HUB_DESCRIPTOR ,
588588} }
589589pub type PUSB_HUB_INFORMATION_EX = * mut USB_HUB_INFORMATION_EX ;
590- STRUCT ! { struct USB_PORT_PROPERTIES {
590+ STRUCT ! { # [ repr ( packed ) ] struct USB_PORT_PROPERTIES {
591591 ul: ULONG ,
592592} }
593593BITFIELD ! { USB_PORT_PROPERTIES ul: ULONG [
@@ -598,7 +598,7 @@ BITFIELD!{USB_PORT_PROPERTIES ul: ULONG [
598598 ReservedMBZ set_ReservedMBZ[ 4 ..32 ] ,
599599] }
600600pub type PUSB_PORT_PROPERTIES = * mut USB_PORT_PROPERTIES ;
601- STRUCT ! { struct USB_PORT_CONNECTOR_PROPERTIES {
601+ STRUCT ! { # [ repr ( packed ) ] struct USB_PORT_CONNECTOR_PROPERTIES {
602602 ConnectionIndex : ULONG ,
603603 ActualLength : ULONG ,
604604 UsbPortProperties : USB_PORT_PROPERTIES ,
@@ -607,7 +607,7 @@ STRUCT!{struct USB_PORT_CONNECTOR_PROPERTIES {
607607 CompanionHubSymbolicLinkName : [ WCHAR ; 1 ] ,
608608} }
609609pub type PUSB_PORT_CONNECTOR_PROPERTIES = * mut USB_PORT_CONNECTOR_PROPERTIES ;
610- STRUCT ! { struct USB_PROTOCOLS {
610+ STRUCT ! { # [ repr ( packed ) ] struct USB_PROTOCOLS {
611611 ul: ULONG ,
612612} }
613613BITFIELD ! { USB_PROTOCOLS ul: ULONG [
@@ -617,7 +617,7 @@ BITFIELD!{USB_PROTOCOLS ul: ULONG [
617617 ReservedMBZ set_ReservedMBZ[ 3 ..32 ] ,
618618] }
619619pub type PUSB_PROTOCOLS = * mut USB_PROTOCOLS ;
620- STRUCT ! { struct USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS {
620+ STRUCT ! { # [ repr ( packed ) ] struct USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS {
621621 ul: ULONG ,
622622} }
623623BITFIELD ! { USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS ul: ULONG [
@@ -629,7 +629,7 @@ BITFIELD!{USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS ul: ULONG [
629629] }
630630pub type PUSB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS
631631 = * mut USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS ;
632- STRUCT ! { struct USB_NODE_CONNECTION_INFORMATION_EX_V2 {
632+ STRUCT ! { # [ repr ( packed ) ] struct USB_NODE_CONNECTION_INFORMATION_EX_V2 {
633633 ConnectionIndex : ULONG ,
634634 Length : ULONG ,
635635 SupportedUsbProtocols : USB_PROTOCOLS ,
@@ -639,7 +639,7 @@ pub type PUSB_NODE_CONNECTION_INFORMATION_EX_V2 = *mut USB_NODE_CONNECTION_INFOR
639639pub const USB_TRANSPORT_CHARACTERISTICS_VERSION_1 : ULONG = 0x01 ;
640640pub const USB_TRANSPORT_CHARACTERISTICS_LATENCY_AVAILABLE : ULONG = 0x1 ;
641641pub const USB_TRANSPORT_CHARACTERISTICS_BANDWIDTH_AVAILABLE : ULONG = 0x2 ;
642- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS {
642+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS {
643643 Version : ULONG ,
644644 TransportCharacteristicsFlags : ULONG ,
645645 CurrentRoundtripLatencyInMilliSeconds : ULONG64 ,
@@ -649,46 +649,46 @@ pub type PUSB_TRANSPORT_CHARACTERISTICS = *mut USB_TRANSPORT_CHARACTERISTICS;
649649pub const USB_REGISTER_FOR_TRANSPORT_LATENCY_CHANGE : ULONG = 0x1 ;
650650pub const USB_REGISTER_FOR_TRANSPORT_BANDWIDTH_CHANGE : ULONG = 0x2 ;
651651DECLARE_HANDLE ! ( USB_CHANGE_REGISTRATION_HANDLE , USB_CHANGE_REGISTRATION_HANDLE__ ) ;
652- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION {
652+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION {
653653 ChangeNotificationInputFlags : ULONG ,
654654 Handle : USB_CHANGE_REGISTRATION_HANDLE ,
655655 UsbTransportCharacteristics : USB_TRANSPORT_CHARACTERISTICS ,
656656} }
657657pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION
658658 = * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION ;
659- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION {
659+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION {
660660 Handle : USB_CHANGE_REGISTRATION_HANDLE ,
661661 UsbTransportCharacteristics : USB_TRANSPORT_CHARACTERISTICS ,
662662} }
663663pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION
664664 = * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION ;
665- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION {
665+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION {
666666 Handle : USB_CHANGE_REGISTRATION_HANDLE ,
667667} }
668668pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION
669669 = * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION ;
670670pub const USB_DEVICE_CHARACTERISTICS_VERSION_1 : ULONG = 0x01 ;
671671pub const USB_DEVICE_CHARACTERISTICS_MAXIMUM_PATH_DELAYS_AVAILABLE : ULONG = 0x1 ;
672- STRUCT ! { struct USB_DEVICE_CHARACTERISTICS {
672+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_CHARACTERISTICS {
673673 Version : ULONG ,
674674 Reserved : [ ULONG ; 2 ] ,
675675 UsbDeviceCharacteristicsFlags : ULONG ,
676676 MaximumSendPathDelayInMilliSeconds : ULONG ,
677677 MaximumCompletionPathDelayInMilliSeconds : ULONG ,
678678} }
679679pub type PUSB_DEVICE_CHARACTERISTICS = * mut USB_DEVICE_CHARACTERISTICS ;
680- STRUCT ! { struct USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {
680+ STRUCT ! { # [ repr ( packed ) ] struct USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {
681681 TimeTrackingHandle : HANDLE ,
682682 IsStartupDelayTolerable : BOOLEAN ,
683683} }
684684pub type PUSB_START_TRACKING_FOR_TIME_SYNC_INFORMATION
685685 = * mut USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION ;
686- STRUCT ! { struct USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {
686+ STRUCT ! { # [ repr ( packed ) ] struct USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {
687687 TimeTrackingHandle : HANDLE ,
688688} }
689689pub type PUSB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION
690690 = * mut USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION ;
691- STRUCT ! { struct USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {
691+ STRUCT ! { # [ repr ( packed ) ] struct USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {
692692 TimeTrackingHandle : HANDLE ,
693693 InputFrameNumber : ULONG ,
694694 InputMicroFrameNumber : ULONG ,
0 commit comments