DI_DEVLINK_DUP(3DEVINFO) Device Information Library Functions DI_DEVLINK_DUP(3DEVINFO)

di_devlink_dup, di_devlink_free - copy and free a devlink object

cc [ flag... ] file... -ldevinfo [ library... ]
#include <libdevinfo.h>
di_devlink_t di_devlink_dup(di_devlink_t devlink);

int di_devlink_free(di_devlink_t devlink);

An opaque handle to a devlink.

Typically, a di_devlink_t object is only accessible from within the scope of the di_devlink_walk(3DEVINFO) callback function. The di_devlink_dup() function allows the callback function implementation to make a duplicate copy of the di_devlink_t object. The duplicate copy is valid and accessible until di_devlink_free() is called.

The di_devlink_dup() function returns a copy of a devlink object. The di_devlink_free() function frees this copy.

Upon successful completion, di_devlink_dup() returns a copy of the devlink object passed in. Otherwise, NULL is returned and errno is set to indicate the error.

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

The di_devlink_dup() and di_devlink_free() functions will fail if:


The devlink argument is not a valid handle.

The di_devlink_dup() function can set errno to any error value that can also be set by malloc(3C).

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

Interface Stability Committed
MT-Level Safe

malloc(3C), di_devlink_init(3DEVINFO), di_devlink_path(3DEVINFO), di_devlink_walk(3DEVINFO), libdevinfo(3LIB), attributes(7)

May 15, 2008 OmniOS