@@ -302,7 +302,7 @@ STRUCT!{#[repr(packed)] struct USB_NODE_CONNECTION_INFORMATION_EX {
302
302
PipeList : [ USB_PIPE_INFO ; 0 ] ,
303
303
} }
304
304
pub 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 {
306
306
ul: ULONG ,
307
307
} }
308
308
BITFIELD ! { USB_HUB_CAP_FLAGS ul: ULONG [
@@ -316,23 +316,23 @@ BITFIELD!{USB_HUB_CAP_FLAGS ul: ULONG [
316
316
ReservedMBZ set_ReservedMBZ[ 7 ..32 ] ,
317
317
] }
318
318
pub 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 {
320
320
CapabilityFlags : USB_HUB_CAP_FLAGS ,
321
321
} }
322
322
pub 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 {
324
324
ConnectionIndex : ULONG ,
325
325
StatusReturned : ULONG ,
326
326
} }
327
327
pub type PUSB_CYCLE_PORT_PARAMS = * mut USB_CYCLE_PORT_PARAMS ;
328
- STRUCT ! { struct USB_ID_STRING {
328
+ STRUCT ! { # [ repr ( packed ) ] struct USB_ID_STRING {
329
329
LanguageId : USHORT ,
330
330
Pad : USHORT ,
331
331
LengthInBytes : ULONG ,
332
332
Buffer : PWCHAR ,
333
333
} }
334
334
pub 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 {
336
336
Version : ULONG ,
337
337
PnpGuid : GUID ,
338
338
OwnerGuid : GUID ,
@@ -342,7 +342,7 @@ STRUCT!{struct USB_HUB_DEVICE_UXD_SETTINGS {
342
342
Reserved : [ ULONG ; 5 ] ,
343
343
} }
344
344
pub 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 {
346
346
Version : ULONG ,
347
347
Length : ULONG ,
348
348
HubFlags : USB_HUB_CAP_FLAGS ,
@@ -353,7 +353,7 @@ STRUCT!{struct HUB_DEVICE_CONFIG_INFO {
353
353
UxdSettings : USB_HUB_DEVICE_UXD_SETTINGS ,
354
354
} }
355
355
pub type PHUB_DEVICE_CONFIG_INFO = * mut HUB_DEVICE_CONFIG_INFO ;
356
- STRUCT ! { struct HCD_STAT_COUNTERS {
356
+ STRUCT ! { # [ repr ( packed ) ] struct HCD_STAT_COUNTERS {
357
357
BytesTransferred : ULONG ,
358
358
IsoMissedCount : USHORT ,
359
359
DataOverrunErrorCount : USHORT ,
@@ -367,7 +367,7 @@ STRUCT!{struct HCD_STAT_COUNTERS {
367
367
PortDisableCount : USHORT ,
368
368
} }
369
369
pub type PHCD_STAT_COUNTERS = * mut HCD_STAT_COUNTERS ;
370
- STRUCT ! { struct HCD_ISO_STAT_COUNTERS {
370
+ STRUCT ! { # [ repr ( packed ) ] struct HCD_ISO_STAT_COUNTERS {
371
371
LateUrbs : USHORT ,
372
372
DoubleBufferedPackets : USHORT ,
373
373
TransfersCF_5ms : USHORT ,
@@ -390,15 +390,15 @@ STRUCT!{struct HCD_ISO_STAT_COUNTERS {
390
390
Reserved7 : [ ULONG ; 8 ] ,
391
391
} }
392
392
pub 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 {
394
394
Reserved1 : ULONG ,
395
395
Reserved2 : ULONG ,
396
396
ResetCounters : ULONG ,
397
397
TimeRead : LARGE_INTEGER ,
398
398
Counters : HCD_STAT_COUNTERS ,
399
399
} }
400
400
pub 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 {
402
402
Reserved1 : ULONG ,
403
403
Reserved2 : ULONG ,
404
404
ResetCounters : ULONG ,
@@ -428,11 +428,11 @@ ENUM!{enum USB_NOTIFICATION_TYPE {
428
428
HubNestedTooDeeply ,
429
429
ModernDeviceInLegacyHub ,
430
430
} }
431
- STRUCT ! { struct USB_NOTIFICATION {
431
+ STRUCT ! { # [ repr ( packed ) ] struct USB_NOTIFICATION {
432
432
NotificationType : USB_NOTIFICATION_TYPE ,
433
433
} }
434
434
pub type PUSB_NOTIFICATION = * mut USB_NOTIFICATION ;
435
- STRUCT ! { struct USB_CONNECTION_NOTIFICATION {
435
+ STRUCT ! { # [ repr ( packed ) ] struct USB_CONNECTION_NOTIFICATION {
436
436
NotificationType : USB_NOTIFICATION_TYPE ,
437
437
ConnectionNumber : ULONG ,
438
438
RequestedBandwidth : ULONG ,
@@ -441,14 +441,14 @@ STRUCT!{struct USB_CONNECTION_NOTIFICATION {
441
441
HubNameLength : ULONG ,
442
442
} }
443
443
pub type PUSB_CONNECTION_NOTIFICATION = * mut USB_CONNECTION_NOTIFICATION ;
444
- STRUCT ! { struct USB_BUS_NOTIFICATION {
444
+ STRUCT ! { # [ repr ( packed ) ] struct USB_BUS_NOTIFICATION {
445
445
NotificationType : USB_NOTIFICATION_TYPE ,
446
446
TotalBandwidth : ULONG ,
447
447
ConsumedBandwidth : ULONG ,
448
448
ControllerNameLength : ULONG ,
449
449
} }
450
450
pub type PUSB_BUS_NOTIFICATION = * mut USB_BUS_NOTIFICATION ;
451
- STRUCT ! { struct USB_ACQUIRE_INFO {
451
+ STRUCT ! { # [ repr ( packed ) ] struct USB_ACQUIRE_INFO {
452
452
NotificationType : USB_NOTIFICATION_TYPE ,
453
453
TotalSize : ULONG ,
454
454
Buffer : [ WCHAR ; 1 ] ,
@@ -461,23 +461,23 @@ ENUM!{enum USB_WMI_DEVICE_NODE_TYPE {
461
461
UsbController ,
462
462
} }
463
463
pub 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 {
465
465
bitfield: ULONG ,
466
466
} }
467
467
BITFIELD ! { USB_DEVICE_STATE bitfield: ULONG [
468
468
DeviceConnected set_DeviceConnected[ 0 ..1 ] ,
469
469
DeviceStarted set_DeviceStarted[ 1 ..2 ] ,
470
470
] }
471
471
pub type PUSB_DEVICE_STATE = * mut USB_DEVICE_STATE ;
472
- STRUCT ! { struct USB_HUB_PORT_INFORMATION {
472
+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_PORT_INFORMATION {
473
473
DeviceState : USB_DEVICE_STATE ,
474
474
PortNumber : USHORT ,
475
475
DeviceAddress : USHORT ,
476
476
ConnectionIndex : ULONG ,
477
477
ConnectionStatus : USB_CONNECTION_STATUS ,
478
478
} }
479
479
pub 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 {
481
481
HubDescriptor : USB_HUB_DESCRIPTOR ,
482
482
HubNumber : ULONG ,
483
483
DeviceAddress : USHORT ,
@@ -488,30 +488,30 @@ STRUCT!{struct USB_HUB_DEVICE_INFO {
488
488
PortInfo : [ USB_HUB_PORT_INFORMATION ; 1 ] ,
489
489
} }
490
490
pub 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 {
492
492
FunctionNumber : UCHAR ,
493
493
BaseInterfaceNumber : UCHAR ,
494
494
NumberOfInterfaces : UCHAR ,
495
495
FunctionIsIdle : BOOLEAN ,
496
496
} }
497
497
pub 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 {
499
499
DeviceDescriptor : USB_DEVICE_DESCRIPTOR ,
500
500
CurrentConfigDescriptor : USB_CONFIGURATION_DESCRIPTOR ,
501
501
CurrentConfigurationValue : UCHAR ,
502
502
NumberOfFunctions : UCHAR ,
503
503
FunctionInfo : [ USB_COMPOSITE_FUNCTION_INFO ; 1 ] ,
504
504
} }
505
505
pub 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 {
507
507
PciVendorId : ULONG ,
508
508
PciDeviceId : ULONG ,
509
509
PciRevision : ULONG ,
510
510
NumberOfRootPorts : ULONG ,
511
511
HcFeatureFlags : ULONG ,
512
512
} }
513
513
pub type PUSB_CONTROLLER_DEVICE_INFO = * mut USB_CONTROLLER_DEVICE_INFO ;
514
- STRUCT ! { struct USB_DEVICE_INFO {
514
+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_INFO {
515
515
DeviceState : USB_DEVICE_STATE ,
516
516
PortNumber : USHORT ,
517
517
DeviceDescriptor : USB_DEVICE_DESCRIPTOR ,
@@ -528,7 +528,7 @@ STRUCT!{struct USB_DEVICE_INFO {
528
528
PipeList : [ USB_PIPE_INFO ; 1 ] ,
529
529
} }
530
530
pub type PUSB_DEVICE_INFO = * mut USB_DEVICE_INFO ;
531
- STRUCT ! { struct USB_DEVICE_NODE_INFO {
531
+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_NODE_INFO {
532
532
Sig : ULONG ,
533
533
LengthInBytes : ULONG ,
534
534
DeviceDescription : [ WCHAR ; 40 ] ,
@@ -545,7 +545,7 @@ UNION!{union USB_DEVICE_NODE_INFO_u {
545
545
DeviceInformation DeviceInformation_mut : [ UCHAR ; 4 ] ,
546
546
} }
547
547
pub 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 {
549
549
BulkBytes : ULONG ,
550
550
ControlDataBytes : ULONG ,
551
551
IsoBytes : ULONG ,
@@ -576,7 +576,7 @@ ENUM!{enum USB_HUB_TYPE {
576
576
Usb20Hub = 2 ,
577
577
Usb30Hub = 3 ,
578
578
} }
579
- STRUCT ! { struct USB_HUB_INFORMATION_EX {
579
+ STRUCT ! { # [ repr ( packed ) ] struct USB_HUB_INFORMATION_EX {
580
580
HubType : USB_HUB_TYPE ,
581
581
HighestPortNumber : USHORT ,
582
582
u: USB_HUB_INFORMATION_EX_u ,
@@ -587,7 +587,7 @@ UNION!{union USB_HUB_INFORMATION_EX_u {
587
587
Usb30HubDescriptor Usb30HubDescriptor_mut : USB_30_HUB_DESCRIPTOR ,
588
588
} }
589
589
pub type PUSB_HUB_INFORMATION_EX = * mut USB_HUB_INFORMATION_EX ;
590
- STRUCT ! { struct USB_PORT_PROPERTIES {
590
+ STRUCT ! { # [ repr ( packed ) ] struct USB_PORT_PROPERTIES {
591
591
ul: ULONG ,
592
592
} }
593
593
BITFIELD ! { USB_PORT_PROPERTIES ul: ULONG [
@@ -598,7 +598,7 @@ BITFIELD!{USB_PORT_PROPERTIES ul: ULONG [
598
598
ReservedMBZ set_ReservedMBZ[ 4 ..32 ] ,
599
599
] }
600
600
pub type PUSB_PORT_PROPERTIES = * mut USB_PORT_PROPERTIES ;
601
- STRUCT ! { struct USB_PORT_CONNECTOR_PROPERTIES {
601
+ STRUCT ! { # [ repr ( packed ) ] struct USB_PORT_CONNECTOR_PROPERTIES {
602
602
ConnectionIndex : ULONG ,
603
603
ActualLength : ULONG ,
604
604
UsbPortProperties : USB_PORT_PROPERTIES ,
@@ -607,7 +607,7 @@ STRUCT!{struct USB_PORT_CONNECTOR_PROPERTIES {
607
607
CompanionHubSymbolicLinkName : [ WCHAR ; 1 ] ,
608
608
} }
609
609
pub type PUSB_PORT_CONNECTOR_PROPERTIES = * mut USB_PORT_CONNECTOR_PROPERTIES ;
610
- STRUCT ! { struct USB_PROTOCOLS {
610
+ STRUCT ! { # [ repr ( packed ) ] struct USB_PROTOCOLS {
611
611
ul: ULONG ,
612
612
} }
613
613
BITFIELD ! { USB_PROTOCOLS ul: ULONG [
@@ -617,7 +617,7 @@ BITFIELD!{USB_PROTOCOLS ul: ULONG [
617
617
ReservedMBZ set_ReservedMBZ[ 3 ..32 ] ,
618
618
] }
619
619
pub 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 {
621
621
ul: ULONG ,
622
622
} }
623
623
BITFIELD ! { USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS ul: ULONG [
@@ -629,7 +629,7 @@ BITFIELD!{USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS ul: ULONG [
629
629
] }
630
630
pub type PUSB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS
631
631
= * 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 {
633
633
ConnectionIndex : ULONG ,
634
634
Length : ULONG ,
635
635
SupportedUsbProtocols : USB_PROTOCOLS ,
@@ -639,7 +639,7 @@ pub type PUSB_NODE_CONNECTION_INFORMATION_EX_V2 = *mut USB_NODE_CONNECTION_INFOR
639
639
pub const USB_TRANSPORT_CHARACTERISTICS_VERSION_1 : ULONG = 0x01 ;
640
640
pub const USB_TRANSPORT_CHARACTERISTICS_LATENCY_AVAILABLE : ULONG = 0x1 ;
641
641
pub const USB_TRANSPORT_CHARACTERISTICS_BANDWIDTH_AVAILABLE : ULONG = 0x2 ;
642
- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS {
642
+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS {
643
643
Version : ULONG ,
644
644
TransportCharacteristicsFlags : ULONG ,
645
645
CurrentRoundtripLatencyInMilliSeconds : ULONG64 ,
@@ -649,46 +649,46 @@ pub type PUSB_TRANSPORT_CHARACTERISTICS = *mut USB_TRANSPORT_CHARACTERISTICS;
649
649
pub const USB_REGISTER_FOR_TRANSPORT_LATENCY_CHANGE : ULONG = 0x1 ;
650
650
pub const USB_REGISTER_FOR_TRANSPORT_BANDWIDTH_CHANGE : ULONG = 0x2 ;
651
651
DECLARE_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 {
653
653
ChangeNotificationInputFlags : ULONG ,
654
654
Handle : USB_CHANGE_REGISTRATION_HANDLE ,
655
655
UsbTransportCharacteristics : USB_TRANSPORT_CHARACTERISTICS ,
656
656
} }
657
657
pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION
658
658
= * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_REGISTRATION ;
659
- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION {
659
+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION {
660
660
Handle : USB_CHANGE_REGISTRATION_HANDLE ,
661
661
UsbTransportCharacteristics : USB_TRANSPORT_CHARACTERISTICS ,
662
662
} }
663
663
pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION
664
664
= * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION ;
665
- STRUCT ! { struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION {
665
+ STRUCT ! { # [ repr ( packed ) ] struct USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION {
666
666
Handle : USB_CHANGE_REGISTRATION_HANDLE ,
667
667
} }
668
668
pub type PUSB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION
669
669
= * mut USB_TRANSPORT_CHARACTERISTICS_CHANGE_UNREGISTRATION ;
670
670
pub const USB_DEVICE_CHARACTERISTICS_VERSION_1 : ULONG = 0x01 ;
671
671
pub const USB_DEVICE_CHARACTERISTICS_MAXIMUM_PATH_DELAYS_AVAILABLE : ULONG = 0x1 ;
672
- STRUCT ! { struct USB_DEVICE_CHARACTERISTICS {
672
+ STRUCT ! { # [ repr ( packed ) ] struct USB_DEVICE_CHARACTERISTICS {
673
673
Version : ULONG ,
674
674
Reserved : [ ULONG ; 2 ] ,
675
675
UsbDeviceCharacteristicsFlags : ULONG ,
676
676
MaximumSendPathDelayInMilliSeconds : ULONG ,
677
677
MaximumCompletionPathDelayInMilliSeconds : ULONG ,
678
678
} }
679
679
pub 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 {
681
681
TimeTrackingHandle : HANDLE ,
682
682
IsStartupDelayTolerable : BOOLEAN ,
683
683
} }
684
684
pub type PUSB_START_TRACKING_FOR_TIME_SYNC_INFORMATION
685
685
= * 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 {
687
687
TimeTrackingHandle : HANDLE ,
688
688
} }
689
689
pub type PUSB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION
690
690
= * 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 {
692
692
TimeTrackingHandle : HANDLE ,
693
693
InputFrameNumber : ULONG ,
694
694
InputMicroFrameNumber : ULONG ,
0 commit comments