libnvme(9)
๐ libnvme(9) โ API Manual ๐
okay bestie, welcome to the libnvme API manual, section 9, and today's main character is a lil struct that carries all your vibes into the NVMe Identify command. she's not complicated, she's just thorough. let's go ๐ฆ
โจ NAME โจ
struct nvme_identify_args โ the arguments you hand over for the NVMe Identify command. that's it, that's the whole job, and she does it flawlessly ๐
๐ธ SYNOPSIS ๐ธ
struct nvme_identify_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
enum nvme_identify_cns cns;
enum nvme_csi csi;
__u32 nsid;
__u16 cntid;
__u16 cns_specific_id;
__u8 uuidx;
};
look at her. eleven fields. not one of them extra. no cap ๐
๐ Members ๐
okay so each field gets its own moment, because every single one of them matters:
resultโ this is where the command completion result from CQE dword0 lands. your receipts, basically ๐งพdataโ the user space destination address where the data gets transferred to. that's where the good stuff goes ๐args_sizeโ the size ofstruct nvme_identify_args. she knows her own measurements, iconic โญfdโ the file descriptor of the nvme device. your little portal to the hardware ๐timeoutโ timeout in ms (and if you pass0, you get the default timeout โ she'll handle it, don't stress) โฐcnsโ the Controller or Namespace structure. go check outenum nvme_identify_cnsfor the deets ๐csiโ the Command Set Identifier ๐ฏnsidโ the Namespace identifier, if applicable ๐๏ธcntidโ the Controller Identifier, if applicable ๐ฎcns_specific_idโ the identifier that's required for a particularcnsvalue. yes, the name really is that long, she's specific and she owns it ๐uuidxโ the UUID Index, but only if the controller supports this id selection method. conditional queen ๐
ngl, if you're filling this struct in, double-check which fields actually apply to yourcnsvalue before you ship it.nsid,cntidanduuidxare all "if applicable" girlies ๐ซถ
and that's the whole page, bestie โ no notes, she ate ๐ฅ
this was struct nvme_identify_args, from the libnvme(9) API Manual, dated August 2026 โ mwah, go forth and identify some namespaces โจ๐
๐ฆ where this page comes from
- fedora 44: libnvme-doc 1.16.2-1.fc44 ยท LGPL-2.1-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms