di_devid man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

DI_BINDING_NAME(3DEVINFO)			     DI_BINDING_NAME(3DEVINFO)

NAME
       di_binding_name,	    di_bus_addr,     di_compatible_names,    di_devid,
       di_driver_name, di_driver_ops, di_driver_major, di_instance, di_nodeid,
       di_node_name - return libdevinfo node information

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

       char *di_binding_name(di_node_t node);

       char *di_bus_addr(di_node_t node);

       int di_compatible_names(di_node_t node, char **names);

       ddi_devid_t di_devid(di_node_t node);

       char *di_driver_name(di_node_t node);

       uint_t di_driver_ops(di_node_t node);

       int di_driver_major(di_node_t node);

       int di_instance(di_node_t node);

       int di_nodeid(di_node_t node);

       char *di_node_name(di_node_t node);

PARAMETERS
       names
		The address of a pointer.

       node
		A  handle to a device  node.

DESCRIPTION
       These functions extract information associated with a device node.

RETURN VALUES
       The  di_binding_name()  function returns a pointer to the binding name.
       The binding name is the name used by the system to select a driver  for
       the device.

       The  di_bus_addr()  function  returns  a	 pointer  to a null-terminated
       string containing the assigned bus address  for	the  device.  NULL  is
       returned	 if a bus address has not been assigned to the device. A zero-
       length string may be returned and is considered a valid bus address.

       The return value of di_compatible_names() is the number	of  compatible
       names. names is updated to point to a buffer contained within the snap‐
       shot. The buffer contains a concatenation of  null-terminated  strings,
       for example:

	 <name1>/0<name2>/0...<namen>/0

       See  the	 discussion  of	 generic names in Writing Device Drivers for a
       description of how compatible names are	used  by  Solaris  to  achieve
       driver binding for the node.

       The di_devid() function returns the device ID for node, if it is regis‐
       tered. Otherwise, a null pointer is returned. Interfaces in the	libde‐
       vid(3LIB)  library  may	be used to manipulate the handle to the device
       id. This function is obsolete  and  might  be  removed  from  a	future
       Solaris release. Applications should use the "devid" property instead.

       The  di_driver_name()  function returns the name of the driver bound to
       the node. A null pointer is returned if	 node  is  not	bound  to  any
       driver.

       The  di_driver_ops()  function  returns	a  bit array of	 device driver
       entry points that are supported by the driver bound to this node.  Pos‐
       sible  bit  fields  supported  by the driver are DI_CB_OPS, DI_BUS_OPS,
       DI_STREAM_OPS.

       The di_driver_major() function returns the major number associated with
       the driver bound to node. If there is no driver bound to the node, this
       function returns −1.

       The di_instance() function returns the instance number of the device. A
       value  of  -1 indicates an instance number has not been assigned to the
       device by the system.

       The di_nodeid() function returns	 the type of device, which may be  one
       of the following possible values: DI_PSEUDO_NODEID, DI_PROM_NODEID, and
       DI_SID_NODEID. Devices of type DI_PROM_NODEID may have additional prop‐
       erties  that  are  defined by the PROM. See di_prom_prop_data(3DEVINFO)
       and di_prom_prop_lookup_bytes(3DEVINFO).

       The di_node_name() function returns  a  pointer	to  a  null-terminated
       string containing the node name.

EXAMPLES
       See di_init(3DEVINFO) for an example demonstrating typical use of these
       functions.

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

       ┌────────────────────┬───────────────────────────────────┐
       │  ATTRIBUTE TYPE    │	       ATTRIBUTE VALUE		│
       ├────────────────────┼───────────────────────────────────┤
       │Interface Stability │ Evolving (di_devid() is obsolete) │
       ├────────────────────┼───────────────────────────────────┤
       │MT-Level	    │ Safe				│
       └────────────────────┴───────────────────────────────────┘

SEE ALSO
       di_init(3DEVINFO), di_prom_init(3DEVINFO), di_prom_prop_data(3DEVINFO),
       di_prom_prop_lookup_bytes(3DEVINFO),  libdevid(3LIB), libdevinfo(3LIB),
       attributes(5)

       Writing Device Drivers

				 Mar 22, 2004	     DI_BINDING_NAME(3DEVINFO)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net