libtiff/html/man/TIFFWriteDirectory.3t.html
2003-12-21 21:47:11 +00:00

201 lines
7.8 KiB
HTML

<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>TIFFWriteDirectory</title>
</head>
<body>
<h1 align=center>TIFFWriteDirectory</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUES">RETURN VALUES</a><br>
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17.2 -->
<!-- CreationDate: Mon Dec 22 00:39:28 2003 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
TIFFWriteDirectory, TIFFRewriteDirectory, TIFFCheckpointDirectory - write the current directory in an open <small>TIFF</small> file</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>#include &lt;tiffio.h&gt;<br>
int TIFFWriteDirectory(TIFF* tif)<br>
int TIFFRewriteDirectory(TIFF* tif)<br>
int TIFFCheckpointDirectory(TIFF* tif)</b></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<i>TIFFWriteDirectory</i> will write the contents of the
current directory to the file and setup to create a new
subfile in the same file. Applications only need to call
<i>TIFFWriteDirectory</i> when writing multiple subfiles to
a single <small>TIFF</small> file. <i>TIFFWriteDirectory</i>
is automatically called by <i>TIFFClose</i> and
<i>TIFFFlush</i> to write a modified directory if the file
is open for writing.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <i>TIFFRewriteDirectory</i> function operates similarly
to <i>TIFFWriteDirectory,</i> but can be called with
directories previously read or written that already have an
established location in the file. It will rewrite the
directory, but instead of place it at it's old location (as
<i>TIFFWriteDirectory</i> would) it will place them at the
end of the file, correcting the pointer from the preceeding
directory or file header to point to it's new location. This
is particularly important in cases where the size of the
directory and pointed to data has grown, so it won't fit in
the space available at the old location.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <i>TIFFCheckpointDirectory</i> writes the current state
of the tiff directory into the file to make what is
currently in the file readable. Unlike
<i>TIFFWriteDirectory, TIFFCheckpointDirectory</i> does not
free up the directory data structures in memory, so they can
be updated (as strips/tiles are written) and written again.
Reading such a partial file you will at worst get a tiff
read error for the first strip/tile encountered that is
incomplete, but you will at least get all the valid data in
the file before that. When the file is complete, just use
<i>TIFFWriteDirectory</i> as usual to finish it off
cleanly.</td></table>
<a name="RETURN VALUES"></a>
<h2>RETURN VALUES</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
1 is returned when the contents are successfully written to
the file. Otherwise, 0 is returned if an error was
encountered when writing the directory
contents.</td></table>
<a name="DIAGNOSTICS"></a>
<h2>DIAGNOSTICS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
All error messages are directed to the <i>TIFFError</i>(3T)
routine.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error post-encoding before directory write</b>. Before
writing the contents of the current directory, any pending
data are flushed. This message indicates that an error
occurred while doing this.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error flushing data before directory write</b>. Before
writing the contents of the current directory, any pending
data are flushed. This message indicates that an error
occurred while doing this.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Cannot write directory, out of space</b>. There was not
enough space to allocate a temporary area for the directory
that was to be written.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error writing directory count</b>. A write error occurred
when writing the count of fields in the
directory.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error writing directory contents</b>. A write error
occurred when writing the directory fields.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error writing directory link</b>. A write error occurred
when writing the link to the next directory.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error writing data for field &quot;%s&quot;</b>. A write
error occurred when writing indirect data for the specified
field.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error writing TIFF header</b>. A write error occurred
when re-writing header at the front of the
file.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error fetching directory count</b>. A read error occurred
when fetching the directory count field for a previous
directory. This can occur when setting up a link to the
directory that is being written.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>Error fetching directory link</b>. A read error occurred
when fetching the directory link field for a previous
directory. This can occur when setting up a link to the
directory that is being written.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<i>libtiff</i>(3T), <i>TIFFOpen</i>(3T),
<i>TIFFError</i>(3T), <i>TIFFReadDirectory</i>(3T),
<i>TIFFSetDirectory</i>(3T)</td></table>
<hr>
</body>
</html>