libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_id\_ctrl\_kpioc - Key Per I/O Capabilities

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_id\_ctrl\_kpioc {  
**NVME\_CTRL\_KPIOC\_KPIOS\_SHIFT** ,  
**NVME\_CTRL\_KPIOC\_KPIOSC\_SHIFT** ,  
**NVME\_CTRL\_KPIOC\_KPIOS\_MASK** ,  
**NVME\_CTRL\_KPIOC\_KPIOSC\_MASK**

};

# [Constants](#Constants)

[NVME\_CTRL\_KPIOC\_KPIOS\_SHIFT](#NVME_CTRL_KPIOC_KPIOS_SHIFT)

Shift amount to get the Key Per I/O Supported from the *struct nvme\_id\_ctrl*.kpioc field.

[NVME\_CTRL\_KPIOC\_KPIOSC\_SHIFT](#NVME_CTRL_KPIOC_KPIOSC_SHIFT)

Shift amount to get the Key Per I/O Scope from the *struct nvme\_id\_ctrl*.kpioc field.

[NVME\_CTRL\_KPIOC\_KPIOS\_MASK](#NVME_CTRL_KPIOC_KPIOS_MASK)

Mask to get the Key Per I/O Supported from the *struct nvme\_id\_ctrl*.kpioc field.

[NVME\_CTRL\_KPIOC\_KPIOSC\_MASK](#NVME_CTRL_KPIOC_KPIOSC_MASK)

Mask to get the Key Per I/O Scope from the *struct nvme\_id\_ctrl*.kpioc field.

enum nvme\_id\_ctrl\_kpioc October 2026

---

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