DI_DEVLINK_INIT(3DEVINFO) Device Information Library Functions

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.

o If name is NULL then all devlink management
activities must complete. The devlink snapshot
returned accurately reflects the entire kernel
device tree.

o If name is a driver name, devlink management
activities associated with nodes bound to that
driver must complete.

o If name is a path to a node in the kernel device
tree (no "/devices" prefix), devlink management
activities below node must complete.

o If 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:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


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

July 21, 2008 DI_DEVLINK_INIT(3DEVINFO)

tribblix@gmail.com :: GitHub :: Privacy