nvme_mi_adm...primary_ctrl(2)
β¨ NAME β¨
nvme_mi_admin_identify_primary_ctrl β bestie, this one does an Admin identify to pull the primary controller capabilities data structure. it's giving "tell me everything about this controller" energy π
πΈ SYNOPSIS πΈ
int nvme_mi_admin_identify_primary_ctrl (nvme_mi_ctrl_t ctrl , __u16 cntid , struct nvme_primary_ctrl_cap *cap );
π ARGUMENTS π
ctrlβ the Controller you're sending this identify command off to πcntidβ the Controller ID you wanna specify, like "hey, this one" π«΅capβ the Primary Controller Capabilities data structure that's gonna get populated. it starts empty and leaves full, glow-up arc fr fr β¨
π DESCRIPTION π
okay so basically you run an Identify command and it hands you back the Primary Controller Capabilities data for whichever controller cntid points at. no cap, that's literally the whole vibe π
but here's the tea β β if the response data coming back from the controller is not a full NVME_IDENTIFY_DATA_SIZE, this thing throws an error at you. so on success you can trust that cap is fully populated, like every single field, no half-eaten data structure left behind π
lowkey important: partial data = error, not a silent partial fill. so if you get a0back,capis complete and you can go off π―
See: struct nvme_primary_ctrl_cap π
π₯ RETURN π₯
0on success π₯³- non-zero on failure π
and that's the whole page, bestie β signed off fresh from the libnvme API manual, dated July 2026. periodt. π«Άπ
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· 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