spandsp  0.0.6
private/t4_rx.h
1 /*
2  * SpanDSP - a series of DSP components for telephony
3  *
4  * private/t4_rx.h - definitions for T.4 FAX receive processing
5  *
6  * Written by Steve Underwood <steveu@coppice.org>
7  *
8  * Copyright (C) 2003 Steve Underwood
9  *
10  * All rights reserved.
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU Lesser General Public License version 2.1,
14  * as published by the Free Software Foundation.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with this program; if not, write to the Free Software
23  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24  */
25 
26 #if !defined(_SPANDSP_PRIVATE_T4_RX_H_)
27 #define _SPANDSP_PRIVATE_T4_RX_H_
28 
29 /*!
30  TIFF specific state information to go with T.4 compression or decompression handling.
31 */
32 typedef struct
33 {
34  /*! \brief The current file name. */
35  const char *file;
36  /*! \brief The libtiff context for the current TIFF file */
37  TIFF *tiff_file;
38 
39  /*! \brief The compression type for output to the TIFF file. */
41  /*! \brief The TIFF photometric setting for the current page. */
42  uint16_t photo_metric;
43  /*! \brief The TIFF fill order setting for the current page. */
44  uint16_t fill_order;
45  /*! \brief The TIFF G3 FAX options. */
47 
48  /*! \brief The number of pages in the current image file. */
50 
51  /* "Background" information about the FAX, which can be stored in the image file. */
52  /*! \brief The vendor of the machine which produced the file. */
53  const char *vendor;
54  /*! \brief The model of machine which produced the file. */
55  const char *model;
56  /*! \brief The local ident string. */
57  const char *local_ident;
58  /*! \brief The remote end's ident string. */
59  const char *far_ident;
60  /*! \brief The FAX sub-address. */
61  const char *sub_address;
62  /*! \brief The FAX DCS information, as an ASCII string. */
63  const char *dcs;
64 
65  /*! \brief The first page to transfer. -1 to start at the beginning of the file. */
67  /*! \brief The last page to transfer. -1 to continue to the end of the file. */
68  int stop_page;
70 
71 #endif
72 /*- End of file ------------------------------------------------------------*/