INTRO(9S) Data Structures for Drivers INTRO(9S)

NAME


Intro, intro - introduction to kernel data structures and properties

DESCRIPTION


Section 9P describes kernel properties used by device drivers. Section 9S
describes the data structures used by drivers to share information between
the driver and the kernel. See Intro(9E) for an overview of device driver
interfaces.

In Section 9S, reference pages contain the following headings:

+o NAME summarizes the purpose of the structure or property.

+o SYNOPSIS lists the include file that defines the structure or
property.

+o INTERFACE LEVEL describes any architecture dependencies.

+o DESCRIPTION provides general information about the structure or
property.

+o STRUCTURE MEMBERS lists all accessible structure members (for
Section 9S).

+o SEE ALSO gives sources for further information.

Of the preceding headings, Section 9P reference pages contain the NAME,
DESCRIPTION, and SEE ALSO fields.

Every driver MUST include <sys/ddi.h> and <sys/sunddi.h>, in that order,
and as final entries.

The following table summarizes the STREAMS structures described in Section
9S.

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.

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_dmae_req Solaris x86 DDI
ddi_idevice_cookie Solaris DDI
ddi_mapdev_ctl Solaris DDI
devmap_callback_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

SEE ALSO


Intro(9E)

NOTES


Do not declare arrays of structures as the size of the structures can
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.

OmniOS July 9, 2018 OmniOS