libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_id\_ns\_dpc - This field indicates the capabilities for the end-to-end data protection feature.

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_id\_ns\_dpc {  
**NVME\_NS\_DPC\_PI\_TYPE1** ,  
**NVME\_NS\_DPC\_PI\_TYPE2** ,  
**NVME\_NS\_DPC\_PI\_TYPE3** ,  
**NVME\_NS\_DPC\_PI\_FIRST** ,  
**NVME\_NS\_DPC\_PI\_LAST**

};

# [Constants](#Constants)

[NVME\_NS\_DPC\_PI\_TYPE1](#NVME_NS_DPC_PI_TYPE1)

If set, indicates that the namespace supports Protection Information Type 1.

[NVME\_NS\_DPC\_PI\_TYPE2](#NVME_NS_DPC_PI_TYPE2)

If set, indicates that the namespace supports Protection Information Type 2.

[NVME\_NS\_DPC\_PI\_TYPE3](#NVME_NS_DPC_PI_TYPE3)

If set, indicates that the namespace supports Protection Information Type 3.

[NVME\_NS\_DPC\_PI\_FIRST](#NVME_NS_DPC_PI_FIRST)

If set, indicates that the namespace supports protection information transferred as the first eight bytes of metadata.

[NVME\_NS\_DPC\_PI\_LAST](#NVME_NS_DPC_PI_LAST)

If set, indicates that the namespace supports protection information transferred as the last eight bytes of metadata.

enum nvme\_id\_ns\_dpc October 2026

---

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