libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_cc - This field indicates the controller configuration

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_cc {  
**NVME\_CC\_EN\_SHIFT** ,  
**NVME\_CC\_CSS\_SHIFT** ,  
**NVME\_CC\_MPS\_SHIFT** ,  
**NVME\_CC\_AMS\_SHIFT** ,  
**NVME\_CC\_SHN\_SHIFT** ,  
**NVME\_CC\_IOSQES\_SHIFT** ,  
**NVME\_CC\_IOCQES\_SHIFT** ,  
**NVME\_CC\_CRIME\_SHIFT** ,  
**NVME\_CC\_EN\_MASK** ,  
**NVME\_CC\_CSS\_MASK** ,  
**NVME\_CC\_MPS\_MASK** ,  
**NVME\_CC\_AMS\_MASK** ,  
**NVME\_CC\_SHN\_MASK** ,  
**NVME\_CC\_CRIME\_MASK** ,  
**NVME\_CC\_IOSQES\_MASK** ,  
**NVME\_CC\_IOCQES\_MASK** ,  
**NVME\_CC\_CSS\_NVM** ,  
**NVME\_CC\_CSS\_CSI** ,  
**NVME\_CC\_CSS\_ADMIN** ,  
**NVME\_CC\_AMS\_RR** ,  
**NVME\_CC\_AMS\_WRRU** ,  
**NVME\_CC\_AMS\_VS** ,  
**NVME\_CC\_SHN\_NONE** ,  
**NVME\_CC\_SHN\_NORMAL** ,  
**NVME\_CC\_SHN\_ABRUPT** ,  
**NVME\_CC\_CRWME** ,  
**NVME\_CC\_CRIME**

};

# [Constants](#Constants)

[NVME\_CC\_EN\_SHIFT](#NVME_CC_EN_SHIFT)

Shift amount to get the enable

[NVME\_CC\_CSS\_SHIFT](#NVME_CC_CSS_SHIFT)

Shift amount to get the I/O command set selected

[NVME\_CC\_MPS\_SHIFT](#NVME_CC_MPS_SHIFT)

Shift amount to get the memory page size

[NVME\_CC\_AMS\_SHIFT](#NVME_CC_AMS_SHIFT)

Shift amount to get the arbitration mechanism selected

[NVME\_CC\_SHN\_SHIFT](#NVME_CC_SHN_SHIFT)

Shift amount to get the shutdown notification

[NVME\_CC\_IOSQES\_SHIFT](#NVME_CC_IOSQES_SHIFT)

Shift amount to get the I/O submission queue entry size

[NVME\_CC\_IOCQES\_SHIFT](#NVME_CC_IOCQES_SHIFT)

Shift amount to get the I/O completion queue entry size

[NVME\_CC\_CRIME\_SHIFT](#NVME_CC_CRIME_SHIFT)

Shift amount to get the controller ready independent of media enable

[NVME\_CC\_EN\_MASK](#NVME_CC_EN_MASK)

Mask to get the enable

[NVME\_CC\_CSS\_MASK](#NVME_CC_CSS_MASK)

Mask to get the I/O command set selected

[NVME\_CC\_MPS\_MASK](#NVME_CC_MPS_MASK)

Mask to get the memory page size

[NVME\_CC\_AMS\_MASK](#NVME_CC_AMS_MASK)

Mask to get the arbitration mechanism selected

[NVME\_CC\_SHN\_MASK](#NVME_CC_SHN_MASK)

Mask to get the shutdown notification

[NVME\_CC\_CRIME\_MASK](#NVME_CC_CRIME_MASK)

Mask to get the I/O submission queue entry size

[NVME\_CC\_IOSQES\_MASK](#NVME_CC_IOSQES_MASK)

Mask to get the I/O completion queue entry size

[NVME\_CC\_IOCQES\_MASK](#NVME_CC_IOCQES_MASK)

Mask to get the controller ready independent of media enable

[NVME\_CC\_CSS\_NVM](#NVME_CC_CSS_NVM)

NVM command set

[NVME\_CC\_CSS\_CSI](#NVME_CC_CSS_CSI)

All supported I/O command sets

[NVME\_CC\_CSS\_ADMIN](#NVME_CC_CSS_ADMIN)

Admin command set only

[NVME\_CC\_AMS\_RR](#NVME_CC_AMS_RR)

Round robin

[NVME\_CC\_AMS\_WRRU](#NVME_CC_AMS_WRRU)

Weighted round robin with urgent priority class

[NVME\_CC\_AMS\_VS](#NVME_CC_AMS_VS)

Vendor specific

[NVME\_CC\_SHN\_NONE](#NVME_CC_SHN_NONE)

No notification; no effect

[NVME\_CC\_SHN\_NORMAL](#NVME_CC_SHN_NORMAL)

Normal shutdown notification

[NVME\_CC\_SHN\_ABRUPT](#NVME_CC_SHN_ABRUPT)

Abrupt shutdown notification

[NVME\_CC\_CRWME](#NVME_CC_CRWME)

Controller ready with media enable

[NVME\_CC\_CRIME](#NVME_CC_CRIME)

Controller ready independent of media enable

enum nvme\_cc October 2026

---

Document: nvme_cc-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
