
#define EXPORT_SHIT extern "C" __declspec(dllexport)
#define EXTERN_DLL_EXPORT extern "C" __declspec(dllexport)
#define EXPORT comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__)

#if _WIN64
#define  _mxINT32  long
#define  _mxUINT32 unsigned long
#define  _mxINT16  short
#define  _mxUINT16 unsigned short
#elif _WIN32
#define  _mxINT32  int
#define  _mxUINT32 unsigned int
#define  _mxINT16  short
#define  _mxUINT16 unsigned short 
#else
#error can not define Matrix-API data types
#endif

#pragma once
class matrix
{
	_mxINT16 Init_MatrixAPI();
	_mxINT16 Release_MatrixAPI();
	_mxINT16 Dongle_Count(_mxINT16 dongleMemSize);
	_mxINT16 Dongle_MemSize(_mxINT16 dongleIndex, _mxINT16 dongleMemSize);
	_mxINT16 Dongle_ReadData(_mxINT32 dongleFuckFuck, _mxINT32* targetMemoryPtr, _mxINT16 readLength, _mxINT16 dongleIndex, _mxINT16 dongleMemSize);
	_mxINT32 Dongle_ReadSerNr(_mxINT32 dongleFuckFuck, _mxINT16 dongleIndex, _mxINT16 dongleMemSize);
	_mxINT32 Dongle_Model(_mxINT16 dongleIndex, _mxINT16 dongleMemSize);
};

