C APIΒΆ
A brief overview of the C API provided by xNVMe follows.
xnvme
The xnvme API is the foundational API of xNVMe, providing device enumeration, memory handling, asynchronous primitives and the fundamental command-interface for communicating with devices.
The Header is available for inspection in its raw form.
Block (NVM)
Building on top of the functionality of xnvme then the xnvme_nvm API provides helpers and structures specific to the NVMe command-set provided by NVM/Logical/Conventional Namespaces. That is the usual read/write, and optional commands such as the Simple-Copy-Command (SCC).
The Header is available for inspection in its raw form.
Zoned (ZNS)
Building on top of the functionality of xnvme then the xnvme_znd API provides helpers and structures specific to NVMe command-set provided by Zoned Namespaces.
The Header is available for inspection in its raw form.
xnvmec
The xnvmec API provides functionality to create command-line-interfaces for xNVMe related applications. The xNVMe examples, tools, and tests use the library to provide a coherent command-line interface with bash-completion-scripts and man-pages.
The Header is available for inspection in its raw form.