libsc80s.so Specifications Copyright (C) SEIKO EPSON CORPORATION 2002-2004. Contents 1 Outline 2 API Function 2.1 libprt_init 2.2 libprt_page_init 2.3 libprt_out & libprt_out_at 2.4 libprt_page_end 2.5 libprt_end 3 Error Codes 1 Outline libsc80s.so is a library that converts the RGB data into the ESC/P data. The user is able to write the codes using this library. 2 API Function 2.1 libprt_init Initialization of the library. int libprt_init ( HANDLE*, The pointer to HANDLE used in the internal library. LP_LIBPRT_INIT Initialization structure of the library. ); Return value : Error Code Structure : typedef struct _LIBPRT_INIT_STRUCT { FILE* output; The pointer to output. char* paper; Paper "A4" :A4 210x297 mm "B5" :B5 182x257 mm "A5" :A5 148x210 mm "LT" :Letter 8 1/2x11 in "LGL" :Legal 8 1/2x14 in "EXE" :Executive 7 1/4x10 1/2 in "HLT" :Half Letter 5 1/2x8 1/2 in "A6" :A6 105x148 mm "INDEX5" :Index card 5x8 in "INDEX8" :Index card 8x10 in "ENV10" :Envelope #10 4 1/8x9 1/2 "ENVDL" :Envelope DL 110x220 mm "ENVC6" :Envelope C6 114x162 mm "ENV5X8" :Envelope 132x220 mm "PHOTO" :Photo Paper 4x6 in "4X6FULL" :Photo Paper 4 x 6 in No Perforation "PP100" :Photo Paper 100x150 mm "PP200" :Photo Paper 200x300 mm "L" :3.5 x 5 in 89 x 127 mm "2L" :5 x 7 in 127 x 178 mm "PANORAM" :Panoramic 210x594 mm char* format; Print format "MONO" :Black print "COLOR" :Color print char* resol; Resolution "180" :180dpi "360" :360dpi "720" :720dpi char* high_speed; High Speed Print "ON" :Bi-directional Print "OFF" :Simplex Print char* bin_id; Paper Source "AUTO" :Auto Sheet Feeder char* media_type; Media Type "PLAIN" :Plain Paper "SFINE" :Photo Quality Ink Jet Paper "OHP" :Ink Jet Transparencies "BWIP" :Bright White Ink Jet Paper "DBSMATT":Double-Sided Matte Paper "ARCMATT":Archival Matte Paper "PSGLOS" :Premium Semigloss Photo Paper END_CONV_DATA char* qlevel; Quality Level "DRAFT" :Draft Print "STD" :Standard Print "FINE" :Fine Print "SFINE" :Super Fine Print "PHOTO" :High Print "SPHOTO" :Super High Print POINT margin; Margin x = Top Margin[0 - bottom(maximum) value](pixel) y = Left Margin[0 - right(maximum) value](pixel) POINT paper_size; Paper Size x = Width(pixel) y = Length(pixel) POINT paper_area; Print Area x = Width of printable area(pixel) y = Length of printable area(pixel) char* mw_type; Micro Weave "ON" :MicroWeave ON "OFF" :MicroWeave OFF } LIBPRT_INIT, *LP_LIBPRT_INIT; 2.2 libprt_page_init Initialization of the printing. int libprt_page_init ( HANDLE, The variable used in the internal library. LP_LIBPRT_PAGE Initialization structure of the page print. ); Return value : Error code Structure : typedef struct _LIBPRT_PAGE_STRUCT { char* color_mode; Color mode adjustment "AUTO" :Automatic setting "PHOTO" :Photo - realistic "GRAPH" :Vivid color "NONE" :No adjustment char* halftone_type; Halftone Type "ED" :High Quality Halftoning int brightness; Brightness = [-50 - 50] int contrast; Contrast = [-50 - 50] int saturation; Saturation = [-50 - 50] int r_strength; Red color compensation = [-50 - 50] int g_strength; Green color compensation = [-50 - 50] int b_strength; Blue color compensation = [-50 - 50] void* reserved; reserved } LIBPRT_PAGE, *LP_LIBPRT_PAGE; 2.3 libprt_out & libprt_out_at Conversion of RGB data into Printer code. When "Color mode adjustment" is "AUTO", libprt_out_at it. int libprt_out ( HANDLE, The variable used in the internal library. LP_LIBPRT_BAND Initialization structure of the print data. ); Return value : Error code Structure : typedef struct _LIBPRT_BAND_STRUCT { long width_pixel; Values of the raster's pixel long width_bytes; Values of the raster's byte long line_number; Values of the raster's number unsigned char* byte_data; Image of raster LP_LIBPRT_ATBMP_BAND lp_atbmp_band; "Color mode adjustment" sets LP_LIBPRT_ATBMP_BAND in case of "AUTO". Set null besides it. } LIBPRT_BAND, *LP_LIBPRT_BAND; typedef struct _LIBPRT_ATBMP_BAND_STRUCT { long width_bytes; Values of the raster's byte unsigned char* byte_data; Attribute Bitmap of raster } LIBPRT_ATBMP_BAND, *LP_LIBPRT_ATBMP_BAND; 2.4 libprt_page_end It terminates the printing operation and also sends interruption to the printing operation. int libprt_page_end ( HANDLE, The variable used in the internal library. int Cancel flag When the process is interrupted by some reasons, it sets the cancel flag to TRUE. The cancel flag is normally set at FALSE. ); Return value : Error code 2.5 libprt_end Terminates the library process. int libprt_end ( HANDLE The variable used in the internal library. ); Return value : Error code 3 Error Code The meaning of the returned value is shown below. 0 Normal termination 1 Failed to keep the Memory space 2 Wrong parameter was given into the input 3 The function was called in the wrong order 4 The cause of the error cannot be specified [EOF]