libnvmf_registry_device_for_each-libnvme3(2)

libnvmf_registry_device_for_each-libnvme32

Iterate over live controller registry entries

Usage

int libnvmf_registry_device_for_each (struct libnvme_global_ctx *ctx , int (*callback)(const char *device, void *user_data) , void *user_data );

Arguments

ctx

libnvme global context; must not be NULL

callback

Callback invoked for each live entry

user_data

User data passed to callback

Overview

Scans the registry directory and invokes callback for each entry whose corresponding /dev/nvmeN device node exists. Stale entries left behind after a controller is removed are silently skipped. The existence check is advisory: a device may be removed between the check and callback invocation; callers should handle ENOENT gracefully.

Return

0 on success, negative errno if the registry directory cannot be opened. Returns 0 when the directory does not exist (nothing registered).

From nvme-cli 3.2-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.