libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” API Manual

okay bestie, buckle up β€” this is a page straight out of the libnvme API manual, and it's all about one very specific little enum. yes it's niche. yes it's iconic. let's go 🫢


✨ NAME ✨

enum nvme_lm_migration_recv_fields β€” the field layout for the Migration Receive command, served fresh with all the shift amounts and masks you could ever want πŸŽ€


🌸 SYNOPSIS 🌸

enum nvme_lm_migration_recv_fields {
    NVME_LM_MIGRATION_RECV_MOS_SHIFT ,
    NVME_LM_MIGRATION_RECV_MOS_MASK ,
    NVME_LM_MIGRATION_RECV_SEL_SHIFT ,
    NVME_LM_MIGRATION_RECV_SEL_MASK ,
    NVME_LM_SEL_GET_CONTROLLER_STATE ,
    NVME_LM_MIGRATION_RECV_UIDX_SHIFT ,
    NVME_LM_MIGRATION_RECV_UIDX_MASK ,
    NVME_LM_GET_CONTROLLER_STATE_CSVI_SHIFT ,
    NVME_LM_GET_CONTROLLER_STATE_CSVI_MASK ,
    NVME_LM_GET_CONTROLLER_STATE_CSUIDXP_SHIFT ,
    NVME_LM_GET_CONTROLLER_STATE_CSUIDXP_MASK ,
    NVME_LM_GET_CONTROLLER_STATE_CSUUIDI_SHIFT ,
    NVME_LM_GET_CONTROLLER_STATE_CSUUIDI_MASK ,
    NVME_LM_GET_CONTROLLER_STATE_CNTLID_SHIFT ,
    NVME_LM_GET_CONTROLLER_STATE_CNTLID_MASK ,
    NVME_LM_GET_CONTROLLER_STATE_CSUP

};

like, that's the whole squad πŸ’œ (yes there's a blank line before the closing brace in the original and we are respecting it, no cap)


πŸ‘‘ Constants πŸ‘‘

okay so each of these is a constant in the enum, and here's the lowdown on every single one β€” no skipping, we don't do that here πŸ’…

  • NVME_LM_MIGRATION_RECV_MOS_SHIFT β€” the shift amount you use to set the Management Specific Operation (MOS) field ✨
  • NVME_LM_MIGRATION_RECV_MOS_MASK β€” the mask for setting the MOS field 🎯
  • NVME_LM_MIGRATION_RECV_SEL_SHIFT β€” the shift amount you use to set the Select (SEL) field 🌟
  • NVME_LM_MIGRATION_RECV_SEL_MASK β€” the mask for setting the SEL field 🩷
  • NVME_LM_SEL_GET_CONTROLLER_STATE β€” the Get Controller State select option, literally the main character of this enum πŸ‘‘
  • NVME_LM_MIGRATION_RECV_UIDX_SHIFT β€” the shift you use to set the UUID Index (UIDX) πŸ¦‹
  • NVME_LM_MIGRATION_RECV_UIDX_MASK β€” the mask for setting UIDX 🌈
  • NVME_LM_GET_CONTROLLER_STATE_CSVI_SHIFT β€” the shift amount for setting the Controller State Version Index (CSVI), measured relative to MOS ⭐
  • NVME_LM_GET_CONTROLLER_STATE_CSVI_MASK β€” the mask for setting CSVI relative to MOS πŸ”₯
  • NVME_LM_GET_CONTROLLER_STATE_CSUIDXP_SHIFT β€” the shift amount for setting the Controller State UUID Index Parameter (CSUIDXP) 🧚
  • NVME_LM_GET_CONTROLLER_STATE_CSUIDXP_MASK β€” the mask for setting CSUIDXP πŸ’–
  • NVME_LM_GET_CONTROLLER_STATE_CSUUIDI_SHIFT β€” the shift amount for setting the Controller State UUID Index (CSUUIDI) πŸ“
  • NVME_LM_GET_CONTROLLER_STATE_CSUUIDI_MASK β€” the mask for setting CSUUIDI 🌸
  • NVME_LM_GET_CONTROLLER_STATE_CNTLID_SHIFT β€” the shift amount for setting the Controller ID (CNTLID) πŸ’«
  • NVME_LM_GET_CONTROLLER_STATE_CNTLID_MASK β€” the mask for setting CNTLID πŸ™ˆ
  • NVME_LM_GET_CONTROLLER_STATE_CSUP β€” Controller Suspended, short and sweet, we stan 😭
ngl bestie, these acronyms are a lot β€” MOS, SEL, UIDX, CSVI, CSUIDXP, CSUUIDI, CNTLID, CSUP β€” but you got this, fr fr πŸ’€πŸ’ͺ

and that's the whole page, you ate that 🫢 this little gem came from the libnvme API manual, dated October 2026, and it's filed under libnvme(9) β€” the enum nvme_lm_migration_recv_fields says bye and ily πŸ’œβœ¨

πŸ“¦ where this page comes from