libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_ns\_mgmt\_host\_sw\_specified - Namespace management Host Software Specified Fields.

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_ns\_mgmt\_host\_sw\_specified {  
**\_\_le64 nsze;**  
**\_\_le64 ncap;**  
**\_\_u8 rsvd16\[10];**  
**\_\_u8 flbas;**  
**\_\_u8 rsvd27\[2];**  
**\_\_u8 dps;**  
**\_\_u8 nmic;**  
**\_\_u8 rsvd31\[61];**  
**\_\_le32 anagrpid;**  
**\_\_u8 rsvd96\[4];**  
**\_\_le16 nvmsetid;**  
**\_\_le16 endgid;**  
**\_\_u8 rsvd104\[280];**  
**\_\_le64 lbstm;**  
**\_\_le16 nphndls;**  
**\_\_u8 rsvd394\[105];**  
**union {**  
**\_\_u8 rsvd499\[13];**  
**struct {**  
**\_\_u8 znsco;**  
**\_\_le32 rar;**  
**\_\_le32 ror;**  
**\_\_le32 rnumzrwa;**  
**} zns;**  
**};**  
**\_\_le16 phndl\[128];**  
**\_\_u8 rsvd768\[3328];**  
};

# [Members](#Members)

[nsze](#nsze)

Namespace Size indicates the total size of the namespace in logical blocks. The number of logical blocks is based on the formatted LBA size.

[ncap](#ncap)

Namespace Capacity indicates the maximum number of logical blocks that may be allocated in the namespace at any point in time. The number of logical blocks is based on the formatted LBA size.

[rsvd16](#rsvd16)

Reserved

[flbas](#flbas)

Formatted LBA Size, see *enum nvme\_id\_ns\_flbas*.

[rsvd27](#rsvd27)

Reserved

[dps](#dps)

End-to-end Data Protection Type Settings, see *enum nvme\_id\_ns\_dps*.

[nmic](#nmic)

Namespace Multi-path I/O and Namespace Sharing Capabilities, see *enum nvme\_id\_ns\_nmic*.

[rsvd31](#rsvd31)

Reserved

[anagrpid](#anagrpid)

ANA Group Identifier indicates the ANA Group Identifier of the ANA group of which the namespace is a member.

[rsvd96](#rsvd96)

Reserved

[nvmsetid](#nvmsetid)

NVM Set Identifier indicates the NVM Set with which this namespace is associated.

[endgid](#endgid)

Endurance Group Identifier indicates the Endurance Group with which this namespace is associated.

[rsvd104](#rsvd104)

Reserved

[lbstm](#lbstm)

Logical Block Storage Tag Mask Identifies the mask for the Storage Tag field for the protection information

[nphndls](#nphndls)

Number of Placement Handles specifies the number of Placement Handles included in the Placement Handle List

[rsvd394](#rsvd394)

Reserved

{unnamed\_union}

anonymous

[rsvd499](#rsvd499)

Reserved for I/O Command Sets that extend this specification.

[zns](#zns)

rsvd499( Zoned Namespace Command Set specific field )

[phndl](#phndl)

Placement Handle Associated RUH : This field specifies the Reclaim Unit Handle Identifier to be associated with the Placement Handle value. If the Flexible Data Placement capability is not supported or not enabled in specified Endurance Group, then the controller shall ignore this field.

[rsvd768](#rsvd768)

Reserved

struct nvme\_ns\_mgmt\_host\_sw\_specified October 2026

---

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