summaryrefslogtreecommitdiff
path: root/doc/static/man/TIFFWriteDirectory.3tiff.html
blob: 0cec618bd608d34e8a30b68e49023c81263102f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<!-- Creator     : groff version 1.22.4 -->
<!-- CreationDate: Sat Jun  4 16:23:27 2022 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
       h1      { text-align: center }
</style>
<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>


<h2>NAME
<a name="NAME"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em">TIFFWriteDirectory,
TIFFRewriteDirectory, TIFFCheckpointDirectory &minus; write
the current directory in an open <small>TIFF</small>
file</p>

<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em"><b>#include
&lt;tiffio.h&gt;</b></p>

<p style="margin-left:11%; margin-top: 1em"><b>int
TIFFWriteDirectory(TIFF *</b><i>tif</i><b>) <br>
int TIFFRewriteDirectory(TIFF *</b><i>tif</i><b>) <br>
int TIFFCheckpointDirectory(TIFF *</b><i>tif</i><b>)</b></p>

<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b><i>TIFFWriteDirectory</i></b>
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.</p>

<p style="margin-left:11%; margin-top: 1em">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&rsquo;s old
location (as <i>TIFFWriteDirectory</i> would) it will place
them at the end of the file, correcting the pointer from the
preceding directory or file header to point to it&rsquo;s
new location. This is particularly important in cases where
the size of the directory and pointed to data has grown, so
it won&rsquo;t fit in the space available at the old
location.</p>

<p style="margin-left:11%; margin-top: 1em">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.</p>

<h2>RETURN VALUES
<a name="RETURN VALUES"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">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.</p>

<h2>DIAGNOSTICS
<a name="DIAGNOSTICS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">All error
messages are directed to the <i>TIFFError</i>(3TIFF)
routine.</p>

<p style="margin-left:11%; margin-top: 1em"><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.</p>

<p style="margin-left:11%; margin-top: 1em"><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.</p>

<p style="margin-left:11%; margin-top: 1em"><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.</p>

<p style="margin-left:11%; margin-top: 1em"><b>Error
writing directory count</b>. A write error occurred when
writing the count of fields in the directory.</p>

<p style="margin-left:11%; margin-top: 1em"><b>Error
writing directory contents</b>. A write error occurred when
writing the directory fields.</p>

<p style="margin-left:11%; margin-top: 1em"><b>Error
writing directory link</b>. A write error occurred when
writing the link to the next directory.</p>

<p style="margin-left:11%; margin-top: 1em"><b>Error
writing data for field &quot;%s&quot;</b>. A write error
occurred when writing indirect data for the specified
field.</p>

<p style="margin-left:11%; margin-top: 1em"><b>Error
writing TIFF header</b>. A write error occurred when
re-writing header at the front of the file.</p>

<p style="margin-left:11%; margin-top: 1em"><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.</p>

<p style="margin-left:11%; margin-top: 1em"><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.</p>

<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>TIFFOpen</b>(3TIFF),
<b>TIFFError</b>(3TIFF), <b>TIFFReadDirectory</b>(3TIFF),
<b>TIFFSetDirectory</b>(3TIFF), <b>libtiff</b>(3TIFF)</p>

<p style="margin-left:11%; margin-top: 1em">Libtiff library
home page: <b>http://www.simplesystems.org/libtiff/</b></p>
<hr>
</body>
</html>