TIFFWriteDirectory

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
TIFFWriteDirectory(3T)				       TIFFWriteDirectory(3T)



NAME
       TIFFWriteDirectory,  TIFFRewriteDirectory,  TIFFCheckpointDirectory  -
       write the current directory in an open TIFF file

SYNOPSIS
       #include <tiffio.h>
       int TIFFWriteDirectory(TIFF* tif)
       int TIFFRewriteDirectory(TIFF* tif)
       int TIFFCheckpointDirectory(TIFF* tif)

DESCRIPTION
       TIFFWriteDirectory will write the contents of the current directory to
       the file and setup to create a new subfile in the same file.  Applica-
       tions only need to call TIFFWriteDirectory when writing multiple	 sub-
       files  to  a  single  TIFF  file.  TIFFWriteDirectory is automatically
       called by TIFFClose and TIFFFlush to write a modified directory if the
       file is open for writing.

       The  TIFFRewriteDirectory  function operates similarly to TIFFWriteDi-
       rectory, 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  TIFFWriteDirectory	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.

       The  TIFFCheckpointDirectory  writes  the  current  state  of the tiff
       directory into the file to make what is currently in  the  file	read-
       able.   Unlike  TIFFWriteDirectory,  TIFFCheckpointDirectory  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	 com-
       plete,  just use TIFFWriteDirectory as usual to finish it off cleanly.

RETURN VALUES
       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.

DIAGNOSTICS
       All error messages are directed to the TIFFError(3T) routine.

       Error post-encoding before directory write.  Before writing  the	 con-
       tents  of  the  current directory, any pending data are flushed.	 This
       message indicates that an error occurred while doing this.

       Error flushing data before directory write.  Before writing  the	 con-
       tents  of  the  current directory, any pending data are flushed.	 This
       message indicates that an error occurred while doing this.

       Cannot write directory, out of space.  There was not enough  space  to
       allocate a temporary area for the directory that was to be written.

       Error  writing  directory  count.  A write error occurred when writing
       the count of fields in the directory.

       Error writing directory contents.  A write error occurred when writing
       the directory fields.

       Error writing directory link.  A write error occurred when writing the
       link to the next directory.

       Error writing data for field "%s".  A write error occurred when	writ-
       ing indirect data for the specified field.

       Error  writing  TIFF  header.   A write error occurred when re-writing
       header at the front of the file.

       Error fetching directory count.	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.

       Error fetching directory link.  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.

SEE ALSO
       libtiff(3T), TIFFOpen(3T), TIFFError(3T), TIFFReadDirectory(3T), TIFF-
       SetDirectory(3T)



			      September 26, 2001       TIFFWriteDirectory(3T)