libnvme\_write\_reg64(9) libnvme API manual libnvme\_write\_reg64(9)

# [NAME](#NAME)

libnvme\_write\_reg64 - Write a 64-bit controller register of a PCIe controller

# [SYNOPSIS](#SYNOPSIS)

**int libnvme\_write\_reg64** **(struct libnvme\_transport\_handle \*hdl ,** **\_\_u32 offset ,** **\_\_u64 value ,** **bool mmio32 );**

# [ARGUMENTS](#ARGUMENTS)

[hdl](#hdl)

Transport handle

[offset](#offset)

Offset of the register in bytes

[value](#value)

Value to write

[mmio32](#mmio32)

Write the register as two 32-bit values, low half first. Some devices do not support 64-bit MMIO.

# [DESCRIPTION](#DESCRIPTION)

*offset* must be a multiple of 8. This should only be sent to controller handles, not to namespaces.

# [RETURN](#RETURN)

0 on success or a negative error code otherwise. -ENOTSUP indicates that the transport has no memory-mapped registers.

libnvme\_write\_reg64 October 2026

---

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