libnvme(9)
π struct nvme_directive_send_args β bestie edition
okay so. we're deep in libnvme(9) territory, aka the API Manual, and today's main character is a struct. yes a whole struct. and honestly? she's serving.
struct nvme_directive_send_args is literally the argument bundle for the NVMe Directive Send command. think of her as the little folder you hand over so the kernel knows what you're sending, where it's going, and how long you're willing to wait for it. no cap.
β¨ SYNOPSIS β¨
here's the whole glow-up, exactly as she is:
struct nvme_directive_send_args {
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_directive_send_doper doper;
enum nvme_directive_dtype dtype;
__u32 cdw12;
__u32 data_len;
__u16 dspec;
};
not a single field out of place. iconic behavior fr fr. π
πΈ Members πΈ
meet the girlies. each one matters, no skipping:
resultβ if everything goes well, this is where the CQE dword0 value lands. she's the receipt. π§Ύdataβ the data payload that's gonna get sent. the actual cargo. π¦args_sizeβ the size ofstruct nvme_directive_send_args. yes she contains her own measurements, it's giving self-aware. πfdβ file descriptor of the nvme device. this is your ticket in. ποΈtimeoutβ timeout in ms. how long you're willing to stand there waiting before you're like "okay bestie i'm leaving". β³nsidβ Namespace ID, if applicable. the "if applicable" is doing a lot of heavy lifting ngl. π¦doperβ Directive send operation, seeenum nvme_directive_send_doper. the what are we even doing field. β¨dtypeβ Directive type, seeenum nvme_directive_dtype. the flavor field. πcdw12β Directive specific command dword12. say it with me: dword twelve. πdata_lenβ Length of data payload in bytes. so she knows exactly how muchdatashe's hauling. πdspecβ Directive specific field. the mysterious one. the enigma. we love her. π
heads up bestie: this page is API reference, so every field above is literally part of the struct contract. if you change one, the whole vibe check fails. π
okay that's the whole page!! every single field accounted for, nothing dropped, periodt. this was libnvme(9) from the API Manual, dated August 2026 β mwah, go forth and send some directives responsibly π«Άπβ¨
π¦ 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