| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- //
- // Copyright 2020 Electronic Arts Inc.
- //
- // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free
- // software: you can redistribute it and/or modify it under the terms of
- // the GNU General Public License as published by the Free Software Foundation,
- // either version 3 of the License, or (at your option) any later version.
- // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
- // in the hope that it will be useful, but with permitted additional restrictions
- // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
- // distributed with this program. You should have received a copy of the
- // GNU General Public License along with permitted additional restrictions
- // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
- /****************************************************************************
- File : sosfnct.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_FUNCTIONS
- #define _SOS_FUNCTIONS
- #pragma pack(4)
- WORD sosDIGILockMemory ( VOID );
- WORD sosDIGIUnLockMemory ( VOID );
- WORD sosDIGIInitSystem ( LPSTR, WORD );
- WORD sosDIGIUnInitSystem ( VOID );
- WORD sosDIGIInitDriver ( WORD, _SOS_HARDWARE far *,
- _SOS_INIT_DRIVER far *, WORD far * );
- WORD sosDIGIUnInitDriver ( WORD, BOOL, BOOL );
- WORD sosDIGILoadDriver ( WORD, WORD, LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
- WORD sosDIGIUnLoadDriver ( WORD );
- WORD sosDIGIGetDeviceCaps ( WORD, LPSOSDEVICECAPS );
- #ifdef PHARLAP
- LPSTR sosDIGIAllocateBuffer ( WORD , WORD *, WORD * );
- #else
- LPSTR sosDIGIAllocateBuffer ( WORD , WORD *, WORD * );
- #endif
- WORD sosDIGIStopSample ( WORD, WORD );
- WORD sosDIGISamplesPlaying ( WORD );
- BOOL sosDIGISampleDone ( WORD, WORD );
- BOOL sosDIGISampleFilling ( WORD, WORD );
- WORD sosDIGIStartSample ( WORD, _SOS_START_SAMPLE far * );
- WORD sosDIGIContinueSample ( WORD, WORD, _SOS_START_SAMPLE far * );
- WORD sosDIGIDetectInit ( LPSTR );
- WORD sosDIGIDetectUnInit ( VOID );
- WORD sosDIGIDetectFindHardware ( WORD, _SOS_CAPABILITIES far *, WORD far * );
- WORD sosDIGIDetectFindFirst ( _SOS_CAPABILITIES far *, WORD far * );
- WORD sosDIGIDetectFindNext ( _SOS_CAPABILITIES far *, WORD far * );
- WORD sosDIGIDetectGetSettings ( _SOS_HARDWARE far * );
- WORD sosDIGIDetectGetCaps ( WORD, _SOS_CAPABILITIES far * );
- WORD sosDIGIDetectVerifySettings( _SOS_HARDWARE far * );
- PSTR sosGetErrorString ( WORD );
- WORD sosDIGILoadTimer ( WORD , LPSTR far *, LPSTR far *, PSTR, PSTR, WORD * );
- WORD sosDIGIUnLoadTimer ( WORD );
- WORD sosTIMERRegisterEvent ( WORD wCallRate, VOID ( far * lpTimerEvent )( VOID ), WORD far *lpTimerHandle );
- WORD sosTIMERInitSystem ( WORD, WORD );
- WORD sosTIMERUnInitSystem ( WORD );
- WORD sosTIMERSetRate ( WORD );
- WORD sosTIMERRemoveEvent ( WORD );
- WORD sosTIMERAlterEventRate ( WORD, WORD );
- WORD sosTIMERGetEventRate ( WORD );
- VOID far sosTIMEROldHandler ( VOID );
- VOID far sosTIMERHandler ( VOID );
- // functions in soscntl.c
- WORD sosDIGISetSampleVolume ( WORD, WORD, WORD );
- WORD sosDIGIGetSampleVolume ( WORD, WORD );
- WORD sosDIGISetChannel ( WORD, WORD, WORD );
- WORD sosDIGIGetChannel ( WORD, WORD );
- WORD sosDIGIGetBytesProcessed ( WORD, WORD );
- WORD sosDIGIGetLoopCount ( WORD, WORD );
- WORD sosDIGISetPanLocation ( WORD, WORD, WORD );
- WORD sosDIGIGetPanLocation ( WORD, WORD );
- DWORD sosDIGISetPitch ( WORD, WORD, DWORD );
- DWORD sosDIGIGetPitch ( WORD, WORD );
- WORD sosDIGIGetDMAPosition ( WORD );
- WORD sosDIGISetPanSpeed ( WORD, WORD, WORD );
- WORD sosDIGIGetPanSpeed ( WORD, WORD );
- WORD sosDIGIGetSampleID ( WORD, WORD );
- WORD sosDIGIGetSampleHandle ( WORD, WORD );
- WORD sosDIGISetMasterVolume ( WORD, WORD );
- #ifdef PHARLAP
- VOID sosFreeVDSPage ( unsigned short, unsigned short, DWORD );
- WORD sosAllocVDSPage ( unsigned short *, unsigned short *, DWORD * );
- #else
- WORD sosAllocVDSPage ( LPSTR *, WORD *, WORD * );
- VOID sosFreeVDSPage ( WORD, WORD, LONG );
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef PHARLAP
- extern int __cdecl sosRealFree ( int );
- extern BOOL __cdecl _sos_read( WORD, LPSTR, WORD, WORD * );
- extern int __cdecl sosRealAlloc( int, int *, int * );
- extern void __cdecl sosDRVFarMemCopy( LPSTR, LPSTR, WORD );
- extern int __cdecl sosGetCS( VOID );
- extern int __cdecl sosGetES( VOID );
- #else
- extern int __cdecl sosRealAlloc ( int, int *, int * );
- extern int __cdecl sosRealFree ( int );
- #endif
- // sos driver functions
- extern WORD __cdecl sosDRVLockMemory ( DWORD, DWORD );
- extern WORD __cdecl sosDRVUnLockMemory ( DWORD, DWORD );
- extern void __cdecl sosDRVGetCapsInfo ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
- extern void __cdecl sosDetDRVGetCapsInfo ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
- extern void __cdecl sosDRVGetCapsPtr ( LPSTR, LPSTR, _SOS_CAPABILITIES far * );
- extern void __cdecl sosDRVInit ( LPSTR, LPSTR, int, int, int, int, int, int );
- extern void __cdecl sosDRVStart ( LPSTR, LPSTR, int, int );
- extern void __cdecl sosDRVSetRate ( LPSTR, LPSTR, int );
- extern void __cdecl sosDRVSetAction ( LPSTR, LPSTR );
- extern void __cdecl sosDRVStop ( LPSTR, LPSTR );
- extern void __cdecl sosDRVUnInit ( LPSTR, LPSTR );
- extern void __cdecl sosDRVGetFillInfo ( LPSTR, LPSTR, LPSTR, int, int, int, _SOS_FILL_INFO * );
- extern void __cdecl sosFillSampleStructs ( PSTR, LPSTR );
- extern WORD __cdecl sosDetDRVExist ( LPSTR, LPSTR );
- extern WORD __cdecl sosDetDRVGetSettings ( LPSTR, LPSTR );
- extern WORD __cdecl sosDetDRVVerifySettings( LPSTR, WORD, WORD, WORD, LPSTR );
- extern WORD __cdecl sosDIGIInitForWindows( WORD );
- extern WORD __cdecl sosDIGIUnInitForWindows( WORD );
- extern LPSTR __cdecl sosAllocateFarMem ( WORD, PSTR, WORD * );
- extern LPSTR __cdecl sosCreateAliasCS ( LPSTR );
- extern VOID __cdecl sosFreeSelector ( LPSTR, DWORD );
- extern LPSTR __cdecl sosMAKEDOSPtr ( PSTR );
- extern VOID __cdecl sosDetDRVSetEnvString ( DWORD, PSTR );
- extern PSTR __cdecl sosDetDRVGetEnvString ( DWORD );
- extern VOID __cdecl sosDetDRVEnvStringInit ( LPSTR, LPSTR );
- extern VOID __cdecl sosDRVSetupCallFunctions( LPSTR, LPSTR, LPSTR, LPSTR );
- extern WORD __cdecl sosDRVGetFreeMemory ( VOID );
- extern WORD __cdecl sosDRVAllocVDSStruct ( WORD, WORD *, WORD * );
- extern WORD __cdecl sosDRVFreeVDSStruct ( WORD, WORD );
- extern WORD __cdecl sosDRVIsWindowsActive ( VOID );
- extern WORD __cdecl sosDRVVDSGetBuffer ( WORD );
- extern WORD __cdecl sosDRVVDSFreeBuffer ( WORD );
- extern WORD __cdecl getDS( VOID );
- extern WORD __cdecl sosDRVMakeDMASelector ( WORD );
- extern WORD __cdecl sosDRVFreeDMASelector ( WORD );
- extern void __cdecl sosTIMERDRVInit( int wRate, void ( far * )( void ) );
- extern void __cdecl sosTIMERDRVUnInit( void );
- extern void __cdecl sosTIMERDRVHandler( void );
- extern void __cdecl sosTIMERDRVFHandler( void );
- extern void __cdecl sosTIMERDRVEnable( void );
- extern void __cdecl sosTIMERDRVDisable( void );
- extern void __cdecl sosTIMERDRVCallOld( void );
- extern void __cdecl sosTIMERDRVSetRate( WORD );
- extern void __cdecl sosDIGITimer_Start( void );
- extern void __cdecl sosDIGITimer_End( void );
- extern void __cdecl sosDIGIDrv_Start( void );
- extern void __cdecl sosDIGIDrv_End( void );
- #ifdef __cplusplus
- }
- #endif
- // external functions for handling system initialization and
- // uninitialization
- WORD sosEXDIGInitDriver ( WORD, WORD, WORD, LPSTR,
- _SOS_HARDWARE far *, WORD * );
- WORD sosEXDIGIUnInitDriver ( VOID );
- WORD sosEXDETFindDriver ( WORD, LPSTR, _SOS_HARDWARE far *,
- _SOS_CAPABILITIES far * );
- // memory locking prototypes
- VOID sosDIGICaps_Start( VOID );
- VOID sosDIGICaps_End( VOID );
- VOID sosDIGIErr_Start( VOID );
- VOID sosDIGIErr_End( VOID );
- VOID sosDIGITmr_Start( VOID );
- VOID sosDIGITmr_End( VOID );
- VOID sosDIGIStart_Start( VOID );
- VOID sosDIGIStart_End( VOID );
- VOID sosDIGIPlyng_Start( VOID );
- VOID sosDIGIPlyng_End( VOID );
- VOID sosDIGIRate_Start( VOID );
- VOID sosDIGIRate_End( VOID );
- VOID sosDIGIDone_Start( VOID );
- VOID sosDIGIDone_End( VOID );
- VOID sosDIGIDetec_Start( VOID );
- VOID sosDIGIDetec_End( VOID );
- VOID sosDIGIInit_Start( VOID );
- VOID sosDIGIInit_End( VOID );
- VOID sosDIGILoad_Start( VOID );
- VOID sosDIGILoad_End( VOID );
- VOID sosDIGICntl_Start( VOID );
- VOID sosDIGICntl_End( VOID );
- #pragma pack()
- #endif
|