Command Operation
------- ---------
adcmd_allocate allocate one or more of the four audio channels.
adcmd_finish abort the current write request on one or more of the
channels. Can be done immediately or at the end of the
current cycle.
adcmd_free free one or more audio channels.
adcmd_lock lock one or more audio channels.
adcmd_pervol change the period and volume for writes in progress. can
be done immediately or at the end of the cycle.
adcmd_setprec set the allocation precedence of one or more channels.
adcmd_waitcycle wait for the current write cycle to complete on a single
channel. Returns at the end of the cycle or immediately
if no cycle is active on the channel.
cmd_flush purge all write cycles and waitcycles (in-progress and
queued) for one or more channels.
cmd_read return a pointer to the i/o block currently writing on a
single channel.
cmd_reset reset one or more channels their initialized state. all
active and queued requests will be aborted.
cmd_start resume writes to one or more channels that were stopped.
cmd_stop stop any write cycle in progress on one or more
channels.
cmd_write start a write cycle on a single channel.
Exec Functions as Used in This Chapter
--------------------------------------
abortio() abort a command to the audio device. if in progress, it
is stopped immediately, otherwise it is removed from the
queue.
beginio() initiate a command and return immediately (asynchronous
request).
checkio() determine the current state of an i/o request.
closedevice() relinquish use of the audio device.
opendevice() obtain use of the audio device.
wait() wait for a signal from the audio device.
waitport() wait for the audio message port to receive a message.
Exec Support Functions as Used in This Chapter
----------------------------------------------
allocmem() allocate a block of memory.
createport() create a signal message port for reply messages from the
audio device. Exec will signal a task when a message
arrives at the reply port.
deleteport() delete the message port created by createport().
freemem() free a block of previously allocated memory.