User Tools

Site Tools


solaris:di_devlink_init.3devinfo

di_devlink_init


NAME

di_devlink_init, di_devlink_fini - create and destroy a snapshot of devlinks

SYNOPSIS

cc [ flag… ] file-ldevinfo [ library… ]
#include <libdevinfo.h>

di_devlink_handle_t di_devlink_init(const char *name,
uint_t
flags);

int di_devlink_fini(di_devlink_handle_t *hdlp);

PARAMETERS

flags

The following values are supported:

DI_MAKE_LINK

Synchronize with devlink management before taking the snapshot. The name argument determines which devlink management activities must complete before taking a devlink snapshot. Appropriate privileges are required to use this flag.

name

If flags is DI_MAKE_LINK, name determines which devlink management activity must complete prior to snapshot.

oIf name is NULL then all devlink management activities must complete. The devlink snapshot returned accurately reflects the entire kernel device tree.
oIf name is a driver name, devlink management activities associated with nodes bound to that driver must complete.
oIf name is a path to a node in the kernel device tree (no “/devices” prefix), devlink management activities below node must complete.
oIf name is a path to a minor node in the kernel device tree (no “/devices“prefix), devlink management activities on that minor node must complete.

hdlp

The handle to the snapshot obtained by calling di_devlink_init().

DESCRIPTION

System management applications often need to map a “/devices” path to a minor node to a public “/dev” device name. The di_devlink_*() functions provide an efficient way to accomplish this.

The di_devlink_init() function takes a snapshot of devlinks and returns a handle to this snapshot.

The di_devlink_fini() function destroys the devlink snapshot and frees the associated memory.

RETURN VALUES

Upon successful completion, di_devlink_init() returns a handle to a devlink snapshot. Otherwise, DI_LINK_NIL is returned and errno is set to indicate the error.

Upon successful completion, di_devlink_fini() returns 0. Otherwise, -1 is returned and errno is set to indicate the error.

ERRORS

The di_devlink_init() function will fail if:

EINVAL

One or more arguments is invalid.

The di_devlink_init() function with DI_MAKE_LINK can also fail if:

EPERM

The user does no have appropriate privileges.

The di_devlink_init() function can set errno to any error value that can also be set by malloc(3C), open(2), ioctl(2), or mmap(2).

ATTRIBUTES

See attributes(7) for descriptions of the following attributes:

SEE ALSO

ioctl(2), mmap(2), open(2), malloc(3C), di_devlink_path(3DEVINFO), di_devlink_walk(3DEVINFO), libdevinfo(3LIB), attributes(7)


solaris/di_devlink_init.3devinfo.txt · Last modified: 2023/07/19 08:57 by A User Not Logged in