1 /* $Header: /CVS_DB/Eos/include/tiffio.h,v 1.1.1.1 2002/02/01 05:14:00 tacyas Exp $ */
4 * Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
5 * Copyright (c) 1991, 1992 Silicon Graphics, Inc.
7 * Permission to use, copy, modify, distribute, and sell this software and
8 * its documentation for any purpose is hereby granted without fee, provided
9 * that (i) the above copyright notices and this permission notice appear in
10 * all copies of the software and related documentation, and (ii) the names of
11 * Sam Leffler and Silicon Graphics may not be used in any advertising or
12 * publicity relating to the software without the specific, prior written
13 * permission of Sam Leffler and Silicon Graphics.
15 * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
17 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
20 * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
21 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
22 * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
31 * TIFF I/O Library Definitions.
36 * TIFF is defined as an incomplete type to hide the
37 * library's internal data structures from clients.
39 typedef struct tiff TIFF;
46 * Flags to pass to TIFFPrintDirectory to control
47 * printing of data structures that are potentially
48 * very large. Bit-or these flags to enable printing
51 #define TIFFPRINT_NONE 0x0 /* no extra info */
52 #define TIFFPRINT_STRIPS 0x1 /* strips/tiles info */
53 #define TIFFPRINT_CURVES 0x2 /* color/gray response curves */
54 #define TIFFPRINT_COLORMAP 0x4 /* colormap */
55 #define TIFFPRINT_JPEGQTABLES 0x100 /* JPEG Q matrices */
56 #define TIFFPRINT_JPEGACTABLES 0x200 /* JPEG AC tables */
57 #define TIFFPRINT_JPEGDCTABLES 0x200 /* JPEG DC tables */
59 #if defined(__STDC__) || defined(__EXTENDED__) || USE_CONST
60 extern const char TIFFVersion[];
61 extern const unsigned char TIFFBitRevTable[256];
62 extern const unsigned char TIFFNoBitRevTable[256];
64 extern char TIFFVersion[];
65 extern unsigned char TIFFBitRevTable[256];
66 extern unsigned char TIFFNoBitRevTable[256];
70 * Macros for extracting components from the
71 * packed ABGR form returned by TIFFReadRGBAImage.
73 #define TIFFGetR(abgr) ((abgr) & 0xff)
74 #define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)
75 #define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)
76 #define TIFFGetA(abgr) (((abgr) >> 24) & 0xff)
78 #if defined(c_plusplus) || defined(__cplusplus) || defined(__STDC__) || defined(__EXTENDED__) || USE_PROTOTYPES
82 typedef void (*TIFFErrorHandler)(char* module, char* fmt, va_list ap);
84 #if defined(__cplusplus)
87 extern void TIFFClose(TIFF*);
88 extern int TIFFFlush(TIFF*);
89 extern int TIFFFlushData(TIFF*);
90 extern int TIFFGetField(TIFF*, int, ...);
91 extern int TIFFVGetField(TIFF*, int, va_list);
92 extern int TIFFGetFieldDefaulted(TIFF*, int, ...);
93 extern int TIFFVGetFieldDefaulted(TIFF*, int, va_list);
94 extern int TIFFReadDirectory(TIFF*);
95 extern int TIFFScanlineSize(TIFF*);
96 extern unsigned long TIFFStripSize(TIFF*);
97 extern unsigned long TIFFVStripSize(TIFF*, unsigned long);
98 extern unsigned long TIFFTileRowSize(TIFF*);
99 extern unsigned long TIFFTileSize(TIFF*);
100 extern unsigned long TIFFVTileSize(TIFF*, unsigned long);
101 extern int TIFFFileno(TIFF*);
102 extern int TIFFGetMode(TIFF*);
103 extern int TIFFIsTiled(TIFF*);
104 extern long TIFFCurrentRow(TIFF*);
105 extern int TIFFCurrentDirectory(TIFF*);
106 extern int TIFFCurrentStrip(TIFF*);
107 extern int TIFFCurrentTile(TIFF*);
108 extern int TIFFReadBufferSetup(TIFF*, char*, unsigned);
109 extern int TIFFSetDirectory(TIFF*, int);
110 extern int TIFFSetField(TIFF*, int, ...);
111 extern int TIFFVSetField(TIFF*, int, va_list);
112 extern int TIFFWriteDirectory(TIFF *);
113 #if defined(c_plusplus) || defined(__cplusplus)
114 extern TIFF* TIFFOpen(const char*, const char*);
115 extern TIFF* TIFFFdOpen(const int, const char*, const char*);
116 extern const char* TIFFFileName(TIFF*);
117 extern void TIFFError(const char*, const char*, ...);
118 extern void TIFFWarning(const char*, const char*, ...);
119 extern void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
120 extern int TIFFReadScanline(TIFF*, unsigned char*, unsigned, unsigned = 0);
121 extern int TIFFWriteScanline(TIFF*, unsigned char*, unsigned, unsigned = 0);
122 extern int TIFFReadRGBAImage(TIFF*, unsigned long, unsigned long, unsigned long*, int stop = 0);
124 extern TIFF* TIFFOpen(char*, char*);
125 extern TIFF* TIFFFdOpen(int, char*, char*);
126 extern char* TIFFFileName(TIFF*);
127 extern void TIFFError(char*, char*, ...);
128 extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler);
129 extern void TIFFWarning(char*, char*, ...);
130 extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler);
131 extern void TIFFPrintDirectory(TIFF*, FILE*, long);
132 extern int TIFFReadScanline(TIFF*, unsigned char*, unsigned, unsigned);
133 extern int TIFFWriteScanline(TIFF*, unsigned char*, unsigned, unsigned);
134 extern int TIFFReadRGBAImage(TIFF*, unsigned long, unsigned long, unsigned long*, int stop);
136 extern unsigned int TIFFComputeTile(TIFF*, unsigned long, unsigned long, unsigned int, unsigned long);
137 extern int TIFFCheckTile(TIFF*, unsigned long, unsigned long, unsigned long, unsigned);
138 extern unsigned int TIFFNumberOfTiles(TIFF*);
139 extern int TIFFReadTile(TIFF*, unsigned char*, unsigned long, unsigned long, unsigned long, unsigned);
140 extern unsigned int TIFFComputeStrip(TIFF*, unsigned long, unsigned int);
141 extern unsigned int TIFFNumberOfStrips(TIFF*);
142 extern int TIFFReadEncodedStrip(TIFF*, unsigned, unsigned char*, unsigned);
143 extern int TIFFReadRawStrip(TIFF*, unsigned, unsigned char*, unsigned);
144 extern int TIFFReadEncodedTile(TIFF*, unsigned, unsigned char*, unsigned);
145 extern int TIFFReadRawTile(TIFF*, unsigned, unsigned char*, unsigned);
146 extern int TIFFWriteEncodedStrip(TIFF*, unsigned, unsigned char*, unsigned);
147 extern int TIFFWriteRawStrip(TIFF*, unsigned, unsigned char*, unsigned);
148 extern int TIFFWriteEncodedTile(TIFF*, unsigned, unsigned char*, unsigned);
149 extern int TIFFWriteRawTile(TIFF*, unsigned, unsigned char*, unsigned);
150 extern int TIFFSwabShort(unsigned short *);
151 extern int TIFFSwabLong(unsigned long *);
152 extern int TIFFSwabArrayOfShort(unsigned short *, int);
153 extern int TIFFSwabArrayOfLong(unsigned long *, int);
154 extern int TIFFReverseBits(unsigned char *, int);
155 #if defined(__cplusplus)
159 typedef void (*TIFFErrorHandler)();
161 extern void TIFFClose();
162 extern TIFF *TIFFOpen();
163 extern TIFF *TIFFFdOpen();
164 extern char* TIFFFileName();
165 extern int TIFFFileno();
166 extern int TIFFGetMode();
167 extern int TIFFIsTiled();
168 extern unsigned int TIFFComputeTile();
169 extern long TIFFCurrentRow();
170 extern int TIFFCurrentDirectory();
171 extern int TIFFCurrentStrip();
172 extern int TIFFCurrentTile();
173 extern void TIFFError();
174 extern TIFFErrorHandler TIFFSetErrorHandler();
175 extern int TIFFFlush();
176 extern int TIFFFlushData();
177 extern int TIFFGetField();
178 extern int TIFFVGetField();
179 extern int TIFFGetFieldDefaulted();
180 extern int TIFFVGetFieldDefaulted();
181 extern unsigned int TIFFNumberOfTiles();
182 extern void TIFFPrintDirectory();
183 extern int TIFFReadDirectory();
184 extern int TIFFReadBufferSetup();
185 extern int TIFFReadScanline();
186 extern int TIFFReadTile();
187 extern unsigned int TIFFComputeStrip();
188 extern unsigned int TIFFNumberOfStrips();
189 extern int TIFFReadEncodedStrip();
190 extern int TIFFReadRawStrip();
191 extern int TIFFReadEncodedTile();
192 extern int TIFFReadRGBAImage();
193 extern int TIFFReadRawTile();
194 extern int TIFFScanlineSize();
195 extern unsigned long TIFFStripSize();
196 extern unsigned long TIFFVStripSize();
197 extern unsigned long TIFFTileRowSize();
198 extern unsigned long TIFFTileSize();
199 extern unsigned long TIFFVTileSize();
200 extern int TIFFSetDirectory();
201 extern int TIFFSetField();
202 extern int TIFFVSetField();
203 extern void TIFFWarning();
204 extern TIFFErrorHandler TIFFSetWarningHandler();
205 extern int TIFFWriteDirectory();
206 extern int TIFFWriteScanline();
207 extern int TIFFWriteEncodedStrip();
208 extern int TIFFWriteRawStrip();
209 extern int TIFFWriteEncodedTile();
210 extern int TIFFWriteRawTile();
211 extern int TIFFSwabShort();
212 extern int TIFFSwabLong();
213 extern int TIFFSwabArrayOfShort();
214 extern int TIFFSwabArrayOfLong();
215 extern int TIFFReverseBits();
216 extern int TIFFCheckTile();
218 #endif /* _TIFFIO_ */