aboutsummaryrefslogtreecommitdiff
path: root/vendor/windows-sys/src/Windows/Win32/Storage/Nvme
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/windows-sys/src/Windows/Win32/Storage/Nvme
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/windows-sys/src/Windows/Win32/Storage/Nvme')
-rw-r--r--vendor/windows-sys/src/Windows/Win32/Storage/Nvme/mod.rs5398
1 files changed, 5398 insertions, 0 deletions
diff --git a/vendor/windows-sys/src/Windows/Win32/Storage/Nvme/mod.rs b/vendor/windows-sys/src/Windows/Win32/Storage/Nvme/mod.rs
new file mode 100644
index 0000000..b22b594
--- /dev/null
+++ b/vendor/windows-sys/src/Windows/Win32/Storage/Nvme/mod.rs
@@ -0,0 +1,5398 @@
+pub const FIRMWARE_ACTIVATION_HISTORY_ENTRY_VERSION_1: u32 = 1u32;
+pub const GUID_MFND_CHILD_CONTROLLER_EVENT_LOG_PAGE: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x98bcce18_a5f0_bf35_a544_d97f259d669c);
+pub const GUID_MFND_CHILD_CONTROLLER_EVENT_LOG_PAGEGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x98bcce18_a5f0_bf35_a544_d97f259d669c);
+pub const GUID_OCP_DEVICE_DEVICE_CAPABILITIES: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x0d054297_e1d1_98c9_5d49_584b913c05b7);
+pub const GUID_OCP_DEVICE_DEVICE_CAPABILITIESGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x0d054297_e1d1_98c9_5d49_584b913c05b7);
+pub const GUID_OCP_DEVICE_ERROR_RECOVERY: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2131d944_30fe_ae34_ab4d_fd3dba83195a);
+pub const GUID_OCP_DEVICE_ERROR_RECOVERYGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2131d944_30fe_ae34_ab4d_fd3dba83195a);
+pub const GUID_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORY: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x769a796d_dab4_a3f6_e24d_b28aacf31cd1);
+pub const GUID_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORYGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x769a796d_dab4_a3f6_e24d_b28aacf31cd1);
+pub const GUID_OCP_DEVICE_LATENCY_MONITOR: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x8cc07a92_84d0_9c6c_7043_e6d4585ed485);
+pub const GUID_OCP_DEVICE_LATENCY_MONITORGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x8cc07a92_84d0_9c6c_7043_e6d4585ed485);
+pub const GUID_OCP_DEVICE_SMART_INFORMATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2810afc5_bfea_a4f2_9c4f_6f7cc914d5af);
+pub const GUID_OCP_DEVICE_SMART_INFORMATIONGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2810afc5_bfea_a4f2_9c4f_6f7cc914d5af);
+pub const GUID_OCP_DEVICE_TCG_CONFIGURATION: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0xbd244006_e07e_83e6_c047_54fa9d2ae054);
+pub const GUID_OCP_DEVICE_TCG_CONFIGURATIONGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0xbd244006_e07e_83e6_c047_54fa9d2ae054);
+pub const GUID_OCP_DEVICE_TCG_HISTORY: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x704b513e_09c6_9490_274e_d0969690d788);
+pub const GUID_OCP_DEVICE_TCG_HISTORYGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x704b513e_09c6_9490_274e_d0969690d788);
+pub const GUID_OCP_DEVICE_UNSUPPORTED_REQUIREMENTS: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x0e9c722f_2399_bb2c_6348_32d0b798bbc7);
+pub const GUID_OCP_DEVICE_UNSUPPORTED_REQUIREMENTSGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x0e9c722f_2399_bb2c_6348_32d0b798bbc7);
+pub const GUID_WCS_DEVICE_ERROR_RECOVERY: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2131d944_30fe_ae34_ab4d_fd3dba83195a);
+pub const GUID_WCS_DEVICE_ERROR_RECOVERYGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2131d944_30fe_ae34_ab4d_fd3dba83195a);
+pub const GUID_WCS_DEVICE_SMART_ATTRIBUTES: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2810afc5_bfea_a4f2_9c4f_6f7cc914d5af);
+pub const GUID_WCS_DEVICE_SMART_ATTRIBUTESGuid: ::windows_sys::core::GUID = ::windows_sys::core::GUID::from_u128(0x2810afc5_bfea_a4f2_9c4f_6f7cc914d5af);
+pub const NVME_ACCESS_FREQUENCY_FR_WRITE_FR_READ: NVME_ACCESS_FREQUENCIES = 5i32;
+pub const NVME_ACCESS_FREQUENCY_FR_WRITE_INFR_READ: NVME_ACCESS_FREQUENCIES = 4i32;
+pub const NVME_ACCESS_FREQUENCY_INFR_WRITE_FR_READ: NVME_ACCESS_FREQUENCIES = 3i32;
+pub const NVME_ACCESS_FREQUENCY_INFR_WRITE_INFR_READ: NVME_ACCESS_FREQUENCIES = 2i32;
+pub const NVME_ACCESS_FREQUENCY_NONE: NVME_ACCESS_FREQUENCIES = 0i32;
+pub const NVME_ACCESS_FREQUENCY_ONE_TIME_READ: NVME_ACCESS_FREQUENCIES = 6i32;
+pub const NVME_ACCESS_FREQUENCY_SPECULATIVE_READ: NVME_ACCESS_FREQUENCIES = 7i32;
+pub const NVME_ACCESS_FREQUENCY_TYPICAL: NVME_ACCESS_FREQUENCIES = 1i32;
+pub const NVME_ACCESS_FREQUENCY_WILL_BE_OVERWRITTEN: NVME_ACCESS_FREQUENCIES = 8i32;
+pub const NVME_ACCESS_LATENCY_IDLE: NVME_ACCESS_LATENCIES = 1i32;
+pub const NVME_ACCESS_LATENCY_LOW: NVME_ACCESS_LATENCIES = 3i32;
+pub const NVME_ACCESS_LATENCY_NONE: NVME_ACCESS_LATENCIES = 0i32;
+pub const NVME_ACCESS_LATENCY_NORMAL: NVME_ACCESS_LATENCIES = 2i32;
+pub const NVME_ADMIN_COMMAND_ABORT: NVME_ADMIN_COMMANDS = 8i32;
+pub const NVME_ADMIN_COMMAND_ASYNC_EVENT_REQUEST: NVME_ADMIN_COMMANDS = 12i32;
+pub const NVME_ADMIN_COMMAND_CREATE_IO_CQ: NVME_ADMIN_COMMANDS = 5i32;
+pub const NVME_ADMIN_COMMAND_CREATE_IO_SQ: NVME_ADMIN_COMMANDS = 1i32;
+pub const NVME_ADMIN_COMMAND_DELETE_IO_CQ: NVME_ADMIN_COMMANDS = 4i32;
+pub const NVME_ADMIN_COMMAND_DELETE_IO_SQ: NVME_ADMIN_COMMANDS = 0i32;
+pub const NVME_ADMIN_COMMAND_DEVICE_SELF_TEST: NVME_ADMIN_COMMANDS = 20i32;
+pub const NVME_ADMIN_COMMAND_DIRECTIVE_RECEIVE: NVME_ADMIN_COMMANDS = 26i32;
+pub const NVME_ADMIN_COMMAND_DIRECTIVE_SEND: NVME_ADMIN_COMMANDS = 25i32;
+pub const NVME_ADMIN_COMMAND_DOORBELL_BUFFER_CONFIG: NVME_ADMIN_COMMANDS = 124i32;
+pub const NVME_ADMIN_COMMAND_FIRMWARE_ACTIVATE: NVME_ADMIN_COMMANDS = 16i32;
+pub const NVME_ADMIN_COMMAND_FIRMWARE_COMMIT: NVME_ADMIN_COMMANDS = 16i32;
+pub const NVME_ADMIN_COMMAND_FIRMWARE_IMAGE_DOWNLOAD: NVME_ADMIN_COMMANDS = 17i32;
+pub const NVME_ADMIN_COMMAND_FORMAT_NVM: NVME_ADMIN_COMMANDS = 128i32;
+pub const NVME_ADMIN_COMMAND_GET_FEATURES: NVME_ADMIN_COMMANDS = 10i32;
+pub const NVME_ADMIN_COMMAND_GET_LBA_STATUS: NVME_ADMIN_COMMANDS = 134i32;
+pub const NVME_ADMIN_COMMAND_GET_LOG_PAGE: NVME_ADMIN_COMMANDS = 2i32;
+pub const NVME_ADMIN_COMMAND_IDENTIFY: NVME_ADMIN_COMMANDS = 6i32;
+pub const NVME_ADMIN_COMMAND_NAMESPACE_ATTACHMENT: NVME_ADMIN_COMMANDS = 21i32;
+pub const NVME_ADMIN_COMMAND_NAMESPACE_MANAGEMENT: NVME_ADMIN_COMMANDS = 13i32;
+pub const NVME_ADMIN_COMMAND_NVME_MI_RECEIVE: NVME_ADMIN_COMMANDS = 30i32;
+pub const NVME_ADMIN_COMMAND_NVME_MI_SEND: NVME_ADMIN_COMMANDS = 29i32;
+pub const NVME_ADMIN_COMMAND_SANITIZE: NVME_ADMIN_COMMANDS = 132i32;
+pub const NVME_ADMIN_COMMAND_SECURITY_RECEIVE: NVME_ADMIN_COMMANDS = 130i32;
+pub const NVME_ADMIN_COMMAND_SECURITY_SEND: NVME_ADMIN_COMMANDS = 129i32;
+pub const NVME_ADMIN_COMMAND_SET_FEATURES: NVME_ADMIN_COMMANDS = 9i32;
+pub const NVME_ADMIN_COMMAND_VIRTUALIZATION_MANAGEMENT: NVME_ADMIN_COMMANDS = 28i32;
+pub const NVME_AMS_ROUND_ROBIN: NVME_AMS_OPTION = 0i32;
+pub const NVME_AMS_WEIGHTED_ROUND_ROBIN_URGENT: NVME_AMS_OPTION = 1i32;
+pub const NVME_ASYNC_ERROR_DIAG_FAILURE: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 2i32;
+pub const NVME_ASYNC_ERROR_FIRMWARE_IMAGE_LOAD_ERROR: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 5i32;
+pub const NVME_ASYNC_ERROR_INVALID_DOORBELL_WRITE_VALUE: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 1i32;
+pub const NVME_ASYNC_ERROR_INVALID_SUBMISSION_QUEUE: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 0i32;
+pub const NVME_ASYNC_ERROR_PERSISTENT_INTERNAL_DEVICE_ERROR: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 3i32;
+pub const NVME_ASYNC_ERROR_TRANSIENT_INTERNAL_DEVICE_ERROR: NVME_ASYNC_EVENT_ERROR_STATUS_CODES = 4i32;
+pub const NVME_ASYNC_EVENT_TYPE_ERROR_STATUS: NVME_ASYNC_EVENT_TYPES = 0i32;
+pub const NVME_ASYNC_EVENT_TYPE_HEALTH_STATUS: NVME_ASYNC_EVENT_TYPES = 1i32;
+pub const NVME_ASYNC_EVENT_TYPE_IO_COMMAND_SET_STATUS: NVME_ASYNC_EVENT_TYPES = 6i32;
+pub const NVME_ASYNC_EVENT_TYPE_NOTICE: NVME_ASYNC_EVENT_TYPES = 2i32;
+pub const NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC: NVME_ASYNC_EVENT_TYPES = 7i32;
+pub const NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_DEVICE_PANIC: NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_CODES = 1i32;
+pub const NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_RESERVED: NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_CODES = 0i32;
+pub const NVME_ASYNC_HEALTH_NVM_SUBSYSTEM_RELIABILITY: NVME_ASYNC_EVENT_HEALTH_STATUS_CODES = 0i32;
+pub const NVME_ASYNC_HEALTH_SPARE_BELOW_THRESHOLD: NVME_ASYNC_EVENT_HEALTH_STATUS_CODES = 2i32;
+pub const NVME_ASYNC_HEALTH_TEMPERATURE_THRESHOLD: NVME_ASYNC_EVENT_HEALTH_STATUS_CODES = 1i32;
+pub const NVME_ASYNC_IO_CMD_SANITIZE_OPERATION_COMPLETED: NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES = 1i32;
+pub const NVME_ASYNC_IO_CMD_SANITIZE_OPERATION_COMPLETED_WITH_UNEXPECTED_DEALLOCATION: NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES = 2i32;
+pub const NVME_ASYNC_IO_CMD_SET_RESERVATION_LOG_PAGE_AVAILABLE: NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES = 0i32;
+pub const NVME_ASYNC_NOTICE_ASYMMETRIC_ACCESS_CHANGE: NVME_ASYNC_EVENT_NOTICE_CODES = 3i32;
+pub const NVME_ASYNC_NOTICE_ENDURANCE_GROUP_EVENT_AGGREGATE_LOG_CHANGE: NVME_ASYNC_EVENT_NOTICE_CODES = 6i32;
+pub const NVME_ASYNC_NOTICE_FIRMWARE_ACTIVATION_STARTING: NVME_ASYNC_EVENT_NOTICE_CODES = 1i32;
+pub const NVME_ASYNC_NOTICE_LBA_STATUS_INFORMATION_ALERT: NVME_ASYNC_EVENT_NOTICE_CODES = 5i32;
+pub const NVME_ASYNC_NOTICE_NAMESPACE_ATTRIBUTE_CHANGED: NVME_ASYNC_EVENT_NOTICE_CODES = 0i32;
+pub const NVME_ASYNC_NOTICE_PREDICTABLE_LATENCY_EVENT_AGGREGATE_LOG_CHANGE: NVME_ASYNC_EVENT_NOTICE_CODES = 4i32;
+pub const NVME_ASYNC_NOTICE_TELEMETRY_LOG_CHANGED: NVME_ASYNC_EVENT_NOTICE_CODES = 2i32;
+pub const NVME_ASYNC_NOTICE_ZONE_DESCRIPTOR_CHANGED: NVME_ASYNC_EVENT_NOTICE_CODES = 239i32;
+pub const NVME_CC_SHN_ABRUPT_SHUTDOWN: NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS = 2i32;
+pub const NVME_CC_SHN_NORMAL_SHUTDOWN: NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS = 1i32;
+pub const NVME_CC_SHN_NO_NOTIFICATION: NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS = 0i32;
+pub const NVME_CMBSZ_SIZE_UNITS_16MB: NVME_CMBSZ_SIZE_UNITS = 3i32;
+pub const NVME_CMBSZ_SIZE_UNITS_1MB: NVME_CMBSZ_SIZE_UNITS = 2i32;
+pub const NVME_CMBSZ_SIZE_UNITS_256MB: NVME_CMBSZ_SIZE_UNITS = 4i32;
+pub const NVME_CMBSZ_SIZE_UNITS_4GB: NVME_CMBSZ_SIZE_UNITS = 5i32;
+pub const NVME_CMBSZ_SIZE_UNITS_4KB: NVME_CMBSZ_SIZE_UNITS = 0i32;
+pub const NVME_CMBSZ_SIZE_UNITS_64GB: NVME_CMBSZ_SIZE_UNITS = 6i32;
+pub const NVME_CMBSZ_SIZE_UNITS_64KB: NVME_CMBSZ_SIZE_UNITS = 1i32;
+pub const NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_NONE: NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS = 0i32;
+pub const NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_SINGLE_PER_CONTROLLER: NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS = 2i32;
+pub const NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMIT_SINGLE_PER_NAMESPACE: NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS = 1i32;
+pub const NVME_COMMAND_SET_KEY_VALUE: NVME_COMMAND_SET_IDENTIFIERS = 1i32;
+pub const NVME_COMMAND_SET_NVM: NVME_COMMAND_SET_IDENTIFIERS = 0i32;
+pub const NVME_COMMAND_SET_ZONED_NAMESPACE: NVME_COMMAND_SET_IDENTIFIERS = 2i32;
+pub const NVME_CONTROLLER_METADATA_CHIPSET_DRIVER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 8i32;
+pub const NVME_CONTROLLER_METADATA_CHIPSET_DRIVER_VERSION: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 9i32;
+pub const NVME_CONTROLLER_METADATA_DISPLAY_DRIVER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 14i32;
+pub const NVME_CONTROLLER_METADATA_DISPLAY_DRIVER_VERSION: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 15i32;
+pub const NVME_CONTROLLER_METADATA_FIRMWARE_VERSION: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 12i32;
+pub const NVME_CONTROLLER_METADATA_HOST_DETERMINED_FAILURE_RECORD: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 16i32;
+pub const NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_CONTROLLER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 1i32;
+pub const NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_FILENAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 13i32;
+pub const NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 2i32;
+pub const NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_DRIVER_VERSION: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 3i32;
+pub const NVME_CONTROLLER_METADATA_OPERATING_SYSTEM_NAME_AND_BUILD: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 10i32;
+pub const NVME_CONTROLLER_METADATA_PREBOOT_CONTROLLER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 4i32;
+pub const NVME_CONTROLLER_METADATA_PREBOOT_DRIVER_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 5i32;
+pub const NVME_CONTROLLER_METADATA_PREBOOT_DRIVER_VERSION: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 6i32;
+pub const NVME_CONTROLLER_METADATA_SYSTEM_PROCESSOR_MODEL: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 7i32;
+pub const NVME_CONTROLLER_METADATA_SYSTEM_PRODUCT_NAME: NVME_CONTROLLER_METADATA_ELEMENT_TYPES = 11i32;
+pub const NVME_CSS_ADMIN_COMMAND_SET_ONLY: NVME_CSS_COMMAND_SETS = 7i32;
+pub const NVME_CSS_ALL_SUPPORTED_IO_COMMAND_SET: NVME_CSS_COMMAND_SETS = 6i32;
+pub const NVME_CSS_NVM_COMMAND_SET: NVME_CSS_COMMAND_SETS = 0i32;
+pub const NVME_CSTS_SHST_NO_SHUTDOWN: NVME_CSTS_SHST_SHUTDOWN_STATUS = 0i32;
+pub const NVME_CSTS_SHST_SHUTDOWN_COMPLETED: NVME_CSTS_SHST_SHUTDOWN_STATUS = 2i32;
+pub const NVME_CSTS_SHST_SHUTDOWN_IN_PROCESS: NVME_CSTS_SHST_SHUTDOWN_STATUS = 1i32;
+pub const NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATION_RETURN_PARAMETERS: NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATIONS = 1i32;
+pub const NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_ALLOCATE_RESOURCES: NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS = 3i32;
+pub const NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_GET_STATUS: NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS = 2i32;
+pub const NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATION_RETURN_PARAMETERS: NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS = 1i32;
+pub const NVME_DIRECTIVE_SEND_IDENTIFY_OPERATION_ENABLE_DIRECTIVE: NVME_DIRECTIVE_SEND_IDENTIFY_OPERATIONS = 1i32;
+pub const NVME_DIRECTIVE_SEND_STREAMS_OPERATION_RELEASE_IDENTIFIER: NVME_DIRECTIVE_SEND_STREAMS_OPERATIONS = 1i32;
+pub const NVME_DIRECTIVE_SEND_STREAMS_OPERATION_RELEASE_RESOURCES: NVME_DIRECTIVE_SEND_STREAMS_OPERATIONS = 2i32;
+pub const NVME_DIRECTIVE_TYPE_IDENTIFY: NVME_DIRECTIVE_TYPES = 0i32;
+pub const NVME_DIRECTIVE_TYPE_STREAMS: NVME_DIRECTIVE_TYPES = 1i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_CPU_CONTROLLER_HANG: NVME_ERROR_INJECTION_TYPES = 1i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_DRAM_CORRUPTION_CRITICAL: NVME_ERROR_INJECTION_TYPES = 5i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_DRAM_CORRUPTION_NONCRITICAL: NVME_ERROR_INJECTION_TYPES = 6i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_HW_MALFUNCTION: NVME_ERROR_INJECTION_TYPES = 9i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_LOGICAL_FW_ERROR: NVME_ERROR_INJECTION_TYPES = 4i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_NAND_CORRUPTION: NVME_ERROR_INJECTION_TYPES = 7i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_NAND_HANG: NVME_ERROR_INJECTION_TYPES = 2i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_PLP_DEFECT: NVME_ERROR_INJECTION_TYPES = 3i32;
+pub const NVME_ERROR_INJECTION_TYPE_DEVICE_PANIC_SRAM_CORRUPTION: NVME_ERROR_INJECTION_TYPES = 8i32;
+pub const NVME_ERROR_INJECTION_TYPE_MAX: NVME_ERROR_INJECTION_TYPES = 65535i32;
+pub const NVME_ERROR_INJECTION_TYPE_RESERVED0: NVME_ERROR_INJECTION_TYPES = 0i32;
+pub const NVME_ERROR_INJECTION_TYPE_RESERVED1: NVME_ERROR_INJECTION_TYPES = 10i32;
+pub const NVME_EXTENDED_HOST_IDENTIFIER_SIZE: u32 = 16u32;
+pub const NVME_FEATURE_ARBITRATION: NVME_FEATURES = 1i32;
+pub const NVME_FEATURE_ASYNC_EVENT_CONFIG: NVME_FEATURES = 11i32;
+pub const NVME_FEATURE_AUTONOMOUS_POWER_STATE_TRANSITION: NVME_FEATURES = 12i32;
+pub const NVME_FEATURE_CLEAR_FW_UPDATE_HISTORY: NVME_FEATURES = 193i32;
+pub const NVME_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS: NVME_FEATURES = 195i32;
+pub const NVME_FEATURE_CONTROLLER_METADATA: NVME_FEATURES = 126i32;
+pub const NVME_FEATURE_ENABLE_IEEE1667_SILO: NVME_FEATURES = 196i32;
+pub const NVME_FEATURE_ENDURANCE_GROUP_EVENT_CONFIG: NVME_FEATURES = 24i32;
+pub const NVME_FEATURE_ENHANCED_CONTROLLER_METADATA: NVME_FEATURES = 125i32;
+pub const NVME_FEATURE_ERROR_INJECTION: NVME_FEATURES = 192i32;
+pub const NVME_FEATURE_ERROR_RECOVERY: NVME_FEATURES = 5i32;
+pub const NVME_FEATURE_HOST_BEHAVIOR_SUPPORT: NVME_FEATURES = 22i32;
+pub const NVME_FEATURE_HOST_CONTROLLED_THERMAL_MANAGEMENT: NVME_FEATURES = 16i32;
+pub const NVME_FEATURE_HOST_MEMORY_BUFFER: NVME_FEATURES = 13i32;
+pub const NVME_FEATURE_INTERRUPT_COALESCING: NVME_FEATURES = 8i32;
+pub const NVME_FEATURE_INTERRUPT_VECTOR_CONFIG: NVME_FEATURES = 9i32;
+pub const NVME_FEATURE_IO_COMMAND_SET_PROFILE: NVME_FEATURES = 25i32;
+pub const NVME_FEATURE_KEEP_ALIVE: NVME_FEATURES = 15i32;
+pub const NVME_FEATURE_LBA_RANGE_TYPE: NVME_FEATURES = 3i32;
+pub const NVME_FEATURE_LBA_STATUS_INFORMATION_REPORT_INTERVAL: NVME_FEATURES = 21i32;
+pub const NVME_FEATURE_NAMESPACE_METADATA: NVME_FEATURES = 127i32;
+pub const NVME_FEATURE_NONOPERATIONAL_POWER_STATE: NVME_FEATURES = 17i32;
+pub const NVME_FEATURE_NUMBER_OF_QUEUES: NVME_FEATURES = 7i32;
+pub const NVME_FEATURE_NVM_HOST_IDENTIFIER: NVME_FEATURES = 129i32;
+pub const NVME_FEATURE_NVM_NAMESPACE_WRITE_PROTECTION_CONFIG: NVME_FEATURES = 132i32;
+pub const NVME_FEATURE_NVM_RESERVATION_NOTIFICATION_MASK: NVME_FEATURES = 130i32;
+pub const NVME_FEATURE_NVM_RESERVATION_PERSISTANCE: NVME_FEATURES = 131i32;
+pub const NVME_FEATURE_NVM_SOFTWARE_PROGRESS_MARKER: NVME_FEATURES = 128i32;
+pub const NVME_FEATURE_PLP_HEALTH_MONITOR: NVME_FEATURES = 197i32;
+pub const NVME_FEATURE_POWER_MANAGEMENT: NVME_FEATURES = 2i32;
+pub const NVME_FEATURE_PREDICTABLE_LATENCY_MODE_CONFIG: NVME_FEATURES = 19i32;
+pub const NVME_FEATURE_PREDICTABLE_LATENCY_MODE_WINDOW: NVME_FEATURES = 20i32;
+pub const NVME_FEATURE_READONLY_WRITETHROUGH_MODE: NVME_FEATURES = 194i32;
+pub const NVME_FEATURE_READ_RECOVERY_LEVEL_CONFIG: NVME_FEATURES = 18i32;
+pub const NVME_FEATURE_SANITIZE_CONFIG: NVME_FEATURES = 23i32;
+pub const NVME_FEATURE_TEMPERATURE_THRESHOLD: NVME_FEATURES = 4i32;
+pub const NVME_FEATURE_TIMESTAMP: NVME_FEATURES = 14i32;
+pub const NVME_FEATURE_VALUE_CURRENT: NVME_FEATURE_VALUE_CODES = 0i32;
+pub const NVME_FEATURE_VALUE_DEFAULT: NVME_FEATURE_VALUE_CODES = 1i32;
+pub const NVME_FEATURE_VALUE_SAVED: NVME_FEATURE_VALUE_CODES = 2i32;
+pub const NVME_FEATURE_VALUE_SUPPORTED_CAPABILITIES: NVME_FEATURE_VALUE_CODES = 3i32;
+pub const NVME_FEATURE_VOLATILE_WRITE_CACHE: NVME_FEATURES = 6i32;
+pub const NVME_FEATURE_WRITE_ATOMICITY: NVME_FEATURES = 10i32;
+pub const NVME_FIRMWARE_ACTIVATE_ACTION_ACTIVATE: NVME_FIRMWARE_ACTIVATE_ACTIONS = 2i32;
+pub const NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT: NVME_FIRMWARE_ACTIVATE_ACTIONS = 0i32;
+pub const NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT_AND_ACTIVATE: NVME_FIRMWARE_ACTIVATE_ACTIONS = 1i32;
+pub const NVME_FIRMWARE_ACTIVATE_ACTION_DOWNLOAD_TO_SLOT_AND_ACTIVATE_IMMEDIATE: NVME_FIRMWARE_ACTIVATE_ACTIONS = 3i32;
+pub const NVME_FUSED_OPERATION_FIRST_CMD: NVME_FUSED_OPERATION_CODES = 1i32;
+pub const NVME_FUSED_OPERATION_NORMAL: NVME_FUSED_OPERATION_CODES = 0i32;
+pub const NVME_FUSED_OPERATION_SECOND_CMD: NVME_FUSED_OPERATION_CODES = 2i32;
+pub const NVME_HOST_IDENTIFIER_SIZE: u32 = 8u32;
+pub const NVME_HOST_METADATA_ADD_ENTRY_MULTIPLE: NVME_HOST_METADATA_ELEMENT_ACTIONS = 2i32;
+pub const NVME_HOST_METADATA_ADD_REPLACE_ENTRY: NVME_HOST_METADATA_ELEMENT_ACTIONS = 0i32;
+pub const NVME_HOST_METADATA_DELETE_ENTRY_MULTIPLE: NVME_HOST_METADATA_ELEMENT_ACTIONS = 1i32;
+pub const NVME_IDENTIFIER_TYPE_CSI: NVME_IDENTIFIER_TYPE = 4i32;
+pub const NVME_IDENTIFIER_TYPE_CSI_LENGTH: NVME_IDENTIFIER_TYPE_LENGTH = 1i32;
+pub const NVME_IDENTIFIER_TYPE_EUI64: NVME_IDENTIFIER_TYPE = 1i32;
+pub const NVME_IDENTIFIER_TYPE_EUI64_LENGTH: NVME_IDENTIFIER_TYPE_LENGTH = 8i32;
+pub const NVME_IDENTIFIER_TYPE_NGUID: NVME_IDENTIFIER_TYPE = 2i32;
+pub const NVME_IDENTIFIER_TYPE_NGUID_LENGTH: NVME_IDENTIFIER_TYPE_LENGTH = 16i32;
+pub const NVME_IDENTIFIER_TYPE_UUID: NVME_IDENTIFIER_TYPE = 3i32;
+pub const NVME_IDENTIFIER_TYPE_UUID_LENGTH: NVME_IDENTIFIER_TYPE_LENGTH = 16i32;
+pub const NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES: NVME_IDENTIFY_CNS_CODES = 2i32;
+pub const NVME_IDENTIFY_CNS_ACTIVE_NAMESPACE_LIST_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 7i32;
+pub const NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE: NVME_IDENTIFY_CNS_CODES = 17i32;
+pub const NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 27i32;
+pub const NVME_IDENTIFY_CNS_ALLOCATED_NAMESPACE_LIST: NVME_IDENTIFY_CNS_CODES = 16i32;
+pub const NVME_IDENTIFY_CNS_ALLOCATED_NAMSPACE_LIST_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 26i32;
+pub const NVME_IDENTIFY_CNS_CONTROLLER: NVME_IDENTIFY_CNS_CODES = 1i32;
+pub const NVME_IDENTIFY_CNS_CONTROLLER_LIST_OF_NSID: NVME_IDENTIFY_CNS_CODES = 18i32;
+pub const NVME_IDENTIFY_CNS_CONTROLLER_LIST_OF_NVM_SUBSYSTEM: NVME_IDENTIFY_CNS_CODES = 19i32;
+pub const NVME_IDENTIFY_CNS_DESCRIPTOR_NAMESPACE: NVME_IDENTIFY_CNS_CODES = 3i32;
+pub const NVME_IDENTIFY_CNS_DESCRIPTOR_NAMESPACE_SIZE: u32 = 4096u32;
+pub const NVME_IDENTIFY_CNS_DOMAIN_LIST: NVME_IDENTIFY_CNS_CODES = 24i32;
+pub const NVME_IDENTIFY_CNS_ENDURANCE_GROUP_LIST: NVME_IDENTIFY_CNS_CODES = 25i32;
+pub const NVME_IDENTIFY_CNS_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 28i32;
+pub const NVME_IDENTIFY_CNS_NAMESPACE_GRANULARITY_LIST: NVME_IDENTIFY_CNS_CODES = 22i32;
+pub const NVME_IDENTIFY_CNS_NVM_SET: NVME_IDENTIFY_CNS_CODES = 4i32;
+pub const NVME_IDENTIFY_CNS_PRIMARY_CONTROLLER_CAPABILITIES: NVME_IDENTIFY_CNS_CODES = 20i32;
+pub const NVME_IDENTIFY_CNS_SECONDARY_CONTROLLER_LIST: NVME_IDENTIFY_CNS_CODES = 21i32;
+pub const NVME_IDENTIFY_CNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 6i32;
+pub const NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE: NVME_IDENTIFY_CNS_CODES = 0i32;
+pub const NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE_IO_COMMAND_SET: NVME_IDENTIFY_CNS_CODES = 5i32;
+pub const NVME_IDENTIFY_CNS_UUID_LIST: NVME_IDENTIFY_CNS_CODES = 23i32;
+pub const NVME_IO_COMMAND_SET_COMBINATION_REJECTED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 43i32;
+pub const NVME_IO_COMMAND_SET_INVALID: NVME_STATUS_COMMAND_SPECIFIC_CODES = 44i32;
+pub const NVME_IO_COMMAND_SET_NOT_ENABLED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 42i32;
+pub const NVME_IO_COMMAND_SET_NOT_SUPPORTED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 41i32;
+pub const NVME_LBA_RANGE_TYPE_CACHE: NVME_LBA_RANGE_TYPES = 3i32;
+pub const NVME_LBA_RANGE_TYPE_FILESYSTEM: NVME_LBA_RANGE_TYPES = 1i32;
+pub const NVME_LBA_RANGE_TYPE_PAGE_SWAP_FILE: NVME_LBA_RANGE_TYPES = 4i32;
+pub const NVME_LBA_RANGE_TYPE_RAID: NVME_LBA_RANGE_TYPES = 2i32;
+pub const NVME_LBA_RANGE_TYPE_RESERVED: NVME_LBA_RANGE_TYPES = 0i32;
+pub const NVME_LOG_PAGE_ASYMMETRIC_NAMESPACE_ACCESS: NVME_LOG_PAGES = 12i32;
+pub const NVME_LOG_PAGE_CHANGED_NAMESPACE_LIST: NVME_LOG_PAGES = 4i32;
+pub const NVME_LOG_PAGE_CHANGED_ZONE_LIST: NVME_LOG_PAGES = 191i32;
+pub const NVME_LOG_PAGE_COMMAND_EFFECTS: NVME_LOG_PAGES = 5i32;
+pub const NVME_LOG_PAGE_DEVICE_SELF_TEST: NVME_LOG_PAGES = 6i32;
+pub const NVME_LOG_PAGE_ENDURANCE_GROUP_EVENT_AGGREGATE: NVME_LOG_PAGES = 15i32;
+pub const NVME_LOG_PAGE_ENDURANCE_GROUP_INFORMATION: NVME_LOG_PAGES = 9i32;
+pub const NVME_LOG_PAGE_ERROR_INFO: NVME_LOG_PAGES = 1i32;
+pub const NVME_LOG_PAGE_FIRMWARE_SLOT_INFO: NVME_LOG_PAGES = 3i32;
+pub const NVME_LOG_PAGE_HEALTH_INFO: NVME_LOG_PAGES = 2i32;
+pub const NVME_LOG_PAGE_LBA_STATUS_INFORMATION: NVME_LOG_PAGES = 14i32;
+pub const NVME_LOG_PAGE_OCP_DEVICE_CAPABILITIES: NVME_VENDOR_LOG_PAGES = 196i32;
+pub const NVME_LOG_PAGE_OCP_DEVICE_ERROR_RECOVERY: NVME_VENDOR_LOG_PAGES = 193i32;
+pub const NVME_LOG_PAGE_OCP_DEVICE_SMART_INFORMATION: NVME_VENDOR_LOG_PAGES = 192i32;
+pub const NVME_LOG_PAGE_OCP_FIRMWARE_ACTIVATION_HISTORY: NVME_VENDOR_LOG_PAGES = 194i32;
+pub const NVME_LOG_PAGE_OCP_LATENCY_MONITOR: NVME_VENDOR_LOG_PAGES = 195i32;
+pub const NVME_LOG_PAGE_OCP_TCG_CONFIGURATION: NVME_VENDOR_LOG_PAGES = 200i32;
+pub const NVME_LOG_PAGE_OCP_TCG_HISTORY: NVME_VENDOR_LOG_PAGES = 201i32;
+pub const NVME_LOG_PAGE_OCP_UNSUPPORTED_REQUIREMENTS: NVME_VENDOR_LOG_PAGES = 197i32;
+pub const NVME_LOG_PAGE_PERSISTENT_EVENT_LOG: NVME_LOG_PAGES = 13i32;
+pub const NVME_LOG_PAGE_PREDICTABLE_LATENCY_EVENT_AGGREGATE: NVME_LOG_PAGES = 11i32;
+pub const NVME_LOG_PAGE_PREDICTABLE_LATENCY_NVM_SET: NVME_LOG_PAGES = 10i32;
+pub const NVME_LOG_PAGE_RESERVATION_NOTIFICATION: NVME_LOG_PAGES = 128i32;
+pub const NVME_LOG_PAGE_SANITIZE_STATUS: NVME_LOG_PAGES = 129i32;
+pub const NVME_LOG_PAGE_TELEMETRY_CTLR_INITIATED: NVME_LOG_PAGES = 8i32;
+pub const NVME_LOG_PAGE_TELEMETRY_HOST_INITIATED: NVME_LOG_PAGES = 7i32;
+pub const NVME_MAX_HOST_IDENTIFIER_SIZE: u32 = 16u32;
+pub const NVME_MAX_LOG_SIZE: u32 = 4096u32;
+pub const NVME_MEDIA_ADDITIONALLY_MODIFIED_AFTER_SANITIZE_NOT_DEFINED: NVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE = 0i32;
+pub const NVME_MEDIA_ADDITIONALLY_MOFIDIED_AFTER_SANITIZE: NVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE = 2i32;
+pub const NVME_MEDIA_NOT_ADDITIONALLY_MODIFIED_AFTER_SANITIZE: NVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE = 1i32;
+pub const NVME_NAMESPACE_ALL: u32 = 4294967295u32;
+pub const NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME: NVME_NAMESPACE_METADATA_ELEMENT_TYPES = 1i32;
+pub const NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME_QUALIFIER_1: NVME_NAMESPACE_METADATA_ELEMENT_TYPES = 3i32;
+pub const NVME_NAMESPACE_METADATA_OPERATING_SYSTEM_NAMESPACE_NAME_QUALIFIER_2: NVME_NAMESPACE_METADATA_ELEMENT_TYPES = 4i32;
+pub const NVME_NAMESPACE_METADATA_PREBOOT_NAMESPACE_NAME: NVME_NAMESPACE_METADATA_ELEMENT_TYPES = 2i32;
+pub const NVME_NVM_COMMAND_COMPARE: NVME_NVM_COMMANDS = 5i32;
+pub const NVME_NVM_COMMAND_COPY: NVME_NVM_COMMANDS = 25i32;
+pub const NVME_NVM_COMMAND_DATASET_MANAGEMENT: NVME_NVM_COMMANDS = 9i32;
+pub const NVME_NVM_COMMAND_FLUSH: NVME_NVM_COMMANDS = 0i32;
+pub const NVME_NVM_COMMAND_READ: NVME_NVM_COMMANDS = 2i32;
+pub const NVME_NVM_COMMAND_RESERVATION_ACQUIRE: NVME_NVM_COMMANDS = 17i32;
+pub const NVME_NVM_COMMAND_RESERVATION_REGISTER: NVME_NVM_COMMANDS = 13i32;
+pub const NVME_NVM_COMMAND_RESERVATION_RELEASE: NVME_NVM_COMMANDS = 21i32;
+pub const NVME_NVM_COMMAND_RESERVATION_REPORT: NVME_NVM_COMMANDS = 14i32;
+pub const NVME_NVM_COMMAND_VERIFY: NVME_NVM_COMMANDS = 12i32;
+pub const NVME_NVM_COMMAND_WRITE: NVME_NVM_COMMANDS = 1i32;
+pub const NVME_NVM_COMMAND_WRITE_UNCORRECTABLE: NVME_NVM_COMMANDS = 4i32;
+pub const NVME_NVM_COMMAND_WRITE_ZEROES: NVME_NVM_COMMANDS = 8i32;
+pub const NVME_NVM_COMMAND_ZONE_APPEND: NVME_NVM_COMMANDS = 125i32;
+pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_RECEIVE: NVME_NVM_COMMANDS = 122i32;
+pub const NVME_NVM_COMMAND_ZONE_MANAGEMENT_SEND: NVME_NVM_COMMANDS = 121i32;
+pub const NVME_NVM_QUEUE_PRIORITY_HIGH: NVME_NVM_QUEUE_PRIORITIES = 1i32;
+pub const NVME_NVM_QUEUE_PRIORITY_LOW: NVME_NVM_QUEUE_PRIORITIES = 3i32;
+pub const NVME_NVM_QUEUE_PRIORITY_MEDIUM: NVME_NVM_QUEUE_PRIORITIES = 2i32;
+pub const NVME_NVM_QUEUE_PRIORITY_URGENT: NVME_NVM_QUEUE_PRIORITIES = 0i32;
+pub const NVME_OCP_DEVICE_CAPABILITIES_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_OCP_DEVICE_ERROR_RECOVERY_LOG_VERSION_2: u32 = 2u32;
+pub const NVME_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORY_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_OCP_DEVICE_SMART_INFORMATION_LOG_VERSION_3: u32 = 3u32;
+pub const NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_OCP_DEVICE_TCG_HISTORY_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_OCP_DEVICE_UNSUPPORTED_REQUIREMENTS_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_PERSISTENT_EVENT_TYPE_CHANGE_NAMESPACE: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 6i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_FIRMWARE_COMMIT: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 2i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_FORMAT_NVM_COMPLETION: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 8i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_FORMAT_NVM_START: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 7i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_MAX: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 255i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_NVM_SUBSYSTEM_HARDWARE_ERROR: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 5i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_POWER_ON_OR_RESET: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 4i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_RESERVED0: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 0i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_RESERVED1_BEGIN: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 14i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_RESERVED1_END: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 221i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_RESERVED2_BEGIN: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 224i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_RESERVED2_END: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 255i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_SANITIZE_COMPLETION: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 10i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_SANITIZE_START: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 9i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_SET_FEATURE: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 11i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_SMART_HEALTH_LOG_SNAPSHOT: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 1i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_TCG_DEFINED: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 223i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_TELEMETRY_LOG_CREATED: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 12i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_THERMAL_EXCURSION: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 13i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_TIMESTAMP_CHANGE: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 3i32;
+pub const NVME_PERSISTENT_EVENT_TYPE_VENDOR_SPECIFIC_EVENT: NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = 222i32;
+pub const NVME_PROTECTION_INFORMATION_NOT_ENABLED: NVME_PROTECTION_INFORMATION_TYPES = 0i32;
+pub const NVME_PROTECTION_INFORMATION_TYPE1: NVME_PROTECTION_INFORMATION_TYPES = 1i32;
+pub const NVME_PROTECTION_INFORMATION_TYPE2: NVME_PROTECTION_INFORMATION_TYPES = 2i32;
+pub const NVME_PROTECTION_INFORMATION_TYPE3: NVME_PROTECTION_INFORMATION_TYPES = 3i32;
+pub const NVME_RESERVATION_ACQUIRE_ACTION_ACQUIRE: NVME_RESERVATION_ACQUIRE_ACTIONS = 0i32;
+pub const NVME_RESERVATION_ACQUIRE_ACTION_PREEMPT: NVME_RESERVATION_ACQUIRE_ACTIONS = 1i32;
+pub const NVME_RESERVATION_ACQUIRE_ACTION_PREEMPT_AND_ABORT: NVME_RESERVATION_ACQUIRE_ACTIONS = 2i32;
+pub const NVME_RESERVATION_NOTIFICATION_TYPE_EMPTY_LOG_PAGE: NVME_RESERVATION_NOTIFICATION_TYPES = 0i32;
+pub const NVME_RESERVATION_NOTIFICATION_TYPE_REGISTRATION_PREEMPTED: NVME_RESERVATION_NOTIFICATION_TYPES = 1i32;
+pub const NVME_RESERVATION_NOTIFICATION_TYPE_REGISTRATION_RELEASED: NVME_RESERVATION_NOTIFICATION_TYPES = 2i32;
+pub const NVME_RESERVATION_NOTIFICATION_TYPE_RESERVATION_PREEPMPTED: NVME_RESERVATION_NOTIFICATION_TYPES = 3i32;
+pub const NVME_RESERVATION_REGISTER_ACTION_REGISTER: NVME_RESERVATION_REGISTER_ACTIONS = 0i32;
+pub const NVME_RESERVATION_REGISTER_ACTION_REPLACE: NVME_RESERVATION_REGISTER_ACTIONS = 2i32;
+pub const NVME_RESERVATION_REGISTER_ACTION_UNREGISTER: NVME_RESERVATION_REGISTER_ACTIONS = 1i32;
+pub const NVME_RESERVATION_REGISTER_PTPL_STATE_NO_CHANGE: NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES = 0i32;
+pub const NVME_RESERVATION_REGISTER_PTPL_STATE_RESERVED: NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES = 1i32;
+pub const NVME_RESERVATION_REGISTER_PTPL_STATE_SET_TO_0: NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES = 2i32;
+pub const NVME_RESERVATION_REGISTER_PTPL_STATE_SET_TO_1: NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES = 3i32;
+pub const NVME_RESERVATION_RELEASE_ACTION_CLEAR: NVME_RESERVATION_RELEASE_ACTIONS = 1i32;
+pub const NVME_RESERVATION_RELEASE_ACTION_RELEASE: NVME_RESERVATION_RELEASE_ACTIONS = 0i32;
+pub const NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS: NVME_RESERVATION_TYPES = 2i32;
+pub const NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS_ALL_REGISTRANTS: NVME_RESERVATION_TYPES = 6i32;
+pub const NVME_RESERVATION_TYPE_EXCLUSIVE_ACCESS_REGISTRANTS_ONLY: NVME_RESERVATION_TYPES = 4i32;
+pub const NVME_RESERVATION_TYPE_RESERVED: NVME_RESERVATION_TYPES = 0i32;
+pub const NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE: NVME_RESERVATION_TYPES = 1i32;
+pub const NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE_ALL_REGISTRANTS: NVME_RESERVATION_TYPES = 5i32;
+pub const NVME_RESERVATION_TYPE_WRITE_EXCLUSIVE_REGISTRANTS_ONLY: NVME_RESERVATION_TYPES = 3i32;
+pub const NVME_SANITIZE_ACTION_EXIT_FAILURE_MODE: NVME_SANITIZE_ACTION = 1i32;
+pub const NVME_SANITIZE_ACTION_RESERVED: NVME_SANITIZE_ACTION = 0i32;
+pub const NVME_SANITIZE_ACTION_START_BLOCK_ERASE_SANITIZE: NVME_SANITIZE_ACTION = 2i32;
+pub const NVME_SANITIZE_ACTION_START_CRYPTO_ERASE_SANITIZE: NVME_SANITIZE_ACTION = 4i32;
+pub const NVME_SANITIZE_ACTION_START_OVERWRITE_SANITIZE: NVME_SANITIZE_ACTION = 3i32;
+pub const NVME_SANITIZE_OPERATION_FAILED: NVME_SANITIZE_OPERATION_STATUS = 3i32;
+pub const NVME_SANITIZE_OPERATION_IN_PROGRESS: NVME_SANITIZE_OPERATION_STATUS = 2i32;
+pub const NVME_SANITIZE_OPERATION_NONE: NVME_SANITIZE_OPERATION_STATUS = 0i32;
+pub const NVME_SANITIZE_OPERATION_SUCCEEDED: NVME_SANITIZE_OPERATION_STATUS = 1i32;
+pub const NVME_SANITIZE_OPERATION_SUCCEEDED_WITH_FORCED_DEALLOCATION: NVME_SANITIZE_OPERATION_STATUS = 4i32;
+pub const NVME_SECURE_ERASE_CRYPTOGRAPHIC: NVME_SECURE_ERASE_SETTINGS = 2i32;
+pub const NVME_SECURE_ERASE_NONE: NVME_SECURE_ERASE_SETTINGS = 0i32;
+pub const NVME_SECURE_ERASE_USER_DATA: NVME_SECURE_ERASE_SETTINGS = 1i32;
+pub const NVME_STATE_ZSC: ZONE_STATE = 4i32;
+pub const NVME_STATE_ZSE: ZONE_STATE = 1i32;
+pub const NVME_STATE_ZSEO: ZONE_STATE = 3i32;
+pub const NVME_STATE_ZSF: ZONE_STATE = 14i32;
+pub const NVME_STATE_ZSIO: ZONE_STATE = 2i32;
+pub const NVME_STATE_ZSO: ZONE_STATE = 15i32;
+pub const NVME_STATE_ZSRO: ZONE_STATE = 13i32;
+pub const NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 3i32;
+pub const NVME_STATUS_ANA_ATTACH_FAILED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 37i32;
+pub const NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 5i32;
+pub const NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDED: NVME_STATUS_GENERIC_COMMAND_CODES = 20i32;
+pub const NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 30i32;
+pub const NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMAND: NVME_STATUS_GENERIC_COMMAND_CODES = 9i32;
+pub const NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND: NVME_STATUS_GENERIC_COMMAND_CODES = 10i32;
+pub const NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION: NVME_STATUS_GENERIC_COMMAND_CODES = 5i32;
+pub const NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT: NVME_STATUS_GENERIC_COMMAND_CODES = 27i32;
+pub const NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETION: NVME_STATUS_GENERIC_COMMAND_CODES = 8i32;
+pub const NVME_STATUS_COMMAND_ABORT_REQUESTED: NVME_STATUS_GENERIC_COMMAND_CODES = 7i32;
+pub const NVME_STATUS_COMMAND_ID_CONFLICT: NVME_STATUS_GENERIC_COMMAND_CODES = 3i32;
+pub const NVME_STATUS_COMMAND_SEQUENCE_ERROR: NVME_STATUS_GENERIC_COMMAND_CODES = 12i32;
+pub const NVME_STATUS_COMPLETION_QUEUE_INVALID: NVME_STATUS_COMMAND_SPECIFIC_CODES = 0i32;
+pub const NVME_STATUS_CONTROLLER_LIST_INVALID: NVME_STATUS_COMMAND_SPECIFIC_CODES = 28i32;
+pub const NVME_STATUS_DATA_SGL_LENGTH_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 15i32;
+pub const NVME_STATUS_DATA_TRANSFER_ERROR: NVME_STATUS_GENERIC_COMMAND_CODES = 4i32;
+pub const NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS: NVME_STATUS_COMMAND_SPECIFIC_CODES = 29i32;
+pub const NVME_STATUS_DIRECTIVE_ID_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 113i32;
+pub const NVME_STATUS_DIRECTIVE_TYPE_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 112i32;
+pub const NVME_STATUS_FEATURE_ID_NOT_SAVEABLE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 13i32;
+pub const NVME_STATUS_FEATURE_NOT_CHANGEABLE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 14i32;
+pub const NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC: NVME_STATUS_COMMAND_SPECIFIC_CODES = 15i32;
+pub const NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 19i32;
+pub const NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET: NVME_STATUS_COMMAND_SPECIFIC_CODES = 11i32;
+pub const NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION: NVME_STATUS_COMMAND_SPECIFIC_CODES = 18i32;
+pub const NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET: NVME_STATUS_COMMAND_SPECIFIC_CODES = 16i32;
+pub const NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET: NVME_STATUS_COMMAND_SPECIFIC_CODES = 17i32;
+pub const NVME_STATUS_FORMAT_IN_PROGRESS: NVME_STATUS_GENERIC_COMMAND_CODES = 132i32;
+pub const NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT: NVME_STATUS_GENERIC_COMMAND_CODES = 24i32;
+pub const NVME_STATUS_INTERNAL_DEVICE_ERROR: NVME_STATUS_GENERIC_COMMAND_CODES = 6i32;
+pub const NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER: NVME_STATUS_COMMAND_SPECIFIC_CODES = 36i32;
+pub const NVME_STATUS_INVALID_COMMAND_OPCODE: NVME_STATUS_GENERIC_COMMAND_CODES = 1i32;
+pub const NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER: NVME_STATUS_COMMAND_SPECIFIC_CODES = 31i32;
+pub const NVME_STATUS_INVALID_FIELD_IN_COMMAND: NVME_STATUS_GENERIC_COMMAND_CODES = 2i32;
+pub const NVME_STATUS_INVALID_FIRMWARE_IMAGE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 7i32;
+pub const NVME_STATUS_INVALID_FIRMWARE_SLOT: NVME_STATUS_COMMAND_SPECIFIC_CODES = 6i32;
+pub const NVME_STATUS_INVALID_FORMAT: NVME_STATUS_COMMAND_SPECIFIC_CODES = 10i32;
+pub const NVME_STATUS_INVALID_INTERRUPT_VECTOR: NVME_STATUS_COMMAND_SPECIFIC_CODES = 8i32;
+pub const NVME_STATUS_INVALID_LOG_PAGE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 9i32;
+pub const NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT: NVME_STATUS_GENERIC_COMMAND_CODES = 11i32;
+pub const NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES: NVME_STATUS_COMMAND_SPECIFIC_CODES = 33i32;
+pub const NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCR: NVME_STATUS_GENERIC_COMMAND_CODES = 14i32;
+pub const NVME_STATUS_INVALID_QUEUE_DELETION: NVME_STATUS_COMMAND_SPECIFIC_CODES = 12i32;
+pub const NVME_STATUS_INVALID_QUEUE_IDENTIFIER: NVME_STATUS_COMMAND_SPECIFIC_CODES = 1i32;
+pub const NVME_STATUS_INVALID_RESOURCE_IDENTIFIER: NVME_STATUS_COMMAND_SPECIFIC_CODES = 34i32;
+pub const NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 32i32;
+pub const NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCR: NVME_STATUS_GENERIC_COMMAND_CODES = 13i32;
+pub const NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER: NVME_STATUS_GENERIC_COMMAND_CODES = 18i32;
+pub const NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIRED: NVME_STATUS_GENERIC_COMMAND_CODES = 25i32;
+pub const NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 26i32;
+pub const NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 2i32;
+pub const NVME_STATUS_METADATA_SGL_LENGTH_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 16i32;
+pub const NVME_STATUS_NAMESPACE_ALREADY_ATTACHED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 24i32;
+pub const NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 22i32;
+pub const NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY: NVME_STATUS_COMMAND_SPECIFIC_CODES = 21i32;
+pub const NVME_STATUS_NAMESPACE_IS_PRIVATE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 25i32;
+pub const NVME_STATUS_NAMESPACE_NOT_ATTACHED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 26i32;
+pub const NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 27i32;
+pub const NVME_STATUS_NVM_ACCESS_DENIED: NVME_STATUS_MEDIA_ERROR_CODES = 134i32;
+pub const NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 130i32;
+pub const NVME_STATUS_NVM_CAPACITY_EXCEEDED: NVME_STATUS_GENERIC_COMMAND_CODES = 129i32;
+pub const NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 131i32;
+pub const NVME_STATUS_NVM_COMPARE_FAILURE: NVME_STATUS_MEDIA_ERROR_CODES = 133i32;
+pub const NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES: NVME_STATUS_COMMAND_SPECIFIC_CODES = 128i32;
+pub const NVME_STATUS_NVM_DEALLOCATED_OR_UNWRITTEN_LOGICAL_BLOCK: NVME_STATUS_MEDIA_ERROR_CODES = 135i32;
+pub const NVME_STATUS_NVM_END_TO_END_APPLICATION_TAG_CHECK_ERROR: NVME_STATUS_MEDIA_ERROR_CODES = 131i32;
+pub const NVME_STATUS_NVM_END_TO_END_GUARD_CHECK_ERROR: NVME_STATUS_MEDIA_ERROR_CODES = 130i32;
+pub const NVME_STATUS_NVM_END_TO_END_REFERENCE_TAG_CHECK_ERROR: NVME_STATUS_MEDIA_ERROR_CODES = 132i32;
+pub const NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION: NVME_STATUS_COMMAND_SPECIFIC_CODES = 129i32;
+pub const NVME_STATUS_NVM_LBA_OUT_OF_RANGE: NVME_STATUS_GENERIC_COMMAND_CODES = 128i32;
+pub const NVME_STATUS_NVM_NAMESPACE_NOT_READY: NVME_STATUS_GENERIC_COMMAND_CODES = 130i32;
+pub const NVME_STATUS_NVM_RESERVATION_CONFLICT: NVME_STATUS_GENERIC_COMMAND_CODES = 131i32;
+pub const NVME_STATUS_NVM_UNRECOVERED_READ_ERROR: NVME_STATUS_MEDIA_ERROR_CODES = 129i32;
+pub const NVME_STATUS_NVM_WRITE_FAULT: NVME_STATUS_MEDIA_ERROR_CODES = 128i32;
+pub const NVME_STATUS_OPERATION_DENIED: NVME_STATUS_GENERIC_COMMAND_CODES = 21i32;
+pub const NVME_STATUS_OVERLAPPING_RANGE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 20i32;
+pub const NVME_STATUS_PRP_OFFSET_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 19i32;
+pub const NVME_STATUS_RESERVED: NVME_STATUS_GENERIC_COMMAND_CODES = 23i32;
+pub const NVME_STATUS_SANITIZE_FAILED: NVME_STATUS_GENERIC_COMMAND_CODES = 28i32;
+pub const NVME_STATUS_SANITIZE_IN_PROGRESS: NVME_STATUS_GENERIC_COMMAND_CODES = 29i32;
+pub const NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY: NVME_STATUS_COMMAND_SPECIFIC_CODES = 35i32;
+pub const NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 30i32;
+pub const NVME_STATUS_SGL_DESCR_TYPE_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 17i32;
+pub const NVME_STATUS_SGL_OFFSET_INVALID: NVME_STATUS_GENERIC_COMMAND_CODES = 22i32;
+pub const NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED: NVME_STATUS_COMMAND_SPECIFIC_CODES = 127i32;
+pub const NVME_STATUS_SUCCESS_COMPLETION: NVME_STATUS_GENERIC_COMMAND_CODES = 0i32;
+pub const NVME_STATUS_TYPE_COMMAND_SPECIFIC: NVME_STATUS_TYPES = 1i32;
+pub const NVME_STATUS_TYPE_GENERIC_COMMAND: NVME_STATUS_TYPES = 0i32;
+pub const NVME_STATUS_TYPE_MEDIA_ERROR: NVME_STATUS_TYPES = 2i32;
+pub const NVME_STATUS_TYPE_VENDOR_SPECIFIC: NVME_STATUS_TYPES = 7i32;
+pub const NVME_STATUS_ZONE_BOUNDARY_ERROR: NVME_STATUS_COMMAND_SPECIFIC_CODES = 184i32;
+pub const NVME_STATUS_ZONE_FULL: NVME_STATUS_COMMAND_SPECIFIC_CODES = 185i32;
+pub const NVME_STATUS_ZONE_INVALID_FORMAT: NVME_STATUS_COMMAND_SPECIFIC_CODES = 127i32;
+pub const NVME_STATUS_ZONE_INVALID_STATE_TRANSITION: NVME_STATUS_COMMAND_SPECIFIC_CODES = 191i32;
+pub const NVME_STATUS_ZONE_INVALID_WRITE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 188i32;
+pub const NVME_STATUS_ZONE_OFFLINE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 187i32;
+pub const NVME_STATUS_ZONE_READ_ONLY: NVME_STATUS_COMMAND_SPECIFIC_CODES = 186i32;
+pub const NVME_STATUS_ZONE_TOO_MANY_ACTIVE: NVME_STATUS_COMMAND_SPECIFIC_CODES = 189i32;
+pub const NVME_STATUS_ZONE_TOO_MANY_OPEN: NVME_STATUS_COMMAND_SPECIFIC_CODES = 190i32;
+pub const NVME_STREAMS_GET_STATUS_MAX_IDS: u32 = 65535u32;
+pub const NVME_STREAMS_ID_MAX: u32 = 65535u32;
+pub const NVME_STREAMS_ID_MIN: u32 = 1u32;
+pub const NVME_TELEMETRY_DATA_BLOCK_SIZE: u32 = 512u32;
+pub const NVME_TEMPERATURE_OVER_THRESHOLD: NVME_TEMPERATURE_THRESHOLD_TYPES = 0i32;
+pub const NVME_TEMPERATURE_UNDER_THRESHOLD: NVME_TEMPERATURE_THRESHOLD_TYPES = 1i32;
+pub const NVME_WCS_DEVICE_ERROR_RECOVERY_LOG_VERSION_1: u32 = 1u32;
+pub const NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_VERSION_2: u32 = 2u32;
+pub const NVME_ZONE_RECEIVE_EXTENDED_REPORT_ZONES: NVME_ZONE_RECEIVE_ACTION = 1i32;
+pub const NVME_ZONE_RECEIVE_REPORT_ZONES: NVME_ZONE_RECEIVE_ACTION = 0i32;
+pub const NVME_ZONE_SEND_CLOSE: NVME_ZONE_SEND_ACTION = 1i32;
+pub const NVME_ZONE_SEND_FINISH: NVME_ZONE_SEND_ACTION = 2i32;
+pub const NVME_ZONE_SEND_OFFLINE: NVME_ZONE_SEND_ACTION = 5i32;
+pub const NVME_ZONE_SEND_OPEN: NVME_ZONE_SEND_ACTION = 3i32;
+pub const NVME_ZONE_SEND_RESET: NVME_ZONE_SEND_ACTION = 4i32;
+pub const NVME_ZONE_SEND_SET_ZONE_DESCRIPTOR: NVME_ZONE_SEND_ACTION = 16i32;
+pub const NVME_ZRA_ALL_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 0i32;
+pub const NVME_ZRA_CLOSED_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 4i32;
+pub const NVME_ZRA_EMPTY_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 1i32;
+pub const NVME_ZRA_EO_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 3i32;
+pub const NVME_ZRA_FULL_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 5i32;
+pub const NVME_ZRA_IO_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 2i32;
+pub const NVME_ZRA_OFFLINE_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 7i32;
+pub const NVME_ZRA_RO_STATE_ZONES: NVME_ZONE_RECEIVE_ACTION_SPECIFIC = 6i32;
+pub const NVMeDeviceRecovery1Max: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 15i32;
+pub const NVMeDeviceRecovery2Max: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 15i32;
+pub const NVMeDeviceRecoveryControllerReset: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 0i32;
+pub const NVMeDeviceRecoveryDeviceReplacement: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 4i32;
+pub const NVMeDeviceRecoveryFormatNVM: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 1i32;
+pub const NVMeDeviceRecoveryNoAction: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 0i32;
+pub const NVMeDeviceRecoveryPERST: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 3i32;
+pub const NVMeDeviceRecoveryPcieFunctionReset: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 2i32;
+pub const NVMeDeviceRecoveryPcieHotReset: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 5i32;
+pub const NVMeDeviceRecoveryPowerCycle: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 4i32;
+pub const NVMeDeviceRecoverySanitize: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 5i32;
+pub const NVMeDeviceRecoverySubsystemReset: NVME_WCS_DEVICE_RECOVERY_ACTION2 = 1i32;
+pub const NVMeDeviceRecoveryVendorAnalysis: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 3i32;
+pub const NVMeDeviceRecoveryVendorSpecificCommand: NVME_WCS_DEVICE_RECOVERY_ACTION1 = 2i32;
+pub const TCG_HISTORY_ENTRY_VERSION_1: u32 = 1u32;
+pub type NVME_ACCESS_FREQUENCIES = i32;
+pub type NVME_ACCESS_LATENCIES = i32;
+pub type NVME_ADMIN_COMMANDS = i32;
+pub type NVME_AMS_OPTION = i32;
+pub type NVME_ASYNC_EVENT_ERROR_STATUS_CODES = i32;
+pub type NVME_ASYNC_EVENT_HEALTH_STATUS_CODES = i32;
+pub type NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES = i32;
+pub type NVME_ASYNC_EVENT_NOTICE_CODES = i32;
+pub type NVME_ASYNC_EVENT_TYPES = i32;
+pub type NVME_ASYNC_EVENT_TYPE_VENDOR_SPECIFIC_CODES = i32;
+pub type NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS = i32;
+pub type NVME_CMBSZ_SIZE_UNITS = i32;
+pub type NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS = i32;
+pub type NVME_COMMAND_SET_IDENTIFIERS = i32;
+pub type NVME_CONTROLLER_METADATA_ELEMENT_TYPES = i32;
+pub type NVME_CSS_COMMAND_SETS = i32;
+pub type NVME_CSTS_SHST_SHUTDOWN_STATUS = i32;
+pub type NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATIONS = i32;
+pub type NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS = i32;
+pub type NVME_DIRECTIVE_SEND_IDENTIFY_OPERATIONS = i32;
+pub type NVME_DIRECTIVE_SEND_STREAMS_OPERATIONS = i32;
+pub type NVME_DIRECTIVE_TYPES = i32;
+pub type NVME_ERROR_INJECTION_TYPES = i32;
+pub type NVME_FEATURES = i32;
+pub type NVME_FEATURE_VALUE_CODES = i32;
+pub type NVME_FIRMWARE_ACTIVATE_ACTIONS = i32;
+pub type NVME_FUSED_OPERATION_CODES = i32;
+pub type NVME_HOST_METADATA_ELEMENT_ACTIONS = i32;
+pub type NVME_IDENTIFIER_TYPE = i32;
+pub type NVME_IDENTIFIER_TYPE_LENGTH = i32;
+pub type NVME_IDENTIFY_CNS_CODES = i32;
+pub type NVME_LBA_RANGE_TYPES = i32;
+pub type NVME_LOG_PAGES = i32;
+pub type NVME_NAMESPACE_METADATA_ELEMENT_TYPES = i32;
+pub type NVME_NO_DEALLOCATE_MODIFIES_MEDIA_AFTER_SANITIZE = i32;
+pub type NVME_NVM_COMMANDS = i32;
+pub type NVME_NVM_QUEUE_PRIORITIES = i32;
+pub type NVME_PERSISTENT_EVENT_LOG_EVENT_TYPES = i32;
+pub type NVME_PROTECTION_INFORMATION_TYPES = i32;
+pub type NVME_RESERVATION_ACQUIRE_ACTIONS = i32;
+pub type NVME_RESERVATION_NOTIFICATION_TYPES = i32;
+pub type NVME_RESERVATION_REGISTER_ACTIONS = i32;
+pub type NVME_RESERVATION_REGISTER_PTPL_STATE_CHANGES = i32;
+pub type NVME_RESERVATION_RELEASE_ACTIONS = i32;
+pub type NVME_RESERVATION_TYPES = i32;
+pub type NVME_SANITIZE_ACTION = i32;
+pub type NVME_SANITIZE_OPERATION_STATUS = i32;
+pub type NVME_SECURE_ERASE_SETTINGS = i32;
+pub type NVME_STATUS_COMMAND_SPECIFIC_CODES = i32;
+pub type NVME_STATUS_GENERIC_COMMAND_CODES = i32;
+pub type NVME_STATUS_MEDIA_ERROR_CODES = i32;
+pub type NVME_STATUS_TYPES = i32;
+pub type NVME_TEMPERATURE_THRESHOLD_TYPES = i32;
+pub type NVME_VENDOR_LOG_PAGES = i32;
+pub type NVME_WCS_DEVICE_RECOVERY_ACTION1 = i32;
+pub type NVME_WCS_DEVICE_RECOVERY_ACTION2 = i32;
+pub type NVME_ZONE_RECEIVE_ACTION = i32;
+pub type NVME_ZONE_RECEIVE_ACTION_SPECIFIC = i32;
+pub type NVME_ZONE_SEND_ACTION = i32;
+pub type ZONE_STATE = i32;
+#[repr(C)]
+pub struct ACTIVE_LATENCY_CONFIGURATION {
+ pub Anonymous: ACTIVE_LATENCY_CONFIGURATION_0,
+}
+impl ::core::marker::Copy for ACTIVE_LATENCY_CONFIGURATION {}
+impl ::core::clone::Clone for ACTIVE_LATENCY_CONFIGURATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union ACTIVE_LATENCY_CONFIGURATION_0 {
+ pub Anonymous: ACTIVE_LATENCY_CONFIGURATION_0_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for ACTIVE_LATENCY_CONFIGURATION_0 {}
+impl ::core::clone::Clone for ACTIVE_LATENCY_CONFIGURATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct ACTIVE_LATENCY_CONFIGURATION_0_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for ACTIVE_LATENCY_CONFIGURATION_0_0 {}
+impl ::core::clone::Clone for ACTIVE_LATENCY_CONFIGURATION_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct BUCKET_COUNTER {
+ pub Reserved: u32,
+ pub Trim: u32,
+ pub Write: u32,
+ pub Read: u32,
+}
+impl ::core::marker::Copy for BUCKET_COUNTER {}
+impl ::core::clone::Clone for BUCKET_COUNTER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct DEBUG_BIT_FIELD {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for DEBUG_BIT_FIELD {}
+impl ::core::clone::Clone for DEBUG_BIT_FIELD {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct DSSD_POWER_STATE_DESCRIPTOR {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for DSSD_POWER_STATE_DESCRIPTOR {}
+impl ::core::clone::Clone for DSSD_POWER_STATE_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct FIRMWARE_ACTIVATION_HISTORY_ENTRY {
+ pub VersionNumber: u8,
+ pub Length: u8,
+ pub Reserved0: u16,
+ pub ActivationCount: u16,
+ pub Timestamp: u64,
+ pub Reserved1: u64,
+ pub PowerCycleCount: u64,
+ pub PreviousFirmware: u64,
+ pub NewFirmware: u64,
+ pub SlotNumber: u8,
+ pub CommitActionType: u8,
+ pub Result: u16,
+ pub Reserved2: [u8; 14],
+}
+impl ::core::marker::Copy for FIRMWARE_ACTIVATION_HISTORY_ENTRY {}
+impl ::core::clone::Clone for FIRMWARE_ACTIVATION_HISTORY_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct LATENCY_MONITOR_FEATURE_STATUS {
+ pub Anonymous: LATENCY_MONITOR_FEATURE_STATUS_0,
+}
+impl ::core::marker::Copy for LATENCY_MONITOR_FEATURE_STATUS {}
+impl ::core::clone::Clone for LATENCY_MONITOR_FEATURE_STATUS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union LATENCY_MONITOR_FEATURE_STATUS_0 {
+ pub Anonymous: LATENCY_MONITOR_FEATURE_STATUS_0_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for LATENCY_MONITOR_FEATURE_STATUS_0 {}
+impl ::core::clone::Clone for LATENCY_MONITOR_FEATURE_STATUS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct LATENCY_MONITOR_FEATURE_STATUS_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for LATENCY_MONITOR_FEATURE_STATUS_0_0 {}
+impl ::core::clone::Clone for LATENCY_MONITOR_FEATURE_STATUS_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct LATENCY_STAMP {
+ pub Trim3: u64,
+ pub Write3: u64,
+ pub Read3: u64,
+ pub Trim2: u64,
+ pub Write2: u64,
+ pub Read2: u64,
+ pub Trim1: u64,
+ pub Write1: u64,
+ pub Read1: u64,
+ pub Trim0: u64,
+ pub Write0: u64,
+ pub Read0: u64,
+}
+impl ::core::marker::Copy for LATENCY_STAMP {}
+impl ::core::clone::Clone for LATENCY_STAMP {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct LATENCY_STAMP_UNITS {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for LATENCY_STAMP_UNITS {}
+impl ::core::clone::Clone for LATENCY_STAMP_UNITS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct MEASURED_LATENCY {
+ pub Trim3: u16,
+ pub Write3: u16,
+ pub Read3: u16,
+ pub Trim2: u16,
+ pub Write2: u16,
+ pub Read2: u16,
+ pub Trim1: u16,
+ pub Write1: u16,
+ pub Read1: u16,
+ pub Trim0: u16,
+ pub Write0: u16,
+ pub Read0: u16,
+}
+impl ::core::marker::Copy for MEASURED_LATENCY {}
+impl ::core::clone::Clone for MEASURED_LATENCY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ACTIVE_NAMESPACE_ID_LIST {
+ pub NSID: [u32; 1024],
+}
+impl ::core::marker::Copy for NVME_ACTIVE_NAMESPACE_ID_LIST {}
+impl ::core::clone::Clone for NVME_ACTIVE_NAMESPACE_ID_LIST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS {
+ pub Anonymous: NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS_0,
+ pub AsUlonglong: u64,
+}
+impl ::core::marker::Copy for NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS {}
+impl ::core::clone::Clone for NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS_0 {
+ pub _bitfield: u64,
+}
+impl ::core::marker::Copy for NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS_0 {}
+impl ::core::clone::Clone for NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_ADMIN_QUEUE_ATTRIBUTES {
+ pub Anonymous: NVME_ADMIN_QUEUE_ATTRIBUTES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_ADMIN_QUEUE_ATTRIBUTES {}
+impl ::core::clone::Clone for NVME_ADMIN_QUEUE_ATTRIBUTES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ADMIN_QUEUE_ATTRIBUTES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_ADMIN_QUEUE_ATTRIBUTES_0 {}
+impl ::core::clone::Clone for NVME_ADMIN_QUEUE_ATTRIBUTES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS {
+ pub Anonymous: NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS_0,
+ pub AsUlonglong: u64,
+}
+impl ::core::marker::Copy for NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS {}
+impl ::core::clone::Clone for NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS_0 {
+ pub _bitfield: u64,
+}
+impl ::core::marker::Copy for NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS_0 {}
+impl ::core::clone::Clone for NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_AUTO_POWER_STATE_TRANSITION_ENTRY {
+ pub _bitfield: u32,
+ pub Reserved1: u32,
+}
+impl ::core::marker::Copy for NVME_AUTO_POWER_STATE_TRANSITION_ENTRY {}
+impl ::core::clone::Clone for NVME_AUTO_POWER_STATE_TRANSITION_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO {
+ pub Anonymous: NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO_0 {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_ENABLE_IEEE1667_SILO_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW0_FEATURE_ERROR_INJECTION {
+ pub Anonymous: NVME_CDW0_FEATURE_ERROR_INJECTION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_ERROR_INJECTION {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_ERROR_INJECTION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW0_FEATURE_ERROR_INJECTION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_ERROR_INJECTION_0 {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_ERROR_INJECTION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE {
+ pub Anonymous: NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE_0 {}
+impl ::core::clone::Clone for NVME_CDW0_FEATURE_READONLY_WRITETHROUGH_MODE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW0_RESERVATION_PERSISTENCE {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW0_RESERVATION_PERSISTENCE {}
+impl ::core::clone::Clone for NVME_CDW0_RESERVATION_PERSISTENCE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_ABORT {
+ pub Anonymous: NVME_CDW10_ABORT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_ABORT {}
+impl ::core::clone::Clone for NVME_CDW10_ABORT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_ABORT_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_ABORT_0 {}
+impl ::core::clone::Clone for NVME_CDW10_ABORT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_CREATE_IO_QUEUE {
+ pub Anonymous: NVME_CDW10_CREATE_IO_QUEUE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_CREATE_IO_QUEUE {}
+impl ::core::clone::Clone for NVME_CDW10_CREATE_IO_QUEUE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_CREATE_IO_QUEUE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_CREATE_IO_QUEUE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_CREATE_IO_QUEUE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_DATASET_MANAGEMENT {
+ pub Anonymous: NVME_CDW10_DATASET_MANAGEMENT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_DATASET_MANAGEMENT {}
+impl ::core::clone::Clone for NVME_CDW10_DATASET_MANAGEMENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_DATASET_MANAGEMENT_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_DATASET_MANAGEMENT_0 {}
+impl ::core::clone::Clone for NVME_CDW10_DATASET_MANAGEMENT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_DIRECTIVE_RECEIVE {
+ pub NUMD: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_DIRECTIVE_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW10_DIRECTIVE_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_DIRECTIVE_SEND {
+ pub NUMD: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_DIRECTIVE_SEND {}
+impl ::core::clone::Clone for NVME_CDW10_DIRECTIVE_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_FIRMWARE_ACTIVATE {
+ pub Anonymous: NVME_CDW10_FIRMWARE_ACTIVATE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_FIRMWARE_ACTIVATE {}
+impl ::core::clone::Clone for NVME_CDW10_FIRMWARE_ACTIVATE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_FIRMWARE_ACTIVATE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_FIRMWARE_ACTIVATE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_FIRMWARE_ACTIVATE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_FIRMWARE_DOWNLOAD {
+ pub NUMD: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_FIRMWARE_DOWNLOAD {}
+impl ::core::clone::Clone for NVME_CDW10_FIRMWARE_DOWNLOAD {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_FORMAT_NVM {
+ pub Anonymous: NVME_CDW10_FORMAT_NVM_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_FORMAT_NVM {}
+impl ::core::clone::Clone for NVME_CDW10_FORMAT_NVM {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_FORMAT_NVM_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_FORMAT_NVM_0 {}
+impl ::core::clone::Clone for NVME_CDW10_FORMAT_NVM_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_GET_FEATURES {
+ pub Anonymous: NVME_CDW10_GET_FEATURES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW10_GET_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_GET_FEATURES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_FEATURES_0 {}
+impl ::core::clone::Clone for NVME_CDW10_GET_FEATURES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_GET_LOG_PAGE {
+ pub Anonymous: NVME_CDW10_GET_LOG_PAGE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_LOG_PAGE {}
+impl ::core::clone::Clone for NVME_CDW10_GET_LOG_PAGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_GET_LOG_PAGE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_LOG_PAGE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_GET_LOG_PAGE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_GET_LOG_PAGE_V13 {
+ pub Anonymous: NVME_CDW10_GET_LOG_PAGE_V13_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_LOG_PAGE_V13 {}
+impl ::core::clone::Clone for NVME_CDW10_GET_LOG_PAGE_V13 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_GET_LOG_PAGE_V13_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_GET_LOG_PAGE_V13_0 {}
+impl ::core::clone::Clone for NVME_CDW10_GET_LOG_PAGE_V13_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_IDENTIFY {
+ pub Anonymous: NVME_CDW10_IDENTIFY_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_IDENTIFY {}
+impl ::core::clone::Clone for NVME_CDW10_IDENTIFY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_IDENTIFY_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_IDENTIFY_0 {}
+impl ::core::clone::Clone for NVME_CDW10_IDENTIFY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_RESERVATION_ACQUIRE {
+ pub Anonymous: NVME_CDW10_RESERVATION_ACQUIRE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_ACQUIRE {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_ACQUIRE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_RESERVATION_ACQUIRE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_ACQUIRE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_ACQUIRE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_RESERVATION_REGISTER {
+ pub Anonymous: NVME_CDW10_RESERVATION_REGISTER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_REGISTER {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_REGISTER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_RESERVATION_REGISTER_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_REGISTER_0 {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_REGISTER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_RESERVATION_RELEASE {
+ pub Anonymous: NVME_CDW10_RESERVATION_RELEASE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_RELEASE {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_RELEASE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_RESERVATION_RELEASE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_RELEASE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_RELEASE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_RESERVATION_REPORT {
+ pub Anonymous: NVME_CDW10_RESERVATION_REPORT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_REPORT {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_REPORT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_RESERVATION_REPORT_0 {
+ pub NUMD: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_RESERVATION_REPORT_0 {}
+impl ::core::clone::Clone for NVME_CDW10_RESERVATION_REPORT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_SANITIZE {
+ pub Anonymous: NVME_CDW10_SANITIZE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SANITIZE {}
+impl ::core::clone::Clone for NVME_CDW10_SANITIZE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_SANITIZE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SANITIZE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_SANITIZE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_SECURITY_SEND_RECEIVE {
+ pub Anonymous: NVME_CDW10_SECURITY_SEND_RECEIVE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SECURITY_SEND_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW10_SECURITY_SEND_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_SECURITY_SEND_RECEIVE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SECURITY_SEND_RECEIVE_0 {}
+impl ::core::clone::Clone for NVME_CDW10_SECURITY_SEND_RECEIVE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW10_SET_FEATURES {
+ pub Anonymous: NVME_CDW10_SET_FEATURES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SET_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW10_SET_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_SET_FEATURES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW10_SET_FEATURES_0 {}
+impl ::core::clone::Clone for NVME_CDW10_SET_FEATURES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_ZONE_APPEND {
+ pub SLBA: u64,
+}
+impl ::core::marker::Copy for NVME_CDW10_ZONE_APPEND {}
+impl ::core::clone::Clone for NVME_CDW10_ZONE_APPEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_ZONE_MANAGEMENT_RECEIVE {
+ pub SLBA: u64,
+}
+impl ::core::marker::Copy for NVME_CDW10_ZONE_MANAGEMENT_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW10_ZONE_MANAGEMENT_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW10_ZONE_MANAGEMENT_SEND {
+ pub SLBA: u64,
+}
+impl ::core::marker::Copy for NVME_CDW10_ZONE_MANAGEMENT_SEND {}
+impl ::core::clone::Clone for NVME_CDW10_ZONE_MANAGEMENT_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_CREATE_IO_CQ {
+ pub Anonymous: NVME_CDW11_CREATE_IO_CQ_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_CREATE_IO_CQ {}
+impl ::core::clone::Clone for NVME_CDW11_CREATE_IO_CQ {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_CREATE_IO_CQ_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_CREATE_IO_CQ_0 {}
+impl ::core::clone::Clone for NVME_CDW11_CREATE_IO_CQ_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_CREATE_IO_SQ {
+ pub Anonymous: NVME_CDW11_CREATE_IO_SQ_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_CREATE_IO_SQ {}
+impl ::core::clone::Clone for NVME_CDW11_CREATE_IO_SQ {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_CREATE_IO_SQ_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_CREATE_IO_SQ_0 {}
+impl ::core::clone::Clone for NVME_CDW11_CREATE_IO_SQ_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_DATASET_MANAGEMENT {
+ pub Anonymous: NVME_CDW11_DATASET_MANAGEMENT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DATASET_MANAGEMENT {}
+impl ::core::clone::Clone for NVME_CDW11_DATASET_MANAGEMENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_DATASET_MANAGEMENT_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DATASET_MANAGEMENT_0 {}
+impl ::core::clone::Clone for NVME_CDW11_DATASET_MANAGEMENT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_DIRECTIVE_RECEIVE {
+ pub Anonymous: NVME_CDW11_DIRECTIVE_RECEIVE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DIRECTIVE_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW11_DIRECTIVE_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_DIRECTIVE_RECEIVE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DIRECTIVE_RECEIVE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_DIRECTIVE_RECEIVE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_DIRECTIVE_SEND {
+ pub Anonymous: NVME_CDW11_DIRECTIVE_SEND_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DIRECTIVE_SEND {}
+impl ::core::clone::Clone for NVME_CDW11_DIRECTIVE_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_DIRECTIVE_SEND_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_DIRECTIVE_SEND_0 {}
+impl ::core::clone::Clone for NVME_CDW11_DIRECTIVE_SEND_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURES {
+ pub NumberOfQueues: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES,
+ pub InterruptCoalescing: NVME_CDW11_FEATURE_INTERRUPT_COALESCING,
+ pub InterruptVectorConfig: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG,
+ pub LbaRangeType: NVME_CDW11_FEATURE_LBA_RANGE_TYPE,
+ pub Arbitration: NVME_CDW11_FEATURE_ARBITRATION,
+ pub VolatileWriteCache: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE,
+ pub AsyncEventConfig: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG,
+ pub PowerManagement: NVME_CDW11_FEATURE_POWER_MANAGEMENT,
+ pub AutoPowerStateTransition: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION,
+ pub TemperatureThreshold: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD,
+ pub ErrorRecovery: NVME_CDW11_FEATURE_ERROR_RECOVERY,
+ pub HostMemoryBuffer: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER,
+ pub WriteAtomicityNormal: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL,
+ pub NonOperationalPowerState: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE,
+ pub IoCommandSetProfile: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE,
+ pub ErrorInjection: NVME_CDW0_FEATURE_ERROR_INJECTION,
+ pub HostIdentifier: NVME_CDW11_FEATURE_HOST_IDENTIFIER,
+ pub ReservationPersistence: NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE,
+ pub ReservationNotificationMask: NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK,
+ pub GetHostMetadata: NVME_CDW11_FEATURE_GET_HOST_METADATA,
+ pub SetHostMetadata: NVME_CDW11_FEATURE_SET_HOST_METADATA,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_ARBITRATION {
+ pub Anonymous: NVME_CDW11_FEATURE_ARBITRATION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ARBITRATION {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ARBITRATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_ARBITRATION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ARBITRATION_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ARBITRATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {
+ pub Anonymous: NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {
+ pub Anonymous: NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY {
+ pub Anonymous: NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_CLEAR_FW_UPDATE_HISTORY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS {
+ pub Anonymous: NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_CLEAR_PCIE_CORRECTABLE_ERROR_COUNTERS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO {
+ pub Anonymous: NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ENABLE_IEEE1667_SILO_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_ERROR_RECOVERY {
+ pub Anonymous: NVME_CDW11_FEATURE_ERROR_RECOVERY_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ERROR_RECOVERY {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ERROR_RECOVERY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_ERROR_RECOVERY_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_ERROR_RECOVERY_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_ERROR_RECOVERY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_GET_HOST_METADATA {
+ pub Anonymous: NVME_CDW11_FEATURE_GET_HOST_METADATA_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_GET_HOST_METADATA {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_GET_HOST_METADATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_GET_HOST_METADATA_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_GET_HOST_METADATA_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_GET_HOST_METADATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_HOST_IDENTIFIER {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_HOST_IDENTIFIER {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_HOST_IDENTIFIER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {
+ pub Anonymous: NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_INTERRUPT_COALESCING {
+ pub Anonymous: NVME_CDW11_FEATURE_INTERRUPT_COALESCING_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_INTERRUPT_COALESCING {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_INTERRUPT_COALESCING {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_INTERRUPT_COALESCING_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_INTERRUPT_COALESCING_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_INTERRUPT_COALESCING_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {
+ pub Anonymous: NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {
+ pub Anonymous: NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_LBA_RANGE_TYPE {
+ pub Anonymous: NVME_CDW11_FEATURE_LBA_RANGE_TYPE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_LBA_RANGE_TYPE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_LBA_RANGE_TYPE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_LBA_RANGE_TYPE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_LBA_RANGE_TYPE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_LBA_RANGE_TYPE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {
+ pub Anonymous: NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {
+ pub Anonymous: NVME_CDW11_FEATURE_NUMBER_OF_QUEUES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_NUMBER_OF_QUEUES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_NUMBER_OF_QUEUES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_NUMBER_OF_QUEUES_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_NUMBER_OF_QUEUES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_POWER_MANAGEMENT {
+ pub Anonymous: NVME_CDW11_FEATURE_POWER_MANAGEMENT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_POWER_MANAGEMENT {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_POWER_MANAGEMENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_POWER_MANAGEMENT_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_POWER_MANAGEMENT_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_POWER_MANAGEMENT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE {
+ pub Anonymous: NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_READONLY_WRITETHROUGH_MODE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_SET_HOST_METADATA {
+ pub Anonymous: NVME_CDW11_FEATURE_SET_HOST_METADATA_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_SET_HOST_METADATA {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_SET_HOST_METADATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_SET_HOST_METADATA_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_SET_HOST_METADATA_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_SET_HOST_METADATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY {
+ pub Anonymous: NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {
+ pub Anonymous: NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {
+ pub Anonymous: NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {
+ pub Anonymous: NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL_0 {}
+impl ::core::clone::Clone for NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_FIRMWARE_DOWNLOAD {
+ pub OFST: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_FIRMWARE_DOWNLOAD {}
+impl ::core::clone::Clone for NVME_CDW11_FIRMWARE_DOWNLOAD {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_GET_LOG_PAGE {
+ pub Anonymous: NVME_CDW11_GET_LOG_PAGE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_GET_LOG_PAGE {}
+impl ::core::clone::Clone for NVME_CDW11_GET_LOG_PAGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_GET_LOG_PAGE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_GET_LOG_PAGE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_GET_LOG_PAGE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_IDENTIFY {
+ pub Anonymous1: NVME_CDW11_IDENTIFY_0,
+ pub Anonymous2: NVME_CDW11_IDENTIFY_1,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_IDENTIFY {}
+impl ::core::clone::Clone for NVME_CDW11_IDENTIFY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_IDENTIFY_0 {
+ pub NVMSETID: u16,
+ pub Reserved: u16,
+}
+impl ::core::marker::Copy for NVME_CDW11_IDENTIFY_0 {}
+impl ::core::clone::Clone for NVME_CDW11_IDENTIFY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_IDENTIFY_1 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_IDENTIFY_1 {}
+impl ::core::clone::Clone for NVME_CDW11_IDENTIFY_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_RESERVATION_REPORT {
+ pub Anonymous: NVME_CDW11_RESERVATION_REPORT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_RESERVATION_REPORT {}
+impl ::core::clone::Clone for NVME_CDW11_RESERVATION_REPORT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_RESERVATION_REPORT_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_RESERVATION_REPORT_0 {}
+impl ::core::clone::Clone for NVME_CDW11_RESERVATION_REPORT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW11_SANITIZE {
+ pub Anonymous: NVME_CDW11_SANITIZE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_SANITIZE {}
+impl ::core::clone::Clone for NVME_CDW11_SANITIZE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_SANITIZE_0 {
+ pub OVRPAT: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_SANITIZE_0 {}
+impl ::core::clone::Clone for NVME_CDW11_SANITIZE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_SECURITY_RECEIVE {
+ pub AL: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_SECURITY_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW11_SECURITY_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW11_SECURITY_SEND {
+ pub TL: u32,
+}
+impl ::core::marker::Copy for NVME_CDW11_SECURITY_SEND {}
+impl ::core::clone::Clone for NVME_CDW11_SECURITY_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_DIRECTIVE_RECEIVE {
+ pub AllocateResources: NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {
+ pub Anonymous: NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_DIRECTIVE_SEND {
+ pub EnableDirective: NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_SEND {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE {
+ pub Anonymous: NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE_0 {}
+impl ::core::clone::Clone for NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_FEATURES {
+ pub HostMemoryBuffer: NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW12_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER {
+ pub Anonymous: NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER {}
+impl ::core::clone::Clone for NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER_0 {
+ pub HSIZE: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER_0 {}
+impl ::core::clone::Clone for NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_GET_LOG_PAGE {
+ pub LPOL: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_GET_LOG_PAGE {}
+impl ::core::clone::Clone for NVME_CDW12_GET_LOG_PAGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_READ_WRITE {
+ pub Anonymous: NVME_CDW12_READ_WRITE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_READ_WRITE {}
+impl ::core::clone::Clone for NVME_CDW12_READ_WRITE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_READ_WRITE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_READ_WRITE_0 {}
+impl ::core::clone::Clone for NVME_CDW12_READ_WRITE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW12_ZONE_APPEND {
+ pub Anonymous: NVME_CDW12_ZONE_APPEND_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_ZONE_APPEND {}
+impl ::core::clone::Clone for NVME_CDW12_ZONE_APPEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW12_ZONE_APPEND_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW12_ZONE_APPEND_0 {}
+impl ::core::clone::Clone for NVME_CDW12_ZONE_APPEND_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW13_FEATURES {
+ pub HostMemoryBuffer: NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW13_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER {
+ pub Anonymous: NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER {}
+impl ::core::clone::Clone for NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER_0 {}
+impl ::core::clone::Clone for NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_GET_LOG_PAGE {
+ pub LPOU: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_GET_LOG_PAGE {}
+impl ::core::clone::Clone for NVME_CDW13_GET_LOG_PAGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW13_READ_WRITE {
+ pub Anonymous: NVME_CDW13_READ_WRITE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_READ_WRITE {}
+impl ::core::clone::Clone for NVME_CDW13_READ_WRITE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_READ_WRITE_0 {
+ pub DSM: NVME_CDW13_READ_WRITE_0_0,
+ pub Reserved: u8,
+ pub DSPEC: u16,
+}
+impl ::core::marker::Copy for NVME_CDW13_READ_WRITE_0 {}
+impl ::core::clone::Clone for NVME_CDW13_READ_WRITE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_READ_WRITE_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_CDW13_READ_WRITE_0_0 {}
+impl ::core::clone::Clone for NVME_CDW13_READ_WRITE_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW13_ZONE_MANAGEMENT_RECEIVE {
+ pub Anonymous: NVME_CDW13_ZONE_MANAGEMENT_RECEIVE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_ZONE_MANAGEMENT_RECEIVE {}
+impl ::core::clone::Clone for NVME_CDW13_ZONE_MANAGEMENT_RECEIVE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_ZONE_MANAGEMENT_RECEIVE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_ZONE_MANAGEMENT_RECEIVE_0 {}
+impl ::core::clone::Clone for NVME_CDW13_ZONE_MANAGEMENT_RECEIVE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW13_ZONE_MANAGEMENT_SEND {
+ pub Anonymous: NVME_CDW13_ZONE_MANAGEMENT_SEND_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_ZONE_MANAGEMENT_SEND {}
+impl ::core::clone::Clone for NVME_CDW13_ZONE_MANAGEMENT_SEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW13_ZONE_MANAGEMENT_SEND_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW13_ZONE_MANAGEMENT_SEND_0 {}
+impl ::core::clone::Clone for NVME_CDW13_ZONE_MANAGEMENT_SEND_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW14_FEATURES {
+ pub HostMemoryBuffer: NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW14_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW14_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER {
+ pub Anonymous: NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER {}
+impl ::core::clone::Clone for NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER_0 {
+ pub HMDLUA: u32,
+}
+impl ::core::marker::Copy for NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER_0 {}
+impl ::core::clone::Clone for NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW14_GET_LOG_PAGE {
+ pub Anonymous: NVME_CDW14_GET_LOG_PAGE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW14_GET_LOG_PAGE {}
+impl ::core::clone::Clone for NVME_CDW14_GET_LOG_PAGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW14_GET_LOG_PAGE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW14_GET_LOG_PAGE_0 {}
+impl ::core::clone::Clone for NVME_CDW14_GET_LOG_PAGE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW15_FEATURES {
+ pub HostMemoryBuffer: NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_FEATURES {}
+impl ::core::clone::Clone for NVME_CDW15_FEATURES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER {
+ pub Anonymous: NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER {}
+impl ::core::clone::Clone for NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER_0 {
+ pub HMDLEC: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER_0 {}
+impl ::core::clone::Clone for NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW15_READ_WRITE {
+ pub Anonymous: NVME_CDW15_READ_WRITE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_READ_WRITE {}
+impl ::core::clone::Clone for NVME_CDW15_READ_WRITE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW15_READ_WRITE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_READ_WRITE_0 {}
+impl ::core::clone::Clone for NVME_CDW15_READ_WRITE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CDW15_ZONE_APPEND {
+ pub Anonymous: NVME_CDW15_ZONE_APPEND_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_ZONE_APPEND {}
+impl ::core::clone::Clone for NVME_CDW15_ZONE_APPEND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CDW15_ZONE_APPEND_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CDW15_ZONE_APPEND_0 {}
+impl ::core::clone::Clone for NVME_CDW15_ZONE_APPEND_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CHANGED_NAMESPACE_LIST_LOG {
+ pub NSID: [u32; 1024],
+}
+impl ::core::marker::Copy for NVME_CHANGED_NAMESPACE_LIST_LOG {}
+impl ::core::clone::Clone for NVME_CHANGED_NAMESPACE_LIST_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CHANGED_ZONE_LIST_LOG {
+ pub ZoneIdentifiersCount: u16,
+ pub Reserved: [u8; 6],
+ pub ZoneIdentifier: [u64; 511],
+}
+impl ::core::marker::Copy for NVME_CHANGED_ZONE_LIST_LOG {}
+impl ::core::clone::Clone for NVME_CHANGED_ZONE_LIST_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND {
+ pub CDW0: NVME_COMMAND_DWORD0,
+ pub NSID: u32,
+ pub Reserved0: [u32; 2],
+ pub MPTR: u64,
+ pub PRP1: u64,
+ pub PRP2: u64,
+ pub u: NVME_COMMAND_0,
+}
+impl ::core::marker::Copy for NVME_COMMAND {}
+impl ::core::clone::Clone for NVME_COMMAND {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMMAND_0 {
+ pub GENERAL: NVME_COMMAND_0_9,
+ pub IDENTIFY: NVME_COMMAND_0_12,
+ pub ABORT: NVME_COMMAND_0_0,
+ pub GETFEATURES: NVME_COMMAND_0_10,
+ pub SETFEATURES: NVME_COMMAND_0_21,
+ pub GETLOGPAGE: NVME_COMMAND_0_11,
+ pub CREATEIOCQ: NVME_COMMAND_0_1,
+ pub CREATEIOSQ: NVME_COMMAND_0_2,
+ pub DATASETMANAGEMENT: NVME_COMMAND_0_3,
+ pub SECURITYSEND: NVME_COMMAND_0_20,
+ pub SECURITYRECEIVE: NVME_COMMAND_0_19,
+ pub FIRMWAREDOWNLOAD: NVME_COMMAND_0_7,
+ pub FIRMWAREACTIVATE: NVME_COMMAND_0_6,
+ pub FORMATNVM: NVME_COMMAND_0_8,
+ pub DIRECTIVERECEIVE: NVME_COMMAND_0_4,
+ pub DIRECTIVESEND: NVME_COMMAND_0_5,
+ pub SANITIZE: NVME_COMMAND_0_18,
+ pub READWRITE: NVME_COMMAND_0_13,
+ pub RESERVATIONACQUIRE: NVME_COMMAND_0_14,
+ pub RESERVATIONREGISTER: NVME_COMMAND_0_15,
+ pub RESERVATIONRELEASE: NVME_COMMAND_0_16,
+ pub RESERVATIONREPORT: NVME_COMMAND_0_17,
+ pub ZONEMANAGEMENTSEND: NVME_COMMAND_0_24,
+ pub ZONEMANAGEMENTRECEIVE: NVME_COMMAND_0_23,
+ pub ZONEAPPEND: NVME_COMMAND_0_22,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_0 {
+ pub CDW10: NVME_CDW10_ABORT,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_1 {
+ pub CDW10: NVME_CDW10_CREATE_IO_QUEUE,
+ pub CDW11: NVME_CDW11_CREATE_IO_CQ,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_1 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_2 {
+ pub CDW10: NVME_CDW10_CREATE_IO_QUEUE,
+ pub CDW11: NVME_CDW11_CREATE_IO_SQ,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_2 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_3 {
+ pub CDW10: NVME_CDW10_DATASET_MANAGEMENT,
+ pub CDW11: NVME_CDW11_DATASET_MANAGEMENT,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_3 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_4 {
+ pub CDW10: NVME_CDW10_DIRECTIVE_RECEIVE,
+ pub CDW11: NVME_CDW11_DIRECTIVE_RECEIVE,
+ pub CDW12: NVME_CDW12_DIRECTIVE_RECEIVE,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_4 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_5 {
+ pub CDW10: NVME_CDW10_DIRECTIVE_SEND,
+ pub CDW11: NVME_CDW11_DIRECTIVE_SEND,
+ pub CDW12: NVME_CDW12_DIRECTIVE_SEND,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_5 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_5 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_6 {
+ pub CDW10: NVME_CDW10_FIRMWARE_ACTIVATE,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_6 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_6 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_7 {
+ pub CDW10: NVME_CDW10_FIRMWARE_DOWNLOAD,
+ pub CDW11: NVME_CDW11_FIRMWARE_DOWNLOAD,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_7 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_7 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_8 {
+ pub CDW10: NVME_CDW10_FORMAT_NVM,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_8 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_9 {
+ pub CDW10: u32,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_9 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_9 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_10 {
+ pub CDW10: NVME_CDW10_GET_FEATURES,
+ pub CDW11: NVME_CDW11_FEATURES,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_10 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_10 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_11 {
+ pub Anonymous: NVME_COMMAND_0_11_0,
+ pub CDW11: NVME_CDW11_GET_LOG_PAGE,
+ pub CDW12: NVME_CDW12_GET_LOG_PAGE,
+ pub CDW13: NVME_CDW13_GET_LOG_PAGE,
+ pub CDW14: NVME_CDW14_GET_LOG_PAGE,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_11 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_11 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMMAND_0_11_0 {
+ pub CDW10: NVME_CDW10_GET_LOG_PAGE,
+ pub CDW10_V13: NVME_CDW10_GET_LOG_PAGE_V13,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_11_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_11_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_12 {
+ pub CDW10: NVME_CDW10_IDENTIFY,
+ pub CDW11: NVME_CDW11_IDENTIFY,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_12 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_12 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_13 {
+ pub LBALOW: u32,
+ pub LBAHIGH: u32,
+ pub CDW12: NVME_CDW12_READ_WRITE,
+ pub CDW13: NVME_CDW13_READ_WRITE,
+ pub CDW14: u32,
+ pub CDW15: NVME_CDW15_READ_WRITE,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_13 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_13 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_14 {
+ pub CDW10: NVME_CDW10_RESERVATION_ACQUIRE,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_14 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_14 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_15 {
+ pub CDW10: NVME_CDW10_RESERVATION_REGISTER,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_15 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_15 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_16 {
+ pub CDW10: NVME_CDW10_RESERVATION_RELEASE,
+ pub CDW11: u32,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_16 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_16 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_17 {
+ pub CDW10: NVME_CDW10_RESERVATION_REPORT,
+ pub CDW11: NVME_CDW11_RESERVATION_REPORT,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_17 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_17 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_18 {
+ pub CDW10: NVME_CDW10_SANITIZE,
+ pub CDW11: NVME_CDW11_SANITIZE,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_18 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_18 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_19 {
+ pub CDW10: NVME_CDW10_SECURITY_SEND_RECEIVE,
+ pub CDW11: NVME_CDW11_SECURITY_RECEIVE,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_19 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_19 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_20 {
+ pub CDW10: NVME_CDW10_SECURITY_SEND_RECEIVE,
+ pub CDW11: NVME_CDW11_SECURITY_SEND,
+ pub CDW12: u32,
+ pub CDW13: u32,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_20 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_20 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_21 {
+ pub CDW10: NVME_CDW10_SET_FEATURES,
+ pub CDW11: NVME_CDW11_FEATURES,
+ pub CDW12: NVME_CDW12_FEATURES,
+ pub CDW13: NVME_CDW13_FEATURES,
+ pub CDW14: NVME_CDW14_FEATURES,
+ pub CDW15: NVME_CDW15_FEATURES,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_21 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_21 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_22 {
+ pub CDW1011: NVME_CDW10_ZONE_APPEND,
+ pub CDW12: NVME_CDW12_ZONE_APPEND,
+ pub CDW13: u32,
+ pub ILBRT: u32,
+ pub CDW15: NVME_CDW15_ZONE_APPEND,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_22 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_22 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_23 {
+ pub CDW1011: NVME_CDW10_ZONE_MANAGEMENT_RECEIVE,
+ pub DWORDCOUNT: u32,
+ pub CDW13: NVME_CDW13_ZONE_MANAGEMENT_RECEIVE,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_23 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_23 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_0_24 {
+ pub CDW1011: NVME_CDW10_ZONE_MANAGEMENT_SEND,
+ pub CDW12: u32,
+ pub CDW13: NVME_CDW13_ZONE_MANAGEMENT_SEND,
+ pub CDW14: u32,
+ pub CDW15: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_0_24 {}
+impl ::core::clone::Clone for NVME_COMMAND_0_24 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMMAND_DWORD0 {
+ pub Anonymous: NVME_COMMAND_DWORD0_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_DWORD0 {}
+impl ::core::clone::Clone for NVME_COMMAND_DWORD0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_DWORD0_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_DWORD0_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_DWORD0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMMAND_EFFECTS_DATA {
+ pub Anonymous: NVME_COMMAND_EFFECTS_DATA_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_EFFECTS_DATA {}
+impl ::core::clone::Clone for NVME_COMMAND_EFFECTS_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_EFFECTS_DATA_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_COMMAND_EFFECTS_DATA_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_EFFECTS_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_EFFECTS_LOG {
+ pub ACS: [NVME_COMMAND_EFFECTS_DATA; 256],
+ pub IOCS: [NVME_COMMAND_EFFECTS_DATA; 256],
+ pub Reserved: [u8; 2048],
+}
+impl ::core::marker::Copy for NVME_COMMAND_EFFECTS_LOG {}
+impl ::core::clone::Clone for NVME_COMMAND_EFFECTS_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMMAND_STATUS {
+ pub Anonymous: NVME_COMMAND_STATUS_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_COMMAND_STATUS {}
+impl ::core::clone::Clone for NVME_COMMAND_STATUS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMMAND_STATUS_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_COMMAND_STATUS_0 {}
+impl ::core::clone::Clone for NVME_COMMAND_STATUS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST {}
+impl ::core::clone::Clone for NVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {
+ pub Anonymous: NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {}
+impl ::core::clone::Clone for NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {}
+impl ::core::clone::Clone for NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_ENTRY {
+ pub DW0: u32,
+ pub DW1: u32,
+ pub DW2: NVME_COMPLETION_ENTRY_0,
+ pub DW3: NVME_COMPLETION_ENTRY_1,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_ENTRY {}
+impl ::core::clone::Clone for NVME_COMPLETION_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMPLETION_ENTRY_0 {
+ pub Anonymous: NVME_COMPLETION_ENTRY_0_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_ENTRY_0 {}
+impl ::core::clone::Clone for NVME_COMPLETION_ENTRY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_ENTRY_0_0 {
+ pub SQHD: u16,
+ pub SQID: u16,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_ENTRY_0_0 {}
+impl ::core::clone::Clone for NVME_COMPLETION_ENTRY_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMPLETION_ENTRY_1 {
+ pub Anonymous: NVME_COMPLETION_ENTRY_1_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_ENTRY_1 {}
+impl ::core::clone::Clone for NVME_COMPLETION_ENTRY_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_ENTRY_1_0 {
+ pub CID: u16,
+ pub Status: NVME_COMMAND_STATUS,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_ENTRY_1_0 {}
+impl ::core::clone::Clone for NVME_COMPLETION_ENTRY_1_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_COMPLETION_QUEUE_HEAD_DOORBELL {
+ pub Anonymous: NVME_COMPLETION_QUEUE_HEAD_DOORBELL_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_QUEUE_HEAD_DOORBELL {}
+impl ::core::clone::Clone for NVME_COMPLETION_QUEUE_HEAD_DOORBELL {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_COMPLETION_QUEUE_HEAD_DOORBELL_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_COMPLETION_QUEUE_HEAD_DOORBELL_0 {}
+impl ::core::clone::Clone for NVME_COMPLETION_QUEUE_HEAD_DOORBELL_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTEXT_ATTRIBUTES {
+ pub Anonymous: NVME_CONTEXT_ATTRIBUTES_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CONTEXT_ATTRIBUTES {}
+impl ::core::clone::Clone for NVME_CONTEXT_ATTRIBUTES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTEXT_ATTRIBUTES_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CONTEXT_ATTRIBUTES_0 {}
+impl ::core::clone::Clone for NVME_CONTEXT_ATTRIBUTES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTROLLER_CAPABILITIES {
+ pub Anonymous: NVME_CONTROLLER_CAPABILITIES_0,
+ pub AsUlonglong: u64,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_CAPABILITIES {}
+impl ::core::clone::Clone for NVME_CONTROLLER_CAPABILITIES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_CAPABILITIES_0 {
+ pub _bitfield: u64,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_CAPABILITIES_0 {}
+impl ::core::clone::Clone for NVME_CONTROLLER_CAPABILITIES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTROLLER_CONFIGURATION {
+ pub Anonymous: NVME_CONTROLLER_CONFIGURATION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_CONFIGURATION {}
+impl ::core::clone::Clone for NVME_CONTROLLER_CONFIGURATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_CONFIGURATION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_CONFIGURATION_0 {}
+impl ::core::clone::Clone for NVME_CONTROLLER_CONFIGURATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_LIST {
+ pub NumberOfIdentifiers: u16,
+ pub ControllerID: [u16; 2047],
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_LIST {}
+impl ::core::clone::Clone for NVME_CONTROLLER_LIST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTROLLER_MEMORY_BUFFER_LOCATION {
+ pub Anonymous: NVME_CONTROLLER_MEMORY_BUFFER_LOCATION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_MEMORY_BUFFER_LOCATION {}
+impl ::core::clone::Clone for NVME_CONTROLLER_MEMORY_BUFFER_LOCATION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_MEMORY_BUFFER_LOCATION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_MEMORY_BUFFER_LOCATION_0 {}
+impl ::core::clone::Clone for NVME_CONTROLLER_MEMORY_BUFFER_LOCATION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTROLLER_MEMORY_BUFFER_SIZE {
+ pub Anonymous: NVME_CONTROLLER_MEMORY_BUFFER_SIZE_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_MEMORY_BUFFER_SIZE {}
+impl ::core::clone::Clone for NVME_CONTROLLER_MEMORY_BUFFER_SIZE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_MEMORY_BUFFER_SIZE_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_MEMORY_BUFFER_SIZE_0 {}
+impl ::core::clone::Clone for NVME_CONTROLLER_MEMORY_BUFFER_SIZE_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_REGISTERS {
+ pub CAP: NVME_CONTROLLER_CAPABILITIES,
+ pub VS: NVME_VERSION,
+ pub INTMS: u32,
+ pub INTMC: u32,
+ pub CC: NVME_CONTROLLER_CONFIGURATION,
+ pub Reserved0: u32,
+ pub CSTS: NVME_CONTROLLER_STATUS,
+ pub NSSR: NVME_NVM_SUBSYSTEM_RESET,
+ pub AQA: NVME_ADMIN_QUEUE_ATTRIBUTES,
+ pub ASQ: NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS,
+ pub ACQ: NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS,
+ pub CMBLOC: NVME_CONTROLLER_MEMORY_BUFFER_LOCATION,
+ pub CMBSZ: NVME_CONTROLLER_MEMORY_BUFFER_SIZE,
+ pub Reserved2: [u32; 944],
+ pub Reserved3: [u32; 64],
+ pub Doorbells: [u32; 1],
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_REGISTERS {}
+impl ::core::clone::Clone for NVME_CONTROLLER_REGISTERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_CONTROLLER_STATUS {
+ pub Anonymous: NVME_CONTROLLER_STATUS_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_STATUS {}
+impl ::core::clone::Clone for NVME_CONTROLLER_STATUS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_CONTROLLER_STATUS_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_CONTROLLER_STATUS_0 {}
+impl ::core::clone::Clone for NVME_CONTROLLER_STATUS_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_LOG {
+ pub CurrentOperation: NVME_DEVICE_SELF_TEST_LOG_1,
+ pub CurrentCompletion: NVME_DEVICE_SELF_TEST_LOG_0,
+ pub Reserved: [u8; 2],
+ pub ResultData: [NVME_DEVICE_SELF_TEST_RESULT_DATA; 20],
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_LOG {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_LOG_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_LOG_0 {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_LOG_1 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_LOG_1 {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_LOG_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_DEVICE_SELF_TEST_RESULT_DATA {
+ pub Status: NVME_DEVICE_SELF_TEST_RESULT_DATA_1,
+ pub SegmentNumber: u8,
+ pub ValidDiagnostics: NVME_DEVICE_SELF_TEST_RESULT_DATA_2,
+ pub Reserved: u8,
+ pub POH: u64,
+ pub NSID: u32,
+ pub FailingLBA: u64,
+ pub StatusCodeType: NVME_DEVICE_SELF_TEST_RESULT_DATA_0,
+ pub StatusCode: u8,
+ pub VendorSpecific: u16,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_RESULT_DATA {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_RESULT_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_RESULT_DATA_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_RESULT_DATA_0 {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_RESULT_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_RESULT_DATA_1 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_RESULT_DATA_1 {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_RESULT_DATA_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DEVICE_SELF_TEST_RESULT_DATA_2 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_DEVICE_SELF_TEST_RESULT_DATA_2 {}
+impl ::core::clone::Clone for NVME_DEVICE_SELF_TEST_RESULT_DATA_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS {
+ pub DirectivesSupported: NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR,
+ pub DirectivesEnabled: NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR,
+}
+impl ::core::marker::Copy for NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS {}
+impl ::core::clone::Clone for NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR {
+ pub _bitfield: u8,
+ pub Reserved1: [u8; 31],
+}
+impl ::core::marker::Copy for NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR {}
+impl ::core::clone::Clone for NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DIRECTIVE_STREAMS_GET_STATUS_DATA {
+ pub OpenStreamCount: u16,
+ pub StreamIdentifiers: [u16; 65535],
+}
+impl ::core::marker::Copy for NVME_DIRECTIVE_STREAMS_GET_STATUS_DATA {}
+impl ::core::clone::Clone for NVME_DIRECTIVE_STREAMS_GET_STATUS_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS {
+ pub MSL: u16,
+ pub NSSA: u16,
+ pub NSSO: u16,
+ pub Reserved0: [u8; 10],
+ pub SWS: u32,
+ pub SGS: u16,
+ pub NSA: u16,
+ pub NSO: u16,
+ pub Reserved1: [u8; 6],
+}
+impl ::core::marker::Copy for NVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS {}
+impl ::core::clone::Clone for NVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_ENDURANCE_GROUP_LOG {
+ pub Reserved0: u32,
+ pub AvailableSpareThreshold: u8,
+ pub PercentageUsed: u8,
+ pub Reserved1: [u8; 26],
+ pub EnduranceEstimate: [u8; 16],
+ pub DataUnitsRead: [u8; 16],
+ pub DataUnitsWritten: [u8; 16],
+ pub MediaUnitsWritten: [u8; 16],
+ pub Reserved2: [u8; 416],
+}
+impl ::core::marker::Copy for NVME_ENDURANCE_GROUP_LOG {}
+impl ::core::clone::Clone for NVME_ENDURANCE_GROUP_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ERROR_INFO_LOG {
+ pub ErrorCount: u64,
+ pub SQID: u16,
+ pub CMDID: u16,
+ pub Status: NVME_COMMAND_STATUS,
+ pub ParameterErrorLocation: NVME_ERROR_INFO_LOG_0,
+ pub Lba: u64,
+ pub NameSpace: u32,
+ pub VendorInfoAvailable: u8,
+ pub Reserved0: [u8; 3],
+ pub CommandSpecificInfo: u64,
+ pub Reserved1: [u8; 24],
+}
+impl ::core::marker::Copy for NVME_ERROR_INFO_LOG {}
+impl ::core::clone::Clone for NVME_ERROR_INFO_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ERROR_INFO_LOG_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_ERROR_INFO_LOG_0 {}
+impl ::core::clone::Clone for NVME_ERROR_INFO_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ERROR_INJECTION_ENTRY {
+ pub Flags: NVME_ERROR_INJECTION_ENTRY_0,
+ pub Reserved1: u8,
+ pub ErrorInjectionType: u16,
+ pub ErrorInjectionTypeSpecific: [u8; 28],
+}
+impl ::core::marker::Copy for NVME_ERROR_INJECTION_ENTRY {}
+impl ::core::clone::Clone for NVME_ERROR_INJECTION_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_ERROR_INJECTION_ENTRY_0 {
+ pub Anonymous: NVME_ERROR_INJECTION_ENTRY_0_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for NVME_ERROR_INJECTION_ENTRY_0 {}
+impl ::core::clone::Clone for NVME_ERROR_INJECTION_ENTRY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ERROR_INJECTION_ENTRY_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_ERROR_INJECTION_ENTRY_0_0 {}
+impl ::core::clone::Clone for NVME_ERROR_INJECTION_ENTRY_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_EXTENDED_REPORT_ZONE_INFO {
+ pub ZoneCount: u64,
+ pub Reserved: [u64; 7],
+ pub Desc: [NVME_ZONE_EXTENDED_REPORT_ZONE_DESC; 1],
+}
+impl ::core::marker::Copy for NVME_EXTENDED_REPORT_ZONE_INFO {}
+impl ::core::clone::Clone for NVME_EXTENDED_REPORT_ZONE_INFO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_FEATURE_HOST_IDENTIFIER_DATA {
+ pub HOSTID: [u8; 16],
+}
+impl ::core::marker::Copy for NVME_FEATURE_HOST_IDENTIFIER_DATA {}
+impl ::core::clone::Clone for NVME_FEATURE_HOST_IDENTIFIER_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_FEATURE_HOST_METADATA_DATA {
+ pub NumberOfMetadataElementDescriptors: u8,
+ pub Reserved0: u8,
+ pub MetadataElementDescriptors: [u8; 4094],
+}
+impl ::core::marker::Copy for NVME_FEATURE_HOST_METADATA_DATA {}
+impl ::core::clone::Clone for NVME_FEATURE_HOST_METADATA_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_FIRMWARE_SLOT_INFO_LOG {
+ pub AFI: NVME_FIRMWARE_SLOT_INFO_LOG_0,
+ pub Reserved0: [u8; 7],
+ pub FRS: [u64; 7],
+ pub Reserved1: [u8; 448],
+}
+impl ::core::marker::Copy for NVME_FIRMWARE_SLOT_INFO_LOG {}
+impl ::core::clone::Clone for NVME_FIRMWARE_SLOT_INFO_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_FIRMWARE_SLOT_INFO_LOG_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_FIRMWARE_SLOT_INFO_LOG_0 {}
+impl ::core::clone::Clone for NVME_FIRMWARE_SLOT_INFO_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_HEALTH_INFO_LOG {
+ pub CriticalWarning: NVME_HEALTH_INFO_LOG_0,
+ pub Temperature: [u8; 2],
+ pub AvailableSpare: u8,
+ pub AvailableSpareThreshold: u8,
+ pub PercentageUsed: u8,
+ pub Reserved0: [u8; 26],
+ pub DataUnitRead: [u8; 16],
+ pub DataUnitWritten: [u8; 16],
+ pub HostReadCommands: [u8; 16],
+ pub HostWrittenCommands: [u8; 16],
+ pub ControllerBusyTime: [u8; 16],
+ pub PowerCycle: [u8; 16],
+ pub PowerOnHours: [u8; 16],
+ pub UnsafeShutdowns: [u8; 16],
+ pub MediaErrors: [u8; 16],
+ pub ErrorInfoLogEntryCount: [u8; 16],
+ pub WarningCompositeTemperatureTime: u32,
+ pub CriticalCompositeTemperatureTime: u32,
+ pub TemperatureSensor1: u16,
+ pub TemperatureSensor2: u16,
+ pub TemperatureSensor3: u16,
+ pub TemperatureSensor4: u16,
+ pub TemperatureSensor5: u16,
+ pub TemperatureSensor6: u16,
+ pub TemperatureSensor7: u16,
+ pub TemperatureSensor8: u16,
+ pub Reserved1: [u8; 296],
+}
+impl ::core::marker::Copy for NVME_HEALTH_INFO_LOG {}
+impl ::core::clone::Clone for NVME_HEALTH_INFO_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_HEALTH_INFO_LOG_0 {
+ pub Anonymous: NVME_HEALTH_INFO_LOG_0_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for NVME_HEALTH_INFO_LOG_0 {}
+impl ::core::clone::Clone for NVME_HEALTH_INFO_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_HEALTH_INFO_LOG_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_HEALTH_INFO_LOG_0_0 {}
+impl ::core::clone::Clone for NVME_HEALTH_INFO_LOG_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY {
+ pub BADD: u64,
+ pub BSIZE: u32,
+ pub Reserved: u32,
+}
+impl ::core::marker::Copy for NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY {}
+impl ::core::clone::Clone for NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_HOST_METADATA_ELEMENT_DESCRIPTOR {
+ pub _bitfield: u32,
+ pub EVAL: [u8; 1],
+}
+impl ::core::marker::Copy for NVME_HOST_METADATA_ELEMENT_DESCRIPTOR {}
+impl ::core::clone::Clone for NVME_HOST_METADATA_ELEMENT_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA {
+ pub VID: u16,
+ pub SSVID: u16,
+ pub SN: [u8; 20],
+ pub MN: [u8; 40],
+ pub FR: [u8; 8],
+ pub RAB: u8,
+ pub IEEE: [u8; 3],
+ pub CMIC: NVME_IDENTIFY_CONTROLLER_DATA_3,
+ pub MDTS: u8,
+ pub CNTLID: u16,
+ pub VER: u32,
+ pub RTD3R: u32,
+ pub RTD3E: u32,
+ pub OAES: NVME_IDENTIFY_CONTROLLER_DATA_14,
+ pub CTRATT: NVME_IDENTIFY_CONTROLLER_DATA_5,
+ pub RRLS: NVME_IDENTIFY_CONTROLLER_DATA_17,
+ pub Reserved0: [u8; 9],
+ pub CNTRLTYPE: u8,
+ pub FGUID: [u8; 16],
+ pub CRDT1: u16,
+ pub CRDT2: u16,
+ pub CRDT3: u16,
+ pub Reserved0_1: [u8; 106],
+ pub ReservedForManagement: [u8; 16],
+ pub OACS: NVME_IDENTIFY_CONTROLLER_DATA_13,
+ pub ACL: u8,
+ pub AERL: u8,
+ pub FRMW: NVME_IDENTIFY_CONTROLLER_DATA_7,
+ pub LPA: NVME_IDENTIFY_CONTROLLER_DATA_10,
+ pub ELPE: u8,
+ pub NPSS: u8,
+ pub AVSCC: NVME_IDENTIFY_CONTROLLER_DATA_2,
+ pub APSTA: NVME_IDENTIFY_CONTROLLER_DATA_1,
+ pub WCTEMP: u16,
+ pub CCTEMP: u16,
+ pub MTFA: u16,
+ pub HMPRE: u32,
+ pub HMMIN: u32,
+ pub TNVMCAP: [u8; 16],
+ pub UNVMCAP: [u8; 16],
+ pub RPMBS: NVME_IDENTIFY_CONTROLLER_DATA_16,
+ pub EDSTT: u16,
+ pub DSTO: u8,
+ pub FWUG: u8,
+ pub KAS: u16,
+ pub HCTMA: NVME_IDENTIFY_CONTROLLER_DATA_9,
+ pub MNTMT: u16,
+ pub MXTMT: u16,
+ pub SANICAP: NVME_IDENTIFY_CONTROLLER_DATA_18,
+ pub HMMINDS: u32,
+ pub HMMAXD: u16,
+ pub NSETIDMAX: u16,
+ pub ENDGIDMAX: u16,
+ pub ANATT: u8,
+ pub ANACAP: NVME_IDENTIFY_CONTROLLER_DATA_0,
+ pub ANAGRPMAX: u32,
+ pub NANAGRPID: u32,
+ pub PELS: u32,
+ pub Reserved1: [u8; 156],
+ pub SQES: NVME_IDENTIFY_CONTROLLER_DATA_20,
+ pub CQES: NVME_IDENTIFY_CONTROLLER_DATA_4,
+ pub MAXCMD: u16,
+ pub NN: u32,
+ pub ONCS: NVME_IDENTIFY_CONTROLLER_DATA_15,
+ pub FUSES: NVME_IDENTIFY_CONTROLLER_DATA_8,
+ pub FNA: NVME_IDENTIFY_CONTROLLER_DATA_6,
+ pub VWC: NVME_IDENTIFY_CONTROLLER_DATA_21,
+ pub AWUN: u16,
+ pub AWUPF: u16,
+ pub NVSCC: NVME_IDENTIFY_CONTROLLER_DATA_11,
+ pub NWPC: NVME_IDENTIFY_CONTROLLER_DATA_12,
+ pub ACWU: u16,
+ pub Reserved4: [u8; 2],
+ pub SGLS: NVME_IDENTIFY_CONTROLLER_DATA_19,
+ pub MNAN: u32,
+ pub Reserved6: [u8; 224],
+ pub SUBNQN: [u8; 256],
+ pub Reserved7: [u8; 768],
+ pub Reserved8: [u8; 256],
+ pub PDS: [NVME_POWER_STATE_DESC; 32],
+ pub VS: [u8; 1024],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_0 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_1 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_1 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_2 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_2 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_3 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_3 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_4 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_4 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_5 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_5 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_5 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_6 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_6 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_6 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_7 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_7 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_7 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_8 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_8 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_9 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_9 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_9 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_10 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_10 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_10 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_11 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_11 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_11 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_12 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_12 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_12 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_13 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_13 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_13 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_14 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_14 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_14 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_15 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_15 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_15 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_16 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_16 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_16 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_17 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_17 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_17 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_18 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_18 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_18 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_19 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_19 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_19 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_20 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_20 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_20 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_CONTROLLER_DATA_21 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_CONTROLLER_DATA_21 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_CONTROLLER_DATA_21 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_IO_COMMAND_SET {
+ pub IOCommandSetVector: [u64; 512],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_IO_COMMAND_SET {}
+impl ::core::clone::Clone for NVME_IDENTIFY_IO_COMMAND_SET {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA {
+ pub NSZE: u64,
+ pub NCAP: u64,
+ pub NUSE: u64,
+ pub NSFEAT: NVME_IDENTIFY_NAMESPACE_DATA_8,
+ pub NLBAF: u8,
+ pub FLBAS: NVME_IDENTIFY_NAMESPACE_DATA_3,
+ pub MC: NVME_IDENTIFY_NAMESPACE_DATA_5,
+ pub DPC: NVME_IDENTIFY_NAMESPACE_DATA_1,
+ pub DPS: NVME_IDENTIFY_NAMESPACE_DATA_2,
+ pub NMIC: NVME_IDENTIFY_NAMESPACE_DATA_6,
+ pub RESCAP: NVM_RESERVATION_CAPABILITIES,
+ pub FPI: NVME_IDENTIFY_NAMESPACE_DATA_4,
+ pub DLFEAT: NVME_IDENTIFY_NAMESPACE_DATA_0,
+ pub NAWUN: u16,
+ pub NAWUPF: u16,
+ pub NACWU: u16,
+ pub NABSN: u16,
+ pub NABO: u16,
+ pub NABSPF: u16,
+ pub NOIOB: u16,
+ pub NVMCAP: [u8; 16],
+ pub NPWG: u16,
+ pub NPWA: u16,
+ pub NPDG: u16,
+ pub NPDA: u16,
+ pub NOWS: u16,
+ pub MSSRL: u16,
+ pub MCL: u32,
+ pub MSRC: u8,
+ pub Reserved2: [u8; 11],
+ pub ANAGRPID: u32,
+ pub Reserved3: [u8; 3],
+ pub NSATTR: NVME_IDENTIFY_NAMESPACE_DATA_7,
+ pub NVMSETID: u16,
+ pub ENDGID: u16,
+ pub NGUID: [u8; 16],
+ pub EUI64: [u8; 8],
+ pub LBAF: [NVME_LBA_FORMAT; 16],
+ pub Reserved4: [u8; 192],
+ pub VS: [u8; 3712],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_0 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_1 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_1 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_2 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_2 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_3 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_3 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_4 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_4 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_5 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_5 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_5 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_6 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_6 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_6 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_7 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_7 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_7 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DATA_8 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DATA_8 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DATA_8 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NAMESPACE_DESCRIPTOR {
+ pub NIDT: u8,
+ pub NIDL: u8,
+ pub Reserved: [u8; 2],
+ pub NID: [u8; 1],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NAMESPACE_DESCRIPTOR {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NAMESPACE_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_NVM_SPECIFIC_CONTROLLER_IO_COMMAND_SET {
+ pub VSL: u8,
+ pub WZSL: u8,
+ pub WUSL: u8,
+ pub DMRL: u8,
+ pub DMRSL: u32,
+ pub DMSL: u64,
+ pub Reserved: [u8; 4080],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_NVM_SPECIFIC_CONTROLLER_IO_COMMAND_SET {}
+impl ::core::clone::Clone for NVME_IDENTIFY_NVM_SPECIFIC_CONTROLLER_IO_COMMAND_SET {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET {
+ pub ZOC: NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_1,
+ pub OZCS: NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_0,
+ pub MAR: u32,
+ pub MOR: u32,
+ pub RRL: u32,
+ pub FRL: u32,
+ pub Reserved0: [u8; 2796],
+ pub LBAEF: [NVME_LBA_ZONE_FORMAT; 16],
+ pub Reserved1: [u8; 768],
+ pub VS: [u8; 256],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET {}
+impl ::core::clone::Clone for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_0 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_1 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_1 {}
+impl ::core::clone::Clone for NVME_IDENTIFY_SPECIFIC_NAMESPACE_IO_COMMAND_SET_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_IDENTIFY_ZNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET {
+ pub ZASL: u8,
+ pub Reserved: [u8; 4095],
+}
+impl ::core::marker::Copy for NVME_IDENTIFY_ZNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET {}
+impl ::core::clone::Clone for NVME_IDENTIFY_ZNS_SPECIFIC_CONTROLLER_IO_COMMAND_SET {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_LBA_FORMAT {
+ pub Anonymous: NVME_LBA_FORMAT_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_LBA_FORMAT {}
+impl ::core::clone::Clone for NVME_LBA_FORMAT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_LBA_FORMAT_0 {
+ pub MS: u16,
+ pub LBADS: u8,
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_LBA_FORMAT_0 {}
+impl ::core::clone::Clone for NVME_LBA_FORMAT_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_LBA_RANGE {
+ pub Attributes: NVME_CONTEXT_ATTRIBUTES,
+ pub LogicalBlockCount: u32,
+ pub StartingLBA: u64,
+}
+impl ::core::marker::Copy for NVME_LBA_RANGE {}
+impl ::core::clone::Clone for NVME_LBA_RANGE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_LBA_RANGET_TYPE_ENTRY {
+ pub Type: u8,
+ pub Attributes: NVME_LBA_RANGET_TYPE_ENTRY_0,
+ pub Reserved0: [u8; 14],
+ pub SLBA: u64,
+ pub NLB: u64,
+ pub GUID: [u8; 16],
+ pub Reserved1: [u8; 16],
+}
+impl ::core::marker::Copy for NVME_LBA_RANGET_TYPE_ENTRY {}
+impl ::core::clone::Clone for NVME_LBA_RANGET_TYPE_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_LBA_RANGET_TYPE_ENTRY_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_LBA_RANGET_TYPE_ENTRY_0 {}
+impl ::core::clone::Clone for NVME_LBA_RANGET_TYPE_ENTRY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_LBA_ZONE_FORMAT {
+ pub ZoneSize: u64,
+ pub ZDES: u8,
+ pub Reserved: [u8; 7],
+}
+impl ::core::marker::Copy for NVME_LBA_ZONE_FORMAT {}
+impl ::core::clone::Clone for NVME_LBA_ZONE_FORMAT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_NVM_SUBSYSTEM_RESET {
+ pub NSSRC: u32,
+}
+impl ::core::marker::Copy for NVME_NVM_SUBSYSTEM_RESET {}
+impl ::core::clone::Clone for NVME_NVM_SUBSYSTEM_RESET {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG {
+ pub PciePorts: u16,
+ pub OobMgmtSupport: NVME_OCP_DEVICE_CAPABILITIES_LOG_2,
+ pub WriteZeroesCommand: NVME_OCP_DEVICE_CAPABILITIES_LOG_5,
+ pub SanitizeCommand: NVME_OCP_DEVICE_CAPABILITIES_LOG_3,
+ pub DatasetMgmtCommand: NVME_OCP_DEVICE_CAPABILITIES_LOG_0,
+ pub WriteUncorrectableCommand: NVME_OCP_DEVICE_CAPABILITIES_LOG_4,
+ pub FusedCommand: NVME_OCP_DEVICE_CAPABILITIES_LOG_1,
+ pub MinimumValidDSSDPowerState: u16,
+ pub Reserved0: u8,
+ pub DssdDescriptors: [DSSD_POWER_STATE_DESCRIPTOR; 127],
+ pub Reserved1: [u8; 3934],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_0 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_0_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_0_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_0_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_1 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_1_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_1 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_1_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_1_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_1_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_2 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_2_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_2 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_2_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_2_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_2_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_3 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_3_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_3 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_3_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_3_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_3_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_4 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_4_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_4 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_4_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_4_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_4_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub union NVME_OCP_DEVICE_CAPABILITIES_LOG_5 {
+ pub Anonymous: NVME_OCP_DEVICE_CAPABILITIES_LOG_5_0,
+ pub AsUshort: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_5 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_5 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_CAPABILITIES_LOG_5_0 {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_CAPABILITIES_LOG_5_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_CAPABILITIES_LOG_5_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_ERROR_RECOVERY_LOG_V2 {
+ pub PanicResetWaitTime: u16,
+ pub PanicResetAction: NVME_WCS_DEVICE_RESET_ACTION,
+ pub DeviceRecoveryAction1: u8,
+ pub PanicId: u64,
+ pub DeviceCapabilitiesA: NVME_WCS_DEVICE_CAPABILITIES,
+ pub VendorSpecificRecoveryCode: u8,
+ pub Reserved0: [u8; 3],
+ pub VendorSpecificCommandCDW12: u32,
+ pub VendorSpecificCommandCDW13: u32,
+ pub VendorSpecificCommandTimeout: u8,
+ pub DeviceRecoveryAction2: u8,
+ pub DeviceRecoveryAction2Timeout: u8,
+ pub Reserved1: [u8; 463],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_ERROR_RECOVERY_LOG_V2 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_ERROR_RECOVERY_LOG_V2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORY_LOG {
+ pub LID: u8,
+ pub Reserved0: [u8; 3],
+ pub ValidNumberOfEntries: u32,
+ pub Entries: [FIRMWARE_ACTIVATION_HISTORY_ENTRY; 20],
+ pub Reserved1: [u8; 2790],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORY_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_FIRMWARE_ACTIVATION_HISTORY_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_LATENCY_MONITOR_LOG {
+ pub FeatureStatus: LATENCY_MONITOR_FEATURE_STATUS,
+ pub Reserved0: u8,
+ pub ActiveBucketTimer: u16,
+ pub ActiveBucketTimerThreshold: u16,
+ pub ActiveThresholdA: u8,
+ pub ActiveThresholdB: u8,
+ pub ActiveThresholdC: u8,
+ pub ActiveThresholdD: u8,
+ pub ActiveLatencyConfig: ACTIVE_LATENCY_CONFIGURATION,
+ pub ActiveLatencyMinimumWindow: u8,
+ pub Reserved1: [u8; 19],
+ pub ActiveBucketCounter0: BUCKET_COUNTER,
+ pub ActiveBucketCounter1: BUCKET_COUNTER,
+ pub ActiveBucketCounter2: BUCKET_COUNTER,
+ pub ActiveBucketCounter3: BUCKET_COUNTER,
+ pub ActiveLatencyStamp: LATENCY_STAMP,
+ pub ActiveMeasuredLatency: MEASURED_LATENCY,
+ pub ActiveLatencyStampUnits: LATENCY_STAMP_UNITS,
+ pub Reserved2: [u8; 22],
+ pub StaticBucketCounter0: BUCKET_COUNTER,
+ pub StaticBucketCounter1: BUCKET_COUNTER,
+ pub StaticBucketCounter2: BUCKET_COUNTER,
+ pub StaticBucketCounter3: BUCKET_COUNTER,
+ pub StaticLatencyStamp: LATENCY_STAMP,
+ pub StaticMeasuredLatency: MEASURED_LATENCY,
+ pub StaticLatencyStampUnits: LATENCY_STAMP_UNITS,
+ pub Reserved3: [u8; 22],
+ pub DebugLogTriggerEnable: DEBUG_BIT_FIELD,
+ pub DebugLogMeasuredLatency: u16,
+ pub DebugLogLatencyStamp: u64,
+ pub DebugLogPointer: u16,
+ pub DebugCounterTriggerSource: DEBUG_BIT_FIELD,
+ pub DebugLogStampUnits: NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0,
+ pub Reserved4: [u8; 29],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0 {
+ pub Anonymous: NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_LATENCY_MONITOR_LOG_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3 {
+ pub MediaUnitsWritten: [u8; 16],
+ pub MediaUnitsRead: [u8; 16],
+ pub BadUserNANDBlockCount: NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_1,
+ pub BadSystemNANDBlockCount: NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_0,
+ pub XORRecoveryCount: u64,
+ pub UnrecoverableReadErrorCount: u64,
+ pub SoftECCErrorCount: u64,
+ pub EndToEndCorrectionCounts: NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_2,
+ pub PercentageSystemDataUsed: u8,
+ pub RefreshCount: [u8; 7],
+ pub UserDataEraseCounts: NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_4,
+ pub ThermalThrottling: NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_3,
+ pub DSSDSpecVersion: [u8; 6],
+ pub PCIeCorrectableErrorCount: u64,
+ pub IncompleteShutdownCount: u32,
+ pub Reserved1: u32,
+ pub PercentageFreeBlocks: u8,
+ pub Reserved2: [u8; 7],
+ pub CapacitorHealth: u16,
+ pub NvmeErrata: u8,
+ pub Reserved3: [u8; 5],
+ pub UnalignedIOCount: u64,
+ pub SecurityVersionNumber: u64,
+ pub NUSE: u64,
+ pub PLPStartCount: [u8; 16],
+ pub EnduranceEstimate: [u8; 16],
+ pub PCIeLinkRetrainingCount: u64,
+ pub PowerStateChangeCount: u64,
+ pub Reserved4: [u8; 286],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_0 {
+ pub RawCount: [u8; 6],
+ pub Normalized: [u8; 2],
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_1 {
+ pub RawCount: [u8; 6],
+ pub Normalized: [u8; 2],
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_1 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_2 {
+ pub DetectedCounts: u32,
+ pub CorrectedCounts: u32,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_2 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_3 {
+ pub EventCount: u8,
+ pub Status: u8,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_3 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_4 {
+ pub MaximumCount: u32,
+ pub MinimumCount: u32,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_4 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_SMART_INFORMATION_LOG_V3_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG {
+ pub State: NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0,
+ pub Reserved0: [u8; 3],
+ pub LSPActivationCount: u8,
+ pub TPRevertCount: u8,
+ pub LSPRevertCount: u8,
+ pub LOCount: u8,
+ pub SUMLOCount: u8,
+ pub RPLOCount: u8,
+ pub NPLOCount: u8,
+ pub RLLOCount: u8,
+ pub WLLOCount: u8,
+ pub RULOCount: u8,
+ pub WULOCount: u8,
+ pub Reserved1: u8,
+ pub SIDAuthTryCount: u32,
+ pub SIDAuthTryLimit: u32,
+ pub ResetCount: u32,
+ pub ResetLockCount: u32,
+ pub Reserved2: [u8; 462],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0 {
+ pub Anonymous: NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0_0 {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_TCG_CONFIGURATION_LOG_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_TCG_HISTORY_LOG {
+ pub LID: u8,
+ pub Reserved0: [u8; 3],
+ pub HistoryEntryCount: u32,
+ pub HistoryEntries: [TCG_HISTORY_ENTRY; 84],
+ pub Reserved1: [u8; 38],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_TCG_HISTORY_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_TCG_HISTORY_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_OCP_DEVICE_UNSUPPORTED_REQUIREMENTS_LOG {
+ pub UnsupportedCount: u16,
+ pub Reserved0: [u8; 14],
+ pub UnsupportedReqList: [UNSUPPORTED_REQUIREMENT; 253],
+ pub Reserved1: [u8; 14],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_OCP_DEVICE_UNSUPPORTED_REQUIREMENTS_LOG {}
+impl ::core::clone::Clone for NVME_OCP_DEVICE_UNSUPPORTED_REQUIREMENTS_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_PERSISTENT_EVENT_LOG_EVENT_HEADER {
+ pub EventType: u8,
+ pub EventTypeRevision: u8,
+ pub EventHeaderLength: u8,
+ pub Reserved0: u8,
+ pub ControllerIdentifier: u16,
+ pub EventTimestamp: u64,
+ pub Reserved1: [u8; 6],
+ pub VendorSpecificInformationLength: u16,
+ pub EventLength: u16,
+}
+impl ::core::marker::Copy for NVME_PERSISTENT_EVENT_LOG_EVENT_HEADER {}
+impl ::core::clone::Clone for NVME_PERSISTENT_EVENT_LOG_EVENT_HEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_PERSISTENT_EVENT_LOG_HEADER {
+ pub LogIdentifier: u8,
+ pub Reserved0: [u8; 3],
+ pub TotalNumberOfEvents: u32,
+ pub TotalLogLength: u64,
+ pub LogRevision: u8,
+ pub Reserved1: u8,
+ pub LogHeaderLength: u16,
+ pub Timestamp: u64,
+ pub PowerOnHours: [u8; 16],
+ pub PowerCycleCount: u64,
+ pub PciVendorId: u16,
+ pub PciSubsystemVendorId: u16,
+ pub SerialNumber: [u8; 20],
+ pub ModelNumber: [u8; 40],
+ pub NVMSubsystemNVMeQualifiedName: [u8; 256],
+ pub Reserved: [u8; 108],
+ pub SupportedEventsBitmap: [u8; 32],
+}
+impl ::core::marker::Copy for NVME_PERSISTENT_EVENT_LOG_HEADER {}
+impl ::core::clone::Clone for NVME_PERSISTENT_EVENT_LOG_HEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_POWER_STATE_DESC {
+ pub MP: u16,
+ pub Reserved0: u8,
+ pub _bitfield1: u8,
+ pub ENLAT: u32,
+ pub EXLAT: u32,
+ pub _bitfield2: u8,
+ pub _bitfield3: u8,
+ pub _bitfield4: u8,
+ pub _bitfield5: u8,
+ pub IDLP: u16,
+ pub _bitfield6: u8,
+ pub Reserved7: u8,
+ pub ACTP: u16,
+ pub _bitfield7: u8,
+ pub Reserved9: [u8; 9],
+}
+impl ::core::marker::Copy for NVME_POWER_STATE_DESC {}
+impl ::core::clone::Clone for NVME_POWER_STATE_DESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_PRP_ENTRY {
+ pub Anonymous: NVME_PRP_ENTRY_0,
+ pub AsUlonglong: u64,
+}
+impl ::core::marker::Copy for NVME_PRP_ENTRY {}
+impl ::core::clone::Clone for NVME_PRP_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_PRP_ENTRY_0 {
+ pub _bitfield: u64,
+}
+impl ::core::marker::Copy for NVME_PRP_ENTRY_0 {}
+impl ::core::clone::Clone for NVME_PRP_ENTRY_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_REGISTERED_CONTROLLER_DATA {
+ pub CNTLID: u16,
+ pub RCSTS: NVME_REGISTERED_CONTROLLER_DATA_0,
+ pub Reserved: [u8; 5],
+ pub HOSTID: [u8; 8],
+ pub RKEY: u64,
+}
+impl ::core::marker::Copy for NVME_REGISTERED_CONTROLLER_DATA {}
+impl ::core::clone::Clone for NVME_REGISTERED_CONTROLLER_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_REGISTERED_CONTROLLER_DATA_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_REGISTERED_CONTROLLER_DATA_0 {}
+impl ::core::clone::Clone for NVME_REGISTERED_CONTROLLER_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_REGISTERED_CONTROLLER_EXTENDED_DATA {
+ pub CNTLID: u16,
+ pub RCSTS: NVME_REGISTERED_CONTROLLER_EXTENDED_DATA_0,
+ pub Reserved: [u8; 5],
+ pub RKEY: u64,
+ pub HOSTID: [u8; 16],
+ pub Reserved1: [u8; 32],
+}
+impl ::core::marker::Copy for NVME_REGISTERED_CONTROLLER_EXTENDED_DATA {}
+impl ::core::clone::Clone for NVME_REGISTERED_CONTROLLER_EXTENDED_DATA {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_REGISTERED_CONTROLLER_EXTENDED_DATA_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_REGISTERED_CONTROLLER_EXTENDED_DATA_0 {}
+impl ::core::clone::Clone for NVME_REGISTERED_CONTROLLER_EXTENDED_DATA_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_REPORT_ZONE_INFO {
+ pub ZoneCount: u64,
+ pub Reserved: [u64; 7],
+ pub ZoneDescriptor: [NVME_ZONE_DESCRIPTOR; 1],
+}
+impl ::core::marker::Copy for NVME_REPORT_ZONE_INFO {}
+impl ::core::clone::Clone for NVME_REPORT_ZONE_INFO {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_ACQUIRE_DATA_STRUCTURE {
+ pub CRKEY: u64,
+ pub PRKEY: u64,
+}
+impl ::core::marker::Copy for NVME_RESERVATION_ACQUIRE_DATA_STRUCTURE {}
+impl ::core::clone::Clone for NVME_RESERVATION_ACQUIRE_DATA_STRUCTURE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_NOTIFICATION_LOG {
+ pub LogPageCount: u64,
+ pub LogPageType: u8,
+ pub AvailableLogPageCount: u8,
+ pub Reserved0: [u8; 2],
+ pub NameSpaceId: u32,
+ pub Reserved1: [u8; 48],
+}
+impl ::core::marker::Copy for NVME_RESERVATION_NOTIFICATION_LOG {}
+impl ::core::clone::Clone for NVME_RESERVATION_NOTIFICATION_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_REGISTER_DATA_STRUCTURE {
+ pub CRKEY: u64,
+ pub NRKEY: u64,
+}
+impl ::core::marker::Copy for NVME_RESERVATION_REGISTER_DATA_STRUCTURE {}
+impl ::core::clone::Clone for NVME_RESERVATION_REGISTER_DATA_STRUCTURE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_RELEASE_DATA_STRUCTURE {
+ pub CRKEY: u64,
+}
+impl ::core::marker::Copy for NVME_RESERVATION_RELEASE_DATA_STRUCTURE {}
+impl ::core::clone::Clone for NVME_RESERVATION_RELEASE_DATA_STRUCTURE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_REPORT_STATUS_DATA_STRUCTURE {
+ pub Header: NVME_RESERVATION_REPORT_STATUS_HEADER,
+ pub RegisteredControllersData: [NVME_REGISTERED_CONTROLLER_DATA; 1],
+}
+impl ::core::marker::Copy for NVME_RESERVATION_REPORT_STATUS_DATA_STRUCTURE {}
+impl ::core::clone::Clone for NVME_RESERVATION_REPORT_STATUS_DATA_STRUCTURE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_RESERVATION_REPORT_STATUS_EXTENDED_DATA_STRUCTURE {
+ pub Header: NVME_RESERVATION_REPORT_STATUS_HEADER,
+ pub Reserved1: [u8; 40],
+ pub RegisteredControllersExtendedData: [NVME_REGISTERED_CONTROLLER_EXTENDED_DATA; 1],
+}
+impl ::core::marker::Copy for NVME_RESERVATION_REPORT_STATUS_EXTENDED_DATA_STRUCTURE {}
+impl ::core::clone::Clone for NVME_RESERVATION_REPORT_STATUS_EXTENDED_DATA_STRUCTURE {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_RESERVATION_REPORT_STATUS_HEADER {
+ pub GEN: u32,
+ pub RTYPE: u8,
+ pub REGCTL: u16,
+ pub Reserved: [u8; 2],
+ pub PTPLS: u8,
+ pub Reserved1: [u8; 14],
+}
+impl ::core::marker::Copy for NVME_RESERVATION_REPORT_STATUS_HEADER {}
+impl ::core::clone::Clone for NVME_RESERVATION_REPORT_STATUS_HEADER {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_SANITIZE_STATUS {
+ pub _bitfield: u16,
+}
+impl ::core::marker::Copy for NVME_SANITIZE_STATUS {}
+impl ::core::clone::Clone for NVME_SANITIZE_STATUS {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_SANITIZE_STATUS_LOG {
+ pub SPROG: u16,
+ pub SSTAT: NVME_SANITIZE_STATUS,
+ pub SCDW10: u32,
+ pub EstimatedTimeForOverwrite: u32,
+ pub EstimatedTimeForBlockErase: u32,
+ pub EstimatedTimeForCryptoErase: u32,
+ pub EstimatedTimeForOverwriteWithNoDeallocateMediaModification: u32,
+ pub EstimatedTimeForBlockEraseWithNoDeallocateMediaModification: u32,
+ pub EstimatedTimeForCryptoEraseWithNoDeallocateMediaModification: u32,
+ pub Reserved: [u8; 480],
+}
+impl ::core::marker::Copy for NVME_SANITIZE_STATUS_LOG {}
+impl ::core::clone::Clone for NVME_SANITIZE_STATUS_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_SCSI_NAME_STRING {
+ pub PCIVendorID: [u8; 4],
+ pub ModelNumber: [u8; 40],
+ pub NamespaceID: [u8; 4],
+ pub SerialNumber: [u8; 20],
+}
+impl ::core::marker::Copy for NVME_SCSI_NAME_STRING {}
+impl ::core::clone::Clone for NVME_SCSI_NAME_STRING {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_SET_ATTRIBUTES_ENTRY {
+ pub Identifier: u16,
+ pub ENDGID: u16,
+ pub Reserved1: u32,
+ pub Random4KBReadTypical: u32,
+ pub OptimalWriteSize: u32,
+ pub TotalCapacity: [u8; 16],
+ pub UnallocatedCapacity: [u8; 16],
+ pub Reserved2: [u8; 80],
+}
+impl ::core::marker::Copy for NVME_SET_ATTRIBUTES_ENTRY {}
+impl ::core::clone::Clone for NVME_SET_ATTRIBUTES_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_SUBMISSION_QUEUE_TAIL_DOORBELL {
+ pub Anonymous: NVME_SUBMISSION_QUEUE_TAIL_DOORBELL_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_SUBMISSION_QUEUE_TAIL_DOORBELL {}
+impl ::core::clone::Clone for NVME_SUBMISSION_QUEUE_TAIL_DOORBELL {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_SUBMISSION_QUEUE_TAIL_DOORBELL_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_SUBMISSION_QUEUE_TAIL_DOORBELL_0 {}
+impl ::core::clone::Clone for NVME_SUBMISSION_QUEUE_TAIL_DOORBELL_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_TELEMETRY_CONTROLLER_INITIATED_LOG {
+ pub LogIdentifier: u8,
+ pub Reserved0: [u8; 4],
+ pub OrganizationID: [u8; 3],
+ pub Area1LastBlock: u16,
+ pub Area2LastBlock: u16,
+ pub Area3LastBlock: u16,
+ pub Reserved1: [u8; 2],
+ pub Area4LastBlock: u32,
+ pub Reserved2: [u8; 362],
+ pub ControllerInitiatedDataAvailable: u8,
+ pub ControllerInitiatedDataGenerationNumber: u8,
+ pub ReasonIdentifier: [u8; 128],
+}
+impl ::core::marker::Copy for NVME_TELEMETRY_CONTROLLER_INITIATED_LOG {}
+impl ::core::clone::Clone for NVME_TELEMETRY_CONTROLLER_INITIATED_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_TELEMETRY_HOST_INITIATED_LOG {
+ pub LogIdentifier: u8,
+ pub Reserved0: [u8; 4],
+ pub OrganizationID: [u8; 3],
+ pub Area1LastBlock: u16,
+ pub Area2LastBlock: u16,
+ pub Area3LastBlock: u16,
+ pub Reserved1: [u8; 2],
+ pub Area4LastBlock: u32,
+ pub Reserved2: [u8; 361],
+ pub HostInitiatedDataGenerationNumber: u8,
+ pub ControllerInitiatedDataAvailable: u8,
+ pub ControllerInitiatedDataGenerationNumber: u8,
+ pub ReasonIdentifier: [u8; 128],
+}
+impl ::core::marker::Copy for NVME_TELEMETRY_HOST_INITIATED_LOG {}
+impl ::core::clone::Clone for NVME_TELEMETRY_HOST_INITIATED_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_VERSION {
+ pub Anonymous: NVME_VERSION_0,
+ pub AsUlong: u32,
+}
+impl ::core::marker::Copy for NVME_VERSION {}
+impl ::core::clone::Clone for NVME_VERSION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_VERSION_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_VERSION_0 {}
+impl ::core::clone::Clone for NVME_VERSION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_CAPABILITIES {
+ pub Anonymous: NVME_WCS_DEVICE_CAPABILITIES_0,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_CAPABILITIES {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_CAPABILITIES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_WCS_DEVICE_CAPABILITIES_0 {
+ pub Anonymous: NVME_WCS_DEVICE_CAPABILITIES_0_0,
+ pub AsULONG: u32,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_CAPABILITIES_0 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_CAPABILITIES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_CAPABILITIES_0_0 {
+ pub _bitfield: u32,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_CAPABILITIES_0_0 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_CAPABILITIES_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_WCS_DEVICE_ERROR_RECOVERY_LOG {
+ pub PanicResetWaitTime: u16,
+ pub PanicResetAction: NVME_WCS_DEVICE_RESET_ACTION,
+ pub DriveRecoveryAction: u8,
+ pub PanicId: u64,
+ pub DeviceCapabilitiesA: NVME_WCS_DEVICE_CAPABILITIES,
+ pub VendorSpecificRecoveryCode: u8,
+ pub Reserved0: [u8; 3],
+ pub VendorSpecificCommandCDW12: u32,
+ pub VendorSpecificCommandCDW13: u32,
+ pub Reserved1: [u8; 466],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_ERROR_RECOVERY_LOG {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_ERROR_RECOVERY_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_RESET_ACTION {
+ pub Anonymous: NVME_WCS_DEVICE_RESET_ACTION_0,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_RESET_ACTION {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_RESET_ACTION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVME_WCS_DEVICE_RESET_ACTION_0 {
+ pub Anonymous: NVME_WCS_DEVICE_RESET_ACTION_0_0,
+ pub AsUCHAR: u8,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_RESET_ACTION_0 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_RESET_ACTION_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_RESET_ACTION_0_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_RESET_ACTION_0_0 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_RESET_ACTION_0_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG {
+ pub VersionSpecificData: [u8; 494],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2 {
+ pub MediaUnitsWritten: [u8; 16],
+ pub MediaUnitsRead: [u8; 16],
+ pub BadUserNANDBlockCount: NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_1,
+ pub BadSystemNANDBlockCount: NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_0,
+ pub XORRecoveryCount: u64,
+ pub UnrecoverableReadErrorCount: u64,
+ pub SoftECCErrorCount: u64,
+ pub EndToEndCorrectionCounts: NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_2,
+ pub PercentageSystemDataUsed: u8,
+ pub RefreshCount: [u8; 7],
+ pub UserDataEraseCounts: NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_4,
+ pub ThermalThrottling: NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_3,
+ pub Reserved0: [u8; 6],
+ pub PCIeCorrectableErrorCount: u64,
+ pub IncompleteShutdownCount: u32,
+ pub Reserved1: u32,
+ pub PercentageFreeBlocks: u8,
+ pub Reserved2: [u8; 7],
+ pub CapacitorHealth: u16,
+ pub Reserved3: [u8; 6],
+ pub UnalignedIOCount: u64,
+ pub SecurityVersionNumber: u64,
+ pub NUSE: u64,
+ pub PLPStartCount: [u8; 16],
+ pub EnduranceEstimate: [u8; 16],
+ pub Reserved4: [u8; 302],
+ pub LogPageVersionNumber: u16,
+ pub LogPageGUID: ::windows_sys::core::GUID,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_0 {
+ pub RawCount: [u8; 6],
+ pub Normalized: [u8; 2],
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_0 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_1 {
+ pub RawCount: [u8; 6],
+ pub Normalized: [u8; 2],
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_1 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_2 {
+ pub DetectedCounts: u32,
+ pub CorrectedCounts: u32,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_2 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_3 {
+ pub EventCount: u8,
+ pub Status: u8,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_3 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_3 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_4 {
+ pub MaximumCount: u32,
+ pub MinimumCount: u32,
+}
+impl ::core::marker::Copy for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_4 {}
+impl ::core::clone::Clone for NVME_WCS_DEVICE_SMART_ATTRIBUTES_LOG_V2_4 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_DESCRIPTOR {
+ pub Anonymous1: NVME_ZONE_DESCRIPTOR_0,
+ pub Anonymous2: NVME_ZONE_DESCRIPTOR_1,
+ pub ZA: NVME_ZONE_DESCRIPTOR_2,
+ pub Reserved3: [u8; 5],
+ pub ZCAP: u64,
+ pub ZSLBA: u64,
+ pub WritePointer: u64,
+ pub Reserved4: [u8; 32],
+}
+impl ::core::marker::Copy for NVME_ZONE_DESCRIPTOR {}
+impl ::core::clone::Clone for NVME_ZONE_DESCRIPTOR {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_DESCRIPTOR_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_ZONE_DESCRIPTOR_0 {}
+impl ::core::clone::Clone for NVME_ZONE_DESCRIPTOR_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_DESCRIPTOR_1 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_ZONE_DESCRIPTOR_1 {}
+impl ::core::clone::Clone for NVME_ZONE_DESCRIPTOR_1 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_DESCRIPTOR_2 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVME_ZONE_DESCRIPTOR_2 {}
+impl ::core::clone::Clone for NVME_ZONE_DESCRIPTOR_2 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_DESCRIPTOR_EXTENSION {
+ pub ZoneDescriptorExtensionInfo: [u8; 64],
+}
+impl ::core::marker::Copy for NVME_ZONE_DESCRIPTOR_EXTENSION {}
+impl ::core::clone::Clone for NVME_ZONE_DESCRIPTOR_EXTENSION {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVME_ZONE_EXTENDED_REPORT_ZONE_DESC {
+ pub ZoneDescriptor: NVME_ZONE_DESCRIPTOR,
+ pub ZoneDescriptorExtension: [NVME_ZONE_DESCRIPTOR_EXTENSION; 1],
+}
+impl ::core::marker::Copy for NVME_ZONE_EXTENDED_REPORT_ZONE_DESC {}
+impl ::core::clone::Clone for NVME_ZONE_EXTENDED_REPORT_ZONE_DESC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub union NVM_RESERVATION_CAPABILITIES {
+ pub Anonymous: NVM_RESERVATION_CAPABILITIES_0,
+ pub AsUchar: u8,
+}
+impl ::core::marker::Copy for NVM_RESERVATION_CAPABILITIES {}
+impl ::core::clone::Clone for NVM_RESERVATION_CAPABILITIES {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVM_RESERVATION_CAPABILITIES_0 {
+ pub _bitfield: u8,
+}
+impl ::core::marker::Copy for NVM_RESERVATION_CAPABILITIES_0 {}
+impl ::core::clone::Clone for NVM_RESERVATION_CAPABILITIES_0 {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct NVM_SET_LIST {
+ pub IdentifierCount: u8,
+ pub Reserved: [u8; 127],
+ pub Entry: [NVME_SET_ATTRIBUTES_ENTRY; 1],
+}
+impl ::core::marker::Copy for NVM_SET_LIST {}
+impl ::core::clone::Clone for NVM_SET_LIST {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct TCG_ACTIVATE_METHOD_SPECIFIC {
+ pub RangeStartLengthPolicy: u8,
+}
+impl ::core::marker::Copy for TCG_ACTIVATE_METHOD_SPECIFIC {}
+impl ::core::clone::Clone for TCG_ACTIVATE_METHOD_SPECIFIC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct TCG_ASSIGN_METHOD_SPECIFIC {
+ pub NamespaceId: u32,
+}
+impl ::core::marker::Copy for TCG_ASSIGN_METHOD_SPECIFIC {}
+impl ::core::clone::Clone for TCG_ASSIGN_METHOD_SPECIFIC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct TCG_AUTH_METHOD_SPECIFIC {
+ pub AuthorityId: u64,
+ pub TriesCount: u8,
+}
+impl ::core::marker::Copy for TCG_AUTH_METHOD_SPECIFIC {}
+impl ::core::clone::Clone for TCG_AUTH_METHOD_SPECIFIC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct TCG_BLOCKSID_METHOD_SPECIFIC {
+ pub ClearEvents: u8,
+}
+impl ::core::marker::Copy for TCG_BLOCKSID_METHOD_SPECIFIC {}
+impl ::core::clone::Clone for TCG_BLOCKSID_METHOD_SPECIFIC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C, packed(1))]
+pub struct TCG_HISTORY_ENTRY {
+ pub VersionNumber: u8,
+ pub EntryLength: u8,
+ pub PowerCycleCount: u16,
+ pub TcgCommandCount: u32,
+ pub TcgCommandCompletionTS: u64,
+ pub InvokingId: u64,
+ pub MethodId: u64,
+ pub ComId: u16,
+ pub ProtocolId: u8,
+ pub TcgStatus: u8,
+ pub ProcessTime: u16,
+ pub CommandSpecific: [u8; 10],
+}
+impl ::core::marker::Copy for TCG_HISTORY_ENTRY {}
+impl ::core::clone::Clone for TCG_HISTORY_ENTRY {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct TCG_REACTIVATE_METHOD_SPECIFIC {
+ pub RangeStartLengthPolicy: u8,
+}
+impl ::core::marker::Copy for TCG_REACTIVATE_METHOD_SPECIFIC {}
+impl ::core::clone::Clone for TCG_REACTIVATE_METHOD_SPECIFIC {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+#[repr(C)]
+pub struct UNSUPPORTED_REQUIREMENT {
+ pub ReqId: [u8; 16],
+}
+impl ::core::marker::Copy for UNSUPPORTED_REQUIREMENT {}
+impl ::core::clone::Clone for UNSUPPORTED_REQUIREMENT {
+ fn clone(&self) -> Self {
+ *self
+ }
+}