---
name: "nvme_id_ctrl_frmw-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nvme_id_ctrl_frmw-libnvme3"
---

# nvme\_id\_ctrl\_frmw-libnvme3(2)

Flags and values indicates capabilities regarding firmware updates from &struct nvme\_id\_ctrl.frmw.

## NAME

enum nvme\_id\_ctrl\_frmw - Flags and values indicates capabilities regarding firmware updates from &struct nvme\_id\_ctrl.frmw.

## SYNOPSIS

enum nvme\_id\_ctrl\_frmw {\
     **NVME\_CTRL\_FRMW\_FFSRO\_SHIFT** , \
\
     **NVME\_CTRL\_FRMW\_NOFS\_SHIFT** , \
\
     **NVME\_CTRL\_FRMW\_FAWR\_SHIFT** , \
\
     **NVME\_CTRL\_FRMW\_SMUD\_SHIFT** , \
\
     **NVME\_CTRL\_FRMW\_FFSRO\_MASK** , \
\
     **NVME\_CTRL\_FRMW\_NOFS\_MASK** , \
\
     **NVME\_CTRL\_FRMW\_FAWR\_MASK** , \
\
     **NVME\_CTRL\_FRMW\_SMUD\_MASK** , \
\
     **NVME\_CTRL\_FRMW\_FFSRO** , \
\
     **NVME\_CTRL\_FRMW\_NOFS** , \
\
     **NVME\_CTRL\_FRMW\_FAWR** , \
\
     **NVME\_CTRL\_FRMW\_SMUD**

};

## Constants

- NVME\_CTRL\_FRMW\_FFSRO\_SHIFT

  FFSRO shift

- NVME\_CTRL\_FRMW\_NOFS\_SHIFT

  NOFS shift

- NVME\_CTRL\_FRMW\_FAWR\_SHIFT

  FAWR shift

- NVME\_CTRL\_FRMW\_SMUD\_SHIFT

  SMUD shift

- NVME\_CTRL\_FRMW\_FFSRO\_MASK

  FFSRO mask

- NVME\_CTRL\_FRMW\_NOFS\_MASK

  NOFS mask

- NVME\_CTRL\_FRMW\_FAWR\_MASK

  FAWR mask

- NVME\_CTRL\_FRMW\_SMUD\_MASK

  SMUD mask

- NVME\_CTRL\_FRMW\_FFSRO

  If set, the first firmware slot is readonly

- NVME\_CTRL\_FRMW\_NOFS

  Mask to get the value of the number of firmware slots that the controller supports.

- NVME\_CTRL\_FRMW\_FAWR

  If set, the controller supports firmware activation without a reset.

- NVME\_CTRL\_FRMW\_SMUD

  If set, the controller is able to detect overlapping firmware/boot partition image update.
