---
name: "nvmf_auth_negotiate-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nvmf_auth_negotiate-libnvme3"
---

# nvmf\_auth\_negotiate-libnvme3(2)

AUTH\_Negotiate message, host to controller

## NAME

struct nvmf\_auth\_negotiate - AUTH\_Negotiate message, host to controller

## SYNOPSIS

struct nvmf\_auth\_negotiate {\
     **\_\_u8 auth\_type;**\
     **\_\_u8 auth\_id;**\
     **\_\_u16 rsvd2;**\
     **\_\_le16 t\_id;**\
     **\_\_u8 sc\_c;**\
     **\_\_u8 napd;**\
     **\_\_u8 apd\[\];**\
 };\

## Members

- auth\_type

  Authentication Type, see *enum nvmf\_auth\_protocol\_id*. Cleared to 0h (i.e., common messages).

- auth\_id

  Authentication Identifier, see *enum nvmf\_auth\_id*. Cleared to 0h (i.e., AUTH\_Negotiate).

- rsvd2

  Reserved

- t\_id

  Transaction Identifier

- sc\_c

  Secure Channel Concatenation, see *enum nvmf\_auth\_sc\_c*

- napd

  Number of Authentication Protocol Descriptors

- apd

  Authentication Protocol Descriptor list, *napd* entries of 64 bytes each. Currently always a *struct nvmf\_auth\_kxchap\_protocol\_descriptor*, the only authentication protocol defined.
