DI_PROP_BYTES(3DEVINFO) Device Information Library Functions


NAME


di_prop_bytes, di_prop_devt, di_prop_ints, di_prop_name, di_prop_strings,
di_prop_type, di_prop_int64 - access property values and attributes

SYNOPSIS


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

int di_prop_bytes(di_prop_t prop, uchar_t **prop_data);


dev_t di_prop_devt(di_prop_t prop);


int di_prop_ints(di_prop_t prop, int **prop_data);


int di_prop_int64(di_prop_t prop, int64_t **prop_data);


char *di_prop_name(di_prop_t prop);


int di_prop_strings(di_prop_t prop, char **prop_data);


int di_prop_type(di_prop_t prop);


PARAMETERS


prop
Handle to a property returned by di_prop_next(3DEVINFO).


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

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

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

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


DESCRIPTION


These functions access information associated with property values and
attributes. All memory allocated by these functions is managed by the
library and must not be freed by the caller.


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


The di_prop_devt() function returns the dev_t with which this property is
associated. If the value is DDI_DEV_T_NONE, the property is not
associated with any specific minor node.


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


The di_prop_int64() function returns the property data as a series of
64-bit integers.


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


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


The di_prop_type() function returns the type of the property. The type
determines the appropriate interface to access property values. The
following is a list of possible types:

DI_PROP_TYPE_BOOLEAN
There is no interface to call since there is no
property data associated with boolean
properties. The existence of the property
defines a TRUE value.


DI_PROP_TYPE_INT
Use di_prop_ints() to access property data.


DI_PROP_TYPE_INT64
Use di_prop_int64() to access property data.


DI_PROP_TYPE_STRING
Use di_prop_strings() to access property data.


DI_PROP_TYPE_BYTE
Use di_prop_bytes() to access property data.


DI_PROP_TYPE_UNKNOWN
Use di_prop_bytes() to access property data.
Since the type of property is unknown, the
caller is responsible for interpreting the
contents of the data.


DI_PROP_TYPE_UNDEF_IT
The property has been undefined by the driver.
No property data is available.


RETURN VALUES


Upon successful completion, di_prop_bytes(), di_prop_ints(),
di_prop_int64(), and di_prop_strings() return a non-negative value,
indicating the number of entries in the property value buffer. See
di_prom_prop_lookup_bytes(3DEVINFO) for a description of the return
values. Otherwise, -1 is returned and errno is set to indicate the error.


The di_prop_devt() function returns the dev_t value associated with the
property.


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


The di_prop_type() function can return one of types described in the
DESCRIPTION section.

ERRORS


These functions will fail if:

EINVAL
Invalid argument. For example, the property type does not match
the interface.


ATTRIBUTES


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


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

SEE ALSO


di_prom_prop_lookup_bytes(3DEVINFO), di_prop_next(3DEVINFO),
libdevinfo(3LIB), attributes(5)


Writing Device Drivers


March 27, 2001 DI_PROP_BYTES(3DEVINFO)