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 } }