dev_ops(9S)




NAME

     dev_ops - device operations structure


SYNOPSIS

     #include <sys/conf.h>
     #include <sys/devops.h>


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


DESCRIPTION

     dev_ops contains driver common fields and  pointers  to  the
     bus_ops and cb_ops(9S).

     Following are the device functions provided  in  the  device
     operations  structure.   All  fields  must be set at compile
     time.

          devo_rev
                Driver build version. Set this to DEVO_REV.

          devo_refcnt
                Driver reference count. Set this to 0.

          devo_getinfo
                Get device driver information (see getinfo(9E)).

          devo_identify
                Determine if a driver is associated with  a  dev-
                ice. See identify(9E).

          devo_probe
                Probe device. See probe(9E).

          devo_attach
                Attach driver to dev_info. See attach(9E).

          devo_detach
                Detach/prepare driver to unload. See detach(9E).

          devo_reset
                Reset device. (Not supported  in  this  release.)
                Set this to nodev.

          devo_cb_ops
                Pointer to cb_ops(9S) structure for leaf drivers.

          devo_bus_ops
                Pointer to bus  operations  structure  for  nexus
                drivers.  Set  this to NULL if this is for a leaf
                driver.

          devo_power
                Power a device attached to system. See power(9E).


STRUCTURE MEMBERS

     int              devo_rev;
     int              devo_refcnt;
     int              (*devo_getinfo)(dev_info_t *dip,
                      ddi_info_cmd_t infocmd, void *arg, void **result);
     int              (*devo_identify)(dev_info_t *dip);
     int              (*devo_probe)(dev_info_t *dip);
     int              (*devo_attach)(dev_info_t *dip,
                      ddi_attach_cmd_t cmd);
     int              (*devo_detach)(dev_info_t *dip,
                      ddi_detach_cmd_t cmd);
     int              (*devo_reset)(dev_info_t *dip, ddi_reset_cmd_t cmd);
     struct cb_ops    *devo_cb_ops;
     struct bus_ops   *devo_bus_ops;
     int              (*devo_power)(dev_info_t *dip, int component, int level);


SEE ALSO

     attach(9E),    detach(9E),    getinfo(9E),     identify(9E),
     probe(9E), power(9E), nodev(9F)

     Writing Device Drivers


Man(1) output converted with man2html