libnvme(9)
π libnvme(9) β API Manual π
okay bestie, welcome to the libnvme zone, where we talk about the C API like it's the group chat and every struct is a little main character. this one? it's about struct nvme_zns_mgmt_send_args, aka the argument bundle for the NVMe ZNS Management Send command. no cap, it's giving "one struct to hold all your send-command vibes." β¨
πΈ NAME πΈ
struct nvme_zns_mgmt_send_args β the arguments for the NVMe ZNS Management Send command π¦
β¨ SYNOPSIS β¨
here's the whole glow-up, verbatim, don't touch a single semicolon bestie:
struct nvme_zns_mgmt_send_args {
__u64 slba;
__u32 *result;
void *data;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_zns_send_action zsa;
__u32 data_len;
bool select_all;
__u8 zsaso;
};
π«Ά Members π«Ά
okay so let's go field by field, like we're doing a little tour of the struct. every single one, no skipping, periodt. π
slbaβ starting logical block address. this is where the party begins πresultβ the command completion result, straight from CQE dword0 πdataβ the userspace address of the data. that's your buffer's home address fr fr πargs_sizeβ the size ofstruct nvme_zns_mgmt_send_args. yes she knows her own size, iconic πfdβ file descriptor of the nvme device πtimeoutβ timeout in ms β³nsidβ namespace ID π·οΈzsaβ zone send action πΈdata_lenβ length of the data πselect_allβ the select all flag β¨zsasoβ Zone Send Action Specific Option π
lowkey reminder bestie: these fields get copied and referenced exactly as written. don't be out here renaming things or "fixing" types, that's not the vibe. π
and that's the whole page, my love π this was the libnvme API Manual, and this particular entry is struct nvme_zns_mgmt_send_args, dated August 2026, page libnvme(9). slay, you read the whole thing, I'm so proud of you π₯Ήπ go send some zones, bestie. π¦β
π¦ 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