developer-toolkit-v1.01/installed/CONTROL.H

UTF-8 rendering of a DOS-encoded (CP437 / CRLF) file. Byte-for-byte original: CONTROL.H.


#ifndef	_CTRLDRV_H
#define	_CTRLDRV_H

#ifndef	_GLOBAL_H
#include 	"global.h"
#endif

/***************************************************************************
                              Definitions
***************************************************************************/

/*
 *	Values returned by the timer driver set of routines
 */

enum	CtrlErrorList {
	// Ctrl drivers functions ERROR codes

	CTRL_NO_ERROR,				// no error
	CTRL_FUNCTION_ERROR,		// reported by the almost all functions
	};


/***************************************************************************
   								Structure
****************************************************************************/

/*
 * Fast access function pointer used to call entry functions of all other
 * drivers.
 */

typedef	void	(interrupt far *VoidProcPtr)();

/*
 * Fast access function pointer used to call entry functions of all other
 * drivers.
 */

typedef	void 	far CallbackProc;
typedef	void	(far *CallbackPtr)();

/****************************************************************************
								PUBLIC variables  
*****************************************************************************/

/* 
 * GSS Compatibility level is now determined at run-time in
 *	CtGetGoldCardPresence() -Called by InitControlDriver()-.
 *
 * Global variable gssLevel can be used to determine which compatibility
 * level is used, in the application. 0 is no card found.
 *
 * Global variable phantomControl is set to 1 if the level2 control
 * features are located as phantom register at baseAddress + 2. 
 */

#define levelNoCard 0
#define level1 1
#define level2 2

extern unsigned char phantomControl;
extern unsigned char gssLevel;

/****************************************************************************
								PUBLIC functions  
*****************************************************************************/

#ifdef __cplusplus
extern "C" {
#endif
		WORD	InitControlDriver(void);
		WORD	CloseControlDriver(void);
		WORD	CtSetControlDriverAddress(WORD destPort);

		WORD    SetControlChip(WORD controlID, DWORD param);
		WORD    CtStoreConfigInPermMem(void);
		WORD    CtRestoreConfigFromPermMem(void);
		WORD    CtSetChannel0SampGain(WORD value);
		WORD    CtSetChannel1SampGain(WORD value);
		WORD    CtSetChannel0SampFreq(WORD value);
		WORD    CtSetChannel1SampFreq(WORD value);
		WORD    CtSetChannel0FilterMode(WORD value);
		WORD    CtSetChannel1FilterMode(WORD value);
		WORD    CtStereoMonoAuxSamp(WORD value);
		WORD    CtEnabDisabMicroOutput(WORD value);
		WORD    CtEnabDisabInternPcSpeak(WORD value);
		WORD    CtSelectInterruptLineNbr(WORD value);
		WORD    CtEnabDisabInterrupt(WORD value);
		WORD    CtSelectDMA0ChannelSampChan(WORD value);
		WORD    CtSelectDMA1ChannelSampChan(WORD value);
		WORD    CtEnabDisabDMA0SampChan(WORD value);
		WORD    CtEnabDisabDMA1SampChan(WORD value);
		WORD    CtSetRelocationAddress(WORD value);
		WORD    CtSetMixerLevelForFMLeft(WORD value);
		WORD    CtSetMixerLevelForFMRight(WORD value);
		WORD    CtSetMixerLevelForLeftSamplePb(WORD value);
		WORD    CtSetMixerLevelForRightSamplePb(WORD value);
		WORD    CtSetMixerLevelForAuxLeft(WORD value);
		WORD    CtSetMixerLevelForAuxRight(WORD value);
		WORD    CtSetMixerLevelForMicrophone(WORD value);
		WORD    CtSetMixerLevelForTelephone(WORD value);
		WORD    CtSetOutputVolumeLeft(WORD value);
		WORD    CtSetOutputVolumeRight(WORD value);
		WORD    CtSetOutputBassLevel(WORD value);
		WORD    CtSetOutputTrebleLevel(WORD value);
		WORD    CtEnabDisabOutputMuting(WORD value);
		WORD    CtSelectSCSIInterruptNumber(WORD value);
		WORD    CtEnabDisabSCSIInterrupt(WORD value);
		WORD    CtEnabDisabSCSIDMA(WORD value);
		WORD    CtSelectSCSIDMAChannel(WORD value);
		WORD    CtSetSCSIRelocationAddress(WORD value);
		WORD    CtSetHangUpPickUpTelephoneLine(WORD value);
		WORD    CtSelectOutputSources(WORD value);
		WORD    CtSelectOutputMode(WORD value);
		WORD    CtSelectSurroundingPreset(WORD value);
		WORD    CtSelectInterruptRoutine(void);
		WORD    GetControlChip(WORD controlID);
		WORD    CtGetDriverInformation(void);
		WORD    CtGetBoardIdentificationCode(void);
		WORD    CtGetBoardOptions(void);
		WORD    CtGetControllerStatus(void);
		WORD    CtGetRingTelephoneStatus(void);

		WORD    CtGetChannel0SampGain(void);
		WORD    CtGetChannel1SampGain(void);
		WORD    CtGetChannel0SampFreq(void);
		WORD    CtGetChannel0SampFreq(void);
		WORD    CtGetChannel0FilterMode(void); 
		WORD    CtGetChannel1FilterMode(void);
		WORD    CtGetStereoMonoAuxSamp(void);
		WORD    CtGetEnabDisabMicroOutput(void);
		WORD    CtGetEnabDisabInternPcSpeak(void);
		WORD    CtGetInterruptLineNbr(void);
		WORD    CtGetEnabDisabInterrupt(void);
		WORD    CtGetDMA0ChannelSampChan(void);
		WORD    CtGetEnabDisabDMA0SampChan(void);
		WORD    CtGetDMA1ChannelSampChan(void);
		WORD    CtGetEnabDisabDMA1SampChan(void);
		WORD    CtGetRelocationAddress(void);
		WORD    CtGetMixLevelForFMLeft(void);
		WORD    CtGetMixLevelForFMRight(void);
		WORD    CtGetMixLevelForLeftSamplePb(void);
		WORD    CtGetMixLevelForRightSamplePb(void);
		WORD    CtGetMixLevelForAuxLeft(void);
		WORD    CtGetMixLevelForAuxRight(void);
		WORD    CtGetMixLevelForMicrophone(void);
		WORD    CtGetMixLevelForTelephone(void);
		WORD    CtGetOutputVolumeLeft(void);
		WORD    CtGetOutputVolumeRight(void);
		WORD    CtGetOutputBassLevel(void);
		WORD    CtGetOutputTrebleLevel(void);
		WORD    CtGetEnabDisabOutputMuting(void);
		WORD    CtGetSCSIInterruptNumber(void);
		WORD    CtGetEnabDisabSCSIInterrupt(void);
		WORD    CtGetSCSIDMAChannel(void);
		WORD    CtGetEnabDisabSCSIDMA(void);
		WORD    CtGetSCSIRelocationAddress(void);
		WORD    CtGetHangUpPickUpPhoneLine(void);
		WORD    CtGetOutputSources(void);
		WORD    CtGetOutputMode(void);
		WORD    CtGetSurroundingPreset(void);
		WORD    CtGetInterruptRoutine(void);
		WORD    CtGetGoldCardPresence(void);
		WORD	SetControlRegister(WORD reg, WORD val);
		WORD	GetControlRegister(int reg);

		WORD	CtProgramSurroundPreset(BYTE *ptrData);

		WORD	CtGetMMAReg0D(void);
		WORD	CtSetMMAReg0DBits(BYTE serie);
		WORD	CtResetMMAReg0DBits(BYTE serie);

		WORD	Hexa(char *s);

#ifdef __cplusplus
	};
#endif


#endif