1141cc406Sopenharmony_ci/* 2141cc406Sopenharmony_ci * Prototypes for Epson ESC/I commands 3141cc406Sopenharmony_ci * 4141cc406Sopenharmony_ci * Based on Kazuhiro Sasayama previous 5141cc406Sopenharmony_ci * Work on epson.[ch] file from the SANE package. 6141cc406Sopenharmony_ci * Please see those files for original copyrights. 7141cc406Sopenharmony_ci * 8141cc406Sopenharmony_ci * Copyright (C) 2006 Tower Technologies 9141cc406Sopenharmony_ci * Author: Alessandro Zummo <a.zummo@towertech.it> 10141cc406Sopenharmony_ci * 11141cc406Sopenharmony_ci * This file is part of the SANE package. 12141cc406Sopenharmony_ci * 13141cc406Sopenharmony_ci * This program is free software; you can redistribute it and/or 14141cc406Sopenharmony_ci * modify it under the terms of the GNU General Public License as 15141cc406Sopenharmony_ci * published by the Free Software Foundation, version 2. 16141cc406Sopenharmony_ci */ 17141cc406Sopenharmony_ci 18141cc406Sopenharmony_ci/* simple scanner commands, ESC <x> */ 19141cc406Sopenharmony_ci 20141cc406Sopenharmony_ci#define esci_set_focus_position(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_focus_position, v) 21141cc406Sopenharmony_ci#define esci_set_color_mode(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_color_mode, v) 22141cc406Sopenharmony_ci#define esci_set_data_format(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_data_format, v) 23141cc406Sopenharmony_ci#define esci_set_halftoning(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_halftoning, v) 24141cc406Sopenharmony_ci#define esci_set_gamma(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_gamma, v) 25141cc406Sopenharmony_ci#define esci_set_color_correction(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_color_correction, v) 26141cc406Sopenharmony_ci#define esci_set_lcount(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_lcount, v) 27141cc406Sopenharmony_ci#define esci_set_bright(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_bright, v) 28141cc406Sopenharmony_ci#define esci_mirror_image(s,v) e2_esc_cmd( s,(s)->hw->cmd->mirror_image, v) 29141cc406Sopenharmony_ci#define esci_set_speed(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_speed, v) 30141cc406Sopenharmony_ci#define esci_set_sharpness(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_outline_emphasis, v) 31141cc406Sopenharmony_ci#define esci_set_auto_area_segmentation(s,v) e2_esc_cmd( s,(s)->hw->cmd->control_auto_area_segmentation, v) 32141cc406Sopenharmony_ci#define esci_set_film_type(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_film_type, v) 33141cc406Sopenharmony_ci#define esci_set_exposure_time(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_exposure_time, v) 34141cc406Sopenharmony_ci#define esci_set_bay(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_bay, v) 35141cc406Sopenharmony_ci#define esci_set_threshold(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_threshold, v) 36141cc406Sopenharmony_ci#define esci_control_extension(s,v) e2_esc_cmd( s,(s)->hw->cmd->control_an_extension, v) 37141cc406Sopenharmony_ci 38141cc406Sopenharmony_ciSANE_Status esci_set_zoom(Epson_Scanner * s, unsigned char x, unsigned char y); 39141cc406Sopenharmony_ciSANE_Status esci_set_resolution(Epson_Scanner * s, int x, int y); 40141cc406Sopenharmony_ciSANE_Status esci_set_scan_area(Epson_Scanner * s, int x, int y, int width, 41141cc406Sopenharmony_ci int height); 42141cc406Sopenharmony_ciSANE_Status esci_set_color_correction_coefficients(Epson_Scanner * s, SANE_Word *table); 43141cc406Sopenharmony_ciSANE_Status esci_set_gamma_table(Epson_Scanner * s); 44141cc406Sopenharmony_ci 45141cc406Sopenharmony_ciSANE_Status esci_request_status(SANE_Handle handle, unsigned char *scanner_status); 46141cc406Sopenharmony_ciSANE_Status esci_request_extended_identity(SANE_Handle handle, unsigned char *buf); 47141cc406Sopenharmony_ciSANE_Status esci_request_scanner_status(SANE_Handle handle, unsigned char *buf); 48141cc406Sopenharmony_ciSANE_Status esci_set_scanning_parameter(SANE_Handle handle, unsigned char *buf); 49141cc406Sopenharmony_ciSANE_Status esci_get_scanning_parameter(SANE_Handle handle, unsigned char *buf); 50141cc406Sopenharmony_ciSANE_Status esci_request_command_parameter(SANE_Handle handle, unsigned char *buf); 51141cc406Sopenharmony_ciSANE_Status esci_request_focus_position(SANE_Handle handle, 52141cc406Sopenharmony_ci unsigned char *position); 53141cc406Sopenharmony_ciSANE_Status esci_request_push_button_status(SANE_Handle handle, 54141cc406Sopenharmony_ci unsigned char *bstatus); 55141cc406Sopenharmony_ciSANE_Status esci_request_identity(SANE_Handle handle, unsigned char **buf, size_t *len); 56141cc406Sopenharmony_ci 57141cc406Sopenharmony_ciSANE_Status esci_request_identity2(SANE_Handle handle, unsigned char **buf); 58141cc406Sopenharmony_ciSANE_Status esci_reset(Epson_Scanner * s); 59141cc406Sopenharmony_ciSANE_Status esci_feed(Epson_Scanner * s); 60141cc406Sopenharmony_ciSANE_Status esci_eject(Epson_Scanner * s); 61141cc406Sopenharmony_ciSANE_Status esci_request_extended_status(SANE_Handle handle, unsigned char **data, 62141cc406Sopenharmony_ci size_t * data_len); 63141cc406Sopenharmony_ciSANE_Status esci_enable_infrared(SANE_Handle handle); 64