/****************************************************************************

   File              : sosdata.h

   Programmer(s)     : Don Fowler, Nick Skrepetos
   Date              :

   Purpose           : Include Files For Zortech C++ Compiler

   Last Updated      :

****************************************************************************
               Copyright(c) 1993,1994 Human Machine Interfaces 
                            All Rights Reserved
****************************************************************************/

#ifndef  _SOS_DATA
#define  _SOS_DATA

#include <stddef.h>

#pragma pack(4) 
extern   WORD     _sosDIGIData_Start;
extern   WORD     _sosDIGIData_End;
extern   WORD     _wSOSDriverLinear[];
extern   WORD     _wSOSTimerLinear[];
extern   SFAR     _lpSOSDriver[];
extern   SFAR     _lpSOSTimer[];
extern   SFAR     _lpSOSDriverCS[];
extern   SFAR     _lpSOSTimerCS[];
extern   BOOL     _wSOSDriverLoaded[];
extern   BOOL     _wSOSTimerLoaded[];
extern   BOOL     _wSOSDriverInitialized[];
extern   WORD     _wSOSOutputRate[];
extern   WORD     _wSOSDMABuffersize[];
extern   LONG     _dwSOSDMABufferPhysical[];
extern   SFAR     _lpSOSDMABuffer[];
extern   BOOL     _wTimerUsed;
extern   SFAR     _lpSOSFillHandler[];
extern   WORD     _wSOSTimerType[];
extern   WORD     _wSOSDriverType[];
extern   SFAR     _lpSOSSampleList[][ _MAX_VOICES ];
extern   SFAR     _lpSOSDMAIrqCount[];
extern   SFAR     _lpSOSDMAFillCount[];
extern   WORD     _wSOSTmrNextCount;
extern   SFAR     _lpSOSOldTimer;
extern   WORD     _wSOSDriverID[];
extern   _SOS_CAPABILITIES _sSOSDriverCaps[];
extern   WORD        _wSOSDMAPortList[];
extern   BYTE        _bSOSDMAChannel[];
extern   _SOS_INIT_DRIVER     _sSOSDIGIInitDriver[];
extern   BYTE  _pSOSDriverPath[];
extern   BYTE  _pSOSTempDriverPath[];
extern   BOOL  _wTIMERUsed;
extern   WORD  _wTIMERValue;
extern   VOID ( * _pTIMEREvents[] )( VOID );
extern   WORD _wTIMEREventRate[];
extern   WORD _dwTIMEREventFraction[];
extern   WORD _dwTIMEREventFractionCurrent[];
extern   BYTE  _bSOSMIDITimerSongHandler[];
extern   BYTE  _bSOSMIDISongHandle;
extern   WORD  _wSOSTimerMemHandle[];
extern   WORD  _wSOSDriverMemHandle[];
extern   WORD  _wSOSRealSeg[];
extern   VOID ( *_pSOSFillHandlerThunks[] )( VOID );

extern   _FILEHEADER    sDETFileHeader;
extern   _DRIVERHEADER  sDETDriverHeader;
extern   _FILEHEADER    sLOADFileHeader;
extern   _DRIVERHEADER  sLOADDriverHeader;
extern   BOOL           wDETInitialized;
extern   WORD           wDETLinear;
extern   SFAR           lpDETDriverBuffer;    
extern   SFAR           lpDETDriverBufferCS;
extern   WORD           hDETFile;
extern   DWORD          dwDETDriverIndex;
extern   WORD           wDETDriverIndexCur;
extern   WORD           wDETMemHandle;
extern   _SOS_CAPABILITIES * pDETDeviceCaps;
extern   _SOS_CAPABILITIES sDETCaps;  
extern   PSTR _pSOSErrorStrings[];
extern   BOOL wSOSBufferAllocated[];
extern   BOOL wSOSSystemInitialized;
extern   VDS_STRUCT sSOSVDSInfo;
extern   _SOS_FILL_INFO _sSOSFillInfo;
extern   WORD    _wSOSTimerEventIndex;
extern   WORD  _wSOSTimerEntered;
extern   WORD  _wSOSDriverSize[];
extern   WORD  _wSOSTimerSize[];
extern   PSTR  pDETBuffer;

#ifdef __cplusplus
extern "C" {
#endif
extern   WORD  _sosDIGIData1_Start;
extern   WORD  _sosDIGIData1_End;
extern   WORD  _sosDIGIData2_Start;
extern   WORD  _sosDIGIData2_End;
extern   BYTE  _bTIMERInstalled;
extern   BYTE  _bTIMERDPMI;
extern   WORD  wDetectPort;
extern   WORD  wDetectIRQ;
extern   WORD  wDetectDMA;
extern   WORD  wDetectParam;
#ifdef __cplusplus
}
#endif 

#pragma pack()

#endif

