---
name: "libnvmf_create_ctrl-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/libnvmf_create_ctrl-libnvme3"
---

# libnvmf\_create\_ctrl-libnvme3(2)

Allocate an unconnected NVMe controller

## NAME

libnvmf\_create\_ctrl - Allocate an unconnected NVMe controller

## SYNOPSIS

**int libnvmf\_create\_ctrl** **(struct libnvme\_global\_ctx \*ctx** *,* **struct libnvmf\_context \*fctx** *,* **struct libnvme\_ctrl \*\*c** *);*

## ARGUMENTS

- ctx

  struct libnvme\_global\_ctx object

- fctx

  Fabrics context

- c

  *struct libnvme\_ctrl* object to return

## DESCRIPTION

Creates an unconnected controller to be used for **libnvme\_add\_ctrl**. The controller carries over *fctx*'s connection parameters together with its authentication and transport encryption settings (kxchap keys, keyring, TLS key and TLS key identity).

## RETURN

0 on success, negative error code otherwise.
