libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_id\_ns\_dps - This field indicates the Type settings for the end-to-end data protection feature.

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_id\_ns\_dps {  
**NVME\_NS\_DPS\_PI\_NONE** ,  
**NVME\_NS\_DPS\_PI\_TYPE1** ,  
**NVME\_NS\_DPS\_PI\_TYPE2** ,  
**NVME\_NS\_DPS\_PI\_TYPE3** ,  
**NVME\_NS\_DPS\_PI\_SHIFT** ,  
**NVME\_NS\_DPS\_PI\_MASK** ,  
**NVME\_NS\_DPS\_PI\_FIRST\_SHIFT** ,  
**NVME\_NS\_DPS\_PI\_FIRST\_MASK** ,  
**NVME\_NS\_DPS\_PI\_FIRST**

};

# [Constants](#Constants)

[NVME\_NS\_DPS\_PI\_NONE](#NVME_NS_DPS_PI_NONE)

Protection information is not enabled

[NVME\_NS\_DPS\_PI\_TYPE1](#NVME_NS_DPS_PI_TYPE1)

Protection information is enabled, Type 1

[NVME\_NS\_DPS\_PI\_TYPE2](#NVME_NS_DPS_PI_TYPE2)

Protection information is enabled, Type 2

[NVME\_NS\_DPS\_PI\_TYPE3](#NVME_NS_DPS_PI_TYPE3)

Protection information is enabled, Type 3

[NVME\_NS\_DPS\_PI\_SHIFT](#NVME_NS_DPS_PI_SHIFT)

Protection information type shift

[NVME\_NS\_DPS\_PI\_MASK](#NVME_NS_DPS_PI_MASK)

Mask to get the value of the PI type

[NVME\_NS\_DPS\_PI\_FIRST\_SHIFT](#NVME_NS_DPS_PI_FIRST_SHIFT)

Protection information in first bytes shift

[NVME\_NS\_DPS\_PI\_FIRST\_MASK](#NVME_NS_DPS_PI_FIRST_MASK)

Protection information in first bytes mask

[NVME\_NS\_DPS\_PI\_FIRST](#NVME_NS_DPS_PI_FIRST)

If set, indicates that the protection information, if enabled, is transferred as the first eight bytes of metadata.

enum nvme\_id\_ns\_dps October 2026

---

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