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 ker-
nel. See Intro(9E) for an overview of device driver inter-
faces.
In Section 9S, reference pages contain the following head-
ings:
o NAME summarizes the purpose of the structure or pro-
perty.
o SYNOPSIS lists the include file that defines the
structure or property.
o INTERFACE LEVEL describes any architecture dependen-
cies.
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 con-
tain 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_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
____________________________________________________________
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.
LIST OF FUNCTIONS
Name Description
aio_req(9S)
asynchronous I/O request structure
buf(9S)
block I/O data transfer structure
cb_ops(9S)
character/block entry points structure
copyreq(9S)
STREAMS data structure for the M_COPYIN and the
M_COPYOUT message 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_dma_lim(9S)
See ddi_dma_lim_sparc(9S)
ddi_dma_lim_sparc(9S)
SPARC DMA limits structure
ddi_dma_lim_x86(9S)
DMA limits structure
ddi_dma_req(9S)
DMA Request structure
ddi_dmae_req(9S)
DMA engine request structure
ddi_idevice_cookie(9S)
device interrupt cookie
ddi_mapdev_ctl(9S)
device mapping-control structure
dev_ops(9S)
device operations structure
devmap_callback_ctl(9S)
device mapping-control structure
fmodsw(9S)
STREAMS module declaration structure
free_rtn(9S)
structure that specifies a driver's message-freeing
routine
gld_mac_info(9S)
Generic LAN Driver MAC info data structure
gld_stats(9S)
Generic LAN Driver statistics data structure
iocblk(9S)
STREAMS data structure for the M_IOCTL message type
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
mblk(9S)
See msgb(9S)
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 struc-
ture
msgb(9S)
STREAMS message block structure
qband(9S)
STREAMS queue flow control information structure
qinit(9S)
STREAMS queue processing procedures 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 structure
scsi_asc_key_strings(9S)
SCSI ASC ASCQ to message structure
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
structure
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
tuple(9S)
card information structure (CIS) access structure
uio(9S)
scatter/gather I/O request structure
Man(1) output converted with
man2html