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.