xref: /illumos-gate/usr/src/man/man3devinfo/di_prop_bytes.3devinfo (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
te
Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DI_PROP_BYTES 3DEVINFO "Mar 27, 2001"
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