nvme\_init\_copy(9) libnvme API manual nvme\_init\_copy(9)

# [NAME](#NAME)

nvme\_init\_copy - Initialize passthru command for Copy command

# [SYNOPSIS](#SYNOPSIS)

**void nvme\_init\_copy** **(struct libnvme\_passthru\_cmd \*cmd ,** **\_\_u32 nsid ,** **\_\_u64 sdlba ,** **\_\_u16 nr ,** **\_\_u8 desfmt ,** **\_\_u8 prinfor ,** **\_\_u8 prinfow ,** **\_\_u8 cetype ,** **\_\_u8 dtype ,** **bool stcw ,** **bool stcr ,** **bool fua ,** **bool lr ,** **\_\_u16 cev ,** **\_\_u16 dspec ,** **void \*cpydsc );**

# [ARGUMENTS](#ARGUMENTS)

[cmd](#cmd)

Passthru command to use

[nsid](#nsid)

Namespace identifier

[sdlba](#sdlba)

Start destination LBA

[nr](#nr)

Number of ranges (1-based, 0-based in command)

[desfmt](#desfmt)

Descriptor format

[prinfor](#prinfor)

Protection information field for read

[prinfow](#prinfow)

Protection information field for write

[cetype](#cetype)

Command Extension Type

[dtype](#dtype)

Directive Type

[stcw](#stcw)

Storage Tag Check Write

[stcr](#stcr)

Storage Tag Check Read

[fua](#fua)

Force unit access

[lr](#lr)

Limited retry

[cev](#cev)

Command Extension Value

[dspec](#dspec)

Directive specific value

[cpydsc](#cpydsc)

Range description buffer

# [DESCRIPTION](#DESCRIPTION)

Initializes the passthru command buffer for the Copy command by calculating the data length and calling the generic I/O initializer.

nvme\_init\_copy October 2026

---

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