//////////////////////////////////////////////////////////////////////////
//Export Function

// This file supports all Platforms, but this sample code only supports PC Platforms
// so if you want to use this sample code in PDA platform, you should creat a new project for 
// PC flatform and add file in your project.	
  

#ifndef BXLPTR_API
#pragma comment (lib, "bxl.lib") 
#define BXLPTR_API __declspec(dllimport)
#endif


BXLPTR_API long __cdecl PrinterOpen(LPCTSTR strOutPortName, long lTimeout = 1000);
BXLPTR_API long __cdecl PrinterClose();

BXLPTR_API long __cdecl PrintText(LPCTSTR Data, long Alignment, long Attribute, long TextSize);
BXLPTR_API long __cdecl LineFeed(int nFeed);
BXLPTR_API long __cdecl PrintBitmap(LPCTSTR FileName, long Width, long Alignment, long Level);
BXLPTR_API long __cdecl PrintBarcode(PCHAR Data, long Symbology, long Height, long Width, long Alignment, long TextPosition);

BXLPTR_API long __cdecl SetCharacterSet(long Value);
BXLPTR_API long __cdecl SetInterChrSet(long Value);
BXLPTR_API long __cdecl GetCharacterSet();
BXLPTR_API long __cdecl GetInterChrSet();	

BXLPTR_API long __cdecl SetUpsideDown(long mode);
BXLPTR_API long __cdecl	SetLeftMargin(long margin);
BXLPTR_API long __cdecl SetPrintWidth(long width);

BXLPTR_API long __cdecl DirectIO(PCHAR Data, UINT uiWrite, PCHAR pRequest, UINT& uiRead);


BXLPTR_API long __cdecl MsrReadReady();
BXLPTR_API long __cdecl MsrReadCancel();
BXLPTR_API long __cdecl MsrReadTrack(PCHAR Data1,PCHAR Data2,PCHAR Data3);
BXLPTR_API long __cdecl MsrReadFullTrack(PCHAR strData, DWORD dwLen);
BXLPTR_API long __cdecl MsrRead1Track(PCHAR Track1, UINT uiLen);
BXLPTR_API long __cdecl MsrRead2Track(PCHAR Track2, UINT uiLen);
BXLPTR_API long __cdecl MsrRead3Track(PCHAR Track3, UINT uiLen);
BXLPTR_API long __cdecl GetTrack1(TCHAR* tcData, UINT uiLen);
BXLPTR_API long __cdecl GetTrack2(TCHAR* tcData, UINT uiLen);
BXLPTR_API long __cdecl GetTrack3(TCHAR* tcData, UINT uiLen);

BXLPTR_API bool __cdecl SetMsrMessageValue(long lValue);
BXLPTR_API long __cdecl GetMsrMessageValue();
BXLPTR_API long __cdecl SetMsrMsgMode(BOOL bValue);


BXLPTR_API long __cdecl GetPowerValue();
BXLPTR_API long __cdecl GetStat();
BXLPTR_API long __cdecl CheckPrinter();
BXLPTR_API long __cdecl GetResultCode();


BXLPTR_API long __cdecl FormFeed(int nFeed);
BXLPTR_API long __cdecl NextPrintPos();
BXLPTR_API long __cdecl InitializePrinter();
BXLPTR_API long __cdecl SelectMode(BOOL bLabelMode);
BXLPTR_API long __cdecl AutoCalibration();


BXLPTR_API long __cdecl SelectPageMode(BOOL bPageMode);
BXLPTR_API long __cdecl SetPrintAreaInPageMode(long x, long y, long width, long height);
BXLPTR_API long __cdecl SelectPrintDirectionInPageMode(long printDirection);
BXLPTR_API long __cdecl SetAbsoluteVerticalPrintPositionInPageMode(long motionUnit);
BXLPTR_API long __cdecl SetAbsolutePrintPosition(long motionUnit);
BXLPTR_API long __cdecl PrintDataInPageMode();
	
BXLPTR_API long __cdecl SetPrintAreaInPM(long x, long y, long width, long height);
BXLPTR_API long __cdecl SetPrintDirectionInPM(long printDirection);
BXLPTR_API long __cdecl SetVerticalPositionInPM(long motionUnit, BOOL relative = FALSE);
BXLPTR_API long __cdecl SetHorizontalPositionInPM(long motionUnit);
	
//////////  SCR
BXLPTR_API long __cdecl ScrPowerDown(PCHAR ResponseS);
BXLPTR_API long __cdecl ScrPowerUp(PCHAR pATR, UINT& ATRLen, PCHAR ResponseS);
BXLPTR_API long __cdecl ScrExchangeAPDU(PCHAR pCmdAPDU, UINT cmdAPDULen, PCHAR pRspAPDU, UINT& rspAPDULen, PCHAR ResponseS);
BXLPTR_API long __cdecl ScrOperationMode(UINT mode, PCHAR ResponseS);
BXLPTR_API long __cdecl ScrChkCardStatus(PCHAR pStatus, PCHAR ResponseS);	