#ifndef _PRVAPP_EnvFan_H
#define _PRVAPP_EnvFan_H

// =============================================
// prvdrv.h - headers for use with generic drive
// =============================================
// (c) Copyright 2000
// The Parvus Corporation
// 396 Ironwood Drive
// Salt Lake City, UT 84115
// Tel:      (801) 483-1533
// Fax:      (801) 483-1523
// Web:      www.parvus.com
// Email:    parvus@parvus.com
// ---------------------------------------------
//   Revision History:
// ---------------------------------------------
//
//   10/15/2000 CG - V1.00.00 release
//
// ---------------------------------------------

#ifdef __cplusplus
extern "C" {
#endif

// ===================================
// DLL callable functions - Prototypes
// ===================================

long WINAPI vbapp_Open(long VBioChannel);
void WINAPI vbapp_Close(void);
void WINAPI vbapp_LedOn(void);
void WINAPI vbapp_LedOff(void);
long WINAPI vbapp_Read(long offset);
void WINAPI vbapp_Write(long offset, long value);
long WINAPI vbapp_Test(long value);
long WINAPI vbapp_Version(void);
void WINAPI vbapp_CardRangesL
   (
	  unsigned int* nRanges,
	  unsigned int* nIo,
	  unsigned int* nMem,
	  unsigned int* ioBase,
	  unsigned int* ioBytes,
	  unsigned int* ioOffset,
	  unsigned int* memBase,
	  unsigned int* memBytes,
	  unsigned int* memOffset
   );


// I/O
long WINAPI envDiagLED(long state);
long WINAPI envReadCfg(void);
long WINAPI envReadDig(void);
long WINAPI envSetDig(long val);
long WINAPI envReadAna(long channel);
long WINAPI envSetEnabled(long value);
long WINAPI envFan(long value);

// Temperature
void WINAPI envInitTemp(long ch);
void WINAPI envReadTemp(long *TempNow, long *TempHi, long *TempLo, long *TempCfg, long ch);
void WINAPI envWriteTemp (long TempHi, long TempLo, long ch);

double WINAPI envHumidity(void);
double WINAPI envTemperature(int tmp);
//for the elapsed time counter
int WINAPI Evnt_GetPowerCycleMSB(void);
int WINAPI Evnt_GetPowerCycleLSB(void);
int WINAPI Evnt_GetTimeMSB(void);
int WINAPI Evnt_GetTimeLSB2(void);
int WINAPI Evnt_GetTimeLSB1(void);
int WINAPI Evnt_GetTimeLSB(void);
long WINAPI Evnt_GetTimeInSecs(void);
long WINAPI Evnt_GetPowerCycleCount(void);

int WINAPI Sn_GetSerialNumber(int byte_num);

int WINAPI ElapsedTimerReset(void);
int WINAPI PowerCycleCountReset(void);


#ifdef _EXPORTING
   #define DECLSPEC    __declspec(dllexport)
#else
   #define DECLSPEC    __declspec(dllimport)
#endif

DECLSPEC int darray[30][2];
DECLSPEC int darray_end;
DECLSPEC int test_num;

#ifdef __cplusplus
}
#endif

#endif // _PRVAPP_EnvFan_H
