Data Structures for Drivers dev_ops(9S) NAME dev_ops - device operations structure SYNOPSIS #include #include 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 This entry point is obsolete. Set to nulldev. 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. SunOS 5.11 Last change: 11 Apr 2003 1 Data Structures for Drivers dev_ops(9S) 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). devo_quiesce Quiesce a device attached to system. See quiesce(9E). Can be set to ddi_quiesce_not_needed(9F) if the driver does not need to implement quiesce, or set to ddi_quiesce_not_supported(9F) if the driver cannot quiesce device to support fast-reboot. 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); int (*devo_quiesce)(dev_info_t *dip); SEE ALSO attach(9E), detach(9E), getinfo(9E), probe(9E), power(9E), quiesce(9E), nodev(9F), ddi_quiesce_not_needed(9F), ddi_quiesce_not_supported(9F)