Data Structures for Drivers                             Intro(9S)

NAME

Intro, intro - introduction to kernel data structures

DESCRIPTION

Section 9S describes the data structures used by drivers to share information between the driver and the kernel. In this section, reference pages contain the following head- ings: o NAME summarizes the structure's purpose. o SYNOPSIS lists the include file that defines the structure. o INTERFACE LEVEL describes any architecture dependen- cies. o DESCRIPTION provides general information about the structure. o STRUCTURE MEMBERS lists all accessible structure members. o SEE ALSO gives sources for further information. Every driver MUST include <sys/ddi.h> and <sys/sunddi.h>, in that order, and last. The following table summarizes the STREAMS structures described in this section. Structure Type copyreq DDI/DKI copyresp DDI/DKI datab DDI/DKI fmodsw Solaris DDI free_rtn DDI/DKI iocblk DDI/DKI linkblk DDI/DKI module_info DDI/DKI msgb DDI/DKI qband DDI/DKI qinit DDI/DKI queclass Solaris DDI queue DDI/DKI streamtab DDI/DKI stroptions DDI/DKI The following table summarizes structures that are not specific to STREAMS I/O. SunOS 5.8 Last change: 28 Jan 1994 1 Data Structures for Drivers Intro(9S) Structure Type aio_req Solaris DDI buf DDI/DKI cb_ops Solaris DDI ddi_device_acc_attr Solaris DDI ddi_dma_attr Solaris DDI ddi_dma_cookie Solaris DDI ddi_dma_lim_sparc Solaris SPARC DDI ddi_dma_lim_x86 Solaris x86 DDI ddi_dma_req Solaris DDI ddi_dmae_req Solaris x86 DDI ddi_idevice_cookie Solaris DDI ddi_mapdev_ctl Solaris DDI dev_ops Solaris DDI iovec DDI/DKI kstat Solaris DDI kstat_intr Solaris DDI kstat_io Solaris DDI kstat_named Solaris DDI map DDI/DKI modldrv Solaris DDI modlinkage Solaris DDI modlstrmod Solaris DDI scsi_address Solaris DDI scsi_arq_status Solaris DDI scsi_device Solaris DDI scsi_extended_sense Solaris DDI scsi_hba_tran Solaris DDI scsi_inquiry Solaris DDI scsi_pkt Solaris DDI scsi_status Solaris DDI uio DDI/DKI

NOTES

Do not declare arrays of structures as the size of the structures may change between releases. Rely only on the structure members listed in this chapter and not on unlisted members or the position of a member in a structure. SunOS 5.8 Last change: 28 Jan 1994 2 Data Structures for Drivers Intro(9S)

LIST OF STRUCTURES

Name Description aio_req(9S) asynchronous I/O request struc- ture buf(9S) block I/O data transfer struc- ture cb_ops(9S) character/block entry points structure copyreq(9S) STREAMS data structure for the M_COPYIN and the M_COPYOUT mes- sage types copyresp(9S) STREAMS data structure for the M_IOCDATA message type datab(9S) STREAMS message data structure ddi_device_acc_attr(9S) data access attributes structure ddi_dma_attr(9S) DMA attributes structure ddi_dma_cookie(9S) DMA address cookie ddi_dmae_req(9S) DMA engine request structure ddi_dma_lim(9S) See ddi_dma_lim_sparc(9S) ddi_dma_lim_sparc(9S) SPARC DMA limits structure ddi_dma_lim_x86(9S) x86 DMA limits structure ddi_dma_req(9S) DMA Request structure ddi_idevice_cookie(9S) device interrupt cookie ddi_mapdev_ctl(9S) device mapping-control structure dev_ops(9S) device operations structure fmodsw(9S) STREAMS module declaration structure free_rtn(9S) structure that specifies a driver's message freeing routine iocblk(9S) STREAMS data structure for the M_IOCTL message type SunOS 5.8 Last change: 28 Jan 1994 3 Data Structures for Drivers Intro(9S) iovec(9S) data storage structure for I/O using uio kstat(9S) kernel statistics structure kstat_intr(9S) structure for interrupt kstats kstat_io(9S) structure for I/O kstats kstat_named(9S) structure for named kstats linkblk(9S) STREAMS data structure sent to multiplexor drivers to indicate a link modldrv(9S) linkage structure for loadable drivers modlinkage(9S) module linkage structure modlstrmod(9S) linkage structure for loadable STREAMS modules module_info(9S) STREAMS driver identification and limit value structure msgb(9S) STREAMS message block structure qband(9S) STREAMS queue flow control information structure qinit(9S) STREAMS queue processing pro- cedures structure queclass(9S) a STREAMS macro that returns the queue message class definitions for a given message block queue(9S) STREAMS queue structure scsi_address(9S) SCSI address structure scsi_arq_status(9S) SCSI auto request sense struc- ture scsi_device(9S) SCSI device structure scsi_extended_sense(9S) SCSI extended sense structure scsi_hba_tran(9S) SCSI Host Bus Adapter (HBA) driver transport vector struc- ture SunOS 5.8 Last change: 28 Jan 1994 4 Data Structures for Drivers Intro(9S) scsi_inquiry(9S) SCSI inquiry structure scsi_pkt(9S) SCSI packet structure scsi_status(9S) SCSI status structure streamtab(9S) STREAMS entity declaration structure stroptions(9S) options structure for M_SETOPTS message uio(9S) scatter/gather I/O request structure SunOS 5.8 Last change: 28 Jan 1994 5

Solaris Man Pages


© 1994 Man-cgi 1.15S, Panagiotis Christias <christia@theseas.ntua.gr>
1995 Modified for Solaris 2.3, David Adams, <d.j.adams@soton.ac.uk>