1 /* 2 * Epson Inkjet Printer Driver (ESC/P-R) for Linux 3 * Copyright (C) Seiko Epson Corporation 2002-2013. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA. 18 */ 19 20 #ifndef PIPSDEF_H 21 #define PIPSDEF_H 22 23 #ifdef HAVE_CONFIG_H 24 # include <config.h> 25 #endif 26 27 #ifdef __cplusplus 28 extern "C" { 29 #endif /* __cplusplus */ 30 31 typedef unsigned char UCHAR; 32 typedef unsigned short USHORT; 33 typedef unsigned int UINT; 34 typedef unsigned long ULONG; 35 typedef int BOOL; 36 typedef void* HANDLE; 37 38 #ifdef __cplusplus 39 } 40 #endif /* __cplusplus */ 41 42 43 #define MODE_ITEM 4 44 45 enum MODE_OFSET 46 { 47 MOFS_PAPER_SIZE = 0, 48 MOFS_MEDIA, 49 MOFS_QUALITY, 50 MOFS_BORDERLESS_PRINT 51 }; 52 53 /* output type */ 54 enum eOUTPUT_FORMAT 55 { 56 PIPS_OUTPUT_MONO = 1, 57 PIPS_OUTPUT_CMYKcm = 0 58 }; 59 60 /* media size */ 61 #define PM_MSID_A4 0x00 62 #define PM_MSID_LETTER 0x01 63 #define PM_MSID_LEGAL 0x02 64 #define PM_MSID_A5 0x03 65 #define PM_MSID_A6 0x04 66 #define PM_MSID_B5 0x05 67 #define PM_MSID_EXECUTIVE 0x06 68 #define PM_MSID_HALFLETTER 0x07 69 #define PM_MSID_PANORAMIC 0x08 70 #define PM_MSID_TRIM_4X6 0x09 71 #define PM_MSID_4X6 0x0A 72 #define PM_MSID_5X8 0x0B 73 #define PM_MSID_8X10 0x0C 74 #define PM_MSID_10X15 0x0D 75 #define PM_MSID_200X300 0x0E 76 #define PM_MSID_L 0x0F 77 #define PM_MSID_POSTCARD 0x10 78 #define PM_MSID_DBLPOSTCARD 0x11 79 #define PM_MSID_ENV_10_L 0x12 80 #define PM_MSID_ENV_C6_L 0x13 81 #define PM_MSID_ENV_DL_L 0x14 82 #define PM_MSID_NEWEVN_L 0x15 83 #define PM_MSID_CHOKEI_3 0x16 84 #define PM_MSID_CHOKEI_4 0x17 85 #define PM_MSID_YOKEI_1 0x18 86 #define PM_MSID_YOKEI_2 0x19 87 #define PM_MSID_YOKEI_3 0x1A 88 #define PM_MSID_YOKEI_4 0x1B 89 #define PM_MSID_2L 0x1C 90 #define PM_MSID_ENV_10 0x1D // ENV_10_P 91 #define PM_MSID_ENV_C6 0x1E // ENV_C6_P 92 #define PM_MSID_ENV_DL 0x1F // ENV_DL_P 93 #define PM_MSID_NEWENV 0x20 // NEWENV_P 94 #define PM_MSID_BUZCARD_89X55 0x21 // MEISHI [ 89.000, 55.000] 95 #define PM_MSID_BUZCARD_89X50 0x22 // [ 89.000, 50.000] 96 #define PM_MSID_CARD_54X86 0x23 97 #define PM_MSID_BUZCARD_55X91 0x24 98 #define PM_MSID_ALBUM_L 0x25 // [127.000,198.000] 99 #define PM_MSID_ALBUM_A5 0x26 // [210.000,321.000] 100 #define PM_MSID_PALBUM_L_L 0x27 101 #define PM_MSID_PALBUM_2L 0x28 102 #define PM_MSID_PALBUM_A5_L 0x29 103 #define PM_MSID_PALBUM_A4 0x2A 104 #define PM_MSID_4X7 0x2B // HIVISION 105 106 #define PM_MSID_KAKU_2 0x2C // Lib5.6 [240.000,332.000] 107 #define PM_MSID_ENV_C4_P 0x2D // Lib5.6 [229.000,324.000] 108 #define PM_MSID_B6 0x2E // Lib5.6 [128.000,182.000] 109 #define PM_MSID_KAKU_20 0x2F // Lib5.6 [229.000,324.000] 110 #define PM_MSID_A5_24HOLE 0x30 // Lib5.6 [148.000,210.000] 111 #define PM_MSID_CHOKEI_40 0x34 // Lib5.6 [ 90.000,225.000] 112 113 #define PM_MSID_A3NOBI 0x3D 114 #define PM_MSID_A3 0x3E 115 #define PM_MSID_B4 0x3F 116 #define PM_MSID_USB 0x40 117 #define PM_MSID_11X14 0x41 118 #define PM_MSID_B3 0x42 119 #define PM_MSID_A2 0x43 120 #define PM_MSID_USC 0x44 121 #define PM_MSID_10X12 0x45 122 #define PM_MSID_12X12 0x46 123 124 #define PM_MSID_SP1 0x47 // Lib5.6 [210.000,270.000] 125 #define PM_MSID_SP2 0x48 // Lib5.6 [210.000,149.000] 126 #define PM_MSID_SP3 0x49 // Lib5.6 [100.000,170.000] 127 #define PM_MSID_SP4 0x4A // Lib5.6 [130.000,182.000] 128 #define PM_MSID_SP5 0x4B // Lib5.6 [192.000,132.000] 129 #define PM_MSID_16K 0x4C // Lib5.6 [195.000,270.000] 130 #define PM_MSID_8K 0x4D // Lib5.6 [270.000,390.000] 131 132 #define PM_MSID_USER 0x63 133 134 #define PM_MSID_HALFCUT 0x80 // Lib5.6 [356.000,432.000] 135 #define PM_MSID_16X20 0x81 // Lib5.6 [406.400,508.000] 136 137 #define PM_MSID_UNKNOWN -2 138 139 140 /* Support media type id */ 141 #define PM_MTID_PLAIN 0x00 142 #define PM_MTID_360INKJET 0x01 143 #define PM_MTID_IRON 0x02 144 #define PM_MTID_PHOTOINKJET 0x03 145 #define PM_MTID_PHOTOADSHEET 0x04 146 #define PM_MTID_MATTE 0x05 147 #define PM_MTID_PHOTO 0x06 148 #define PM_MTID_PHOTOFILM 0x07 149 #define PM_MTID_MINIPHOTO 0x08 150 #define PM_MTID_OHP 0x09 151 #define PM_MTID_BACKLIGHT 0x0A 152 #define PM_MTID_PGPHOTO 0x0B 153 #define PM_MTID_PSPHOTO 0x0C 154 #define PM_MTID_PLPHOTO 0x0D 155 #define PM_MTID_MCGLOSSY 0x0E 156 #define PM_MTID_ARCHMATTE 0x0F 157 #define PM_MTID_WATERCOLOR 0x10 158 #define PM_MTID_PROGLOSS 0x11 159 #define PM_MTID_MATTEBOARD 0x12 160 #define PM_MTID_PHOTOGLOSS 0x13 161 #define PM_MTID_SEMIPROOF 0x14 162 #define PM_MTID_SUPERFINE2 0x15 163 #define PM_MTID_DSMATTE 0x16 164 #define PM_MTID_CLPHOTO 0x17 165 #define PM_MTID_ECOPHOTO 0x18 166 #define PM_MTID_VELVETFINEART 0x19 167 #define PM_MTID_PROOFSEMI 0x1A 168 #define PM_MTID_HAGAKIRECL 0x1B 169 #define PM_MTID_HAGAKIINKJET 0x1C 170 #define PM_MTID_PHOTOINKJET2 0x1D 171 #define PM_MTID_DURABRITE 0x1E 172 #define PM_MTID_MATTEMEISHI 0x1F 173 #define PM_MTID_HAGAKIATENA 0x20 174 #define PM_MTID_PHOTOALBUM 0x21 175 #define PM_MTID_PHOTOSTAND 0x22 176 #define PM_MTID_RCB 0x23 177 #define PM_MTID_PGPHOTOEG 0x24 178 #define PM_MTID_ENVELOPE 0x25 179 #define PM_MTID_PLATINA 0x26 180 #define PM_MTID_ULTRASMOOTH 0x27 181 /* add Wed Jan 28 2009 v */ 182 #define PM_MTID_SFHAGAKI 0x28 /* "Super Fine Postcard\0" */ 183 #define PM_MTID_PHOTOSTD 0x29 /* "Premium Glossy Photo Paper (Standard)\0" */ 184 #define PM_MTID_GLOSSYHAGAKI 0x2A /* "Glossy Postcard\0" */ 185 #define PM_MTID_GLOSSYPHOTO 0x2B /* "Glossy Photo Paper\0" */ 186 #define PM_MTID_GLOSSYCAST 0x2C /* "Epson Photo\0" */ 187 #define PM_MTID_BUSINESSCOAT 0x2D /* "Business Ink Jet Coat Paper\0" */ 188 /* add Wed Jan 28 2009 ^ */ 189 /* del Wed Jan 28 2009 #define PM_MTID_GPHOTO 0x2B*/ 190 /* del Wed Jan 28 2009 #define PM_MTID_PHOTOEGCP 0x2C*/ 191 //#define PM_MTID_HAGAKIATENA 0x20 // defined twice 192 193 #define PM_MTID_MEDICINEBAG 0x2E // Lib5.6 "Medicine bag\0" 194 195 #define PM_MTID_THICKPAPER 0x2F 196 197 #define PM_MTID_BROCHURE 0x30 // Lib5.6 "Brochure & Flyer Paper Glossy Double-sided\0" 198 #define PM_MTID_MATTE_DS 0x31 // Lib5.6 "EPSON Matte Double-sided\0" 199 #define PM_MTID_BSMATTE_DS 0x32 // Lib5.6 "EPSON Bussines card Matte Double-sided\0" 200 #define PM_MTID_3D 0x33 // Lib5.6 "3D media\0" 201 #define PM_MTID_LCPP 0x34 // Lib5.6 "Photo Paper Glossy\0" 202 203 #define PM_MTID_PREPRINTED 0x35 204 #define PM_MTID_LETTERHEAD 0x36 205 #define PM_MTID_RECYCLED 0x37 206 #define PM_MTID_COLORPAPER 0x38 // COLOR 207 208 #define PM_MTID_BUSINESS_PLAIN 0x39 // Lib5.6 "Business Plain Paper\0" 209 210 #define PM_MTID_PLAIN_ROLL_STICKER 0x3B // Lib5.6 "Plain Roll Sticker\0" 211 #define PM_MTID_GROSSY_ROLL_STICKER 0x3C // Lib5.6 "Glossy Roll Sticker\0" 212 213 #define PM_MTID_THICKPAPER1 0x41 // Lib5.6 "Thick Paper 1\0" 214 #define PM_MTID_THICKPAPER2 0x42 // Lib5.6 "Thick Paper 2\0" 215 #define PM_MTID_THICKPAPER3 0x43 // Lib5.6 "Thick Paper 3\0" 216 217 #define PM_MTID_HIGHQUALITY_PLAIN 0x46 // Lib5.6 "High Quality Plain Paper\0" 218 #define PM_MTID_BS_HALFGLOSSY_DS 0x47 // Lib5.6 "Bussines card Harf Glossy Double-sided\0" 219 220 #define PM_MTID_CDDVD 0x5B 221 #define PM_MTID_CDDVDHIGH 0x5C 222 223 #define PM_MTID_CDDVDGLOSSY 0x5D // Lib5.6 "CD/DVD Glossy Surface\0" 224 225 #define PM_MTID_CLEANING 0x63 226 227 #define PM_MTID_PLOOFING_WHITE_MAT 0x8E // Lib5.6 "Proofing Paper White Semimatte\0" 228 229 #define PM_MTID_AUTO_PLAIN 0xFD // Lib5.6 "Auto Select(Plain Paper)" 230 231 #define PM_MTID_UNKNOWN -2 232 233 234 #define SILENT_MASK 0x10000000 235 236 237 /* quality level set pattern bits */ 238 enum eQUALITY 239 { 240 PIPS_LV_DRAFT = 0, 241 PIPS_LV_NORMAL = 1, 242 PIPS_LV_HIGH = 2 243 244 }; 245 246 /* Ink status */ 247 enum eINK_STATUS 248 { 249 ST_INK_NORMAL = 0, 250 ST_INK_LOW, 251 ST_INK_END 252 }; 253 254 /* Fit to page */ 255 enum eFIT_PAGE 256 { 257 PIPS_FP_OFF = 0, 258 PIPS_FP_ON 259 }; 260 261 /* Multi page */ 262 enum eMULTI_PAGE 263 { 264 PIPS_MP_1 = 0, 265 PIPS_MP_2, 266 PIPS_MP_4 267 }; 268 269 /* Borderless Print */ 270 enum eBORDERLESS_PRINT 271 { 272 PIPS_BL_OFF = 0, 273 PIPS_BL_ON 274 }; 275 276 typedef int (*func_t)(UCHAR *, void *, void *, void *); 277 278 279 #endif /* PIPSDEF_H */ 280