libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_id\_ctrl\_oacs - Flags indicating the optional Admin commands and features supported by the controller, see &struct nvme\_id\_ctrl.oacs.

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_id\_ctrl\_oacs {  
**NVME\_CTRL\_OACS\_SSRS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_FNVMS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_FWDS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_NMS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_DSTS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_DIRS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_NSRS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_VMS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_DBCS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_GLSS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_CFLS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_HMLMS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_ENSS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_CCFLS\_SHIFT** ,  
**NVME\_CTRL\_OACS\_SSRS\_MASK** ,  
**NVME\_CTRL\_OACS\_FNVMS\_MASK** ,  
**NVME\_CTRL\_OACS\_FWDS\_MASK** ,  
**NVME\_CTRL\_OACS\_NMS\_MASK** ,  
**NVME\_CTRL\_OACS\_DSTS\_MASK** ,  
**NVME\_CTRL\_OACS\_DIRS\_MASK** ,  
**NVME\_CTRL\_OACS\_NSRS\_MASK** ,  
**NVME\_CTRL\_OACS\_VMS\_MASK** ,  
**NVME\_CTRL\_OACS\_DBCS\_MASK** ,  
**NVME\_CTRL\_OACS\_GLSS\_MASK** ,  
**NVME\_CTRL\_OACS\_CFLS\_MASK** ,  
**NVME\_CTRL\_OACS\_HMLMS\_MASK** ,  
**NVME\_CTRL\_OACS\_ENSS\_MASK** ,  
**NVME\_CTRL\_OACS\_CCFLS\_MASK** ,  
**NVME\_CTRL\_OACS\_SSRS** ,  
**NVME\_CTRL\_OACS\_FNVMS** ,  
**NVME\_CTRL\_OACS\_FWDS** ,  
**NVME\_CTRL\_OACS\_NMS** ,  
**NVME\_CTRL\_OACS\_DSTS** ,  
**NVME\_CTRL\_OACS\_DIRS** ,  
**NVME\_CTRL\_OACS\_NSRS** ,  
**NVME\_CTRL\_OACS\_VMS** ,  
**NVME\_CTRL\_OACS\_DBCS** ,  
**NVME\_CTRL\_OACS\_GLSS** ,  
**NVME\_CTRL\_OACS\_CFLS** ,  
**NVME\_CTRL\_OACS\_HMLMS** ,  
**NVME\_CTRL\_OACS\_ENSS** ,  
**NVME\_CTRL\_OACS\_CCFLS**

};

# [Constants](#Constants)

[NVME\_CTRL\_OACS\_SSRS\_SHIFT](#NVME_CTRL_OACS_SSRS_SHIFT)

Shift amount to get the Security Send Receive supported

[NVME\_CTRL\_OACS\_FNVMS\_SHIFT](#NVME_CTRL_OACS_FNVMS_SHIFT)

Shift amount to get the Format NVM supported

[NVME\_CTRL\_OACS\_FWDS\_SHIFT](#NVME_CTRL_OACS_FWDS_SHIFT)

Shift amount to get the Firmware Download supported

[NVME\_CTRL\_OACS\_NMS\_SHIFT](#NVME_CTRL_OACS_NMS_SHIFT)

Shift amount to get the Namespace Management supported

[NVME\_CTRL\_OACS\_DSTS\_SHIFT](#NVME_CTRL_OACS_DSTS_SHIFT)

Shift amount to get the Device Self-test supported

[NVME\_CTRL\_OACS\_DIRS\_SHIFT](#NVME_CTRL_OACS_DIRS_SHIFT)

Shift amount to get the Directives supported

[NVME\_CTRL\_OACS\_NSRS\_SHIFT](#NVME_CTRL_OACS_NSRS_SHIFT)

Shift amount to get the NVMe-MI Send Receive supported

[NVME\_CTRL\_OACS\_VMS\_SHIFT](#NVME_CTRL_OACS_VMS_SHIFT)

Shift amount to get the Virtualization Management supported

[NVME\_CTRL\_OACS\_DBCS\_SHIFT](#NVME_CTRL_OACS_DBCS_SHIFT)

Shift amount to get the Doorbell Buffer Config supported

[NVME\_CTRL\_OACS\_GLSS\_SHIFT](#NVME_CTRL_OACS_GLSS_SHIFT)

Shift amount to get the Get LBA Status supported

[NVME\_CTRL\_OACS\_CFLS\_SHIFT](#NVME_CTRL_OACS_CFLS_SHIFT)

Shift amount to get the Command and Feature Lockdown supported

[NVME\_CTRL\_OACS\_HMLMS\_SHIFT](#NVME_CTRL_OACS_HMLMS_SHIFT)

Shift amount to get the Host Managed Live Migration support

[NVME\_CTRL\_OACS\_ENSS\_SHIFT](#NVME_CTRL_OACS_ENSS_SHIFT)

Shift amount to get the Exported NVM Subsystem Support

[NVME\_CTRL\_OACS\_CCFLS\_SHIFT](#NVME_CTRL_OACS_CCFLS_SHIFT)

Shift amount to get the Controller-scoped Command and Feature Lockdown supported

[NVME\_CTRL\_OACS\_SSRS\_MASK](#NVME_CTRL_OACS_SSRS_MASK)

Mask to get the Security Send Receive supported

[NVME\_CTRL\_OACS\_FNVMS\_MASK](#NVME_CTRL_OACS_FNVMS_MASK)

Mask to get the Format NVM supported

[NVME\_CTRL\_OACS\_FWDS\_MASK](#NVME_CTRL_OACS_FWDS_MASK)

Mask to get the Firmware Download supported

[NVME\_CTRL\_OACS\_NMS\_MASK](#NVME_CTRL_OACS_NMS_MASK)

Mask to get the Namespace Management supported

[NVME\_CTRL\_OACS\_DSTS\_MASK](#NVME_CTRL_OACS_DSTS_MASK)

Mask to get the Device Self-test supported

[NVME\_CTRL\_OACS\_DIRS\_MASK](#NVME_CTRL_OACS_DIRS_MASK)

Mask to get the Directives supported

[NVME\_CTRL\_OACS\_NSRS\_MASK](#NVME_CTRL_OACS_NSRS_MASK)

Mask to get the NVMe-MI Send Receive supported

[NVME\_CTRL\_OACS\_VMS\_MASK](#NVME_CTRL_OACS_VMS_MASK)

Mask to get the Virtualization Management supported

[NVME\_CTRL\_OACS\_DBCS\_MASK](#NVME_CTRL_OACS_DBCS_MASK)

Mask to get the Doorbell Buffer Config supported

[NVME\_CTRL\_OACS\_GLSS\_MASK](#NVME_CTRL_OACS_GLSS_MASK)

Mask to get the Get LBA Status supported

[NVME\_CTRL\_OACS\_CFLS\_MASK](#NVME_CTRL_OACS_CFLS_MASK)

Mask to get the Command and Feature Lockdown supported

[NVME\_CTRL\_OACS\_HMLMS\_MASK](#NVME_CTRL_OACS_HMLMS_MASK)

Mask to get the Host Managed Live Migration support

[NVME\_CTRL\_OACS\_ENSS\_MASK](#NVME_CTRL_OACS_ENSS_MASK)

Mask to get the Exported NVM Subsystem Support

[NVME\_CTRL\_OACS\_CCFLS\_MASK](#NVME_CTRL_OACS_CCFLS_MASK)

Mask to get the Controller-scoped Command and Feature Lockdown supported

[NVME\_CTRL\_OACS\_SSRS](#NVME_CTRL_OACS_SSRS)

If set, then the controller supports the Security Send and Security Receive commands.

[NVME\_CTRL\_OACS\_FNVMS](#NVME_CTRL_OACS_FNVMS)

If set then the controller supports the Format NVM command.

[NVME\_CTRL\_OACS\_FWDS](#NVME_CTRL_OACS_FWDS)

If set, then the controller supports the Firmware Commit and Firmware Image Download commands.

[NVME\_CTRL\_OACS\_NMS](#NVME_CTRL_OACS_NMS)

If set, then the controller supports the Namespace Management capability

[NVME\_CTRL\_OACS\_DSTS](#NVME_CTRL_OACS_DSTS)

If set, then the controller supports the Device Self-test command.

[NVME\_CTRL\_OACS\_DIRS](#NVME_CTRL_OACS_DIRS)

If set, then the controller supports Directives and the Directive Send and Directive Receive commands.

[NVME\_CTRL\_OACS\_NSRS](#NVME_CTRL_OACS_NSRS)

If set, then the controller supports the NVMe-MI Send and NVMe-MI Receive commands.

[NVME\_CTRL\_OACS\_VMS](#NVME_CTRL_OACS_VMS)

If set, then the controller supports the Virtualization Management command.

[NVME\_CTRL\_OACS\_DBCS](#NVME_CTRL_OACS_DBCS)

If set, then the controller supports the Doorbell Buffer Config command.

[NVME\_CTRL\_OACS\_GLSS](#NVME_CTRL_OACS_GLSS)

If set, then the controller supports the Get LBA Status capability.

[NVME\_CTRL\_OACS\_CFLS](#NVME_CTRL_OACS_CFLS)

If set, then the controller supports the command and feature lockdown capability.

[NVME\_CTRL\_OACS\_HMLMS](#NVME_CTRL_OACS_HMLMS)

If set, then the controller supports the Host Managed Live Migration capability.

[NVME\_CTRL\_OACS\_ENSS](#NVME_CTRL_OACS_ENSS)

If set, then the controller supports the Exported Resource Management capability.

[NVME\_CTRL\_OACS\_CCFLS](#NVME_CTRL_OACS_CCFLS)

If set, then the controller supports the Controller-scoped Command and Feature Lockdown capability. Cleared to '0' if the Command and Feature Lockdown Supported (CFLS) bit is cleared to '0'.

enum nvme\_id\_ctrl\_oacs October 2026

---

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