#include <tiffio.h>
int TIFFCreateDirectory(TIFF *tif)
int TIFFFreeDirectory(TIFF *tif)
int TIFFUnlinkDirectory(TIFF *tif, tdir_t dirn)


The following routines create or release a directory.

TIFFCreateDirectory() setup for a directory in a open TIFF file. The newly created directory will not exist on the file till TIFFWriteDirectory(), TIFFCheckpointDirectory(), TIFFFlush() or TIFFClose() is called. TIFFWriteDirectory() also creates a new directory, frees the *tif structure and sets up a new one.

TIFFFreeDirectory() releases allocated storage associated with a directory, especially custom-fields. However, the main part of the directory is not touched. Routine TIFFCleanup() calls TIFFFreeDirectory() to release the directory part of the tif structure.

TIFFUnlinkDirectory() unlink the specified directory from the directory chain. The parameter dirn specifies the subfile/directory as an integer number, with the first directory numbered one (1). This is different to TIFFSetDirectory() or TIFFCurrentDirectory() where the first directory starts with zero (0).

Directory query functions TIFFCurrentDirectory(), TIFFCurrentDirOffset(), TIFFLastDirectory() and TIFFNumberOfDirectories() retrieve information about directories in an open TIFF file. Be aware that until a directory is not written to file AND read back, the query functions won’t retrieve the correct information!


Be aware:

After libtiff version 4.6.0 TIFFCreateDirectory() also releases the directory part of the tif structure by calling TIFFFreeDirectory(), which should have been called by the user application before creating a new directory.


All error messages are directed to the TIFFErrorExtR() routine. Likewise, warning messages are directed to the TIFFWarningExtR() routine.

See also

libtiff (3tiff), TIFFCustomDirectory (3tiff), TIFFquery (3tiff), TIFFSetDirectory (3tiff), TIFFWriteDirectory (3tiff)