man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

di_prop_lookup_strings(3DEVINFO)

Name

di_prop_lookup_bytes, di_prop_lookup_ints, di_prop_lookup_int64, di_prop_lookup_strings, di_prop_exists - 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);
int di_prop_exists(dev_t dev, di_node_t node,
     const char *prop_name);

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.

The ddi_prop_exists() returns 1 if a property, including a boolean property, exists, and 0 otherwise.

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(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe

See Also

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

Writing Device Drivers for Oracle Solaris 11.2