libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct tcg\_l0\_cnl - Configurable Namespace Locking feature (0x0403)

# [SYNOPSIS](#SYNOPSIS)

struct tcg\_l0\_cnl {  
**\_\_u8 flags;**  
**\_\_u8 rsvd1\[3];**  
**\_\_be32 max\_key\_count;**  
**\_\_be32 unused\_key\_count;**  
**\_\_be32 max\_ranges\_per\_ns;**  
};

# [Members](#Members)

[flags](#flags)

Flags, see *enum tcg\_l0\_cnl\_flags*

[rsvd1](#rsvd1)

Reserved

[max\_key\_count](#max_key_count)

Maximum key count

[unused\_key\_count](#unused_key_count)

Unused key count

[max\_ranges\_per\_ns](#max_ranges_per_ns)

Maximum ranges per namespace

# [Description](#Description)

TCG Storage Opal SSC Feature Set: Configurable Namespace Locking, section 4.2.1.

struct tcg\_l0\_cnl October 2026

---

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