TIFFFieldQuery

Synopsis

#include <tiffio.h>
const TIFFField *TIFFFieldWithName(TIFF *tif, const char *field_name)
const TIFFField *TIFFFieldWithTag(TIFF *tif, uint32_t tag)
const TIFFField *TIFFFindField(TIFF *tif, uint32_t tag, TIFFDataType dt)
int TIFFFieldIsAnonymous(const TIFFField *fip)
int TIFFFieldSetGetSize(const TIFFField *fip)
int TIFFFieldSetGetCountSize(const TIFFField *fip)

Description

TIFFFieldWithName() and TIFFFieldWithTag() return a pointer to TIFF field information structure fip by the tag's field_name or its tag number.

TIFFFindField() searches for the TIFF field information structure fip of a given tag number and a specific TIFFDataType dt. With dt== TIFF_ANY the behaviour is the same than for TIFFFieldWithTag().

All three functions return NULL, when the tag is not registered within libtiff (see also Default Tag Auto-registration ).

Such a TIFFDataType dependent search could be useful when the same tag is defined twice but with different data types, which is true for rare cases like TIFFTAG_XCLIPPATHUNITS. However, the libtiff does currently not support multiple definitions of the same tag.

The following routines return status information about TIFF fields.

fip is a field information pointer previously returned by TIFFFindField(), TIFFFieldWithTag(), TIFFFieldWithName().

TIFFFieldIsAnonymous() returns true (nonzero) if the field, read from file, is unknown to libtiff and an anonymous field has been auto-registered. Return is zero "0" if field is known to libtiff. See Default Tag Auto-registration for more information.

TIFFFieldSetGetSize() returns the data size in bytes of the field data type used for libtiff internal storage. This is also the data size of the parameter to be provided to TIFFSetField() and TIFFGetField(). Custom TIFF_RATIONAL values can be stored internally either as float or double. TIFFFieldSetGetSize() would then return "4" or "8", respectively.

TIFFFieldSetGetCountSize() returns size of count parameter of TIFFSetField() and TIFFGetField() and also if it is required: 0=none, 2= uint16_t, 4= uint32_t. See also description of TIFFFieldReadCount().

Diagnostics

None.

See also

TIFFFieldDataType (3tiff), TIFFFieldName (3tiff), TIFFFieldPassCount (3tiff), TIFFFieldReadCount (3tiff), TIFFFieldTag (3tiff), TIFFFieldWriteCount (3tiff), libtiff (3tiff)