Reference

libnvmf_tid_parse-libnvme3(2)

Allocate a TID from a semicolon-separated key=value string.

NAME

libnvmf_tid_parse - Allocate a TID from a semicolon-separated key=value string.

SYNOPSIS

int libnvmf_tid_parse (struct libnvme_global_ctx *ctx , const char *str , struct libnvmf_tid **out );

ARGUMENTS

ctx

Global context used only for logging the diagnostics below.

str

Input string, e.g. "transport=tcp;traddr=1.2.3.4;trsvcid=8009".

out

The allocated TID on success; NULL on error.

DESCRIPTION

Recognized keys are the "nvme connect" option names: transport, traddr, trsvcid, nqn, host-traddr, host-iface, hostnqn, hostid. (The "nqn", "host-traddr", and "host-iface" string keys map onto the struct's subsysnqn, host_traddr, and host_iface fields, whose names follow the C-identifier convention.) Unknown keys, bare keys (no '='), and empty values are logged at WARN level and skipped. Whitespace around keys and values is trimmed. Like libnvmf_tid_from_fields, a traddr/host-traddr that is not numeric on an IP transport fails the whole parse.

RETURN

0 on success (*out is the allocated TID); -EINVAL if ctx, out or str is NULL, or a traddr/host-traddr is not numeric on an IP transport; -ENOMEM on allocation failure.