#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