.\" @(#)index	40.6 /doccenter/unix_docs/src/doc/ddi_dki/s.index 89/12/19 40.6 12:07:56
.BK "DDI/DKI Reference Manual" "" "" "DDRM"   
.\"  XX macro marks new index entry.
.de XX
.	br
.	ti 0
.	ne 2
.	vs 12
\s10\f1\\$1\0 \s8\fH\\$2\f1
..
.\"  header between letters of the alphabet
.de YY
.	sp 2
.	ne 4
\fH\s16\\$2\s0\f1
.	sp 0.5
..
.\"  markup surrounding book acronym
.ds B{
.ds }B
.\"  markup surrounding chapter number
.ds C{ " 
.ds }C :\ 
.vs 12
.ps 8
.CH "Index" I 
.H 1 "Index"
.2C
.in +2
.\" SCCS path name:	/doc/DMG/Projects/Indexing/sccs/bin/s.index.head
.\" SCCS version SID:	1.5
.\" Date this version:	89/09/16
.\" Time this version:	17:27:45
.YY a A
.XX "\&\f4adjmsg\fP(D3DK)" "\*(C{3\*(}C7"
.XX "\&\f4allocb\fP(D3DK)" "\*(C{3\*(}C8"
.XX "\&\0 example" "\*(C{3\*(}C9, 23"
.YY b B
.XX "\&\f4backq\fP(D3DK)" "\*(C{3\*(}C10"
.XX "\&\f4bcanput\fP(D3DK)" "\*(C{3\*(}C11"
.XX "\&\f4bcopy\fP(D3DK)" "\*(C{3\*(}C12"
.XX "\&\f4biodone\fP(D3DK)" "\*(C{3\*(}C14"
.XX "\&\f4biowait\fP(D3DK)" "\*(C{3\*(}C16"
.XX "\&block I/O" "\*(C{3\*(}C4\-6"
.XX "\&\0 \f4buf\fP(D4DK)" "\*(C{4\*(}C3"
.XX "\&\0 \f4iovec\fP(D4DK)" "\*(C{4\*(}C11"
.XX "\&\0 \f4uio\fP(D4DK)" "\*(C{4\*(}C19"
.XX "\&\f4bp_mapin\fP(D3DK)" "\*(C{3\*(}C17"
.XX "\&\f4bp_mapout\fP(D3DK)" "\*(C{3\*(}C18"
.XX "\&\f4brelse\fP(D3DK)" "\*(C{3\*(}C19"
.XX "\&\f4btop\fP(D3DK)" "\*(C{3\*(}C20"
.XX "\&\f4btopr\fP(D3DK)" "\*(C{3\*(}C21"
.XX "\&\f4bufcall\fP(D3DK)" "\*(C{3\*(}C22"
.XX "\&\0 example" "\*(C{3\*(}C22"
.XX "\&\f4buf\fP(D4DK)" "\*(C{3\*(}C26, \*(C{4\*(}C3"
.XX "\&\0 example" "\*(C{3\*(}C12, 40"
.XX "\&buffer header" "\*(C{3\*(}C60, 67"
.XX "\&\0 \f4buf\fP(D4DK)" "\*(C{4\*(}C3"
.XX "\&buffers, for raw I/O" "\*(C{3\*(}C6"
.XX "\&\f4bzero\fP(D3DK)" "\*(C{3\*(}C24"
.YY c C
.XX "\&\f4canput\fP(D3DK)" "\*(C{3\*(}C25"
.XX "\&\0 example" "\*(C{3\*(}C22\-23, 30, 49"
.XX "\&\f4chpoll\f1(D2DK)" "\*(C{2\*(}C4"
.XX "\&clock cycles" "\*(C{3\*(}C38"
.XX "\&\f4close\fP(D2DK)" "\*(C{2\*(}C6"
.XX "\&\f4clrbuf\fP(D3DK)" "\*(C{3\*(}C26"
.XX "\&\f4cmn_err\fP(D3DK)" "\*(C{2\*(}C19, \*(C{3\*(}C27"
.XX "\&\0 example" "\*(C{3\*(}C28, 38, 64, 100"
.XX "\&\f4copyb\fP(D3DK)" "\*(C{3\*(}C30"
.XX "\&\0 example" "\*(C{3\*(}C30"
.XX "\&\f4copyin\fP(D3DK)" "\*(C{3\*(}C32"
.XX "\&\f4copymsg\fP(D3DK)" "\*(C{3\*(}C33"
.XX "\&\0 example" "\*(C{3\*(}C33"
.XX "\&\f4copyout\fP(D3DK)" "\*(C{3\*(}C35"
.XX "\&\0 example" "\*(C{3\*(}C35"
.XX "\&CRC (Cyclic Redundancy Check)" "\*(C{4\*(}C10"
.XX "\&\f4cred\fP(D4DK)" "\*(C{4\*(}C7"
.XX "\&Cyclic Redundancy Check (CRC)" "\*(C{4\*(}C10"
.YY d D
.XX "\&\f4datab\fP(D4DK)" "\*(C{3\*(}C8, 48, \*(C{4\*(}C8"
.XX "\&\0 structure members" "\*(C{4\*(}C8"
.XX "\&\f4datamsg\fP(D3DK)" "\*(C{3\*(}C37"
.XX "\&\0 example" "\*(C{3\*(}C37"
.XX "\&DDI/DKI (Device Driver Interface/Driver\(enKernel Interface)" "\*(C{1\*(}C1\-5"
.XX "\&\0 data structures" "\*(C{4\*(}C1\-2"
.XX "\&\0 driver entry point routines" "\*(C{2\*(}C1\-3"
.XX "\&\0 error codes" "\*(C{A\*(}C1\-2"
.XX "\&\0 kernel functions" "\*(C{3\*(}C1\-6"
.XX "\&\0 migration from Release 3.2 to Release 4.0" "\*(C{B\*(}C1\-5"
.XX "\&\f4delay\fP(D3DK)" "\*(C{3\*(}C38"
.XX "\&\0 example" "\*(C{3\*(}C38"
.XX "\&Device Driver Interface (see DDI/DKI)" ""
.XX "\&Direct Memory Access (DMA)" "\*(C{3\*(}C40"
.XX "\&DKI (Driver\(enKernel Interface) (see DDI/DKI)" ""
.XX "\&DMA (Direct Memory Access)" "\*(C{3\*(}C40"
.XX "\&\f4dma_pageio\fP(D3D)" "\*(C{3\*(}C40"
.XX "\&\0 example" "\*(C{3\*(}C40"
.XX "\&driver" ""
.XX "\&\0 block" "\*(C{3\*(}C4\-6"
.XX "\&\0 entry points" "\*(C{2\*(}C1\-3"
.XX "\&\0 functions" "\*(C{3\*(}C1\-6"
.XX "\&\0 porting" "\*(C{1\*(}C2"
.XX "\&\0 STREAMS" "\*(C{3\*(}C2\-3"
.XX "\&\0 structures" "\*(C{4\*(}C1\-2"
.XX "\&Driver\(enKernel Interface (see DDI/DKI)" ""
.XX "\&\f4drv_getparm\fP(D3DK)" "\*(C{3\*(}C42"
.XX "\&\f4drv_hztousec\fP(D3DK)" "\*(C{3\*(}C44"
.XX "\&\f4drv_priv\fP(D3DK)" "\*(C{3\*(}C45"
.XX "\&\f4drv_usectohz\fP(D3DK)" "\*(C{3\*(}C46"
.XX "\&\f4drv_usecwait\fP(D3DK)" "\*(C{3\*(}C47"
.XX "\&\f4dupb\fP(D3DK)" "\*(C{3\*(}C48"
.XX "\&\0 example" "\*(C{3\*(}C49"
.XX "\&\f4dupmsg\fP(D3DK)" "\*(C{3\*(}C50"
.XX "\&\0 example" "\*(C{3\*(}C30"
.YY e E
.XX "\&ECC (Error Check or Correction)" "\*(C{4\*(}C10"
.XX "\&\f4enableok\fP(D3DK)" "\*(C{3\*(}C51"
.XX "\&\0 example" "\*(C{3\*(}C51"
.XX "\&Error Check or Correction (ECC)" "\*(C{4\*(}C10"
.XX "\&\f4esballoc\fP(D3DK)" "\*(C{3\*(}C52"
.XX "\&\f4esbbcall\fP(D3DK)" "\*(C{3\*(}C53"
.XX "\&\f4etoimajor\fP(D3D)" "\*(C{3\*(}C54"
.YY f F
.XX "\&\f4flushband\fP(D3DK)" "\*(C{3\*(}C55"
.XX "\&\f4flushq\fP(D3DK)" "\*(C{3\*(}C56"
.XX "\&\0 example" "\*(C{3\*(}C56, 106"
.XX "\&\f4freeb\fP(D3DK)" "\*(C{3\*(}C58"
.XX "\&\0 example" "\*(C{3\*(}C30, 117, 134"
.XX "\&\f4freemsg\fP(D3DK)" "\*(C{3\*(}C59"
.XX "\&\0 example" "\*(C{3\*(}C33, 97, 118"
.XX "\&\f4freerbuf\fP(D3DK)" "\*(C{3\*(}C60"
.XX "\&\f4free_rtn\fP(D4DK)" "\*(C{4\*(}C9"
.YY g G
.XX "\&\f4getemajor\fP(D3D)" "\*(C{3\*(}C61"
.XX "\&\f4geteminor\fP(D3D)" "\*(C{3\*(}C62"
.XX "\&\f4getmajor\fP(D3DK)" "\*(C{3\*(}C64"
.XX "\&\0 example" "\*(C{3\*(}C64"
.XX "\&\f4getminor\fP(D3DK)" "\*(C{3\*(}C65"
.XX "\&\0 example" "\*(C{3\*(}C28, 38, 40, 71"
.XX "\&\f4getq\fP(D3DK)" "\*(C{3\*(}C66"
.XX "\&\0 example" "\*(C{3\*(}C22, 49, 97"
.XX "\&\f4getrbuf\fP(D3DK)" "\*(C{3\*(}C67"
.XX "\&\f4getvec\fP(D3D)" "\*(C{3\*(}C68"
.XX "\&\0 example" "\*(C{3\*(}C68"
.YY h H
.XX "\&\f4hat_getkpfnum\fP(D3K)" "\*(C{3\*(}C69"
.XX "\&\f4hdedata\fP(D4D)" "\*(C{4\*(}C10"
.XX "\&\0 example" "\*(C{3\*(}C71, 73"
.XX "\&\f4hdeeqd\fP(D3D)" "\*(C{3\*(}C70, \*(C{4\*(}C10"
.XX "\&\0 example" "\*(C{3\*(}C71"
.XX "\&\f4hdelog\fP(D3D)" "\*(C{3\*(}C73, \*(C{4\*(}C10"
.XX "\&\0 example" "\*(C{3\*(}C73"
.XX "\&HZ (clock cycles)" "\*(C{3\*(}C38"
.YY i I
.XX "\&\f4init\fP(D2D)" "\*(C{2\*(}C9"
.XX "\&\0 example" "\*(C{3\*(}C68"
.XX "\&\f4insq\fP(D3DK)" "\*(C{3\*(}C76"
.XX "\&\0 example" "\*(C{3\*(}C76"
.XX "\&\f4int\fP(D2D)" "\*(C{2\*(}C10"
.XX "\&\f4ioctl\fP(D2DK)" "\*(C{2\*(}C12"
.XX "\&\0 example" "\*(C{3\*(}C35"
.XX "\&\f4iovec\fP(D4DK)" "\*(C{4\*(}C11"
.XX "\&\f4itoemajor\fP(D3D)" "\*(C{3\*(}C78"
.YY k K
.XX "\&kernel, data copy in" "\*(C{3\*(}C12"
.XX "\&\f4kmem_alloc\fP(D3DK)" "\*(C{3\*(}C79"
.XX "\&\f4kmem_free\fP(D3DK)" "\*(C{3\*(}C80"
.XX "\&\f4kmem_zalloc\fP(D3DK)" "\*(C{3\*(}C81"
.XX "\&\f4kvtophys\fP(D3D)" "\*(C{3\*(}C82"
.YY l L
.XX "\&\f4linkb\fP(D3DK)" "\*(C{3\*(}C83"
.XX "\&\0 example" "\*(C{3\*(}C8, 49"
.YY m M
.XX "\&major device number" "\*(C{3\*(}C54, 78"
.XX "\&\0 external" "\*(C{3\*(}C61"
.XX "\&\0 internal" "\*(C{3\*(}C64"
.XX "\&\f4makedevice\fP(D3DK)" "\*(C{3\*(}C84"
.XX "\&\f4map\fP(D4D)" "\*(C{4\*(}C12"
.XX "\&\f4max\fP(D3DK)" "\*(C{3\*(}C85"
.XX "\&memory, clear" "\*(C{3\*(}C24"
.XX "\&message block descriptor" "\*(C{3\*(}C48"
.XX "\&message (STREAMS)" "\*(C{3\*(}C8, 11, 25"
.XX "\&\0 block" "\*(C{3\*(}C49, 59"
.XX "\&\f4min\fP(D3DK)" "\*(C{3\*(}C86"
.XX "\&minor device number" ""
.XX "\&\0 external" "\*(C{3\*(}C62"
.XX "\&\0 internal" "\*(C{3\*(}C65"
.XX "\&\f4mmap\fP(D2K)" "\*(C{2\*(}C16"
.XX "\&\f4module_info\fP(D4DK)" "\*(C{4\*(}C13"
.XX "\&\f4msgb\fP(D4DK)" "\*(C{3\*(}C8, 48, \*(C{4\*(}C14"
.XX "\&\0 example" "\*(C{3\*(}C8, 97, 106, 117\-118"
.XX "\&\f4msgdsize\fP(D3DK)" "\*(C{3\*(}C87"
.XX "\&\0 example" "\*(C{3\*(}C22"
.YY n N
.XX "\&\f4noenable\fP(D3DK)" "\*(C{3\*(}C88"
.YY o O
.XX "\&\f4open\fP(D2DK)" "\*(C{2\*(}C17"
.XX "\&\f4OTHERQ\fP(D3DK)" "\*(C{3\*(}C89"
.XX "\&\0 example" "\*(C{3\*(}C89"
.YY p P
.XX "\&page fault" "\*(C{3\*(}C32"
.XX "\&panic" "\*(C{3\*(}C27\-28"
.XX "\&\f4physiock\fP(D3DK)" "\*(C{3\*(}C92"
.XX "\&\0 example" "\*(C{3\*(}C40"
.XX "\&\f4pollwakeup\f1(D3DK)" "\*(C{3\*(}C95"
.XX "\&\f4print\fP(D2DK)" "\*(C{2\*(}C19"
.XX "\&\f4ptob\fP(D3DK)" "\*(C{3\*(}C96"
.XX "\&\f4pullupmsg\fP(D3DK)" "\*(C{3\*(}C97"
.XX "\&\0 example" "\*(C{3\*(}C97"
.XX "\&\f4putbq\fP(D3DK)" "\*(C{3\*(}C99"
.XX "\&\0 example" "\*(C{3\*(}C22\-23, 49, 130"
.XX "\&\f4putctl1\fP(D3DK)" "\*(C{3\*(}C102"
.XX "\&\0 example" "\*(C{3\*(}C100"
.XX "\&\f4putctl\fP(D3DK)" "\*(C{3\*(}C100"
.XX "\&\0 example" "\*(C{3\*(}C100"
.XX "\&\f4put\fP(D2DK)" "\*(C{2\*(}C20"
.XX "\&\0 example" "\*(C{3\*(}C56"
.XX "\&\f4putnext\fP(D3DK)" "\*(C{3\*(}C103"
.XX "\&\0 example" "\*(C{3\*(}C8\-9, 22\-23, 30, 49, 56"
.XX "\&\f4putq\fP(D3DK)" "\*(C{3\*(}C104"
.XX "\&\0 example" "\*(C{3\*(}C37, 76"
.YY q Q
.XX "\&\f4qband\fP(D4DK)" "\*(C{4\*(}C15"
.XX "\&\f4qenable\fP(D3DK)" "\*(C{3\*(}C105"
.XX "\&\0 example" "\*(C{3\*(}C22\-23, 49, 51, 130"
.XX "\&\f4qinit\fP(D4DK)" "\*(C{4\*(}C16"
.XX "\&\f4qreply\fP(D3DK)" "\*(C{3\*(}C106"
.XX "\&\f4qsize\fP(D3DK)" "\*(C{3\*(}C108"
.XX "\&\f4queue\fP(D4DK)" "\*(C{4\*(}C17"
.XX "\&\0 example" "\*(C{3\*(}C49, 51, 56, 97, 100, 106, 118"
.YY r R
.XX "\&raw I/O" "\*(C{3\*(}C6"
.XX "\&\f4RD\fP(D3DK)" "\*(C{3\*(}C109"
.XX "\&\0 example" "\*(C{3\*(}C8\-9, 56, 106"
.XX "\&\f4read\fP(D2DK)" "\*(C{2\*(}C22, \*(C{3\*(}C35"
.XX "\&\0 example" "\*(C{3\*(}C40"
.XX "\&\f4rmalloc\fP(D3DK)" "\*(C{3\*(}C110"
.XX "\&\0 example" "\*(C{3\*(}C112"
.XX "\&\f4rmfree\fP(D3DK)" "\*(C{3\*(}C114"
.XX "\&\f4rminit\fP(D3DK)" "\*(C{3\*(}C115"
.XX "\&\f4rmsetwant\fP(D3DK)" "\*(C{3\*(}C116"
.XX "\&\0 example" "\*(C{3\*(}C112"
.XX "\&\f4rmvb\fP(D3DK)" "\*(C{3\*(}C117"
.XX "\&\0 example" "\*(C{3\*(}C117"
.XX "\&\f4rmvq\fP(D3DK)" "\*(C{3\*(}C118"
.XX "\&\0 example" "\*(C{3\*(}C118"
.XX "\&\f4rmwant\fP(D3DK)" "\*(C{3\*(}C120"
.YY s S
.XX "\&\f4SAMESTR\fP(D3DK)" "\*(C{3\*(}C121"
.XX "\&scatter/gather I/O" "\*(C{4\*(}C19"
.XX "\&\f4segmap\fP(D2K)" "\*(C{2\*(}C23"
.XX "\&\f4size\fP(D2D)" "\*(C{2\*(}C25"
.XX "\&\f4sleep\fP(D3DK)" "\*(C{3\*(}C122"
.XX "\&\f4spl\fP(D3D)" "\*(C{3\*(}C125"
.XX "\&\0 during DMA" "\*(C{3\*(}C40"
.XX "\&\f4srv\fP(D2DK)" "\*(C{2\*(}C26"
.XX "\&\0 example" "\*(C{3\*(}C22, 130"
.XX "\&\f4start\fP(D2D)" "\*(C{2\*(}C28"
.XX "\&\f4strategy\fP(D2DK)" "\*(C{2\*(}C29, \*(C{4\*(}C3"
.XX "\&\0 example" "\*(C{3\*(}C40"
.XX "\&STREAMS entry points" "\*(C{2\*(}C1\-3"
.XX "\&STREAMS functions" "\*(C{3\*(}C2\-3"
.XX "\&STREAMS message blocks" "\*(C{3\*(}C8\-9, 48, 50, 58\-59"
.XX "\&STREAMS message queues" "\*(C{3\*(}C10\-11, 25, 51"
.XX "\&STREAMS messages" "\*(C{3\*(}C7, 33, 37, 55\-56, 87"
.XX "\&STREAMS structures" "\*(C{4\*(}C1\-2"
.XX "\&\f4streamtab\fP(D4DK)" "\*(C{4\*(}C18"
.XX "\&\f4strlog\fP(D3DK)" "\*(C{3\*(}C127"
.XX "\&\f4strqget\fP(D3DK)" "\*(C{3\*(}C128"
.XX "\&\f4strqset\fP(D3DK)" "\*(C{3\*(}C129"
.YY t T
.XX "\&\f4testb\fP(D3DK)" "\*(C{3\*(}C130"
.XX "\&\0 example" "\*(C{3\*(}C130"
.XX "\&\f4timeout\fP(D3DK)" "\*(C{3\*(}C132"
.XX "\&\0 example" "\*(C{3\*(}C22\-23, 49, 130, 135"
.YY u U
.XX "\&\f4uio\fP(D4DK)" "\*(C{4\*(}C19"
.XX "\&\f4uiomove\fP(D3DK)" "\*(C{3\*(}C133"
.XX "\&\f4unlinkb\fP(D3DK)" "\*(C{3\*(}C134"
.XX "\&\0 example" "\*(C{3\*(}C134"
.XX "\&\f4untimeout\fP(D3DK)" "\*(C{3\*(}C135"
.XX "\&\0 example" "\*(C{3\*(}C135"
.XX "\&\f4ureadc\fP(D3DK)" "\*(C{3\*(}C138"
.XX "\&\f4useracc\fP(D3DK)" "\*(C{3\*(}C139"
.XX "\&\f4uwritec\fP(D3DK)" "\*(C{3\*(}C140"
.YY v V
.XX "\&\f4vtop\fP(D3D)" "\*(C{3\*(}C141"
.YY w W
.XX "\&\f4wakeup\fP(D3DK)" "\*(C{3\*(}C142"
.XX "\&\0 example" "\*(C{3\*(}C135"
.XX "\&\f4WR\fP(D3DK)" "\*(C{3\*(}C143"
.XX "\&\0 example" "\*(C{3\*(}C143"
.XX "\&\f4write\fP(D2DK)" "\*(C{2\*(}C30, \*(C{3\*(}C35"
.XX "\&\0 example" "\*(C{3\*(}C40"
