1141cc406Sopenharmony_ci/* 2141cc406Sopenharmony_ci * Prototypes for epson2 I/O functions 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#ifndef epson2_io_h 19141cc406Sopenharmony_ci#define epson2_io_h 20141cc406Sopenharmony_ci 21141cc406Sopenharmony_ciextern unsigned int r_cmd_count; 22141cc406Sopenharmony_ciextern unsigned int w_cmd_count; 23141cc406Sopenharmony_ci 24141cc406Sopenharmony_ci 25141cc406Sopenharmony_ciSANE_Status e2_cmd_simple(Epson_Scanner * s, void *buf, size_t buf_size); 26141cc406Sopenharmony_ciint e2_send(Epson_Scanner * s, void *buf, size_t buf_size, 27141cc406Sopenharmony_ci size_t reply_len, SANE_Status * status); 28141cc406Sopenharmony_cissize_t e2_recv(Epson_Scanner * s, void *buf, ssize_t buf_size, 29141cc406Sopenharmony_ci SANE_Status * status); 30141cc406Sopenharmony_ci 31141cc406Sopenharmony_ciSANE_Status 32141cc406Sopenharmony_cie2_txrx(Epson_Scanner * s, unsigned char *txbuf, size_t txlen, 33141cc406Sopenharmony_ci unsigned char *rxbuf, size_t rxlen); 34141cc406Sopenharmony_ci 35141cc406Sopenharmony_ciSANE_Status 36141cc406Sopenharmony_cie2_recv_info_block(Epson_Scanner * s, unsigned char *scanner_status, 37141cc406Sopenharmony_ci size_t info_size, size_t * payload_size); 38141cc406Sopenharmony_ci 39141cc406Sopenharmony_ciSANE_Status 40141cc406Sopenharmony_cie2_cmd_info_block(SANE_Handle handle, unsigned char *params, 41141cc406Sopenharmony_ci unsigned char params_len, size_t reply_len, 42141cc406Sopenharmony_ci unsigned char **buf, size_t * buf_len); 43141cc406Sopenharmony_ci 44141cc406Sopenharmony_ciSANE_Status e2_ack(Epson_Scanner * s); 45141cc406Sopenharmony_ciSANE_Status e2_ack_next(Epson_Scanner * s, size_t reply_len); 46141cc406Sopenharmony_ciSANE_Status e2_cancel(Epson_Scanner * s); 47141cc406Sopenharmony_ci 48141cc406Sopenharmony_ciSANE_Status 49141cc406Sopenharmony_cie2_esc_cmd(Epson_Scanner * s, unsigned char cmd, unsigned char val); 50141cc406Sopenharmony_ci#endif /* epson2_io_h */ 51