man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

di_path_prop_type(3DEVINFO)

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>

int di_path_prop_bytes(di_path_prop_t prop, uchar_t **prop_data);
int di_path_prop_ints(di_path_prop_t prop, int **prop_data);
int di_path_prop_int64s(di_path_prop_t prop, int64_t **prop_data);
char *di_path_prop_name(di_path_prop_t prop);
int di_path_prop_strings(di_path_prop_t prop, char **prop_data);
int di_path_prop_type(di_path_prop_t prop);

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_int64s(), 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(5) 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 (5)

Writing Device Drivers for Oracle Solaris 11.2