libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_id\_ctrl\_anacap - This field indicates the capabilities associated with Asymmetric Namespace Access Reporting.

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_id\_ctrl\_anacap {  
**NVME\_CTRL\_ANACAP\_OPT** ,  
**NVME\_CTRL\_ANACAP\_NON\_OPT** ,  
**NVME\_CTRL\_ANACAP\_INACCESSIBLE** ,  
**NVME\_CTRL\_ANACAP\_PERSISTENT\_LOSS** ,  
**NVME\_CTRL\_ANACAP\_CHANGE** ,  
**NVME\_CTRL\_ANACAP\_GRPID\_NO\_CHG** ,  
**NVME\_CTRL\_ANACAP\_GRPID\_MGMT**

};

# [Constants](#Constants)

[NVME\_CTRL\_ANACAP\_OPT](#NVME_CTRL_ANACAP_OPT)

If set, then the controller is able to report ANA Optimized state.

[NVME\_CTRL\_ANACAP\_NON\_OPT](#NVME_CTRL_ANACAP_NON_OPT)

If set, then the controller is able to report ANA Non-Optimized state.

[NVME\_CTRL\_ANACAP\_INACCESSIBLE](#NVME_CTRL_ANACAP_INACCESSIBLE)

If set, then the controller is able to report ANA Inaccessible state.

[NVME\_CTRL\_ANACAP\_PERSISTENT\_LOSS](#NVME_CTRL_ANACAP_PERSISTENT_LOSS)

If set, then the controller is able to report ANA Persistent Loss state.

[NVME\_CTRL\_ANACAP\_CHANGE](#NVME_CTRL_ANACAP_CHANGE)

If set, then the controller is able to report ANA Change state.

[NVME\_CTRL\_ANACAP\_GRPID\_NO\_CHG](#NVME_CTRL_ANACAP_GRPID_NO_CHG)

If set, then the ANAGRPID field in the Identify Namespace data structure (*struct nvme\_id\_ns*.anagrpid), does not change while the namespace is attached to any controller.

[NVME\_CTRL\_ANACAP\_GRPID\_MGMT](#NVME_CTRL_ANACAP_GRPID_MGMT)

If set, then the controller supports a non-zero value in the ANAGRPID field of the Namespace Management command.

enum nvme\_id\_ctrl\_anacap October 2026

---

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