/*=====================================================================
  ===========     MXAPI.H  -  Matrix-API header file       ============
  =====================================================================
  ===============       Copyright (c) TDi GmbH        =================
  =====================================================================*/

typedef struct
{
  short LPT_Nr;
  short LPT_Adr;
  short DNG_Cnt;
} DNGINFO;

#ifdef __cplusplus
extern "C"
{
#endif

short  Init_MatrixAPI(void);
short  Release_MatrixAPI(void);
long   GetVersionAPI(void);
long   GetVersionDRV(void);
long   GetVersionDRV_USB(void);
short  GetPortAdr(short);
short  Dongle_WriteData(long, long*, short, short, short);
short  Dongle_WriteDataEx(long, long*, short, short, short, short);
short  Dongle_ReadData(long, long*, short, short, short);
short  Dongle_ReadDataEx(long, long*, short, short, short, short);
long   Dongle_ReadSerNr(long, short, short);
short  Dongle_Exit(void);
short  Dongle_Find(void);
short  Dongle_FindEx(DNGINFO *);
long   Dongle_Version(short, short);
long   Dongle_Model(short, short);
short  Dongle_MemSize(short, short);
short  Dongle_Count(short);
short  Dongle_SetLedFlag(long, short, short, short);

short  Dongle_WriteKey(long UserCode, 
                       long *KeyData, 
                       short DongleNr, 
                       short PortNr);


short  Dongle_GetKeyFlag(long UserCode, short DongleNr, short PortNr);

short  Dongle_EncryptData(long UserCode, long *DataBlock, short DongleNr, short PortNr);

short  Dongle_DecryptData(long UserCode, long *DataBlock, short DongleNr, short PortNr);

short  Dongle_SetDriverFlag(long UserCode, short DriverFlag, short DongleNr, short PortNr);
short  Dongle_GetDriverFlag(long UserCode, short DongleNr, short PortNr);



#ifdef __cplusplus
}
#endif

