DI_PROP_LOOKUP_BYTES(3DEVINFO) Device Information Library Functions

NAME


di_prop_lookup_bytes, di_prop_lookup_ints, di_prop_lookup_int64,
di_prop_lookup_strings - search for a property

SYNOPSIS


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

int di_prop_lookup_bytes(dev_t dev, di_node_t node,
const char *prop_name, uchar_t **prop_data);


int di_prop_lookup_ints(dev_t dev, di_node_t node,
const char *prop_name, int **prop_data);


int di_prop_lookup_int64(dev_t dev, di_node_t node,
const char *prop_name, int64_t **prop_data);


int di_prop_lookup_strings(dev_t dev, di_node_t node,
const char *prop_name, char **prop_data);


PARAMETERS


dev
dev_t of minor node with which the property is associated.
DDI_DEV_T_ANY is a wild card that matches all dev_t's,
including DDI_DEV_T_NONE.


node
Handle to the device node with which the property is
associated.


prop_data
For di_prop_lookup_bytes(), the address to a pointer to an
array of unsigned characters containing the property data.

For di_prop_lookup_ints(), the address to a pointer to an
array of integers containing the property data.

For di_prop_lookup_int64(), the address to a pointer to an
array of 64-bit integers containing the property data.

For di_prop_lookup_strings(), the address to a pointer to a
buffer containing a concatenation of null-terminated strings
containing the property data.


prop_name
Name of the property for which to search.


DESCRIPTION


These functions return the value of a known property name type and dev_t
value. All memory allocated by these functions is managed by the library
and must not be freed by the caller.

RETURN VALUES


If the property is found, the number of entries in prop_data is returned.
If the property is a boolean type, 0 is returned and the existence of
this property indicates the value is true. Otherwise, -1 is returned and
errno is set to indicate the error.

ERRORS


These functions will fail if:

EINVAL
Invalid argument.


ENOTSUP
The snapshot contains no property information.


ENXIO
The property does not exist; try di_prom_prop_lookup_*().


ATTRIBUTES


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


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

SEE ALSO


di_init(3DEVINFO), di_prom_prop_lookup_bytes(3DEVINFO), libdevinfo(3LIB),
attributes(7)


Writing Device Drivers

March 26, 2001 DI_PROP_LOOKUP_BYTES(3DEVINFO)