libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” the libnvme API manual, bestie edition πŸ¦‹

Okay so this page is literally all about one little struct from the libnvme API manual, and we're gonna stan it properly. Let's go ✨


🌸 NAME 🌸

struct nvme_mi_control_req β€” the Control Primitive request, no cap πŸŽ€

Like, that's its whole thing. That's the job. It's the request side of a Control Primitive, and it's giving main character energy in struct form πŸ‘‘


⭐ SYNOPSIS ⭐

Here's the shape of it, exactly as it lives in the header β€” copy it faithful, don't touch a single character 🫢

struct nvme_mi_control_req {
    struct nvme_mi_msg_hdr hdr;
    __u8 opcode;
    __u8 tag;
    __le16 cpsp;
 };

That's the whole vibe. Four little members, one big mood. 🧚


πŸ’– Members πŸ’–

πŸ“ hdr

Generic MI message header β€” that's it, that's the note. It's the generic header for the MI message, the boring-but-essential scaffolding holding everything up. Lowkey the backbone of the operation πŸ’€

πŸ¦‹ opcode

Control Primitive Opcodes β€” and it's using enum nvme_mi_control_opcode, iykyk. So this field is where the actual opcode goes, picked from that enum. Not me being obsessed with a __u8 but here we are 😭

🌈 tag

A flag β€” an opaque value that gets passed from the request to the response. Opaque means you don't peek inside it, you just carry it along like a lil emotional support value πŸŽ€ The request hands it over, the response receives it. Periodt.

✨ cpsp

Control Primitive Specific Parameter. Yes, that's really the name, and yes, it's a __le16, and yes, it's specific to whatever Control Primitive you're doing. It's giving "details inside" energy πŸ’…


Fr fr reminder bestie: cpsp is little-endian (__le16) and tag is opaque β€” don't go reading meaning into it, just pass it through πŸ™ˆ

πŸ‘‘ cute sign-off πŸ‘‘

This lil page is struct nvme_mi_control_req from libnvme(9), dated October 2026 β€” so like, future girl summer 🌸 Go forth and slay your Control Primitive requests, bestie. Mwah πŸ’œπŸ”₯

πŸ“¦ where this page comes from