// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the CU30WRAP_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// CU30WRAP_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef CU30WRAP_EXPORTS
#define CU30WRAP_API __declspec(dllexport)
#else
#define CU30WRAP_API __declspec(dllimport)
#endif

#ifdef __cplusplus
extern "C" {
#endif

// Function definitions. Note, that if it is neccessary to change the calling convention
// (to __stdcall for example), the according changes must be done also in CU30Wrap.cpp
CU30WRAP_API char* _stdcall CU30WOpen(	DWORD* USBInstance, DWORD* USBVersion, DWORD* DevID, DWORD* EEID);
CU30WRAP_API void  _stdcall CU30WClose(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID);
CU30WRAP_API void  _stdcall CU30WStop(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID);
CU30WRAP_API void  _stdcall CU30WSweep(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID, int Vel, int Axis, int Timeout);
CU30WRAP_API void  _stdcall CU30WStep(DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID, int Axis, int n, int Vel);
CU30WRAP_API void  _stdcall CU30WDCDCon(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID);
CU30WRAP_API void  _stdcall CU30WDCDCoff(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID);
CU30WRAP_API void  _stdcall CU30WrapperInit();
CU30WRAP_API void __stdcall CU30WrapperDispose();
CU30WRAP_API int __stdcall CU30WGetEEpromInfo(DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID,
    DWORD * pUSBVendorID,DWORD * pUSBProductID,DWORD * pUSBDeviceID,
    DWORD * pDeviceID,DWORD * pEEPromID,DWORD * pVersion,
    DWORD * pSerialNumber,DWORD * pCustomerID,
    char * pCompany,char * pDate,char * pProductStr,char * pCustomer,char * pCustomerStr);
CU30WRAP_API DWORD __stdcall CU30WEcho(	DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID, WORD w);
CU30WRAP_API DWORD __stdcall CU30WTestReady( DWORD USBInstance, DWORD USBVersion, DWORD DevID, DWORD EEID);

#ifdef __cplusplus
}
#endif
