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.