#ifndef AITMDUMANAGER_H
 
#define AITMDUMANAGER_H
 
#define DLLIMPORT __declspec(dllimport)
 
#ifdef _CVI_    
 
#include <stdbool.h>    
 
#endif
 
#ifdef __cplusplus
 
extern "C"
 
{
 
#endif
 
 
 
        
 
        DLLIMPORT int SD4_BlockError();
 
        DLLIMPORT unsigned int SD4_GetBlockTimeout();
 
        DLLIMPORT void SD4_SetBlockTimeout(unsigned int);
 
        DLLIMPORT long SD4_BlockTransferTime();
 
        DLLIMPORT unsigned int SD4_GetDriverTimeout();
 
        DLLIMPORT void SD4_SetDriverTimeout(unsigned int);
 
        DLLIMPORT char * SD4_Version();
 
        DLLIMPORT int SD4_WordsTransferred();
 
 
 
        DLLIMPORT unsigned int* SD4_FindDevices(int * ndevices);
 
        DLLIMPORT int SD4_GetDeviceCount();
 
        DLLIMPORT unsigned int* SD4_GetDeviceList(int * ndevices);
 
        DLLIMPORT char * SD4_GetUsbFirmwareVersionByDevice(unsigned int deviceId);
 
        DLLIMPORT char * SD4_GetUsbFirmwareVersion(int index);
 
        DLLIMPORT bool SD4_IsDeviceAttached(unsigned int deviceId);
 
        DLLIMPORT bool SD4_ProgramFpgaFirmwareByDevice(unsigned int deviceId, char * fpgaFirmware);
 
        DLLIMPORT bool SD4_ProgramFpgaFirmware(int index, char* fpgaFirmware);
 
        DLLIMPORT bool SD4_ProgramUsbFirmware(int index, char* usbFirmware);
 
        DLLIMPORT unsigned short SD4_Read(unsigned int deviceId, int address);
 
        DLLIMPORT char * SD4_ReadByteArray(unsigned int deviceId, int address, int requestedsize, int * elementsread);
 
        DLLIMPORT unsigned short * SD4_ReadUShortArray(unsigned int deviceId, int address, int requestedsize, int * elementsread );
 
        DLLIMPORT void SD4_ReconfigureByDevice(unsigned int deviceId);
 
        DLLIMPORT void SD4_Reconfigure(int index);
 
        DLLIMPORT void SD4_ReconnectByDevice(unsigned int deviceId);
 
        DLLIMPORT void SD4_Reconnect(int index);
 
        DLLIMPORT void SD4_ResetFpga(int index);
 
        DLLIMPORT void SD4_ResetFpgaByDevice(unsigned int deviceId);
 
        DLLIMPORT void SD4_ResetUsb(int index);
 
        DLLIMPORT void SD4_ResetUsbByDevice(unsigned int deviceId);
 
        DLLIMPORT void SD4_Write(unsigned int deviceId, int address, unsigned short data);
 
        DLLIMPORT int  SD4_WriteArray(unsigned int deviceId, int address, unsigned short* data);
 
#ifdef __cplusplus
 
}
 
#endif
 
#endif