DI_PATH_PROP_BYTES(3DEVINFO) Device Information Library Functions

NAME


di_path_prop_bytes, di_path_prop_ints, di_path_prop_int64s,
di_path_prop_name, di_path_prop_strings, di_path_prop_type - access
path property information

SYNOPSIS


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

char *di_path_prop_bytes(di_path_prop_t prop);


int (di_path_prop_t prop);


int (di_path_prop_t prop, uchar_t **prop_data);


int (di_path_prop_t prop, int **prop_data);


int (di_path_prop_t prop, int64_t **prop_data);


int di_path_prop_type(di_path_prop_t prop, char **prop_data);


PARAMETERS


prop
A handle to a property returned by
di_path_prop_next(3DEVINFO).


prop_data
For di_path_prop_bytes(), the address of a pointer to an
unsigned character.

For di_path_prop_ints(), the address of a pointer to an
integer.

For di_path_prop_int64(), the address of a pointer to a
64-bit integer.

For di_path_prop_strings(), the address of pointer to a
character.


DESCRIPTION


These functions access information associated with path property
values and attributes such as the property name or data type.


The di_path_prop_name() function returns a pointer to a string
containing the name of the property.


The di_path_prop_type() function returns the type of the path
property. The type determines the appropriate interface to access
property values. Possible property types are the same as for
di_prop_type(3DEVINFO), excluding DI_PROP_TYPE_UNKNOWN and
DI_PROP_UNDEFINED. Thus, di_path_prop_type() can return one of the
following constants:

DI_PROP_TYPE_INT
Use di_path_prop_ints() to access property
data.


DI_PROP_TYPE_INT64
Use di_path_prop_int64s() to access property
data.


DI_PROP_TYPE_STRING
Use di_path_prop_strings() to access property
data.


DI_PROP_TYPE_BYTE
Use di_path_prop_bytes() to access property
data.


The di_path_prop_bytes() function returns the property data as a
series of unsigned characters.


The di_path_prop_ints() function returns the property data as a
series of integers.


The di_path_prop_int64s() function returns the property data as a
series of integers.


The di_path_prop_strings() function returns the property data as a
concatenation of null-terminated strings.

RETURN VALUES


Upon successful completion, di_path_prop_bytes(),
di_path_prop_ints(), di_path_prop_int64s(), and
di_path_prop_strings() return a non-negative value, indicating the
number of entries in the property value buffer. If the property is
found, the number of entries in prop_data is returned. Otherwise, -1
is returned and errno is set to indicate the error.


For di_path_prop_bytes(), the number of entries is the number of
unsigned characters contained in the buffer pointed to by prop_data.


For di_path_prop_ints(), the number of entries is the number of
integers contained in the buffer pointed to by prop_data.


For di_path_prop_ints(), the number of entries is the number of
64-bit integers contained in the buffer pointed to by prop_data.


For di_path_prop_strings(), the number of entries is the number of
null-terminated strings contained in the buffer. The strings are
stored in a concatenated format in the buffer.


The di_path_prop_name() function returns the name of the property.


The di_path_prop_type() function can return one of types described in
the Description.

ERRORS


These functions will fail if:

EINVAL
One of the arguments is invalid. For example, the property
type does not match the interface.


ENOTSUP
The snapshot contains no property information.


ENXIO
The path property does not exist.


ATTRIBUTES


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


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

SEE ALSO


di_path_prop_next(3DEVINFO), di_prop_type(3DEVINFO),
libdevinfo(3LIB), attributes(7)


Writing Device Drivers

May 15, 2008 DI_PATH_PROP_BYTES(3DEVINFO)

tribblix@gmail.com :: GitHub :: Privacy