Revision control

Copy as Markdown

Other Tools

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