1/*
2 * epsonds-ops.h - Epson ESC/I-2 driver.
3 *
4 * Copyright (C) 2015 Tower Technologies
5 * Author: Alessandro Zummo <a.zummo@towertech.it>
6 *
7 * This file is part of the SANE package.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, version 2.
12 */
13
14extern void eds_dev_init(epsonds_device *dev);
15extern SANE_Status eds_dev_post_init(struct epsonds_device *dev);
16
17extern SANE_Bool eds_is_model(epsonds_device *dev, const char *model);
18
19extern SANE_Status eds_add_resolution(epsonds_device *dev, int r);
20extern SANE_Status eds_set_resolution_range(epsonds_device *dev, int min, int max);
21extern void eds_set_fbf_area(epsonds_device *dev, int x, int y, int unit);
22extern void eds_set_adf_area(epsonds_device *dev, int x, int y, int unit);
23extern void eds_set_tpu_area(epsonds_device *dev, int x, int y, int unit);
24
25extern SANE_Status eds_add_depth(epsonds_device *dev, SANE_Word depth);
26extern SANE_Status eds_discover_capabilities(epsonds_scanner *s);
27extern SANE_Status eds_set_extended_scanning_parameters(epsonds_scanner *s);
28extern SANE_Status eds_set_scanning_parameters(epsonds_scanner *s);
29extern void eds_setup_block_mode(epsonds_scanner *s);
30extern SANE_Status eds_init_parameters(epsonds_scanner *s);
31
32extern void eds_copy_image_from_ring(epsonds_scanner *s, SANE_Byte *data, SANE_Int max_length,
33                   SANE_Int *length);
34
35extern SANE_Status eds_ring_init(ring_buffer *ring, SANE_Int size);
36extern SANE_Status eds_ring_write(ring_buffer *ring, SANE_Byte *buf, SANE_Int size);
37extern SANE_Int eds_ring_read(ring_buffer *ring, SANE_Byte *buf, SANE_Int size);
38extern SANE_Int eds_ring_skip(ring_buffer *ring, SANE_Int size);
39extern SANE_Int eds_ring_avail(ring_buffer *ring);
40extern void eds_ring_flush(ring_buffer *ring)    ;
41extern void eds_ring_destory(ring_buffer *ring)    ;
42