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 illumos 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 illumos 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 illumos DDI
buf DDI/DKI
cb_ops illumos DDI
ddi_device_acc_attr illumos DDI
ddi_dma_attr illumos DDI
ddi_dma_cookie illumos DDI
ddi_dmae_req illumos x86 DDI
ddi_idevice_cookie illumos DDI
ddi_mapdev_ctl illumos DDI
devmap_callback_ctl illumos DDI
dev_ops illumos DDI
iovec DDI/DKI
kstat illumos DDI
kstat_intr illumos DDI
kstat_io illumos DDI
kstat_named illumos DDI
map DDI/DKI
modldrv illumos DDI
modlinkage illumos DDI
modlstrmod illumos DDI
scsi_address illumos DDI
scsi_arq_status illumos DDI
scsi_device illumos DDI
scsi_extended_sense illumos DDI
scsi_hba_tran illumos DDI
scsi_inquiry illumos DDI
scsi_pkt illumos DDI
scsi_status illumos 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.

illumos July 9, 2018 illumos