1 /* 2 * epson2.c - SANE library for Epson scanners. 3 * 4 * Based on Kazuhiro Sasayama previous 5 * Work on epson.[ch] file from the SANE package. 6 * Please see those files for additional copyrights. 7 * 8 * Copyright (C) 2006-07 Tower Technologies 9 * Author: Alessandro Zummo <a.zummo@towertech.it> 10 * 11 * This file is part of the SANE package. 12 * 13 * This program is free software; you can redistribute it and/or 14 * modify it under the terms of the GNU General Public License as 15 * published by the Free Software Foundation, version 2. 16 */ 17 18 /* some defines to make handling the TPU easier */ 19 #define FILM_TYPE_NEGATIVE (1L << 0) 20 #define FILM_TYPE_SLIDE (1L << 1) 21 22 #define e2_model(s,m) e2_dev_model((s)->hw,(m)) 23 24 extern int sanei_scsi_max_request_size; 25 extern int *gamma_params; 26 27 extern void e2_dev_init(Epson_Device *dev, const char *devname, int conntype); 28 extern SANE_Status e2_dev_post_init(struct Epson_Device *dev); 29 extern SANE_Bool e2_dev_model(Epson_Device *dev, const char *model); 30 extern void e2_set_cmd_level(SANE_Handle handle, unsigned char *level); 31 extern SANE_Status e2_set_model(Epson_Scanner *s, unsigned char *model, size_t len); 32 extern SANE_Status e2_add_resolution(Epson_Device *dev, int r); 33 extern void e2_set_fbf_area(Epson_Scanner *s, int x, int y, int unit); 34 extern void e2_set_adf_area(struct Epson_Scanner *s, int x, int y, int unit); 35 extern void e2_set_tpu_area(struct Epson_Scanner *s, int x, int y, int unit); 36 extern void e2_set_tpu2_area(struct Epson_Scanner *s, int x, int y, int unit); 37 extern void e2_add_depth(Epson_Device *dev, SANE_Word depth); 38 extern SANE_Status e2_discover_capabilities(Epson_Scanner *s); 39 extern SANE_Status e2_set_extended_scanning_parameters(Epson_Scanner *s); 40 extern SANE_Status e2_set_scanning_parameters(Epson_Scanner *s); 41 extern void e2_setup_block_mode(Epson_Scanner *s); 42 extern SANE_Status e2_init_parameters(Epson_Scanner *s); 43 extern void e2_wait_button(Epson_Scanner *s); 44 extern SANE_Status e2_check_warm_up(Epson_Scanner *s, SANE_Bool *wup); 45 extern SANE_Status e2_wait_warm_up(Epson_Scanner *s); 46 extern SANE_Status e2_check_adf(Epson_Scanner *s); 47 extern SANE_Status e2_start_std_scan(Epson_Scanner *s); 48 extern SANE_Status e2_start_ext_scan(Epson_Scanner *s); 49 extern void e2_scan_finish(Epson_Scanner *s); 50 extern void e2_copy_image_data(Epson_Scanner *s, SANE_Byte *data, SANE_Int max_length, 51 SANE_Int *length); 52 extern SANE_Status e2_ext_read(struct Epson_Scanner *s); 53 extern SANE_Status e2_block_read(struct Epson_Scanner *s); 54