plucky (3) TIFFWriteDirectory.3tiff.gz

Provided by: libtiff-dev_4.5.1+git230720-4ubuntu4_amd64 bug

NAME

       TIFFWriteDirectory - 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)

       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)  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   (3tiff),   TIFFOpen   (3tiff),   TIFFCreateDirectory  (3tiff),  TIFFCustomDirectory  (3tiff),
       TIFFSetDirectory (3tiff), TIFFReadDirectory (3tiff), TIFFError (3tiff), Multi Page /  Multi  Image  TIFF,
       libtiff (3tiff)

AUTHOR

       LibTIFF contributors

       1988-2024, LibTIFF contributors