Home | History | Annotate | Download | only in man3
      1 <!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [
      2 <!--ArborText, Inc., 1988-1999, v.4002-->
      3 <!--ARC : LSARC 2003/085 libtiff, libjpeg, and libpng-->
      4 <!ENTITY synp-tt "SYNOPSIS">
      5 <!ENTITY cmd "libtiff">
      6 <!ENTITY % commonents SYSTEM "smancommon.ent">
      7 %commonents;
      8 <!ENTITY % gnomecommonents SYSTEM "gnomecommon.ent">
      9 %gnomecommonents;
     10 <!ENTITY % booktitles SYSTEM "booktitles.ent">
     11 %booktitles;
     12 <!ENTITY suncopy "Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.">
     13 ]>
     14 <?Pub UDT _bookmark _target>
     15 <?Pub EntList brvbar bull cross dash diam diams frac12 frac13 frac14 hellip
     16  laquo lArr loz mdash nabla ndash para pound rArr raquo sect yen lt gt bsol>
     17 <?Pub Inc>
     18 <refentry id="libtiff-3">
     19 <!-- %Z%%M% %I% %E% SMI; -->
     20 <refmeta><refentrytitle>libtiff</refentrytitle><manvolnum>3</manvolnum>
     21 <refmiscinfo class="date">06 Apr 2004</refmiscinfo>
     22 <refmiscinfo class="sectdesc">&man3;</refmiscinfo>
     23 <refmiscinfo class="software">&release;</refmiscinfo>
     24 <refmiscinfo class="arch">generic</refmiscinfo>
     25 <refmiscinfo class="copyright">&suncopy;</refmiscinfo>
     26 </refmeta>
     27 <indexterm><primary>libtiff</primary></indexterm><indexterm><primary>introduction
     28 to <filename>libtiff</filename>, a library for reading and writing TIFF files
     29 </primary></indexterm>
     30 <refnamediv id="libtiff-3-name"><refname>libtiff</refname><refpurpose>introduction
     31 to <filename>libtiff</filename>, a library for reading and writing TIFF files
     32 </refpurpose></refnamediv>
     33 <refsect1 id="libtiff-3-synp"><title>&synp-tt;</title>
     34 <programlisting>#include &lt;tiffio.h>
     35 
     36 cc [ <replaceable>flag</replaceable> ...]  -I/usr/sfw/include	 <replaceable>
     37 file</replaceable>  [  <replaceable>library</replaceable>  ...	]
     38 	-L/usr/sfw/lib -R/usr/sfw/lib -ltiff</programlisting>
     39 </refsect1>
     40 <refsect1 id="libtiff-3-desc"><title>&desc-tt;</title>
     41 <para><filename>&cmd;</filename> is a library for reading and writing data
     42 files encoded with the Tag Image File format, Revision 4.0 or later. The TIFF
     43 file format is suitable for archiving multicolor and monochromatic image data.
     44 </para>
     45 </refsect1>
     46 <refsect1 id="libtiff-3-exde"><title>&exde-tt;</title>
     47 <para>The <filename>&cmd;</filename> library supports several compression
     48 algorithms, as indicated by the Compression field, including:</para>
     49 <itemizedlist>
     50 <listitem><para>No compression (1)</para></listitem>
     51 <listitem><para>CCITT 1D Huffman compression (2)</para></listitem>
     52 <listitem><para>CCITT Group 3 Facsimile compression (3)</para></listitem>
     53 <listitem><para>CCITT Group 4 Facsimile compression (4)</para></listitem>
     54 <listitem><para>Lempel-Ziv &amp; Welch compression (5)</para></listitem>
     55 <listitem><para>Baseline JPEG compression (7)</para></listitem>
     56 <listitem><para>Word-aligned 1D Huffman compression (32771)</para></listitem>
     57 <listitem><para>PackBits compression (32773)</para></listitem>
     58 </itemizedlist>
     59 <para>In addition, several nonstandard compression algorithms are supported:
     60 </para>
     61 <itemizedlist>
     62 <listitem><para>4-bit compression algorithm used by the ThunderScan program
     63 (32809) (decompression only)</para></listitem>
     64 <listitem><para>NeXT's 2-bit compression algorithm (32766) (decompression
     65 only)</para></listitem>
     66 <listitem><para>Experimental LZ-style algorithm known as Deflate (32946)</para>
     67 </listitem>
     68 <listitem><para>Experimental CIE LogLuv compression scheme designed for images
     69 with high dynamic range (32845 for LogL and 32845 for LogLuv)</para></listitem>
     70 </itemizedlist>
     71 <para>Directory information may be in either little- or big-endian byte order.
     72 Byte swapping is automatically done by the library.</para>
     73 <para>Data bit ordering may be either Most Significant Bit (MSB) to Least
     74 Significant Bit (LSB), or LSB to MSB.</para>
     75 <para>The library does not support files in which the BitsPerSample, Compression,
     76 MinSampleValue, or MaxSampleValue fields are defined differently on a per-sample
     77 basis. In Revision 6.0, the Compression tag is not defined on a per-sample
     78 basis, so this is immaterial.</para>
     79 <refsect2 id="libtiff-3-exde-data">
     80 <title>Data Types</title>
     81 <para>The <filename>&cmd;</filename> library makes extensive use of C typedefs
     82 to promote portability. Two sets of typedefs are used, one for communication
     83 with clients of the library and one for internal data structures and parsing
     84 of the TIFF format. The following typedefs are exposed to users either through
     85 function definitions or through parameters passed through the <literal>varargs
     86 </literal> interfaces.</para>
     87 <itemizedlist>
     88 <listitem><para><literal>typedef unsigned short uint16;</literal> &mdash;
     89 16-bit unsigned integer</para></listitem>
     90 <listitem><para><literal>typedef unsigned &lt;thing> uint32;</literal> &mdash;
     91 32-bit unsigned integer</para></listitem>
     92 <listitem><para><literal>typedef unsigned int ttag_t;</literal> &mdash; directory
     93 tag</para></listitem>
     94 <listitem><para><literal>typedef uint16 tdir_t;</literal> &mdash; directory
     95 index</para></listitem>
     96 <listitem><para><literal>typedef uint16 tsample_t;</literal> &mdash; sample
     97 number</para></listitem>
     98 <listitem><para><literal>typedef uint32 tstrip_t;</literal> &mdash; strip
     99 number</para></listitem>
    100 <listitem><para><literal>typedef uint32 ttile_t;</literal> &mdash; tile number
    101 </para></listitem>
    102 <listitem><para><literal>typedef int32 tsize_t;</literal> &mdash; i/o size
    103 in bytes</para></listitem>
    104 <listitem><para><literal>typedef void* tdata_t;</literal> &mdash; image data
    105 ref</para></listitem>
    106 <listitem><para><literal>typedef void* thandle_t;</literal> &mdash; client
    107 data handle</para></listitem>
    108 <listitem><para><literal>typedef int32 toff_t;</literal> &mdash; file offset
    109 </para></listitem>
    110 </itemizedlist>
    111 <para><literal>tstrip_t</literal>, <literal>ttile_t</literal>, and <literal>
    112 tsize_t</literal> are limited to 32-bit quantities because they are stored
    113 in 32-bit fields in the TIFF image. Similarly, <literal>tsample_t</literal>
    114 is limited by the 16-bit field used to store the <literal>SamplesPerPixel
    115 </literal> tag. <literal>tdir_t</literal> constrains the maximum number of
    116 IFDs that may appear in an image and may be an arbitrary size without penalty.
    117 </para>
    118 <para><literal>ttag_t</literal> must be <literal>int</literal>, <literal>
    119 unsigned int</literal>, <literal>pointer</literal>, or <literal>double</literal>
    120 because the library uses a <literal>varargs</literal> interface and ANSI C
    121 restricts the type of the parameter before an ellipsis to be a promoted type.
    122 </para>
    123 <para><literal>toff_t</literal> is defined as <literal>int32</literal> because
    124 TIFF file offsets are unsigned 32-bit quantities. A signed value is used because
    125 some interfaces return -1 on error.</para>
    126 <para>User-specified data references are passed as opaque handles and only
    127 cast at the lowest layers where their type is presumed.</para>
    128 </refsect2>
    129 <refsect2 id="libtiff-3-exde-routines">
    130 <title>Library Routines</title>
    131 <para>The following routines are part of the <filename>&cmd;</filename> library.
    132 Consult specific reference pages for details on their operation. The reference
    133 page names listed below are for systems where the full function names cannot
    134 be encoded in the file system. On most systems, the command <command>man <replaceable>
    135 function-name</replaceable></command> will work.</para>
    136 <variablelist termlength="xtrawide">
    137 <varlistentry><term><literal>_TIFFfree</literal></term><listitem><para>Release
    138 allocated memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle>
    139 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    140 </listitem></varlistentry>
    141 <varlistentry><term><literal>_TIFFmalloc</literal></term><listitem><para>
    142 Dynamically allocate memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle>
    143 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    144 </listitem></varlistentry>
    145 <varlistentry><term><literal>_TIFFmemcmp</literal></term><listitem><para>
    146 Compare allocated memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle>
    147 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    148 </listitem></varlistentry>
    149 <varlistentry><term><literal>_TIFFmemcpy</literal></term><listitem><para>
    150 Copy allocated memory to another memory location. See <citerefentry><refentrytitle>
    151 TIFFmemory</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    152 </listitem></varlistentry>
    153 <varlistentry><term><literal>_TIFFmemset</literal></term><listitem><para>
    154 Set allocated memory to known value. See <citerefentry><refentrytitle>TIFFmemory
    155 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    156 </listitem></varlistentry>
    157 <varlistentry><term><literal>_TIFFrealloc</literal></term><listitem><para>
    158 Dynamically reallocate memory. See <citerefentry><refentrytitle>TIFFmemory
    159 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    160 </listitem></varlistentry>
    161 <varlistentry><term><literal>TIFFbuffer</literal></term><listitem><para>Specify
    162 i/o buffer for reading or writing. See <citerefentry><refentrytitle>TIFFbuffer
    163 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    164 </listitem></varlistentry>
    165 <varlistentry><term><literal>TIFFCheckTile</literal></term><listitem><para>
    166 Every <replaceable>x,y,z,sample</replaceable> is within image. See <citerefentry>
    167 <refentrytitle>TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    168 </para>
    169 </listitem></varlistentry>
    170 <varlistentry><term><literal>TIFFClientOpen</literal></term><listitem><para>
    171 Open a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen
    172 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    173 </listitem></varlistentry>
    174 <varlistentry><term><literal>TIFFClose</literal></term><listitem><para>Close
    175 an open file. See <citerefentry><refentrytitle>TIFFClose</refentrytitle><manvolnum>
    176 3tiff</manvolnum></citerefentry>.</para>
    177 </listitem></varlistentry>
    178 <varlistentry><term><literal>TIFFcodec</literal></term><listitem><para>Work
    179 with codecs. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle><manvolnum>
    180 3tiff</manvolnum></citerefentry>.</para>
    181 </listitem></varlistentry>
    182 <varlistentry><term><literal>TIFFComputeStrip</literal></term><listitem><para>
    183 Return strip containing <replaceable>x,y,z,sample</replaceable>. See <citerefentry>
    184 <refentrytitle>TIFFstrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    185 </para>
    186 </listitem></varlistentry>
    187 <varlistentry><term><literal>TIFFComputeTile</literal></term><listitem><para>
    188 Return tile containing <replaceable>y,sample</replaceable>. See <citerefentry>
    189 <refentrytitle>TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    190 </para>
    191 </listitem></varlistentry>
    192 <varlistentry><term><literal>TIFFCurrentDirectory</literal></term><listitem>
    193 <para>Return index of current directory. See <citerefentry><refentrytitle>
    194 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    195 </listitem></varlistentry>
    196 <varlistentry><term><literal>TIFFCurrentRow</literal></term><listitem><para>
    197 Return index of current scanline. See <citerefentry><refentrytitle>TIFFquery
    198 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    199 </listitem></varlistentry>
    200 <varlistentry><term><literal>TIFFCurrentStrip</literal></term><listitem><para>
    201 Return index of current strip. See <citerefentry><refentrytitle>TIFFquery
    202 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    203 </listitem></varlistentry>
    204 <varlistentry><term><literal>TIFFCurrentTile</literal></term><listitem><para>
    205 Return index of current tile. See <citerefentry><refentrytitle>TIFFquery</refentrytitle>
    206 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    207 </listitem></varlistentry>
    208 <varlistentry><term><literal>TIFFDefaultStripSize</literal></term><listitem>
    209 <para>Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle>
    210 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    211 </listitem></varlistentry>
    212 <varlistentry><term><literal>TIFFDefaultTileSize</literal></term><listitem>
    213 <para>Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle>
    214 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    215 </listitem></varlistentry>
    216 <varlistentry><term><literal>TIFFError</literal></term><listitem><para>Library
    217 error handler. See <citerefentry><refentrytitle>TIFFError</refentrytitle>
    218 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    219 </listitem></varlistentry>
    220 <varlistentry><term><literal>TIFFFdOpen</literal></term><listitem><para>Open
    221 a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen</refentrytitle>
    222 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    223 </listitem></varlistentry>
    224 <varlistentry><term><literal>TIFFFileName</literal></term><listitem><para>
    225 Return name of open file. See <citerefentry><refentrytitle>TIFFquery</refentrytitle>
    226 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    227 </listitem></varlistentry>
    228 <varlistentry><term><literal>TIFFFileno</literal></term><listitem><para>Return
    229 open file descriptor. See <citerefentry><refentrytitle>TIFFquery</refentrytitle>
    230 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    231 </listitem></varlistentry>
    232 <varlistentry><term><literal>TIFFFindCODEC</literal></term><listitem><para>
    233 Find a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle><manvolnum>
    234 3tiff</manvolnum></citerefentry>.</para>
    235 </listitem></varlistentry>
    236 <varlistentry><term><literal>TIFFFlush</literal></term><listitem><para>Flush
    237 all pending writes. See <citerefentry><refentrytitle>TIFFFlush</refentrytitle>
    238 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    239 </listitem></varlistentry>
    240 <varlistentry><term><literal>TIFFFlushData</literal></term><listitem><para>
    241 Flush pending data writes. See <citerefentry><refentrytitle>TIFFFlush</refentrytitle>
    242 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    243 </listitem></varlistentry>
    244 <varlistentry><term><literal>TIFFGetBitRevTable</literal></term><listitem>
    245 <para>Return bit reversal table. See <citerefentry><refentrytitle>TIFFswab
    246 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    247 </listitem></varlistentry>
    248 <varlistentry><term><literal>TIFFGetField</literal></term><listitem><para>
    249 Return tag value in current directory. See <citerefentry><refentrytitle>TIFFGetField
    250 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    251 </listitem></varlistentry>
    252 <varlistentry><term><literal>TIFFGetFieldDefaulted</literal></term><listitem>
    253 <para>Return tag value in current directory. See <citerefentry><refentrytitle>
    254 TIFFGetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    255 </listitem></varlistentry>
    256 <varlistentry><term><literal>TIFFGetMode</literal></term><listitem><para>
    257 Return open file mode. See <citerefentry><refentrytitle>TIFFquery</refentrytitle>
    258 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    259 </listitem></varlistentry>
    260 <varlistentry><term><literal>TIFFGetVersion</literal></term><listitem><para>
    261 Return library version string. See <citerefentry><refentrytitle>TIFFquery
    262 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    263 </listitem></varlistentry>
    264 <varlistentry><term><literal>TIFFIsByteSwapped</literal></term><listitem>
    265 <para>Return true if image data is byte-swapped. See <citerefentry><refentrytitle>
    266 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    267 </listitem></varlistentry>
    268 <varlistentry><term><literal>TIFFIsMSB2LSB</literal></term><listitem><para>
    269 Return true if image data is returned with bit 0 as the most significant bit.
    270 See <citerefentry><refentrytitle>TIFFquery</refentrytitle><manvolnum>3tiff
    271 </manvolnum></citerefentry>.</para>
    272 </listitem></varlistentry>
    273 <varlistentry><term><literal>TIFFIsTiled</literal></term><listitem><para>
    274 Return true if image data is tiled. See <citerefentry><refentrytitle>TIFFquery
    275 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    276 </listitem></varlistentry>
    277 <varlistentry><term><literal>TIFFIsUpSampled</literal></term><listitem><para>
    278 Return true if image data is up-sampled. See <citerefentry><refentrytitle>
    279 TIFFquery</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    280 </listitem></varlistentry>
    281 <varlistentry><term><literal>TIFFLastDirectory</literal></term><listitem>
    282 <para>Return a non-zero value if the current directory is the last directory
    283 in the file. See <citerefentry><refentrytitle>TIFFquery</refentrytitle><manvolnum>
    284 3tiff</manvolnum></citerefentry>.</para>
    285 </listitem></varlistentry>
    286 <varlistentry><term><literal>TIFFmemory</literal></term><listitem><para>Manage
    287 memory. See <citerefentry><refentrytitle>TIFFmemory</refentrytitle><manvolnum>
    288 3tiff</manvolnum></citerefentry>.</para>
    289 </listitem></varlistentry>
    290 <varlistentry><term><literal>TIFFNumberOfStrips</literal></term><listitem>
    291 <para>Return number of strips in an image. See <citerefentry><refentrytitle>
    292 TIFFstrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    293 </listitem></varlistentry>
    294 <varlistentry><term><literal>TIFFNumberOfTiles</literal></term><listitem>
    295 <para>Return number of tiles in an image. See <citerefentry><refentrytitle>
    296 TIFFtile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    297 </listitem></varlistentry>
    298 <varlistentry><term><literal>TIFFOpen</literal></term><listitem><para>Open
    299 a file for reading or writing. See <citerefentry><refentrytitle>TIFFOpen</refentrytitle>
    300 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    301 </listitem></varlistentry>
    302 <varlistentry><term><literal>TIFFPrintDirectory</literal></term><listitem>
    303 <para>Print description of the current directory. See <citerefentry><refentrytitle>
    304 TIFFPrintDirectory</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    305 </para>
    306 </listitem></varlistentry>
    307 <varlistentry><term><literal>TIFFquery</literal></term><listitem><para>Return
    308 information about image. See <citerefentry><refentrytitle>TIFFquery
    309 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    310 </listitem></varlistentry>
    311 <varlistentry><term><literal>TIFFRasterScanlineSize</literal></term><listitem>
    312 <para>Return size of a raster scanline. See <citerefentry><refentrytitle>
    313 TIFFsize</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    314 </listitem></varlistentry>
    315 <varlistentry><term><literal>TIFFReadBufferSetup</literal></term><listitem>
    316 <para>Specify i/o buffer for reading. See <citerefentry><refentrytitle>TIFFbuffer
    317 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    318 </listitem></varlistentry>
    319 <varlistentry><term><literal>TIFFReadDirectory</literal></term><listitem>
    320 <para>Read the next directory. See <citerefentry><refentrytitle>TIFFReadDirectory
    321 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    322 </listitem></varlistentry>
    323 <varlistentry><term><literal>TIFFReadEncodedStrip</literal></term><listitem>
    324 <para>Read and decode a strip of data. See <citerefentry><refentrytitle>TIFFReadEncodedStrip
    325 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    326 </listitem></varlistentry>
    327 <varlistentry><term><literal>TIFFReadEncodedTile</literal></term><listitem>
    328 <para>Read and decode a tile of data. See <citerefentry><refentrytitle>TIFFReadEncodedTile
    329 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    330 </listitem></varlistentry>
    331 <varlistentry><term><literal>TIFFReadRawStrip</literal></term><listitem><para>
    332 Read a raw strip of data. See <citerefentry><refentrytitle>TIFFReadRawStrip
    333 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    334 </listitem></varlistentry>
    335 <varlistentry><term><literal>TIFFReadRawTile</literal></term><listitem><para>
    336 Read a raw tile of data. See <citerefentry><refentrytitle>TIFFReadRawTile
    337 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    338 </listitem></varlistentry>
    339 <varlistentry><term><literal>TIFFReadRGBAImage</literal></term><listitem>
    340 <para>Read an image into a fixed format raster. See <citerefentry><refentrytitle>
    341 TIFFReadRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    342 </para>
    343 </listitem></varlistentry>
    344 <varlistentry><term><literal>TIFFReadRGBAStrip</literal></term><listitem>
    345 <para>Read an image strip into a fixed format raster. See <citerefentry><refentrytitle>
    346 TIFFReadRGBAStrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    347 </para>
    348 </listitem></varlistentry>
    349 <varlistentry><term><literal>TIFFReadRGBATile</literal></term><listitem><para>
    350 Read an image tile into a fixed format raster. See <citerefentry><refentrytitle>
    351 TIFFReadRGBATile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    352 </para>
    353 </listitem></varlistentry>
    354 <varlistentry><term><literal>TIFFReadScanline</literal></term><listitem><para>
    355 Read and decode a row of data. See <citerefentry><refentrytitle>TIFFReadScanline
    356 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    357 </listitem></varlistentry>
    358 <varlistentry><term><literal>TIFFReadTile</literal></term><listitem><para>
    359 Read and decode a tile of data. See <citerefentry><refentrytitle>TIFFReadTile
    360 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    361 </listitem></varlistentry>
    362 <varlistentry><term><literal>TIFFRegisterCODEC</literal></term><listitem>
    363 <para>Register a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle>
    364 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    365 </listitem></varlistentry>
    366 <varlistentry><term><literal>TIFFReverseBits</literal></term><listitem><para>
    367 Reverse bits in an array of bytes. See <citerefentry><refentrytitle>TIFFswab
    368 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    369 </listitem></varlistentry>
    370 <varlistentry><term><literal>TIFFRGBAImage</literal></term><listitem><para>
    371 Read and decode an image into a raster. See <citerefentry><refentrytitle>
    372 TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    373 </para>
    374 </listitem></varlistentry>
    375 <varlistentry><term><literal>TIFFRGBAImageBegin</literal></term><listitem>
    376 <para>Set up decoder state for <literal>TIFFRGBAImageGet</literal>. See <citerefentry>
    377 <refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    378 </para>
    379 </listitem></varlistentry>
    380 <varlistentry><term><literal>TIFFRGBAImageEnd</literal></term><listitem><para>
    381 Release <literal>TIFFRGBAImage</literal> decoder state. See <citerefentry>
    382 <refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    383 </para>
    384 </listitem></varlistentry>
    385 <varlistentry><term><literal>TIFFRGBAImageGet</literal></term><listitem><para>
    386 Read and decode an image. See <citerefentry><refentrytitle>TIFFRGBAImage</refentrytitle>
    387 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    388 </listitem></varlistentry>
    389 <varlistentry><term><literal>TIFFRGBAImageOK</literal></term><listitem><para>
    390 Determine whether image is readable by <literal>TIFFRGBAImageGet</literal>.
    391 See <citerefentry><refentrytitle>TIFFRGBAImage</refentrytitle><manvolnum>
    392 3tiff</manvolnum></citerefentry>.</para>
    393 </listitem></varlistentry>
    394 <varlistentry><term><literal>TIFFScanlineSize</literal></term><listitem><para>
    395 Return size of a scanline. See <citerefentry><refentrytitle>TIFFsize</refentrytitle>
    396 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    397 </listitem></varlistentry>
    398 <varlistentry><term><literal>TIFFSetDirectory</literal></term><listitem><para>
    399 Set the current directory. See <citerefentry><refentrytitle>TIFFSetDirectory
    400 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    401 </listitem></varlistentry>
    402 <varlistentry><term><literal>TIFFSetSubDirectory</literal></term><listitem>
    403 <para>Set the current directory. See <citerefentry><refentrytitle>TIFFSetDirectory
    404 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    405 </listitem></varlistentry>
    406 <varlistentry><term><literal>TIFFSetErrorHandler</literal></term><listitem>
    407 <para>Set error handler function. See <citerefentry><refentrytitle>TIFFError
    408 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    409 </listitem></varlistentry>
    410 <varlistentry><term><literal>TIFFSetField</literal></term><listitem><para>
    411 Set tag value in the current directory. See <citerefentry><refentrytitle>
    412 TIFFSetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    413 </listitem></varlistentry>
    414 <varlistentry><term><literal>TIFFSetWarningHandler</literal></term><listitem>
    415 <para>Set warning handler function. See <citerefentry><refentrytitle>TIFFWarning
    416 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    417 </listitem></varlistentry>
    418 <varlistentry><term><literal>TIFFsize</literal></term><listitem><para>Return
    419 the size. See <citerefentry><refentrytitle>TIFFsize</refentrytitle><manvolnum>
    420 3tiff</manvolnum></citerefentry>.</para>
    421 </listitem></varlistentry>
    422 <varlistentry><term><literal>TIFFstrip</literal></term><listitem><para>Work
    423 with strips. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle><manvolnum>
    424 3tiff</manvolnum></citerefentry>.</para>
    425 </listitem></varlistentry>
    426 <varlistentry><term><literal>TIFFStripSize</literal></term><listitem><para>
    427 Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle>
    428 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    429 </listitem></varlistentry>
    430 <varlistentry><term><literal>TIFFswab</literal></term><listitem><para>Swap
    431 bytes. See <citerefentry><refentrytitle>TIFFswab</refentrytitle><manvolnum>
    432 3tiff</manvolnum></citerefentry>.</para>
    433 </listitem></varlistentry>
    434 <varlistentry><term><literal>TIFFSwabShort</literal></term><listitem><para>
    435 Swap bytes of short. See <citerefentry><refentrytitle>TIFFswab</refentrytitle>
    436 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    437 </listitem></varlistentry>
    438 <varlistentry><term><literal>TIFFSwabLong</literal></term><listitem><para>
    439 Swap bytes of long. See <citerefentry><refentrytitle>TIFFswab</refentrytitle>
    440 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    441 </listitem></varlistentry>
    442 <varlistentry><term><literal>TIFFSwabArrayOfShort</literal></term><listitem>
    443 <para>Swap bytes of an array of shorts. See <citerefentry><refentrytitle>
    444 TIFFswab</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    445 </listitem></varlistentry>
    446 <varlistentry><term><literal>TIFFSwabArrayOfLong</literal></term><listitem>
    447 <para>Swap bytes of an array of longs. See <citerefentry><refentrytitle>TIFFswab
    448 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    449 </listitem></varlistentry>
    450 <varlistentry><term><literal>TIFFtile</literal></term><listitem><para>Return
    451 tile information. See <citerefentry><refentrytitle>TIFFtile</refentrytitle>
    452 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    453 </listitem></varlistentry>
    454 <varlistentry><term><literal>TIFFTileRowSize</literal></term><listitem><para>
    455 Return size of a row in a tile. See <citerefentry><refentrytitle>TIFFtile
    456 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    457 </listitem></varlistentry>
    458 <varlistentry><term><literal>TIFFTileSize</literal></term><listitem><para>
    459 Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle>
    460 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    461 </listitem></varlistentry>
    462 <varlistentry><term><literal>TIFFUnregisterCODEC</literal></term><listitem>
    463 <para>Unregister a codec. See <citerefentry><refentrytitle>TIFFcodec</refentrytitle>
    464 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    465 </listitem></varlistentry>
    466 <varlistentry><term><literal>TIFFVGetField</literal></term><listitem><para>
    467 Return tag value in current directory. See <citerefentry><refentrytitle>TIFFGetField
    468 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    469 </listitem></varlistentry>
    470 <varlistentry><term><literal>TIFFVGetFieldDefaulted</literal></term><listitem>
    471 <para>Return tag value in current directory. See <citerefentry><refentrytitle>
    472 TIFFGetField</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    473 </listitem></varlistentry>
    474 <varlistentry><term><literal>TIFFVSetField</literal></term><listitem><para>
    475 Set tag value in current directory. See <citerefentry><refentrytitle>TIFFSetField
    476 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    477 </listitem></varlistentry>
    478 <varlistentry><term><literal>TIFFVStripSize</literal></term><listitem><para>
    479 Return size of a strip. See <citerefentry><refentrytitle>TIFFstrip</refentrytitle>
    480 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    481 </listitem></varlistentry>
    482 <varlistentry><term><literal>TIFFVTileSize</literal></term><listitem><para>
    483 Return size of a tile. See <citerefentry><refentrytitle>TIFFtile</refentrytitle>
    484 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    485 </listitem></varlistentry>
    486 <varlistentry><term><literal>TIFFWarning</literal></term><listitem><para>
    487 Library warning handler. See <citerefentry><refentrytitle>TIFFWarning</refentrytitle>
    488 <manvolnum>3tiff</manvolnum></citerefentry>.</para>
    489 </listitem></varlistentry>
    490 <varlistentry><term><literal>TIFFWriteBufferSetup</literal></term><listitem>
    491 <para>Specify i/o buffer for writing. See <citerefentry><refentrytitle>TIFFbuffer
    492 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    493 </listitem></varlistentry>
    494 <varlistentry><term><literal>TIFFWriteDirectory</literal></term><listitem>
    495 <para>Write the current directory. See <citerefentry><refentrytitle>TIFFWriteDirectory
    496 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    497 </listitem></varlistentry>
    498 <varlistentry><term><literal>TIFFWriteEncodedStrip</literal></term><listitem>
    499 <para>Compress and write a strip of data. See <citerefentry><refentrytitle>
    500 TIFFWriteEncodedStrip</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    501 </para>
    502 </listitem></varlistentry>
    503 <varlistentry><term><literal>TIFFWriteEncodedTile</literal></term><listitem>
    504 <para>Compress and write a tile of data. See <citerefentry><refentrytitle>
    505 TIFFWriteEncodedTile</refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.
    506 </para>
    507 </listitem></varlistentry>
    508 <varlistentry><term><literal>TIFFWriteRawStrip</literal></term><listitem>
    509 <para>Write a raw strip of data. See <citerefentry><refentrytitle>TIFFWriteRawStrip
    510 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    511 </listitem></varlistentry>
    512 <varlistentry><term><literal>TIFFWriteRawTile</literal></term><listitem><para>
    513 Write a raw tile of data. See <citerefentry><refentrytitle>TIFFWriteRawTile
    514 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    515 </listitem></varlistentry>
    516 <varlistentry><term><literal>TIFFWriteScanline</literal></term><listitem>
    517 <para>Write a scanline of data. See <citerefentry><refentrytitle>TIFFWriteScanline
    518 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    519 </listitem></varlistentry>
    520 <varlistentry><term><literal>TIFFWriteTile</literal></term><listitem><para>
    521 Compress and write a tile of data. See <citerefentry><refentrytitle>TIFFWriteTile
    522 </refentrytitle><manvolnum>3tiff</manvolnum></citerefentry>.</para>
    523 </listitem></varlistentry>
    524 </variablelist></refsect2>
    525 <refsect2 id="libtiff-3-exde-tags">
    526 <title>Tag Usage</title>
    527 <para>The table below lists the TIFF tags that are recognized and supported
    528 by the <filename>&cmd;</filename> library. If no use is indicated in the table,
    529 then the library reads and writes the tag, but does not use the tag internally.
    530 Note that some tags are meaningful only when a particular compression scheme
    531 is used. For example, <literal>Group3Options</literal> is only useful if Compression
    532 is set to <literal>CCITT Group 3</literal> encoding. Tags of this sort are
    533 considered codec-specific tags and the library does not recognize them except
    534 when the Compression tag has been previously set to the relevant compression
    535 scheme.</para>
    536 <informaltable frame="all">
    537 <tgroup cols="4" colsep="1" rowsep="1"><colspec colname="COLSPEC0" colwidth="25*">
    538 <colspec colname="COLSPEC1" colwidth="25*"><colspec colname="COLSPEC2" colwidth="25*">
    539 <colspec colname="COLSPEC3" colwidth="25*">
    540 <thead>
    541 <row rowsep="1"><entry colsep="1" rowsep="1"><para>TAG NAME</para></entry>
    542 <entry colsep="1" rowsep="1"><para>VALUE</para></entry><entry colsep="1" rowsep="1"><para>
    543 R/W</para></entry><entry colsep="1" rowsep="1"><para>LIBRARY USE / NOTES</para></entry>
    544 </row>
    545 </thead>
    546 <tbody>
    547 <row><entry colsep="1" rowsep="1"><para><literal>Artist</literal></para></entry>
    548 <entry colsep="1" rowsep="1"><para>315</para></entry><entry colsep="1" rowsep="1"><para>
    549 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    550 <row><entry colsep="1" rowsep="1"><para><literal>BadFaxLines</literal></para></entry>
    551 <entry colsep="1" rowsep="1"><para>326</para></entry><entry colsep="1" rowsep="1"><para>
    552 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    553 <row><entry colsep="1" rowsep="1"><para><literal>BitsPerSample</literal></para></entry>
    554 <entry colsep="1" rowsep="1"><para>258</para></entry><entry colsep="1" rowsep="1"><para>
    555 R/W</para></entry><entry colsep="1" rowsep="1"><para>Lots.</para></entry>
    556 </row>
    557 <row><entry colsep="1" rowsep="1"><para><literal>CellLength</literal></para></entry>
    558 <entry colsep="1" rowsep="1"><para>265</para></entry><entry colsep="1" rowsep="1"><para></para></entry>
    559 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row>
    560 <row><entry colsep="1" rowsep="1"><para><literal>CellWidth</literal></para></entry>
    561 <entry colsep="1" rowsep="1"><para>264</para></entry><entry colsep="1" rowsep="1"><para></para></entry>
    562 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row>
    563 <row><entry colsep="1" rowsep="1"><para><literal>CleanFaxData</literal></para></entry>
    564 <entry colsep="1" rowsep="1"><para>327</para></entry><entry colsep="1" rowsep="1"><para>
    565 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    566 <row><entry colsep="1" rowsep="1"><para><literal>ColorMap</literal></para></entry>
    567 <entry colsep="1" rowsep="1"><para>320</para></entry><entry colsep="1" rowsep="1"><para>
    568 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    569 <row><entry colsep="1" rowsep="1"><para><literal>ColorResponseUnit</literal></para></entry>
    570 <entry colsep="1" rowsep="1"><para>300</para></entry><entry colsep="1" rowsep="1"><para></para></entry>
    571 <entry colsep="1" rowsep="1"><para>Parsed but ignored.</para></entry></row>
    572 <row><entry colsep="1" rowsep="1"><para><literal>Compression</literal></para></entry>
    573 <entry colsep="1" rowsep="1"><para>259</para></entry><entry colsep="1" rowsep="1"><para>
    574 R/W</para></entry><entry colsep="1" rowsep="1"><para>Choosing codec.</para></entry>
    575 </row>
    576 <row><entry colsep="1" rowsep="1"><para><literal>ConsecutiveBadFaxLines</literal></para></entry>
    577 <entry colsep="1" rowsep="1"><para>328</para></entry><entry colsep="1" rowsep="1"><para>
    578 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    579 <row><entry colsep="1" rowsep="1"><para><literal>DataType</literal></para></entry>
    580 <entry colsep="1" rowsep="1"><para>32996</para></entry><entry colsep="1" rowsep="1"><para>
    581 R</para></entry><entry colsep="1" rowsep="1"><para>Obsoleted by <literal>
    582 SampleFormat</literal> tag.</para></entry></row>
    583 <row><entry colsep="1" rowsep="1"><para><literal>DateTime</literal></para></entry>
    584 <entry colsep="1" rowsep="1"><para>306</para></entry><entry colsep="1" rowsep="1"><para>
    585 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    586 <row><entry colsep="1" rowsep="1"><para><literal>DocumentName</literal></para></entry>
    587 <entry colsep="1" rowsep="1"><para>269</para></entry><entry colsep="1" rowsep="1"><para>
    588 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    589 <row><entry colsep="1" rowsep="1"><para><literal>DotRange</literal></para></entry>
    590 <entry colsep="1" rowsep="1"><para>336</para></entry><entry colsep="1" rowsep="1"><para>
    591 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    592 <row><entry colsep="1" rowsep="1"><para><literal>ExtraSamples</literal></para></entry>
    593 <entry colsep="1" rowsep="1"><para>338</para></entry><entry colsep="1" rowsep="1"><para>
    594 R/W</para></entry><entry colsep="1" rowsep="1"><para>Lots.</para></entry>
    595 </row>
    596 <row><entry colsep="1" rowsep="1"><para><literal>FaxRecvParams</literal></para></entry>
    597 <entry colsep="1" rowsep="1"><para>34908</para></entry><entry colsep="1" rowsep="1"><para>
    598 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    599 <row><entry colsep="1" rowsep="1"><para><literal>FaxSubAddress</literal></para></entry>
    600 <entry colsep="1" rowsep="1"><para>34909</para></entry><entry colsep="1" rowsep="1"><para>
    601 R/W</para></entry><entry colsep="1" rowsep="1"><para></para></entry></row>
    602 <row><entry colsep="1" rowsep="1"><para><literal>FaxRecvTime</literal></para></entry>
    603 <entry colsep="1" rowsep="1"><para>34910</para></entry><entry colsep="1" rowsep="1"><para>
    604 R/W</para></