libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct libnbft\_security - Security Profile Descriptor

# [SYNOPSIS](#SYNOPSIS)

struct libnbft\_security {  
**int index;**  
**\_\_u16 flags;**  
**\_\_u8 secret\_type;**  
**\_\_u8 \*sec\_chan\_algs;**  
**\_\_u16 sec\_chan\_algs\_len;**  
**\_\_u8 \*auth\_protocols;**  
**\_\_u16 auth\_protocols\_len;**  
**\_\_u8 \*cipher\_suites;**  
**\_\_u16 cipher\_suites\_len;**  
**\_\_u8 \*kx\_groups;**  
**\_\_u16 kx\_groups\_len;**  
**\_\_u8 \*sec\_hash\_funcs;**  
**\_\_u16 sec\_hash\_funcs\_len;**  
**char \*secret\_keypath;**  
};

# [Members](#Members)

[index](#index)

The number of this Security Profile Descriptor in the Security Profile Descriptor List.

[flags](#flags)

Security Profile Descriptor Flags bitmask, see *enum nbft\_security\_flags*.

[secret\_type](#secret_type)

Secret Type, see *enum nbft\_security\_secret\_type*.

[sec\_chan\_algs](#sec_chan_algs)

Secure Channel Algorithm list: an array of bytes whose values are the Security Type (SECTYPE) field, see *enum nvmf\_tcp\_sectype*. NULL if not present in the NBFT heap.

[sec\_chan\_algs\_len](#sec_chan_algs_len)

Length in bytes of *sec\_chan\_algs*.

[auth\_protocols](#auth_protocols)

Authentication Protocol identifier list. Values are Authentication Protocol Identifiers as defined in the NVM Express Base Specification. NULL if not present in the NBFT heap.

[auth\_protocols\_len](#auth_protocols_len)

Length in bytes of *auth\_protocols*.

[cipher\_suites](#cipher_suites)

Cipher Suite identifier list: raw byte data containing cipher suite identifiers as defined in the IANA TLS Parameters Registry. Each entry is a 16-bit value; the number of entries is *cipher\_suites\_len* / 2. NULL if not present in the NBFT heap.

[cipher\_suites\_len](#cipher_suites_len)

Length in bytes of *cipher\_suites*.

[kx\_groups](#kx_groups)

KX-HMAC-CHAP key exchange group identifier list. Values are Key Exchange Group Identifiers as defined in the NVM Express Base Specification. NULL if not present in the NBFT heap.

[kx\_groups\_len](#kx_groups_len)

Length in bytes of *kx\_groups*.

[sec\_hash\_funcs](#sec_hash_funcs)

KX-HMAC-CHAP hash function identifier list, see *enum libnvmf\_hmac\_alg*. NULL if not present in the NBFT heap.

[sec\_hash\_funcs\_len](#sec_hash_funcs_len)

Length in bytes of *sec\_hash\_funcs*.

[secret\_keypath](#secret_keypath)

URI string for the secret key path. The type of the URI is specified by *secret\_type*. NULL if not present.

# [Description](#Description)

All pointer fields refer to storage owned by the parent *struct libnbft\_info*. They must not be freed separately.

struct libnbft\_security September 2026

---

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