libnvme(9)
π 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
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms