Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../.././../../../usr/man/man9f/ddi_dma_nextcookie.9f
Real path: /usr/share/man/man9f/ddi_dma_nextcookie.9f
Zurück
'\" te .\" Copyright (c) 1994, Oracle and/or its affiliates. All rights reserved. .TH ddi_dma_nextcookie 9F "26 Sep 1994" "Oracle Solaris 11.4" "Kernel Functions" .SH NAME ddi_dma_nextcookie \- retrieve subsequent DMA cookie .SH SYNOPSIS .LP .nf #include <sys/ddi.h> #include <sys/sunddi.h> \fBvoid\fR \fBddi_dma_nextcookie\fR(\fBddi_dma_handle_t\fR \fIhandle\fR, \fBddi_dma_cookie_t *\fR\fIcookiep\fR); .fi .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIhandle\fR\fR .ad .RS 11n .rt The handle previously allocated by a call to \fBddi_dma_alloc_handle\fR(9F). .RE .sp .ne 2 .mk .na \fB\fIcookiep\fR\fR .ad .RS 11n .rt A pointer to a \fBddi_dma_cookie\fR(9S) structure. .RE .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI). .SH DESCRIPTION .sp .LP \fBddi_dma_nextcookie()\fR retrieves subsequent \fBDMA\fR cookies for a \fBDMA\fR object. \fBddi_dma_nextcookie()\fR fills in the \fBddi_dma_cookie\fR(9S) structure pointed to by \fIcookiep\fR. The \fBddi_dma_cookie\fR(9S) structure must be allocated prior to calling \fBddi_dma_nextcookie()\fR. .sp .LP The \fBDMA\fR cookie count returned by \fBddi_dma_buf_bind_handle\fR(9F), \fBddi_dma_addr_bind_handle\fR(9F), or \fBddi_dma_getwin\fR(9F) indicates the number of \fBDMA\fR cookies a \fBDMA\fR object consists of. If the resulting cookie count, \fIN\fR, is larger than 1, \fBddi_dma_nextcookie()\fR must be called \fIN\fR-1 times to retrieve all \fBDMA\fR cookies. .SH CONTEXT .sp .LP \fBddi_dma_nextcookie()\fR can be called from user, kernel, or interrupt context. .SH EXAMPLES .LP \fBExample 1\fR Process a scatter-gather list of I/O requests. .sp .LP This example demonstrates the use of \fBddi_dma_nextcookie()\fR to process a scatter-gather list of I/O requests. .sp .in +2 .nf /* setup scatter-gather list with multiple DMA cookies */ ddi_dma_cookie_t dmacookie; uint_t ccount; \&... status = ddi_dma_buf_bind_handle(handle, bp, DDI_DMA_READ, NULL, NULL, &dmacookie, &ccount); if (status == DDI_DMA_MAPPED) { /* program DMA engine with first cookie */ while (--ccount > 0) { ddi_dma_nextcookie(handle, &dmacookie); /* program DMA engine with next cookie */ } } \&... .fi .in -2 .sp .SH SEE ALSO .sp .LP \fBddi_dma_addr_bind_handle\fR(9F), \fBddi_dma_alloc_handle\fR(9F), \fBddi_dma_buf_bind_handle\fR(9F), \fBddi_dma_unbind_handle\fR(9F), \fBddi_dma_cookie\fR(9S) .sp .LP \fIWriting Device Drivers in Oracle Solaris 11.4\fR