using System;

namespace BIXOLON
{
    public class MPosConst
    {
        public const Int32 RES_SUCCESS = 0;
        public const Int32 RES_ALREADY_OPEN = 1;
        public const Int32 RES_FAIL = 1000;
        public const Int32 RES_INVALID_INTERFACE = 1001;
        public const Int32 RES_NO_OPEN_DEVICE = 1002;
        public const Int32 RES_NOT_SUPPORT = 1003;
        public const Int32 RES_INVALID_PARAM = 1004;
        public const Int32 RES_NO_RESPONSE = 1005;
        public const Int32 RES_CONNECT_FAIL = 1006;
        public const Int32 RES_NO_DEVICE = 1007;
        public const Int32 RES_NO_FILE = 1008;
        public const Int32 RES_NOT_SUPPORT_CODEPAGE = 1012;
        public const Int32 RES_NOT_SUPPORT_ICS = 1013;
        public const Int32 RES_PAGEMODE_ALREADY_IN = 1014;
        public const Int32 RES_TRANSACTION_ALREADY_IN = 1015;
        public const Int32 RES_NOT_SUPPORT_ESCSEQ = 1017;
        public const Int32 RES_MSR_NOT_READY = 1018;
        public const Int32 RES_NO_DEVICE_FOUND = 5000;
        public const Int32 RES_NO_PERMISSION = 5001;
        public const Int32 RES_DECODE_FAIL = 5003;

        public const Int32 MPOS_INTERFACE_WIFI = 1;
        public const Int32 MPOS_INTERFACE_ETHERNET = 2;
        public const Int32 MPOS_INTERFACE_BLUETOOTH = 4;
        public const Int32 MPOS_INTERFACE_USB = 16;
        public const Int32 MPOS_INTERFACE_COM = 32;
        public const Int32 MPOS_INTERFACE_LPT = 64;

        // Command Mode
        public const Int32 MPOS_MODE_DEFAULT = 0;
        public const Int32 MPOS_MODE_BYPASS = 1;

        public const Int32 MPOS_DEVICE_LABEL_PRINTER = 1;
        public const Int32 MPOS_DEVICE_PRINTER = 10;
        public const Int32 MPOS_DEVICE_HID = 20;
        public const Int32 MPOS_DEVICE_MSR = 30;
        public const Int32 MPOS_DEVICE_SCANNER = 40;
        public const Int32 MPOS_DEVICE_RFID = 60;
        public const Int32 MPOS_DEVICE_DALLAS_KEY = 70;
        public const Int32 MPOS_DEVICE_NFC = 80;
        public const Int32 MPOS_DEVICE_KNOWN = 100;
        public const Int32 MPOS_DEVICE_DISPLAY = 110;
        public const Int32 MPOS_DEVICE_USB_TO_SERIAL = 120;
        public const Int32 MPOS_DEVICE_SCALE = 130;

        public const Int32 MPOS_TRANSACTION_IN = 1;
        public const Int32 MPOS_TRANSACTION_OUT = 0;

        public const Int32 MPOS_READMODE_ALWAYS = 1;
        public const Int32 MPOS_READMODE_ONCE = 0;
        public const Int32 MPOS_READMODE_NONE = 2;

        //Printer Status flag
        public const Int32 POS_STATUS_NORMAL = 0;
        public const Int32 POS_STATUS_PAPEREMPTY = 1;
        public const Int32 POS_STATUS_COVEROPEN = 2;
        public const Int32 POS_STATUS_PAPER_NEAREND = 4;
        public const Int32 POS_STATUS_ERROR = 8;
        public const Int32 POS_STATUS_OFFLINE = 16;
        public const Int32 POS_STATUS_BATT_LOW = 64;
        public const Int32 POS_STATUS_DRAWER_HIGH = 256;
        public const Int32 POS_STATUS_DRAWER_LOW = 512;
        public const Int32 POS_STATUS_BGT_BUSY = 1200;
        public const Int32 POS_STATUS_BGT_PROGRESS = 1201;
        public const Int32 POS_STATUS_BGT_COMPLETED = 1202;
        public const Int32 POS_STATUS_BGT_REQUIRE_RESET = 1203;
        public const Int32 POS_STATUS_FAIL = -1;

        public const Int32 POS_CODEPAGE_CP437 = 0;
        public const Int32 POS_CODEPAGE_KATAKANA = 1;
        public const Int32 POS_CODEPAGE_CP850 = 2;
        public const Int32 POS_CODEPAGE_CP860 = 3;
        public const Int32 POS_CODEPAGE_CP863 = 4;
        public const Int32 POS_CODEPAGE_CP865 = 5;
        public const Int32 POS_CODEPAGE_WPC1252 = 16;
        public const Int32 POS_CODEPAGE_CP866 = 17;
        public const Int32 POS_CODEPAGE_CP852 = 18;
        public const Int32 POS_CODEPAGE_CP858 = 19;
        public const Int32 POS_CODEPAGE_CP862 = 21;
        public const Int32 POS_CODEPAGE_CP864 = 22;
        public const Int32 POS_CODEPAGE_THAI42 = 23;
        public const Int32 POS_CODEPAGE_WPC1253 = 24;
        public const Int32 POS_CODEPAGE_WPC1254 = 25;
        public const Int32 POS_CODEPAGE_WPC1257 = 26;
        public const Int32 POS_CODEPAGE_FARSI = 27;
        public const Int32 POS_CODEPAGE_WPC1251 = 28;
        public const Int32 POS_CODEPAGE_CP737 = 29;
        public const Int32 POS_CODEPAGE_CP775 = 30;
        public const Int32 POS_CODEPAGE_THAI14 = 31;
        public const Int32 POS_CODEPAGE_HEBREW_OLD = 32;
        public const Int32 POS_CODEPAGE_WPC1255 = 33;
        public const Int32 POS_CODEPAGE_THAI11 = 34;
        public const Int32 POS_CODEPAGE_THAI18 = 35;
        public const Int32 POS_CODEPAGE_CP855 = 36;
        public const Int32 POS_CODEPAGE_CP857 = 37;
        public const Int32 POS_CODEPAGE_CP928 = 38;
        public const Int32 POS_CODEPAGE_THAI16 = 39;
        public const Int32 POS_CODEPAGE_WPC1256 = 40;
        public const Int32 POS_CODEPAGE_WPC1258 = 41;
        public const Int32 POS_CODEPAGE_KHMER = 42;
        public const Int32 POS_CODEPAGE_WPC1250 = 47;
        public const Int32 POS_CODEPAGE_LATIN9 = 48;
        public const Int32 POS_CODEPAGE_TCVN3 = 49;
        public const Int32 POS_CODEPAGE_TCVN3_CAPTIAL = 50;
        public const Int32 POS_CODEPAGE_VISCII = 51;
        public const Int32 POS_CODEPAGE_PC912 = 52;

        public const Int32 POS_CODEPAGE_KSC5601 = 949;
        public const Int32 POS_CODEPAGE_SHIFTJIS = 932;
        public const Int32 POS_CODEPAGE_BIG5 = 950;
        public const Int32 POS_CODEPAGE_GB2312 = 936;
        public const Int32 POS_CODEPAGE_GB18030 = 54936;
        public const Int32 POS_CODEPAGE_UTF8 = 54937;
        public const Int32 POS_CODEPAGE_UTF16 = 54938; //Not Supported on windows
        public const Int32 POS_CODEPAGE_UTF32 = 54939; //Not Supported on windows

        public const Int32 POS_ICS_USA = 0;
        public const Int32 POS_ICS_FRANCE = 1;
        public const Int32 POS_ICS_GERMANY = 2;
        public const Int32 POS_ICS_UK = 3;
        public const Int32 POS_ICS_DENMARK_I = 4;
        public const Int32 POS_ICS_SWEDEN = 5;
        public const Int32 POS_ICS_ITALY = 6;
        public const Int32 POS_ICS_SPAIN_I = 7;
        public const Int32 POS_ICS_JAPAN = 8;
        public const Int32 POS_ICS_NORWAY = 9;
        public const Int32 POS_ICS_DENMARK_II = 10;
        public const Int32 POS_ICS_SPAIN_II = 11;
        public const Int32 POS_ICS_LATIN_AMERICA = 12;
        public const Int32 POS_ICS_KOREA = 13;
        public const Int32 POS_ICS_SLOVENIA_CROATIA = 14;
        public const Int32 POS_ICS_CHINA = 15;

        public const Int32 POS_NO_FEED_PARTIAL_CUT = 0;
        public const Int32 POS_NO_FEED_FULL_CUT = 1;
        public const Int32 POS_FEED_PARTIAL_CUT = 65;
        public const Int32 POS_FEED_FULL_CUT = 66;

        public const Int32 POS_PAGEMODE_OUT = 0;
        public const Int32 POS_PAGEMODE_IN = 1;

        public const Int32 POS_DIRECTION_0 = 0;
        public const Int32 POS_DIRECTION_LEFT90 = 1;
        public const Int32 POS_DIRECTION_180 = 2;
        public const Int32 POS_DIRECTION_RIGHT90 = 3;

        public const Int32 POS_IMAGE_NONE = 0;
        public const Int32 POS_IMAGE_RLE = 1;
        public const Int32 POS_IMAGE_LZMA = 2;

        public const Int32 POS_BARCODE_UPCA = 101;
        public const Int32 POS_BARCODE_UPCE = 102;
        public const Int32 POS_BARCODE_EAN8 = 103;
        public const Int32 POS_BARCODE_JAN8 = 103;
        public const Int32 POS_BARCODE_EAN13 = 104;
        public const Int32 POS_BARCODE_JAN13 = 104;
        public const Int32 POS_BARCODE_ITF = 106;
        public const Int32 POS_BARCODE_CODABAR = 107;
        public const Int32 POS_BARCODE_CODE39 = 108;
        public const Int32 POS_BARCODE_CODE93 = 109;
        public const Int32 POS_BARCODE_CODE128 = 110;
        public const Int32 POS_BARCODE_GS128 = 111;
        public const Int32 POS_BARCODE_GS1DATABAR_OMNIDIRECTIONAL = 112;
        public const Int32 POS_BARCODE_GS1DATABAR_TRUNCATED = 113;
        public const Int32 POS_BARCODE_GS1DATABAR_LIMITED = 114;

        public const Int32 POS_BARCODE_TEXT_NONE = 0;
        public const Int32 POS_BARCODE_TEXT_ABOVE = 1;
        public const Int32 POS_BARCODE_TEXT_BELOW = 2;
        public const Int32 POS_BARCODE_TEXT_BOTH = 3;

        public const Int32 POS_PDF417 = 201;
        public const Int32 POS_PDF417_SIMPLIFIED = 202;
        public const Int32 POS_DATAMATRIX = 203;
        public const Int32 POS_QRCODE_MODEL1 = 204;
        public const Int32 POS_QRCODE_MODEL2 = 205;
        
        public const Int32 POS_PDF417_COLUMN_AUTO = 0;
        public const Int32 POS_PDF417_ROW_AUTO = 0;

        public const Int32 POS_QRCODE_ECC_L = 48;
        public const Int32 POS_QRCODE_ECC_M = 49;
        public const Int32 POS_QRCODE_ECC_Q = 50;
        public const Int32 POS_QRCODE_ECC_H = 51;

        public const Int32 POS_PDF417_ECC_LEVEL_0 = 0;
        public const Int32 POS_PDF417_ECC_LEVEL_1 = 1;
        public const Int32 POS_PDF417_ECC_LEVEL_2 = 2;
        public const Int32 POS_PDF417_ECC_LEVEL_3 = 3;
        public const Int32 POS_PDF417_ECC_LEVEL_4 = 4;
        public const Int32 POS_PDF417_ECC_LEVEL_5 = 5;
        public const Int32 POS_PDF417_ECC_LEVEL_6 = 6;
        public const Int32 POS_PDF417_ECC_LEVEL_7 = 7;
        public const Int32 POS_PDF417_ECC_LEVEL_8 = 8;

        public const Int32 POS_GS1_DATABAR_OMNI = 50;
        public const Int32 POS_GS1_DATABAR_TRUNCATED = 51;
        public const Int32 POS_GS1_DATABAR_STACKED = 52;
        public const Int32 POS_GS1_DATABAR_STACKED_OMNI = 53;
        public const Int32 POS_GS1_DATABAR_UPC_A = 56;
        public const Int32 POS_GS1_DATABAR_UPC_E = 57;
        public const Int32 POS_GS1_DATABAR_EAN13 = 58;
        public const Int32 POS_GS1_DATABAR_EAN8 = 59;
        public const Int32 POS_GS1_DATABAR_EAN128_CC_A_B = 60;
        public const Int32 POS_GS1_DATABAR_EAN128_CC_C = 61;

        public const Int32 POS_COMPOSITE_EAN8 = 65;
        public const Int32 POS_COMPOSITE_EAN13 = 66;
        public const Int32 POS_COMPOSITE_UPC_A = 67;
        public const Int32 POS_COMPOSITE_UPC_E = 69;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_OMNI = 70;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_TRUNCATED = 71;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_STACKED = 72;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_STACKED_OMNI = 73;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_LIMITED = 74;
        public const Int32 POS_COMPOSITE_GS1_DATABAR_EXPANDED = 75;
        public const Int32 POS_COMPOSITE_GS1_128 = 77;

        public const Int32 POS_COMPOSITE_CC_AUTOMATIC = 65;
        public const Int32 POS_COMPOSITE_CC_C = 66;

        public const Int32 POS_MAXICODE_MODE_2 = 50;
        public const Int32 POS_MAXICODE_MODE_3 = 51;
        public const Int32 POS_MAXICODE_MODE_4 = 52;

        public const Int32 POS_AZTEC_ECC_L = 48;
        public const Int32 POS_AZTEC_ECC_M = 49;
        public const Int32 POS_AZTEC_ECC_Q = 50;
        public const Int32 POS_AZTEC_ECC_H = 51;

        public const Int32 POS_AZTEC_MODE_DATA = 0;
        public const Int32 POS_AZTEC_MODE_GS1 = 1;
        public const Int32 POS_AZTEC_MODE_UNICODE = 2;

        public const Int32 POS_STATUS_BATT_HIGH = 16;
        public const Int32 POS_STATUS_BATT_MID = 32;
        //public const Int32 POS_STATUS_BATT_LOW = 64;
        //public const Int32 POS_STATUS_FAIL = -1;

        public const Int32 POS_DRAWER_PIN2 = 0;
        public const Int32 POS_DRAWER_PIN5 = 1;

        public const Int32 POS_STATS_MOTOR1 = 0;
        public const Int32 POS_STATS_TPH1 = 2;
        public const Int32 POS_STATS_CUT1 = 4;

        public const Int32 POS_SCR_MODE_APDU = 0;
        public const Int32 POS_SCR_MODE_TPDU = 1;

        public const Int32 POS_SCR_SMARTCARD = 48;
        public const Int32 POS_SCR_SAM1 = 49;
        public const Int32 POS_SCR_SAM2 = 50;

        public const Int32 POS_ALIGNMENT_LEFT = 0;
        public const Int32 POS_ALIGNMENT_CENTER = 1;
        public const Int32 POS_ALIGNMENT_RIGHT = 2;

        public const Int32 LABEL_CODEPAGE_KSC5601 = 949;
        public const Int32 LABEL_CODEPAGE_SHIFTJIS = 932;
        public const Int32 LABEL_CODEPAGE_BIG5 = 950;
        public const Int32 LABEL_CODEPAGE_GB2312 = 936;

        public const Int32 LABEL_CODEPAGE_CP437 = 0;
        public const Int32 LABEL_CODEPAGE_CP850 = 1;
        public const Int32 LABEL_CODEPAGE_CP852 = 2;
        public const Int32 LABEL_CODEPAGE_CP860 = 3;
        public const Int32 LABEL_CODEPAGE_CP863 = 4;
        public const Int32 LABEL_CODEPAGE_CP865 = 5;
        public const Int32 LABEL_CODEPAGE_WPC1252 = 6;
        public const Int32 LABEL_CODEPAGE_CP865_WPC1252 = 7;
        public const Int32 LABEL_CODEPAGE_CP857 = 8;
        public const Int32 LABEL_CODEPAGE_CP737 = 9;
        public const Int32 LABEL_CODEPAGE_WPC1250 = 10;
        public const Int32 LABEL_CODEPAGE_WPC1253 = 11;
        public const Int32 LABEL_CODEPAGE_WPC1254 = 12;
        public const Int32 LABEL_CODEPAGE_CP855 = 13;
        public const Int32 LABEL_CODEPAGE_CP862 = 14;
        public const Int32 LABEL_CODEPAGE_CP866 = 15;
        public const Int32 LABEL_CODEPAGE_WPC1251 = 16;
        public const Int32 LABEL_CODEPAGE_WPC1255 = 17;
        public const Int32 LABEL_CODEPAGE_CP928 = 18;
        public const Int32 LABEL_CODEPAGE_CP864 = 19;
        public const Int32 LABEL_CODEPAGE_CP775 = 20;
        public const Int32 LABEL_CODEPAGE_WPC1257 = 21;
        public const Int32 LABEL_CODEPAGE_CP858 = 22;

        public const Int32 BCD_CODEPAGE_CP437 = 0;
        public const Int32 BCD_CODEPAGE_KATAKANA = 1;
        public const Int32 BCD_CODEPAGE_CP850 = 2;
        public const Int32 BCD_CODEPAGE_CP860 = 3;
        public const Int32 BCD_CODEPAGE_CP863 = 4;
        public const Int32 BCD_CODEPAGE_CP865 = 5;
        public const Int32 BCD_CODEPAGE_WPC1250 = 14;
        public const Int32 BCD_CODEPAGE_WPC1251 = 15;
        public const Int32 BCD_CODEPAGE_WPC1252 = 16;
        public const Int32 BCD_CODEPAGE_CP866 = 17;
        public const Int32 BCD_CODEPAGE_CP852 = 18;
        public const Int32 BCD_CODEPAGE_CP858 = 19;
        public const Int32 BCD_CODEPAGE_FARSI = 20;
        public const Int32 BCD_CODEPAGE_CP862 = 21;
        public const Int32 BCD_CODEPAGE_WPC1254 = 25;
        public const Int32 BCD_CODEPAGE_WPC1257 = 26;
        public const Int32 BCD_CODEPAGE_CP864 = 27;
        public const Int32 BCD_CODEPAGE_CP755 = 28;
        public const Int32 BCD_CODEPAGE_CP737 = 29;
        public const Int32 BCD_CODEPAGE_WPC1253 = 30;
        public const Int32 BCD_CODEPAGE_CP857 = 31;
        public const Int32 BCD_CODEPAGE_HEBREW_OLD = 32;
        public const Int32 BCD_CODEPAGE_WPC1255 = 33;
        public const Int32 BCD_CODEPAGE_CP855 = 36;
        public const Int32 BCD_CODEPAGE_CP928 = 38;
        public const Int32 BCD_CODEPAGE_WPC1256 = 40;
        public const Int32 BCD_CODEPAGE_WPC1258 = 41;
        public const Int32 BCD_CODEPAGE_TCVN = 49;
        public const Int32 BCD_CODEPAGE_TCVN_CAPTIAL = 50;
        public const Int32 BCD_CODEPAGE_VISCII = 51;

        public const Int32 LABEL_ICS_USA = 0;
        public const Int32 LABEL_ICS_FRANCE = 1;
        public const Int32 LABEL_ICS_GERMANY = 2;
        public const Int32 LABEL_ICS_UK = 3;
        public const Int32 LABEL_ICS_DENMARK_I = 4;
        public const Int32 LABEL_ICS_SWEDEN = 5;
        public const Int32 LABEL_ICS_ITALY = 6;
        public const Int32 LABEL_ICS_SPAIN_I = 7;
        public const Int32 LABEL_ICS_JAPAN = 8;
        public const Int32 LABEL_ICS_NORWAY = 9;
        public const Int32 LABEL_ICS_DENMARK_II = 10;
        public const Int32 LABEL_ICS_SPAIN_II = 11;
        public const Int32 LABEL_ICS_LATIN_AMERICA = 12;
        public const Int32 LABEL_ICS_KOREA = 13;
        public const Int32 LABEL_ICS_SLOVENIA_CROATIA = 14;
        public const Int32 LABEL_ICS_CHINA = 15;

        // Label Printer
        //	Device Fonts
        public const char LABEL_DEVICE_FONT_6PT = '0';//    9 X 15 (dots)                 
        public const char LABEL_DEVICE_FONT_8PT = '1';//   12 X 20 (dots)                 
        public const char LABEL_DEVICE_FONT_10PT = '2';//   16 X 25 (dots)                 
        public const char LABEL_DEVICE_FONT_12PT = '3';//   19 X 30 (dots)                 
        public const char LABEL_DEVICE_FONT_15PT = '4';//   24 X 38 (dots)                 
        public const char LABEL_DEVICE_FONT_20PT = '5';//   32 X 40 (dots)                 
        public const char LABEL_DEVICE_FONT_30PT = '6';//   48 X 76 (dots)                 
        public const char LABEL_DEVICE_FONT_14PT = '7';//   22 X 34 (dots)                 
        public const char LABEL_DEVICE_FONT_18PT = '8';//   28 X 44 (dots)                 
        public const char LABEL_DEVICE_FONT_24PT = '9';//   37 X 58 (dots)                 
        public const char LABEL_DEVICE_FONT_KOREAN1 = 'a';//   16 X 16 (dots)  (ascii  9 X 15)
        public const char LABEL_DEVICE_FONT_KOREAN2 = 'b';//   24 X 24 (dots)  (ascii 12 X 24)
        public const char LABEL_DEVICE_FONT_KOREAN3 = 'c';//   20 X 20 (dots)  (ascii 12 X 20)
        public const char LABEL_DEVICE_FONT_KOREAN4 = 'd';//   26 X 26 (dots)  (ascii 16 X 30)
        public const char LABEL_DEVICE_FONT_KOREAN5 = 'e';//   20 X 26 (dots)  (ascii 16 X 30)
        public const char LABEL_DEVICE_FONT_KOREAN6 = 'f';//   38 X 38 (dots)  (ascii 22 X 34)
        public const char LABEL_DEVICE_FONT_GB2312 = 'm';//   24 X 24 (dots)  (ascii 12 X 24)
        public const char LABEL_DEVICE_FONT_BIG5 = 'n';//   24 X 24 (dots)  (ascii 12 X 24)
        public const char LABEL_DEVICE_FONT_SHIFT_JIS = 'j';//   24 X 24 (dots)  (ascii 12 X 24)

        // Vector Fonts
        public const char LABEL_VECTOR_FONT_ASCII = 'U';
        public const char LABEL_VECTOR_FONT_KS5601 = 'K';
        public const char LABEL_VECTOR_FONT_BIG5 = 'B';
        public const char LABEL_VECTOR_FONT_GB2312 = 'G';
        public const char LABEL_VECTOR_FONT_SHIFT_JIS = 'J';
        public const char LABEL_VECTOR_FONT_OCR_A = 'a';
        public const char LABEL_VECTOR_FONT_OCR_B = 'b';

        // Text Align
        public const Int32 LABEL_ALIGNMENT_LEFT = 0;
        public const Int32 LABEL_ALIGNMENT_RIGHT = 1;
        public const Int32 LABEL_ALIGNMENT_CENTER = 2;

        // Rotation
        public const Int32 LABEL_ROTATION_0 = 0;
        public const Int32 LABEL_ROTATION_90 = 1;
        public const Int32 LABEL_ROTATION_180 = 2;
        public const Int32 LABEL_ROTATION_270 = 3;

        // 1D Barcode
        public const Int32 LABEL_BARCODE_CODE39 = 0;
        public const Int32 LABEL_BARCODE_CODE128 = 1;
        public const Int32 LABEL_BARCODE_I2OF5 = 2;
        public const Int32 LABEL_BARCODE_CODABAR = 3;
        public const Int32 LABEL_BARCODE_CODE93 = 4;
        public const Int32 LABEL_BARCODE_UPC_A = 5;
        public const Int32 LABEL_BARCODE_UPC_E = 6;
        public const Int32 LABEL_BARCODE_EAN13 = 7;
        public const Int32 LABEL_BARCODE_EAN8 = 8;
        public const Int32 LABEL_BARCODE_UCC_EAN128 = 9;
        public const Int32 LABEL_BARCODE_CODE11 = 10;
        public const Int32 LABEL_BARCODE_PLANET = 11;
        public const Int32 LABEL_BARCODE_INDUSTRIAL_2OF5 = 12;
        public const Int32 LABEL_BARCODE_STANDARD_2OF5 = 13;
        public const Int32 LABEL_BARCODE_LOGMARS = 14;
        public const Int32 LABEL_BARCODE_UPC_EAN_EXT = 15;
        public const Int32 LABEL_BARCODE_POSTNET = 16;

        // Label Hri
        public const Int32 LABEL_BARCODE_TEXT_HRI_NONE = 0;
        public const Int32 LABEL_BARCODE_TEXT_BELOW_1 = 1;
        public const Int32 LABEL_BARCODE_TEXT_ABOVE_1 = 2;
        public const Int32 LABEL_BARCODE_TEXT_BELOW_2 = 3;
        public const Int32 LABEL_BARCODE_TEXT_ABOVE_2 = 4;
        public const Int32 LABEL_BARCODE_TEXT_BELOW_3 = 5;
        public const Int32 LABEL_BARCODE_TEXT_ABOVE_3 = 6;
        public const Int32 LABEL_BARCODE_TEXT_BELOW_4 = 7;
        public const Int32 LABEL_BARCODE_TEXT_ABOVE_4 = 8;

        // Maxicode Mode
        public const Int32 LABEL_MAXICODE_MODE_0 = 0;
        public const Int32 LABEL_MAXICODE_MODE_2 = 2;
        public const Int32 LABEL_MAXICODE_MODE_3 = 3;
        public const Int32 LABEL_MAXICODE_MODE_4 = 4;

        // PDF417 Origin point
        public const Int32 LABEL_PDF417_ORIGIN_POINT_CENTER = 0;
        public const Int32 LABEL_PDF417_ORIGIN_POINT_UPPER_LEFT = 1;

        // PDF417 Error correction level
        public const Int32 LABEL_PDF417_ECC_0 = 0;
        public const Int32 LABEL_PDF417_ECC_1 = 1;
        public const Int32 LABEL_PDF417_ECC_2 = 2;
        public const Int32 LABEL_PDF417_ECC_3 = 3;
        public const Int32 LABEL_PDF417_ECC_4 = 4;
        public const Int32 LABEL_PDF417_ECC_5 = 5;
        public const Int32 LABEL_PDF417_ECC_6 = 6;
        public const Int32 LABEL_PDF417_ECC_7 = 7;
        public const Int32 LABEL_PDF417_ECC_8 = 8;

        // PDF417 Compression
        public const Int32 LABEL_PDF417_DATA_COMPRESSION_TEXT = 0;
        public const Int32 LABEL_PDF417_DATA_COMPRESSION_NUMERIC = 1;
        public const Int32 LABEL_PDF417_DATA_COMPRESSION_BINARY = 2;

        // QR Code mode
        public const Int32 LABEL_QRCODE_MODEL_1 = 1;
        public const Int32 LABEL_QRCODE_MODEL_2 = 2;

        // QR Code ECC Level
        public const Int32 LABEL_QRCODE_ECC_L = 'L';
        public const Int32 LABEL_QRCODE_ECC_M = 'M';
        public const Int32 LABEL_QRCODE_ECC_Q = 'Q';
        public const Int32 LABEL_QRCODE_ECC_H = 'H';


        // Code49 Starting mode
        public const Int32 LABEL_REGULAR_ALPHANUM = 0;
        public const Int32 LABEL_MULTIPLE_READ_ALPHANUM = 1;
        public const Int32 LABEL_REGULAR_NUMERIC = 2;
        public const Int32 LABEL_GROUP_ALPHANUM = 3;
        public const Int32 LABEL_REGULAR_ALPHANUM_SHIFT1 = 4;
        public const Int32 LABEL_REGULAR_ALPHANUM_SHIFT2 = 5;
        public const Int32 LABEL_AUTOMATIC = 7;

        // CODEBLOCK MODE
        public const char LABEL_CODABLOCK_MODE_A = 'A';
        public const char LABEL_CODABLOCK_MODE_E = 'E';
        public const char LABEL_CODABLOCK_MODE_F = 'F';

        // MSI Check digit
        public const Int32 LABEL_CHECKDIGIT_NONE = 0;
        public const Int32 LABEL_CHECKDIGIT_1MOD10 = 1;
        public const Int32 LABEL_CHECKDIGIT_2MOD10 = 2;
        public const Int32 LABEL_CHECKDIGIT_1MOD11_AND_1MOD_10 = 3;

        // RSS Barcode type
        public const Int32 LABEL_RSS14 = 0;
        public const Int32 LABEL_RSS14_TRUNCATED = 1;
        public const Int32 LABEL_RSS14_STACKED = 2;
        public const Int32 LABEL_RSS14_STACKED_OMNI = 3;
        public const Int32 LABEL_RSS_LIMITED = 4;
        public const Int32 LABEL_RSS_EXPANDED = 5;
        public const Int32 LABEL_RSS_UPC_A = 6;
        public const Int32 LABEL_RSS_UPC_E = 7;
        public const Int32 LABEL_RSS_EAN13 = 8;
        public const Int32 LABEL_RSS_EAN8 = 9;
        public const Int32 LABEL_RSS_UCC_EAN128_CC_A_B = 10;
        public const Int32 LABEL_RSS_UCC_EAN128_CC_C = 11;

        // Draw Block Option
        public const string LABEL_LINE_OVERWRITING = "O";
        public const string LABEL_LINE_EXCLUSIVE_OR = "E";
        public const string LABEL_LINE_DELETE = "D";
        public const string LABEL_SLOPE = "S";
        public const string LABEL_BOX = "B";

        // Draw Circle Size Options
        public const Int32 LABEL_CIRCLE_40X40 = 1;
        public const Int32 LABEL_CIRCLE_56X56 = 2;
        public const Int32 LABEL_CIRCLE_72X72 = 3;
        public const Int32 LABEL_CIRCLE_88X88 = 4;
        public const Int32 LABEL_CIRCLE_104X104 = 5;
        public const Int32 LABEL_CIRCLE_168X168 = 6;

        // Label Compress Type
        public const Int32 LABEL_IMAGE_NONE = 0;
        public const Int32 LABEL_IMAGE_RLE = 1;
        public const Int32 LABEL_IMAGE_LZMA = 2;

        // Label Printer Status
        public const Int32 LABEL_STATUS_IDLE = 0;
        public const Int32 LABEL_STATUS_PAPEREMPTY = 1;
        public const Int32 LABEL_STATUS_COVEROPEN = 2;
        public const Int32 LABEL_STATUS_CUTTER_JAMMED = 4;
        public const Int32 LABEL_STATUS_TPH_OVERHEAT = 8;
        public const Int32 LABEL_STATUS_GAP_ERROR = 16;
        public const Int32 LABEL_STATUS_RIBBON_END = 32;
        public const Int32 LABEL_STATUS_ON_BUILDING_LABEL = 64;
        public const Int32 LABEL_STATUS_ISSUED_LABEL_PAUSED = 256;
        public const Int32 LABEL_STATUS_BOARD_OVERHEAT = 512;
        public const Int32 LABEL_STATUS_MOTOR_OVERHEAT = 1024;
        public const Int32 LABEL_STATUS_WAIT_LABEL_TAKEN = 2048;
        public const Int32 LABEL_STATUS_RFID_WRITING_ERROR = 4096;
        public const Int32 LABEL_STATUS_FAIL = -1;

        // Label dithering Type
        public const Int32 LABEL_DITHER_NONE = 0;
        public const Int32 LABEL_DITHER1 = 1;

        // Label Media Type
        public const string LABEL_MEDIA_TYPE_GAP = "G";
        public const string LABEL_MEDIA_TYPE_BLACK_MARK = "B";
        public const string LABEL_MEDIA_TYPE_CONTINUOUS = "C";

        public const char LABEL_PRINTING_TYPE_DIRECT_THERMAL = 'd';
        public const char LABEL_PRINTING_TYPE_THERMAL_TRANSFER = 't';

        // setOrientation Parameters
        public const char LABEL_ORIENTAION_TOP = 'T';
        public const char LABEL_ORIENTAION_BOTTOM = 'B';

        // setupRFID Parameters
        public const Int32 LABEL_RFID_NONE = 0;
        public const Int32 LABEL_RFID_ISO_TYPE_A = 1;
        public const Int32 LABEL_RFID_ISO_TYPE_B = 2;
        public const Int32 LABEL_RFID_EPC_0 = 3;
        public const Int32 LABEL_RFID_EPC_1 = 4;
        public const Int32 LABEL_RFID_EPC_GEN2 = 5;

        // writeRFID Parameters
        public const Int32 LABEL_RFID_ASCII = 0;
        public const Int32 LABEL_RFID_HEX = 1;
        public const Int32 LABEL_RFID_EPC = 2;
        public const Int32 LABEL_RFID_HEX_USER = 3;

        // getStatisticsData Parameters
        public const Int32 LABEL_STATS_MOTOR1 = 0;
        public const Int32 LABEL_STATS_MOTOR2 = 1;
        public const Int32 LABEL_STATS_TPH1 = 2;
        public const Int32 LABEL_STATS_TPH2 = 3;
        public const Int32 LABEL_STATS_CUT1 = 4;
        public const Int32 LABEL_STATS_CUT2 = 5;
    }
}

