NVME_MI_ADMIN_IDENTIFY_PARTIAL(2)

πŸ’– nvme_mi_admin_identify_partial β€” libnvme API manual πŸ’–

okay bestie, welcome to the libnvme API manual, page nvme_mi_admin_identify_partial(2). grab a snack, this one's about grabbing part of an identify response and honestly? it's giving slice-and-dice energy πŸ“


✨ NAME ✨

nvme_mi_admin_identify_partial β€” Perform an Admin identify command, and retrieve partial response data.

like. literally what it says. you do the identify, you get some of it back. not all of it. the part you asked for. periodt πŸ’…


🌸 SYNOPSIS 🌸

int nvme_mi_admin_identify_partial (nvme_mi_ctrl_t ctrl , struct
       nvme_identify_args *args , off_t offset , size_t size );

she takes four things and hands you back an int. no cap.


πŸŽ€ ARGUMENTS πŸŽ€

  • ctrl β€” Controller to process identify command. this is the controller you're being nosy about, bestie πŸ‘€
  • args β€” Identify command arguments. all the actual identify deets live in here.
  • offset β€” offset of identify data to retrieve from response. where in the response you wanna start reading from, fr fr.
  • size β€” size of identify data to return. how much of it you want back. the portion size. the lil scoop 🍨

πŸ¦‹ DESCRIPTION πŸ¦‹

So what she does is: Perform an Identify command, using the Identify command parameters in args. 🫢

The offset and size arguments allow the caller to retrieve part of the identify response β€” like, you don't have to take the whole thing, you can get just your lil bite. See NVMe-MI section 6.2 for the semantics (and some handy diagrams) of the offset & size parameters. yes, actual diagrams. iconic of them honestly.

⚠️ Heads up: Will return an error if the length of the response data (from the controller) did not match size. so if the controller hands back a different amount than you asked for, she's not just gonna shrug β€” she errors out. know that. πŸ’€

Unless you're performing a vendor-unique identify command, You'll probably want to use one of the identify helpers instead of this:

  • nvme_mi_admin_identify
  • nvme_mi_admin_identify_cns_nsid
  • nvme_mi_admin_identify_<type>

like bestie, if one of the helpers fits, use the helper, that's the whole vibe check. BUT β€” If the type of your identify command is standardized but not yet supported by libnvme-mi, please contact the maintainers. they wanna know! they'll add it! 🌈

See: struct nvme_identify_args


πŸ‘‘ RETURN πŸ‘‘

The nvme command status if a response was received (see enum nvme_status_field) or -1 with errno set otherwise.

so either you get a real status back, or you get -1 and errno is out here telling you what went wrong. main character errno energy, honestly. 😭


and that's the page, bestie!! go slice up some identify data responsibly πŸ’œ

this has been the libnvme API manual, July 2026 edition β€” source/version vibes: libnvme API manual, July 2026. slay, bye!! βœ¨πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from