TIFFGetField(3T)

TIFFGetField, TIFFVGetField - get the value(s) of a tag in an open TIFF file

As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.

NAME
     TIFFGetField, TIFFVGetField - get the value(s) of a tag in an open TIFF
     file

SYNOPSIS
     #include <tiffio.h>
     int TIFFGetField(TIFF* tif, ttag_t tag, ...)
     #include <stdarg.h>
     int TIFFVGetField(TIFF* tif, ttag_t tag, va_list ap)
     int TIFFGetFieldDefaulted(TIFF* tif, ttag_t tag, ...)
     int TIFFVGetFieldDefaulted(TIFF* tif, ttag_t tag, va_list ap)

DESCRIPTION
     TIFFGetField returns the value of a tag or pseudo-tag associated with the
     the current directory of the open TIFF file tif.  (A pseudo-tag is a
     parameter that is used to control the operation of the TIFF library but
     whose value is not read or written to the underlying file.)  The file
     must have been previously opened with TIFFOpen(3T).  The tag is
     identified by tag, one of the values defined in the include file tiff.h
     (see also the table below).  The type and number of values returned is
     dependent on the tag being requested.  The programming interface uses a
     variable argument list as prescribed by the stdarg(3) interface.  The
     returned values should only be interpreted if TIFFGetField returns 1.

     TIFFVGetField is functionally equivalent to TIFFGetField except that it
     takes a pointer to a variable argument list.  TIFFVGetField is useful for
     layering interfaces on top of the functionality provided by TIFFGetField.

     TIFFGetFieldDefaulted and TIFFVGetFieldDefaulted are identical to
     TIFFGetField and TIFFVGetField, except that if a tag is not defined in
     the current directory and it has a default value, then the default value
     is returned.

     The tags understood by libtiff, the number of parameter values, and the
     types for the returned values are shown below.  The data types are
     specified as in C and correspond to the types used to specify tag values
     to TIFFSetField(3T).  Remember that TIFFGetField returns parameter
     values, so all the listed data types are pointers to storage where values
     should be returned.  Consult the TIFF specification for information on
     the meaning of each tag and their possible values.

     Tag Name                        Count  Types             Notes
     TIFFTAG_ARTIST                  1      char**
     TIFFTAG_BADFAXLINES             1      uint32*
     TIFFTAG_BITSPERSAMPLE           1      uint16*
     TIFFTAG_CLEANFAXDATA            1      uint16*
     TIFFTAG_COLORMAP                3      uint16**          1<<BitsPerSample arrays
     TIFFTAG_COMPRESSION             1      uint16*
     TIFFTAG_CONSECUTIVEBADFAXLINES  1      uint32*
     TIFFTAG_DATATYPE                1      uint16*
     TIFFTAG_DATETIME                1      char**
     TIFFTAG_DOCUMENTNAME            1      char**
     TIFFTAG_DOTRANGE                2      uint16*
     TIFFTAG_EXTRASAMPLES            2      uint16*,uint16**  count & types array
     TIFFTAG_FAXMODE                 1      int*              G3/G4 compression pseudo-tag
     TIFFTAG_FAXFILLFUNC             1      TIFFFaxFillFunc*  G3/G4 compression pseudo-tag
     TIFFTAG_FILLORDER               1      uint16*
     TIFFTAG_GROUP3OPTIONS           1      uint32*
     TIFFTAG_GROUP4OPTIONS           1      uint32*
     TIFFTAG_HALFTONEHINTS           2      uint16*
     TIFFTAG_HOSTCOMPUTER            1      char**
     TIFFTAG_IMAGEDEPTH              1      uint32*
     TIFFTAG_IMAGEDESCRIPTION        1      char**
     TIFFTAG_IMAGELENGTH             1      uint32*
     TIFFTAG_IMAGEWIDTH              1      uint32*
     TIFFTAG_INKNAMES                1      char**
     TIFFTAG_INKSET                  1      uint16*
     TIFFTAG_JPEGTABLES              2      u_short*,void**   count & tables
     TIFFTAG_JPEGQUALITY             1      int*              JPEG pseudo-tag
     TIFFTAG_JPEGCOLORMODE           1      int*              JPEG pseudo-tag
     TIFFTAG_JPEGTABLESMODE          1      int*              JPEG pseudo-tag
     TIFFTAG_MAKE                    1      char**
     TIFFTAG_MATTEING                1      uint16*
     TIFFTAG_MAXSAMPLEVALUE          1      uint16*
     TIFFTAG_MINSAMPLEVALUE          1      uint16*
     TIFFTAG_MODEL                   1      char**
     TIFFTAG_ORIENTATION             1      uint16*
     TIFFTAG_PAGENAME                1      char**
     TIFFTAG_PAGENUMBER              2      uint16*
     TIFFTAG_PHOTOMETRIC             1      uint16*
     TIFFTAG_PLANARCONFIG            1      uint16*
     TIFFTAG_PREDICTOR               1      uint16*
     TIFFTAG_PRIMARYCHROMATICITIES   1      float**           6-entry array
     TIFFTAG_REFERENCEBLACKWHITE     1      float**           2*SamplesPerPixel array
     TIFFTAG_RESOLUTIONUNIT          1      uint16*
     TIFFTAG_ROWSPERSTRIP            1      uint32*
     TIFFTAG_SAMPLEFORMAT            1      uint16*
     TIFFTAG_SAMPLESPERPIXEL         1      uint16*
     TIFFTAG_SMAXSAMPLEVALUE         1      double*
     TIFFTAG_SMINSAMPLEVALUE         1      double*
     TIFFTAG_SOFTWARE                1      char**
     TIFFTAG_STRIPBYTECOUNTS         1      uint32**
     TIFFTAG_STRIPOFFSETS            1      uint32**
     TIFFTAG_SUBFILETYPE             1      uint32*
     TIFFTAG_SUBIFD                  2      uint16*,uint32**  count & offsets array
     TIFFTAG_TARGETPRINTER           1      char**
     TIFFTAG_THRESHHOLDING           1      uint16*
     TIFFTAG_TILEBYTECOUNTS          1      uint32**
     TIFFTAG_TILEDEPTH               1      uint32*
     TIFFTAG_TILELENGTH              1      uint32*
     TIFFTAG_TILEOFFSETS             1      uint32**
     TIFFTAG_TILEWIDTH               1      uint32*
     TIFFTAG_TRANSFERFUNCTION        1 or 3-                  uint16**1<<BitsPerSample entry arrays

     TIFFTAG_WHITEPOINT              1      float**           2-entry array
     TIFFTAG_XPOSITION               1      float*
     TIFFTAG_XRESOLUTION             1      float*
     TIFFTAG_YCBCRCOEFFICIENTS       1      float**           3-entry array
     TIFFTAG_YCBCRPOSITIONING        1      uint16*
     TIFFTAG_YCBCRSUBSAMPLING        2      uint16*
     TIFFTAG_YPOSITION               1      float*
     TIFFTAG_YRESOLUTION             1      float*
     TIFFTAG_ICCPROFILE              2      uint32*,void**    count, profile data=
     - If SamplesPerPixel is one, then a single array is returned; otherwise
     three arrays are returned.
     = The contents of this field are quite complex.  See The ICC Profile
     Format Specification, Annex B.3 "Embedding ICC Profiles in TIFF Files"
     (available at http://www.color.org) for an explanation.

RETURN VALUES
     1 is returned if the tag is defined in the current directory; otherwise a
     0 is returned.

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

     Unknown field, tag 0x%x.  An unknown tag was supplied.

SEE ALSO
     libtiff(3T), TIFFOpen(3T), TIFFSetField(3T), TIFFSetDirectory(3T),
     TIFFReadDirectory(3T), TIFFWriteDirectory(3T)