man Pages(9S): DDI and DKI Data Structures
この本のみを検索
PDF 文書ファイルをダウンロードする

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 headings:
NAME summarizes the structure's purpose.
SYNOPSIS lists the include file that defines the structure.
INTERFACE LEVEL describes any architecture dependencies.
DESCRIPTION provides general information about the structure.
STRUCTURE MEMBERS lists all accessible structure members.
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
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
buf
DDI/DKI
cb_ops
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_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.
Name                   Appears on Page             Description

buf
buf(9S)
block I/O data transfer structure
cb_ops                 cb_ops(9S)                  character/block entry points
                                                   structure
copyreq                copyreq(9S)                 STREAMS data structure for the

M_COPYIN and the M_COPYOUT
message types.
copyresp
copyresp(9S)
STREAMS data structure for the
M_IOCDATA message type
datab                  datab(9S)                   STREAMS message data structure
ddi_dma_cookie         ddi_dma_cookie(9S)          DMA address cookie
ddi_dma_lim            ddi_dma_lim_sparc(9S)       SPARC DMA limits structure
ddi_dma_lim_sparc      ddi_dma_lim_sparc(9S)       SPARC DMA limits structure
ddi_dma_lim_x86        ddi_dma_lim_x86(9S)         x86 DMA limits structure
ddi_dma_req            ddi_dma_req(9S)             DMA Request structure
ddi_dmae_req           ddi_dmae_req(9S)            DMA engine request structure
ddi_mapdev_ctl         ddi_mapdev_ctl(9S)          device mapping-control structure
dev_ops                dev_ops(9S)                 device operations structure
fmodsw                 fmodsw(9S)                  STREAMS module declaration
                                                   structure

free_rtn
free_rtn(9S)
structure that specifies a driver's
message freeing routine
iocblk
iocblk(9S)
STREAMS data structure for the
M_IOCTL message type
iovec
iovec(9S)
data storage structure for I/O
using uio
kstat                  kstat(9S)                   kernel statistics structure
kstat_intr             kstat_intr(9S)              structure for interrupt kstats
kstat_io               kstat_io(9S)                structure for I/O kstats
kstat_named            kstat_named(9S)             structure for named kstats
modldrv                modldrv(9S)                 linkage structure for loadable
                                                   drivers
modlinkage             modlinkage (9S)             module linkage structure
modlstrmod             modlstrmod(9S)              linkage structure for loadable

STREAMS modules
module_info
module_info(9S)
STREAMS driver identification and
limit value structure
msgb                   msgb (9S)                   STREAMS message block structure
qband                  qband(9S)                   STREAMS queue flow control

information structure
qinit
qinit(9S)
STREAMS queue processing procedures
structure
queclass
queclass(9S)
a STREAMS macro that returns the
queue message class definitions for
a given message block
queue                  queue(9S)                   STREAMS queue structure
scsi_address           scsi_address(9S)            SCSI address structure
scsi_arq_status        scsi_arq_status(9S)         SCSI auto request sense structure
scsi_device            scsi_device(9S)             SCSI device structure
scsi_extended_sense    scsi_extended_sense(9S)     SCSI extended sense structure
scsi_hba_tran          scsi_hba_tran(9S)           SCSI Host Bus Adapter (HBA) driver

transport vector structure
scsi_inquiry           scsi_inquiry(9S)            SCSI device structure
scsi_pkt               scsi_pkt(9S)                SCSI packet structure
scsi_status            scsi_status(9S)             SCSI status structure
streamtab              streamtab(9S)               STREAMS entity declaration
                                                   structure
stroptions             stroptions(9S)              options structure for M_SETOPTS
                                                   message
uio                    uio (9S)                    scatter/gather I/O request
                                                   structure