/*$Author:   DCODY  $*/
/*$Date:   01 Oct 1992 12:15:20  $*/
/*$Header:   X:/sccs/inc/pcmio.h_v   1.4   01 Oct 1992 12:15:20   DCODY  $*/
/*$Log:   X:/sccs/inc/pcmio.h_v  $
 * 
 *    Rev 1.4   01 Oct 1992 12:15:20   DCODY
 * added RecordThisBlock/PlayThisBlock/QueueThisBlock & parameter changes
 * 
 *    Rev 1.3   23 Sep 1992 10:31:12   DCODY
 * added new function prototypes
 * 
 *    Rev 1.2   04 Sep 1992 16:40:52   DCODY
 * 
 *    Rev 1.1   25 Jun 1992 23:26:20   DCODY
 * PAS2 update
 * 
 *    Rev 1.0   15 Jun 1992 09:58:46   BCRANE
 * Initial revision.
*/
/*$Logfile:   X:/sccs/inc/pcmio.h_v  $*/
/*$Modtimes$*/
/*$Revision:   1.4  $*/
/*$Workfile:   pcmio.h  $*/

;   /*\
;---|*|----====< pcmio.h >====----
;---|*|
;---|*| This is the header file for all the different PCMIOx.xxx modules
;---|*|
;---|*| Copyright (c) 1991, Media Vision, Inc.	All Rights Reserved.
;---|*|
;   \*/

;   /*\
;---|*|----====< error that may happen... >====----
;   \*/

#define PCMIOERR_SAMPLERATE  2	     /* bad sample rate requested	*/
#define PCMIOERR_OPENFILE    3	     /* error opening the output file	*/
#define PCMIOERR_OPENPCM     4	     /* error starting the PCM code	*/
#define PCMIOERR_NOMEM	     5	     /* error starting the PCM code	*/
#define PCMIOERR_BADDMA      6	     /* bad requested DMA number	*/
#define PCMIOERR_BADIRQ      7	     /* bad requested IRQ number de	*/
#define PCMIOERR_FILEFULL    8	     /* cannot write data to the file	*/

	/* special error code for the RECORD.EXE program */

#define PCMIOERR_HELPS       1       /* not enough command line data    */


;   /*\
;---|*|----====< PCMIOC.C >====----
;   \*/

	void ClosePCMBuffering	( );
	int  ContinueFileInput	( );
	int  ContinueBlockInput ( char far * );
	int  ContinueFileOutput ( );
	int  ContinueBlockOutput( char far * );
	int  OpenPCMBuffering	( int,	int, int, int );
	int  PCMState		( long, int, int, int );
	int  PlayThisBlock	( char far*, unsigned long, void (far *)() );
	int  QueueThisBlock	( char far*, unsigned long, void (far *)() );
	int  RecordThisBlock	( char far*, unsigned long, void (far *)() );
	int  StartFileInput	( FILE * );
	int  StartBlockInput	( );
	int  StartFileOutput	( FILE *, long );
	int  StartBlockOutput	( char far * );
	int  SyncCallBack	( void (far *)() );
	void StopDMAIO		( );


;   /*\
;---|*|----====< PCMIOA.ASM >====----
;   \*/

	void BackgroundInit	( int, int );
	char far * FlushBuffer	( char far *, int );
	int  StartTheDMAOutput	( void (*)() );
	int  StartTheDMAInput	( void (*)() );


;   /*\
;---|*| end of pcmio.h
;   \*/

