program a DMA operation for a subsequent hardware request
int dma_prog(struct dma_cb *dmacbptr, int chan, uchar_t mode);
dma_prog programs the
ISA, EISA, or MCA
DMA channel chan for the
operation specified by the DMA command block whose address
is given by dmacbptr.
Pointer to the DMA command block
that specifies the DMA operation.
DMA channel over which the operation is to take place.
Specifies whether the caller is willing to sleep waiting
to allocate desired DMA channel.
dma_prog returns the value TRUE upon
successful completion and returns the value FALSE
dma_prog does not initiate the DMA transfer.
Instead, the transfer will be initiated by a subsequent request from hardware.
The hardware request will be recognized only if the channel
has been enabled via
call to dma_prog.
In order to program the operation, dma_prog requires
exclusive use of the specified DMA channel.
The caller may specify, via the mode argument,
whether or not dma_prog should sleep
waiting for a busy channel to become available.
If the specified channel is in use, and mode is set to
DMA_SLEEP, then dma_prog will sleep until the
channel becomes available for its use.
Otherwise, if DMA_NOSLEEP is specified and
the requested channel is not immediately
available, dma_prog will not program the channel,
but will simply return a value of FALSE.
Context and synchronization
If mode is set to DMA_NOSLEEP,
non-blockable, initialization, or interrupt
If mode is set to DMA_SLEEP,
PC-AT compatible platforms
with ISA, EISA, or MCA buses
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
This interface is expected to be replaced or modified in a future release.
``DMA'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005