10dcb9ef1SAndrey Kiselev<!-- Creator : groff version 1.18.1 --> 2f14d1a56SAndrey Kiselev<!-- CreationDate: Sat Feb 24 18:37:16 2007 --> 387c5da6fSAndrey Kiselev<html> 487c5da6fSAndrey Kiselev<head> 587c5da6fSAndrey Kiselev<meta name="generator" content="groff -Thtml, see www.gnu.org"> 687c5da6fSAndrey Kiselev<meta name="Content-Style" content="text/css"> 787c5da6fSAndrey Kiselev<title>TIFFReadDirectory</title> 887c5da6fSAndrey Kiselev</head> 987c5da6fSAndrey Kiselev<body> 1087c5da6fSAndrey Kiselev 1187c5da6fSAndrey Kiselev<h1 align=center>TIFFReadDirectory</h1> 1287c5da6fSAndrey Kiselev<a href="#NAME">NAME</a><br> 1387c5da6fSAndrey Kiselev<a href="#SYNOPSIS">SYNOPSIS</a><br> 1487c5da6fSAndrey Kiselev<a href="#DESCRIPTION">DESCRIPTION</a><br> 1587c5da6fSAndrey Kiselev<a href="#NOTES">NOTES</a><br> 1687c5da6fSAndrey Kiselev<a href="#RETURN VALUES">RETURN VALUES</a><br> 1787c5da6fSAndrey Kiselev<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br> 1887c5da6fSAndrey Kiselev<a href="#SEE ALSO">SEE ALSO</a><br> 1987c5da6fSAndrey Kiselev 2087c5da6fSAndrey Kiselev<hr> 2187c5da6fSAndrey Kiselev<a name="NAME"></a> 2287c5da6fSAndrey Kiselev<h2>NAME</h2> 230dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 240dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 250dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 260dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 270dcb9ef1SAndrey Kiselev<td width="8%"></td> 280dcb9ef1SAndrey Kiselev<td width="91%"> 290dcb9ef1SAndrey Kiselev<p><big>TIFFReadDirectory − get the contents of the 300dcb9ef1SAndrey Kiselevnext directory in an open</big> TIFF <big>file</big></p> 310dcb9ef1SAndrey Kiselev</td> 320dcb9ef1SAndrey Kiselev</table> 3387c5da6fSAndrey Kiselev<a name="SYNOPSIS"></a> 3487c5da6fSAndrey Kiselev<h2>SYNOPSIS</h2> 350dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 360dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 370dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 380dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 390dcb9ef1SAndrey Kiselev<td width="8%"></td> 400dcb9ef1SAndrey Kiselev<td width="91%"> 410dcb9ef1SAndrey Kiselev<p><big><b>#include <tiffio.h></b></big></p> 420dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 430dcb9ef1SAndrey Kiselev<p><big><b>int TIFFReadDirectory(TIFF 440dcb9ef1SAndrey Kiselev*</b><i>tif</i><b>)</b></big></p> 450dcb9ef1SAndrey Kiselev</td> 460dcb9ef1SAndrey Kiselev</table> 4787c5da6fSAndrey Kiselev<a name="DESCRIPTION"></a> 4887c5da6fSAndrey Kiselev<h2>DESCRIPTION</h2> 490dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 500dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 510dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 520dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 530dcb9ef1SAndrey Kiselev<td width="8%"></td> 540dcb9ef1SAndrey Kiselev<td width="91%"> 550dcb9ef1SAndrey Kiselev<p><big>Read the next directory in the specified file and 560dcb9ef1SAndrey Kiselevmake it the current directory. Applications only need to 570dcb9ef1SAndrey Kiselevcall <i>TIFFReadDirectory</i> to read multiple subfiles in a 580dcb9ef1SAndrey Kiselevsingle</big> TIFF <big>file— the first directory in a 590dcb9ef1SAndrey Kiselevfile is automatically read when <i>TIFFOpen</i> is 600dcb9ef1SAndrey Kiselevcalled.</big></p> 610dcb9ef1SAndrey Kiselev</td> 620dcb9ef1SAndrey Kiselev</table> 6387c5da6fSAndrey Kiselev<a name="NOTES"></a> 6487c5da6fSAndrey Kiselev<h2>NOTES</h2> 650dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 660dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 670dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 680dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 690dcb9ef1SAndrey Kiselev<td width="8%"></td> 700dcb9ef1SAndrey Kiselev<td width="91%"> 710dcb9ef1SAndrey Kiselev<p><big>If the library is compiled with</big> 720dcb9ef1SAndrey KiselevSTRIPCHOP_SUPPORT <big>enabled, then images that have a 730dcb9ef1SAndrey Kiselevsingle uncompressed strip or tile of data are automatically 740dcb9ef1SAndrey Kiselevtreated as if they were made up of multiple strips or tiles 750dcb9ef1SAndrey Kiselevof approximately 8 kilobytes each. This operation is done 760dcb9ef1SAndrey Kiselevonly in-memory; it does not alter the contents of the file. 770dcb9ef1SAndrey KiselevHowever, the construction of the ‘‘chopped 780dcb9ef1SAndrey Kiselevstrips’’ is visible to the application through 790dcb9ef1SAndrey Kiselevthe number of strips [tiles] returned by 800dcb9ef1SAndrey Kiselev<i>TIFFNumberOfStrips</i> 810dcb9ef1SAndrey Kiselev[<i>TIFFNumberOfTiles</i>].</big></p> 820dcb9ef1SAndrey Kiselev</td> 830dcb9ef1SAndrey Kiselev</table> 8487c5da6fSAndrey Kiselev<a name="RETURN VALUES"></a> 8587c5da6fSAndrey Kiselev<h2>RETURN VALUES</h2> 860dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 870dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 880dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 890dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 900dcb9ef1SAndrey Kiselev<td width="8%"></td> 910dcb9ef1SAndrey Kiselev<td width="91%"> 920dcb9ef1SAndrey Kiselev<p><big>If the next directory was successfully read, 1 is 930dcb9ef1SAndrey Kiselevreturned. Otherwise, 0 is returned if an error was 940dcb9ef1SAndrey Kiselevencountered, or if there are no more directories to be 950dcb9ef1SAndrey Kiselevread.</big></p> 960dcb9ef1SAndrey Kiselev</td> 970dcb9ef1SAndrey Kiselev</table> 9887c5da6fSAndrey Kiselev<a name="DIAGNOSTICS"></a> 9987c5da6fSAndrey Kiselev<h2>DIAGNOSTICS</h2> 1000dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1010dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 1020dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 1030dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 1040dcb9ef1SAndrey Kiselev<td width="8%"></td> 1050dcb9ef1SAndrey Kiselev<td width="91%"> 1060dcb9ef1SAndrey Kiselev<p><big>All error messages are directed to the 1070dcb9ef1SAndrey Kiselev<i>TIFFError</i>(3TIFF) routine. All warning messages are 1080dcb9ef1SAndrey Kiselevdirected to the <i>TIFFWarning</i>(3TIFF) routine.</big></p> 1090dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1100dcb9ef1SAndrey Kiselev<p><big><b>Seek error accessing TIFF directory</b>. An error 1110dcb9ef1SAndrey Kiselevoccurred while positioning to the location of the 1120dcb9ef1SAndrey Kiselevdirectory.</big></p> 1130dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1140dcb9ef1SAndrey Kiselev<p><big><b>Wrong data type %d for field "%s"</b>. 1150dcb9ef1SAndrey KiselevThe tag entry in the directory had an incorrect data type. 1160dcb9ef1SAndrey KiselevFor example, an <i>ImageDescription</i> tag with a</big> 1170dcb9ef1SAndrey KiselevSHORT <big>data type.</big></p> 1180dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1190dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing required "%s" 1200dcb9ef1SAndrey Kiselevfield</b>. The specified tag is required to be present by 1210dcb9ef1SAndrey Kiselevthe</big> TIFF <big>5.0 specification, but is missing. The 1220dcb9ef1SAndrey Kiselevdirectory is (usually) unusable.</big></p> 1230dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1240dcb9ef1SAndrey Kiselev<p><big><b>%s: Rational with zero denominator</b>. A 1250dcb9ef1SAndrey Kiselevdirectory tag has a</big> RATIONAL <big>value whose 1260dcb9ef1SAndrey Kiselevdenominator is zero.</big></p> 1270dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1280dcb9ef1SAndrey Kiselev<p><big><b>Incorrect count %d for field "%s" (%lu, 1290dcb9ef1SAndrey Kiselevexpecting %lu); tag ignored</b>. The specified tag’s 1300dcb9ef1SAndrey Kiselevcount field is bad. For example, a count other than 1 for a 1310dcb9ef1SAndrey Kiselev<i>SubFileType</i> tag.</big></p> 1320dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1330dcb9ef1SAndrey Kiselev<p><big><b>Cannot handle different per-sample values for 1340dcb9ef1SAndrey Kiselevfield "%s"</b>. The tag has <i>SamplesPerPixel</i> 13587c5da6fSAndrey Kiselevvalues and they are not all the same; e.g. 13687c5da6fSAndrey Kiselev<i>BitsPerSample</i>. The library is unable to handle images 1370dcb9ef1SAndrey Kiselevof this sort.</big></p> 1380dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1390dcb9ef1SAndrey Kiselev<p><big><b>Count mismatch for field "%s"; 1400dcb9ef1SAndrey Kiselevexpecting %d, got %d</b>. The count field in a tag does not 1410dcb9ef1SAndrey Kiselevagree with the number expected by the library. This should 1420dcb9ef1SAndrey Kiselevnever happen, so if it does, the library refuses to read the 1430dcb9ef1SAndrey Kiselevdirectory.</big></p> 1440dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1450dcb9ef1SAndrey Kiselev<p><big><b>Invalid TIFF directory; tags are not sorted in 1460dcb9ef1SAndrey Kiselevascending order</b>. The directory tags are not properly 1470dcb9ef1SAndrey Kiselevsorted as specified in the</big> TIFF <big>5.0 1480dcb9ef1SAndrey Kiselevspecification. This error is not fatal.</big></p> 1490dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1500dcb9ef1SAndrey Kiselev<p><big><b>Ignoring unknown field with tag %d (0x%x)</b>. An 1510dcb9ef1SAndrey Kiselevunknown tag was encountered in the directory; the library 1520dcb9ef1SAndrey Kiselevignores all such tags.</big></p> 1530dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1540dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing requred 1550dcb9ef1SAndrey Kiselev"ImageLength" field</b>. The image violates the 1560dcb9ef1SAndrey Kiselevspecification by not having a necessary field. There is no 1570dcb9ef1SAndrey Kiselevway for the library to recover from this error.</big></p> 1580dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1590dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing requred 1600dcb9ef1SAndrey Kiselev"PlanarConfig" field</b>. The image violates the 1610dcb9ef1SAndrey Kiselevspecification by not having a necessary field. There is no 1620dcb9ef1SAndrey Kiselevway for the library to recover from this error.</big></p> 1630dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1640dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing requred 1650dcb9ef1SAndrey Kiselev"StripOffsets" field</b>. The image has multiple 1660dcb9ef1SAndrey Kiselevstrips, but is missing the tag that specifies the file 1670dcb9ef1SAndrey Kiselevoffset to each strip of data. There is no way for the 1680dcb9ef1SAndrey Kiselevlibrary to recover from this error.</big></p> 1690dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1700dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing requred 1710dcb9ef1SAndrey Kiselev"TileOffsets" field</b>. The image has multiple 1720dcb9ef1SAndrey Kiselevtiles, but is missing the tag that specifies the file offset 1730dcb9ef1SAndrey Kiselevto each tile of data. There is no way for the library to 1740dcb9ef1SAndrey Kiselevrecover from this error.</big></p> 1750dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1760dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing required 1770dcb9ef1SAndrey Kiselev"StripByteCounts" field</b>. The image has 1780dcb9ef1SAndrey Kiselevmultiple strips, but is missing the tag that specifies the 1790dcb9ef1SAndrey Kiselevsize of each strip of data. There is no way for the library 1800dcb9ef1SAndrey Kiselevto recover from this error.</big></p> 1810dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1820dcb9ef1SAndrey Kiselev<p><big><b>TIFF directory is missing required 1830dcb9ef1SAndrey Kiselev"StripByteCounts" field, calculating from 1840dcb9ef1SAndrey Kiselevimagelength</b>. The image violates the specification by not 1850dcb9ef1SAndrey Kiselevhaving a necessary field. However, when the image is 1860dcb9ef1SAndrey Kiselevcomprised of only one strip or tile, the library will 1870dcb9ef1SAndrey Kiselevestimate the missing value based on the file size.</big></p> 1880dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 1890dcb9ef1SAndrey Kiselev<p><big><b>Bogus "StripByteCounts" field, ignoring 1900dcb9ef1SAndrey Kiselevand calculating from imagelength</b>. Certain vendors 1910dcb9ef1SAndrey Kiselevviolate the specification by writing zero for the 1920dcb9ef1SAndrey KiselevStripByteCounts tag when they want to leave the value 1930dcb9ef1SAndrey Kiselevunspecified. If the image has a single strip, the library 1940dcb9ef1SAndrey Kiselevwill estimate the missing value based on the file 1950dcb9ef1SAndrey Kiselevsize.</big></p> 1960dcb9ef1SAndrey Kiselev</td> 1970dcb9ef1SAndrey Kiselev</table> 19887c5da6fSAndrey Kiselev<a name="SEE ALSO"></a> 19987c5da6fSAndrey Kiselev<h2>SEE ALSO</h2> 2000dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 2010dcb9ef1SAndrey Kiselev<table width="100%" border=0 rules="none" frame="void" 2020dcb9ef1SAndrey Kiselev cols="2" cellspacing="0" cellpadding="0"> 2030dcb9ef1SAndrey Kiselev<tr valign="top" align="left"> 2040dcb9ef1SAndrey Kiselev<td width="8%"></td> 2050dcb9ef1SAndrey Kiselev<td width="91%"> 2060dcb9ef1SAndrey Kiselev<p><big><b>TIFFOpen</b>(3TIFF), 2070776b32dSAndrey Kiselev<b>TIFFWriteDirectory</b>(3TIFF), 2080776b32dSAndrey Kiselev<b>TIFFSetDirectory</b>(3TIFF), 2090dcb9ef1SAndrey Kiselev<b>TIFFSetSubDirectory</b>(3TIFF), 2100dcb9ef1SAndrey Kiselev<b>libtiff</b>(3TIFF)</big></p> 2110dcb9ef1SAndrey Kiselev<!-- INDENTATION --> 2120dcb9ef1SAndrey Kiselev<p><big>Libtiff library home page: 213*d4dd6cccSBob Friesenhahn<b>http://www.simplesystems.org/libtiff/</b></big></p> 2140dcb9ef1SAndrey Kiselev</td> 2150dcb9ef1SAndrey Kiselev</table> 21687c5da6fSAndrey Kiselev<hr> 21787c5da6fSAndrey Kiselev</body> 21887c5da6fSAndrey Kiselev</html> 219