manpagez: man pages & more
man TIFFWriteDirectory(3)
Home | html | info | man
TIFFWRITEDIRECTORY(3tiff)           LibTIFF          TIFFWRITEDIRECTORY(3tiff)


NAME

       TIFFWriteDirectory - write the current directory in an open TIFF file


SYNOPSIS


          #include <tiffio.h>

       TIFFWriteDirectory(3) *tif)

       int TIFFRewriteDirectory(TIFF *tif)

       int TIFFCheckpointDirectory(TIFF *tif)

       void TIFFSetWriteOffset(TIFF *tif, toff_t off)

       int TIFFWriteCheck(TIFF *tif, int tiles, const char *module)


DESCRIPTION

       TIFFWriteDirectory() will write the contents of the current directory
       (IFD) to the file and setup to create a new directory (IFD) using
       TIFFCreateDirectory().  Applications only need to call
       TIFFWriteDirectory() when writing multiple subfiles (images) to a
       single TIFF file.  This is called "multi-page TIFF" or "multi-image
       TIFF" (see Multi Page / Multi Image TIFF).  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
       TIFFWriteDirectory(), 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 placing it at its old
       location (as TIFFWriteDirectory() would, if the size of the directory
       has not grown) it will place them at the end of the file, correcting
       the pointer from the preceding 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 readable.
       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 complete, just use
       TIFFWriteDirectory() as usual to finish it off cleanly.

       The TIFFSetWriteOffset() sets the current write offset.  This should
       only be used to set the offset to a known previous location (very
       carefully), or to 0 so that the next write gets appended to the end of
       the file.

       The TIFFWriteCheck()  verify file is writable and that the directory
       information is setup properly.  In doing the latter we also "freeze"
       the state of the directory so that important information is not
       changed.


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 TIFFErrorExtR() routine.

       "Error post-encoding before directory write":
          Before writing the contents 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 contents 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 writing 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

       TIFFquery(3), TIFFOpen(3), TIFFCreateDirectory(3),
       TIFFCustomDirectory(3), TIFFSetDirectory(3),
       TIFFReadDirectory(3), TIFFError(3), Multi Page / Multi Image
       TIFF, libtiff(3)


AUTHOR

       LibTIFF contributors


COPYRIGHT

       1988-2022, LibTIFF contributors

4.7                           September 11, 2024     TIFFWRITEDIRECTORY(3tiff)

tiff 4.7.0 - Generated Thu Oct 3 14:36:08 CDT 2024
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.