libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_non\_volatile\_storage\_medium\_access\_descriptor - Non-Volatile Storage Medium Access Descriptor (QNSED)

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_non\_volatile\_storage\_medium\_access\_descriptor {  
**\_\_u8 sc;**  
**\_\_u8 rsvd1;**  
**\_\_le16 nnsmad;**  
**\_\_le32 si;**  
**struct nvme\_rate\_limiting\_max\_access\_descriptor rlma;**  
**\_\_u8 rsvd40\[24];**  
**\_\_le32 nvsma\_offset\[];**  
};

# [Members](#Members)

[sc](#sc)

Scope, see *enum nvme\_rate\_limiting\_scope*

[rsvd1](#rsvd1)

Reserved

[nnsmad](#nnsmad)

Number of Non-Volatile Storage Medium Access Descriptors in *nvsma\_offset*, cleared to 0h if *sc* is NVM subsystem or the NVM subsystem supports a single domain

[si](#si)

Scope Identifier for the scope indicated by *sc*

[rlma](#rlma)

Rate Limiting Maximum Access for the scope indicated by *sc*

[rsvd40](#rsvd40)

Reserved

[nvsma\_offset](#nvsma_offset)

Dword offsets, relative to the start of the Rate Limiting log page, to the nested Non-Volatile Storage Medium Access Descriptors, *nnsmad* entries

struct nvme\_non\_volatile\_storage\_medium\_access\_descriptor October 2026

---

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