---
name: "nvme_admin_passthru64"
section: "2"
platform: "linux"
package: "libnvme-dev"
version: "1.13-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nvme_admin_passthru64"
---

# nvme\_admin\_passthru64(2)

Submit a 64-bit nvme passthrough command

## NAME

nvme\_admin\_passthru64 - Submit a 64-bit nvme passthrough command

## SYNOPSIS

**int nvme\_admin\_passthru64** **(int fd** *,* **\_\_u8 opcode** *,* **\_\_u8 flags** *,* **\_\_u16 rsvd** *,* **\_\_u32 nsid** *,* **\_\_u32 cdw2** *,* **\_\_u32 cdw3** *,* **\_\_u32 cdw10** *,* **\_\_u32 cdw11** *,* **\_\_u32 cdw12** *,* **\_\_u32 cdw13** *,* **\_\_u32 cdw14** *,* **\_\_u32 cdw15** *,* **\_\_u32 data\_len** *,* **void \*data** *,* **\_\_u32 metadata\_len** *,* **void \*metadata** *,* **\_\_u32 timeout\_ms** *,* **\_\_u64 \*result** *);*

## ARGUMENTS

- fd

  File descriptor of nvme device

- opcode

  The nvme io command to send

- flags

  NVMe command flags (not used)

- rsvd

  Reserved for future use

- nsid

  Namespace identifier

- cdw2

  Command dword 2

- cdw3

  Command dword 3

- cdw10

  Command dword 10

- cdw11

  Command dword 11

- cdw12

  Command dword 12

- cdw13

  Command dword 13

- cdw14

  Command dword 14

- cdw15

  Command dword 15

- data\_len

  Length of the data transferred in this command in bytes

- data

  Pointer to user address of the data buffer

- metadata\_len

  Length of metadata transferred in this command

- metadata

  Pointer to user address of the metadata buffer

- timeout\_ms

  How long the kernel waits for the command to complete

- result

  Optional field to return the result from the CQE dword 0

## DESCRIPTION

Parameterized form of **nvme\_submit\_admin\_passthru64**. This sets up and submits a *struct nvme\_passthru\_cmd64*.

Known values for *opcode* are defined in *enum nvme\_admin\_opcode*.

## RETURN

The nvme command status if a response was received (see *enum nvme\_status\_field*) or -1 with errno set otherwise.
