libnvmf\_config\_emit\_add(9) libnvme API manual libnvmf\_config\_emit\_add(9)

# [NAME](#NAME)

libnvmf\_config\_emit\_add - Add a connection to a configuration emitter.

# [SYNOPSIS](#SYNOPSIS)

**int libnvmf\_config\_emit\_add** **(struct libnvmf\_config\_emitter \*emitter ,** **bool is\_dc ,** **const char \*transport ,** **const char \*traddr ,** **const char \*trsvcid ,** **const char \*subsysnqn ,** **const char \*host\_traddr ,** **const char \*host\_iface ,** **const char \*hostnqn ,** **const char \*hostid ,** **const struct libnvmf\_params \*params ,** **const char \*hostsymname );**

# [ARGUMENTS](#ARGUMENTS)

[emitter](#emitter)

Configuration emitter.

[is\_dc](#is_dc)

Discovery controller if true, I/O controller if false.

[transport](#transport)

Transport type. Required.

[traddr](#traddr)

Transport address. Required. Written verbatim, even if a hostname; resolution happens at connect time, not here.

[trsvcid](#trsvcid)

Transport service ID, or NULL.

[subsysnqn](#subsysnqn)

Subsystem NQN. Required unless *is\_dc* is true.

[host\_traddr](#host_traddr)

Host transport address, or NULL.

[host\_iface](#host_iface)

Host interface, or NULL.

[hostnqn](#hostnqn)

Host NQN, or NULL.

[hostid](#hostid)

Host identifier, or NULL.

[params](#params)

Connection parameters, or NULL.

[hostsymname](#hostsymname)

Host symbolic name, or NULL.

# [DESCRIPTION](#DESCRIPTION)

The parameter set is copied by the emitter.

# [RETURN](#RETURN)

\* 0 on success. * -EINVAL if a required parameter is missing or if *hostsymname* conflicts with an existing persona. * -ENOMEM if memory allocation fails.

libnvmf\_config\_emit\_add October 2026

---

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