nvme.h header

This header is used by Data Access and Storage. For more information, see:

nvme.h contains the following programming interfaces:

Structures

 
NVM_SET_LIST

Contains an array of entries for the NVME Set Attributes command.
NVME_ADMIN_COMPLETION_QUEUE_BASE_ADDRESS

Contains the base memory address of the Admin Completion Queue.
NVME_ADMIN_QUEUE_ATTRIBUTES

Contains the Admin Queue Attributes (AQA) for the Admin Submission Queue and Admin Completion Queue.
NVME_ADMIN_SUBMISSION_QUEUE_BASE_ADDRESS

Contains the base memory address of the Admin Submission Queue.
NVME_AUTO_POWER_STATE_TRANSITION_ENTRY

Contains a 64 bit entry specifying information about idle time and power state transition for each of the allowable 32 power states.
NVME_CDW10_ABORT

Contains parameters for the Abort command that is used to abort a specific command previously submitted to the Admin Submission Queue or an I/O Submission Queue.
NVME_CDW10_CREATE_IO_QUEUE

Contains parameters that are used in the Create I/O Completion Queue and Create IO Submission Queue commands.
NVME_CDW10_DATASET_MANAGEMENT

The NVME_CDW10_DATASET_MANAGEMENT structure contains parameters for the Dataset Management command that indicates attributes for ranges of logical blocks.
NVME_CDW10_DIRECTIVE_RECEIVE

Contains parameters for the Directive Receive command.
NVME_CDW10_DIRECTIVE_SEND

Contains parameters for the Directive Send command.
NVME_CDW10_FIRMWARE_ACTIVATE

Contains parameters used in the Firmware Commit command.
NVME_CDW10_FIRMWARE_DOWNLOAD

The NVME_CDW10_FIRMWARE_DOWNLOAD structure contains parameters for the Firmware Image Download command that copies a new firmware image to the controller.
NVME_CDW10_FORMAT_NVM

Contains parameters for the Format NVM command that is used to low level format the NVM media.
NVME_CDW10_GET_FEATURES

Contains parameters for the Get Features command that retrieves the attributes of the specified feature.
NVME_CDW10_GET_LOG_PAGE

The NVME_CDW10_GET_LOG_PAGE structure contains parameters for the Get Log Page command that returns a data buffer containing the requested log page.
NVME_CDW10_GET_LOG_PAGE_V13

The NVME_CDW10_GET_LOG_PAGE_V13 structure contains parameters for the Get Log Page command that returns a data buffer containing the requested log page.
NVME_CDW10_IDENTIFY

Contains parameters for the Identify command that returns a data buffer that describes information about the NVM subsystem, the controller or the namespace(s).
NVME_CDW10_SECURITY_SEND_RECEIVE

Contains parameters that are used in the Admin commands Security Send and Security Receive.
NVME_CDW10_SET_FEATURES

The NVME_CDW10_SET_FEATURES structure contains parameters for the Set Features command that sets the attributes of the specified feature.
NVME_CDW11_CREATE_IO_CQ

Contains parameters for the Create I/O Completion Queue command, that is used to create all I/O Completion Queues with the exception of the Admin Completion Queue.
NVME_CDW11_CREATE_IO_SQ

Contains parameters for the Create IO Submission Queue command, that is used to create IO Submission Queues.
NVME_CDW11_DATASET_MANAGEMENT

The NVME_CDW11_DATASET_MANAGEMENT structure contains parameters for the Dataset Management command that indicates attributes for ranges of logical blocks.
NVME_CDW11_DIRECTIVE_RECEIVE

Contains parameters for the Directive Receive command.
NVME_CDW11_DIRECTIVE_SEND

Contains parameters for the Directive Send command.
NVME_CDW11_FEATURE_ARBITRATION

Contains values for the Arbitration Feature that controls command arbitration.
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG

Contains parameters for the Asynchronous Event Configuration Feature that controls the events that trigger an asynchronous event notification to the host.
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION

Contains parameters for the Autonomous Power State Transition Feature that configures the settings for autonomous power state transitions.
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER

Contains parameters for the Host Memory Buffer Feature that provides a mechanism for the host to allocate a portion of host memory for the controller to use exclusively.
NVME_CDW11_FEATURE_INTERRUPT_COALESCING

Contains parameters for the Interrupt Coalescing Feature that configures the interrupt coalescing settings.
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG

Contains parameters for the Interrupt Vector Configuration Feature that configures settings specific to a particular interrupt vector.
NVME_CDW11_FEATURE_LBA_RANGE_TYPE

Contains a parameter that specifies the number of LBA ranges for the LBA Range Type Feature in the Set Features command.
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE

Contains parameters for the Non-Operational Power State Feature that indicates whether permissive mode is enabled for a non-operational power state.
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES

Contains parameters for the Number of Queues Feature that indicate the number of I/O Completion Queues and I/O Submission Queues that the host requests for this controller.
NVME_CDW11_FEATURE_POWER_MANAGEMENT

Contains values for the Power Management Feature that allows the host to configure the power state.
NVME_CDW11_FEATURE_SUPPORTED_CAPABILITY

Contains values that are returned by the Get Features command, which describe the supported capabilities of the specified feature.
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD

Contains parameters for the Temperature Threshold feature that is used to set an over temperature threshold and an under temperature threshold for up to nine temperature values.
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE

Contains parameters for the Volatile Write Cache Feature that controls the volatile write cache, if it is supported and present, on the controller.
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL

Contains parameters for the Write Atomicity Normal Feature that controls the operation of the Atomic Write Unit Normal (AWUN) and Namespace Atomic Write Unit Normal (NAWUN) parameters that define the controller’s support for atomic operations.
NVME_CDW11_FEATURES

Contains parameters for the Get Features and Set Features commands that retrieve or set the attributes of the specified feature.
NVME_CDW11_FIRMWARE_DOWNLOAD

Contains parameters for the Firmware Image Download command that is used to copy a new firmware image (in whole or in part) to the controller.
NVME_CDW11_GET_LOG_PAGE

The NVME_CDW11_GET_LOG_PAGE structure contains parameters for the Get Log Page command that returns a data buffer containing the requested log page.
NVME_CDW11_IDENTIFY

Contains a parameter for the Identify command.
NVME_CDW11_SECURITY_RECEIVE

Contains parameters that are used in the Security Receive command.
NVME_CDW11_SECURITY_SEND

Contains parameters that are used in the Security Send command.
NVME_CDW12_DIRECTIVE_RECEIVE

Contains a parameter for allocating stream resources for the Directive Receive command.
NVME_CDW12_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES

Contains a parameter for requesting namespace streams that is used for allocating stream resources in the Directive Receive command.
NVME_CDW12_DIRECTIVE_SEND

Contains a parameter for enabling a directive for the Directive Send command.
NVME_CDW12_DIRECTIVE_SEND_IDENTIFY_ENABLE_DIRECTIVE

Contains parameters for specifying and enabling directives in the Directive Send command.
NVME_CDW12_FEATURE_HOST_MEMORY_BUFFER

Contains a parameter for the Host Memory Buffer Feature that specifies the size of the host memory buffer.
NVME_CDW12_FEATURES

Contains parameters for the Set Features command that sets the attributes of the specified feature.
NVME_CDW12_GET_LOG_PAGE

NVME_CDW12_READ_WRITE

Contains parameters for the NVME Read and NVME Write commands that read or write data and metadata, if applicable, to and from the NVM controller for the specified Logical Block Addresses (LBA).
NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER

Contains a parameter for the Host Memory Buffer Feature that specifies the lower 32 bits of the physical location of the Host Memory Descriptor List.
NVME_CDW13_FEATURES

Contains parameters for the Set Features command that sets the attributes of the specified feature.
NVME_CDW13_GET_LOG_PAGE

NVME_CDW13_READ_WRITE

Contains parameters for the NVME Read and NVME Write commands that read or write data and metadata, if applicable, to and from the NVM controller for the specified Logical Block Addresses (LBA).
NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER

Contains a parameter for the Host Memory Buffer Feature that specifies the upper 32 bits of the physical location of the Host Memory Descriptor List.
NVME_CDW14_FEATURES

The NVME_CDW14_FEATURES structure contains parameters for the Set Features command that sets the attributes of the specified feature.
NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER

Contains a parameter for the Host Memory Buffer Feature that specifies the number of entries in the Host Memory Descriptor List.
NVME_CDW15_FEATURES

The NVME_CDW15_FEATURES structure contains parameters for the Set Features command that sets the attributes of the specified feature.
NVME_CDW15_READ_WRITE

Contains parameters for the NVME Read and NVME Write commands that read or write data and metadata, if applicable, to and from the NVM controller for the specified Logical Block Addresses (LBA).
NVME_CHANGED_NAMESPACE_LIST_LOG

Contains data for the Changed Namespace List log page that describes namespaces in the controller that have changed Identify Namespace information since the last time the log page was read.
NVME_COMMAND

Contains the parameters for all commands in the Admin Command and NVM Command sets.
NVME_COMMAND_DWORD0

Contains parameters that are common for all Admin commands and NVM commands.
NVME_COMMAND_EFFECTS_DATA

Contains information that describes the overall possible effect of an Admin or I/O command, including any optional features of the command.
NVME_COMMAND_EFFECTS_LOG

Contains information that describes the commands that the controller supports and the effects of those commands on the state of the NVM subsystem.
NVME_COMMAND_STATUS

Contains information about the status of a command.
NVME_COMPLETION_DW0_ASYNC_EVENT_REQUEST

Contains information about an asynchronous event that is posted to the Admin Completion Queue in DWord 0 of a Completion Queue Entry. Asynchronous events are used to notify the host software of status, error, and health information.
NVME_COMPLETION_DW0_DIRECTIVE_RECEIVE_STREAMS_ALLOCATE_RESOURCES

Contains information about the number of allocated stream resources in a Directive Receive command.
NVME_COMPLETION_ENTRY

Specifies an entry in the Completion Queue that is 16 bytes in size.
NVME_COMPLETION_QUEUE_HEAD_DOORBELL

Defines the doorbell register that updates the Head entry pointer for Completion Queue y.
NVME_CONTEXT_ATTRIBUTES

Specifies optional context attributes for a logical block range (LBA range).
NVME_CONTROLLER_CAPABILITIES

Contains read only values that specify the basic capabilities of the controller to host software.
NVME_CONTROLLER_CONFIGURATION

Contains read/write configuration settings for the controller.
NVME_CONTROLLER_LIST

Contains an ordered list of controller identifiers.
NVME_CONTROLLER_MEMORY_BUFFER_LOCATION

Defines the location of the optional Controller Memory Buffer Location register in the CMBLOC field of the NVME_CONTROLLER_REGISTERS structure.
NVME_CONTROLLER_MEMORY_BUFFER_SIZE

Defines the size of the optional Controller Memory Buffer register, and is used in the CMBSZ field of the NVME_CONTROLLER_REGISTERS structure.
NVME_CONTROLLER_REGISTERS

Specifies the register map for the controller.
NVME_CONTROLLER_STATUS

Contains values that indicate controller status.
NVME_DEVICE_SELF_TEST_LOG

Contains fields that specify the information in a Device Self Test log page that describes the status, completion percentage, and results of a device self-test.
NVME_DEVICE_SELF_TEST_RESULT_DATA

Contains data about the results of a Device Self-Test operation.
NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS

Contains fields that describe return parameters for the Identify Directive.
NVME_DIRECTIVE_IDENTIFY_RETURN_PARAMETERS_DESCRIPTOR

Contains values that describe return parameters for the Identify Directive.
NVME_DIRECTIVE_STREAMS_GET_STATUS_DATA

Contains the identifiers of streams that are currently open.
NVME_DIRECTIVE_STREAMS_RETURN_PARAMETERS

Contains return parameters for the Streams Directive.
NVME_ENDURANCE_GROUP_LOG

Contains fields that specify the information in an Endurance Group Information log page that indicates the amount of data being read from and written to an Endurance Group.
NVME_ERROR_INFO_LOG

Contains fields that specify the information in an Error Information log page.
NVME_FIRMWARE_SLOT_INFO_LOG

Contains fields that specify the information in the Firmware Slot Information log page.
NVME_HEALTH_INFO_LOG

Contains fields that specify the information contained in the SMART / Health Information Log page.
NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY

Defines the parameters of a single entry in the Host Memory Descriptor List.
NVME_IDENTIFY_CONTROLLER_DATA

Contains values that indicate controller capabilities, features, command set attributes, and power state descriptors.
NVME_IDENTIFY_NAMESPACE_DATA

Contains values that indicate capabilities and settings that are specific to a particular namespace.
NVME_LBA_FORMAT

Contains parameters that specify the LBA format to apply to the NVM media as part of the Format NVM command.
NVME_LBA_RANGE

Contains parameters that define a collection of contiguous logical blocks specified by a starting LBA and number of logical blocks.
NVME_LBA_RANGET_TYPE_ENTRY

Contains parameters that specify a single entry in a list of Logical Block Address (LBA) ranges, for the LBA Range Type Feature in the Set Features command.
NVME_NVM_SUBSYSTEM_RESET

Specifies a parameter that provides host software with the capability to initiate an NVM Subsystem Reset.
NVME_POWER_STATE_DESC

Contains fields that describe the attributes of each power state.
NVME_PRP_ENTRY

Contains fields that specify the Page Base Address and Offset (PBAO) of a pointer to a physical memory page.
NVME_RESERVATION_NOTIFICATION_LOG

Contains fields that specify the information in a Reservation Notification Log page.
NVME_SCSI_NAME_STRING

Contains information that is used to construct the SCSI name string identifier.
NVME_SET_ATTRIBUTES_ENTRY

Contains fields that specify information for setting an attribute.
NVME_SUBMISSION_QUEUE_TAIL_DOORBELL

Defines the doorbell register that updates the Tail entry pointer for Submission Queue y.
NVME_TELEMETRY_HOST_INITIATED_LOG

Contains fields that specify the information in a Telemetry Host-Initiated Log page.
NVME_VERSION

Contains fields that specify the version number of the NVM Express specification that the controller implementation supports.

Enumerations

 
NVME_ACCESS_FREQUENCIES

Defines values that indicate the frequency of read and write access to a Logical Block Addressing (LBA) range.
NVME_ACCESS_LATENCIES

Defines values that indicate the latency of a read and write operation.
NVME_ADMIN_COMMANDS

Defines values that specify a command in the Admin command set which. The Admin command set contains commands that may be submitted to the Admin Submission Queue.
NVME_ASYNC_EVENT_ERROR_STATUS_CODES

Contains values that indicate a general error event type.
NVME_ASYNC_EVENT_HEALTH_STATUS_CODES

Contains values that indicate a SMART/Health Status event type.
NVME_ASYNC_EVENT_IO_COMMAND_SET_STATUS_CODES

Contains values that indicate an I/O Command Set event type.
NVME_ASYNC_EVENT_NOTICE_CODES

Contains values that indicate a Notice event type.
NVME_ASYNC_EVENT_TYPES

Contains values that indicate an asynchronous event type.
NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS

Contains values that indicate a Controller Configuration (CC) shutdown notification.
NVME_CMBSZ_SIZE_UNITS

Contains values that specify the size units that indicate the size of the Controller Memory Buffer.
NVME_COMMAND_EFFECT_SBUMISSION_EXECUTION_LIMITS

Contains values that indicate the command submission and execution recommendations for the associated command.
NVME_CSTS_SHST_SHUTDOWN_STATUS

Contains values that indicate the status of shutdown processing that is initiated by the host setting the SHN field in the NVME_CONTROLLER_CONFIGURATION structure.
NVME_DIRECTIVE_RECEIVE_IDENTIFY_OPERATIONS

Contains a value that specifies a directive type for an Identify operation.
NVME_DIRECTIVE_RECEIVE_STREAMS_OPERATIONS

Contains values that indicate a directive type for a Streams operation.
NVME_DIRECTIVE_SEND_IDENTIFY_OPERATIONS

Contains a value that specifies a directive type sent to an Identify operation.
NVME_DIRECTIVE_SEND_STREAMS_OPERATIONS

Contains values that indicate a directive type sent to a Streams operation.
NVME_DIRECTIVE_TYPES

Contains values that indicate a type of directive.
NVME_FEATURE_VALUE_CODES

Contains values that indicate which value of a feature should be retrieved or configured by the NVME_ADMIN_COMMAND_GET_FEATURES and NVME_ADMIN_COMMAND_SET_FEATURES Admin commands.
NVME_FEATURES

Contains values that indicate which feature should be retrieved or configured by the NVME_ADMIN_COMMAND_GET_FEATURES and NVME_ADMIN_COMMAND_SET_FEATURES Admin commands.
NVME_FIRMWARE_ACTIVATE_ACTIONS

Contains values that indicate the action that is taken on the image downloaded by the Firmware Image Download command or on a previously downloaded and placed image.
NVME_FUSED_OPERATION_CODES

Contains values that indicate whether a command is the first or second command in a fused operation.
NVME_IDENTIFY_CNS_CODES

Contains values that indicate the type of controller or namespace information that will be returned in the Controller or Namespace Structure (CNS) member of the NVME_CDW10_IDENTIFY structure.
NVME_LBA_RANGE_TYPES

Contains values that indicate the type of Logical Block Addressing (LBA) range in an NVME_LBA_RANGET_TYPE_ENTRY structure.
NVME_LOG_PAGES

Contains values that indicate the log pages that can be retrieved by the Get Log Page NVME_ADMIN_COMMAND_GET_LOG_PAGE Admin Command.
NVME_NVM_COMMANDS

Contains values that indicate a command in the NVM Command Set.
NVME_NVM_QUEUE_PRIORITIES

Contains values that indicate a priority which can be assigned to an I/O Submission Queue for consideration by an arbitration mechanism if one is supported by the controller.
NVME_PROTECTION_INFORMATION_TYPES

Contains values that indicate whether end-to-end data protection is enabled, and if it is, specifies the type of protection information.
NVME_RESERVATION_NOTIFICATION_TYPES

Contains values that indicate the type of reservation notification in a Reservation Notification log page.
NVME_SECURE_ERASE_SETTINGS

Contains values that specify whether or what type of a secure erase operation should be performed as part of a Format NVM command.
NVME_STATUS_COMMAND_SPECIFIC_CODES

Contains values indicating status that is specific to a particular command.
NVME_STATUS_GENERIC_COMMAND_CODES

Contains values that indicate a status associated with the command that is generic across many different types of commands.
NVME_STATUS_MEDIA_ERROR_CODES

Contains values that indicate an error associated with the NVM media or indicate a data integrity type error.
NVME_STATUS_TYPES

Contains values indicating the type of status code that is posted by the controller in a completion queue entry when a command is completed.
NVME_TEMPERATURE_THRESHOLD_TYPES

Contains values that indicate the type of threshold for the temperature of the overall device (controller and NVM included).