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

NAME

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

SYNOPSIS

          #include <tiffio.h>
          #include <stdarg.h>

       int TIFFGetField(TIFF *tif, ttag_t tag, ...)

       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 opened 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().  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.h 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(), respectively, 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().  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  (or  relevant  industry
       specification) for information on the meaning of each tag and their possible values.

TAG PROPERTIES

         ┌───────────────────────────────┬─────────┬─────────────────────┬─────────────────────┐
         │Tag name                       │ Count   │ Types               │ Notes               │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_ARTIST                 │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_BADFAXLINES            │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_BITSPERSAMPLE          │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_CLEANFAXDATA           │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_COLORMAP               │ 3       │ const uint16_t**    │ 1  << BitsPerSample │
         │                               │         │                     │ arrays              │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_COMPRESSION            │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_CONSECUTIVEBADFAXLINES │ 1       │ uint32_t*           │                     │
         └───────────────────────────────┴─────────┴─────────────────────┴─────────────────────┘

         │TIFFTAG_COPYRIGHT              │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_DATATYPE               │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_DATETIME               │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_DOCUMENTNAME           │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_DOTRANGE               │ 2       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_EXTRASAMPLES           │ 2       │ uint16_t*,    const │ count, types array  │
         │                               │         │ uint16_t**          │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_FAXFILLFUNC            │ 1       │ TIFFFaxFillFunc*    │ G3/G4   compression │
         │                               │         │                     │ pseudo-tag          │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_FAXMODE                │ 1       │ int*                │ G3/G4   compression │
         │                               │         │                     │ pseudo-tag          │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_FILLORDER              │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_GROUP3OPTIONS          │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_GROUP4OPTIONS          │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_HALFTONEHINTS          │ 2       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_HOSTCOMPUTER           │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_ICCPROFILE             │ 2       │ const    uint32_t*, │ count,      profile │
         │                               │         │ const void**        │ data‡               │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_IMAGEDEPTH             │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_IMAGEDESCRIPTION       │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_IMAGELENGTH            │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_IMAGEWIDTH             │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_INKNAMES               │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_INKSET                 │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_JPEGCOLORMODE          │ 1       │ int*                │ JPEG pseudo-tag     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_JPEGQUALITY            │ 1       │ int*                │ JPEG pseudo-tag     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_JPEGTABLES             │ 2       │ uint32_t*,    const │ count, tables       │
         │                               │         │ void**              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_JPEGTABLESMODE         │ 1       │ int*                │ JPEG pseudo-tag     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_MAKE                   │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_MATTEING               │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_MAXSAMPLEVALUE         │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_MINSAMPLEVALUE         │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_MODEL                  │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_ORIENTATION            │ 1       │ uint16_t*           │                     │
         └───────────────────────────────┴─────────┴─────────────────────┴─────────────────────┘

         │TIFFTAG_PAGENAME               │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PAGENUMBER             │ 2       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PHOTOMETRIC            │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PHOTOSHOP              │ 2       │ uint32_t*,    const │ count, data         │
         │                               │         │ void**              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PLANARCONFIG           │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PREDICTOR              │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_PRIMARYCHROMATICITIES  │ 1       │ const float**       │ 6-entry array       │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_REFERENCEBLACKWHITE    │ 1       │ const float**       │ 6-entry array       │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_RESOLUTIONUNIT         │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_RICHTIFFIPTC           │ 2       │ uint32_t*,    const │ count, data         │
         │                               │         │ void**              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_ROWSPERSTRIP           │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SAMPLEFORMAT           │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SAMPLESPERPIXEL        │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SMAXSAMPLEVALUE        │ 1       │ double*             │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SMINSAMPLEVALUE        │ 1       │ double*             │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SOFTWARE               │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_STONITS                │ 1       │ double*             │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_STRIPBYTECOUNTS        │ 1       │ const uint64_t**    │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_STRIPOFFSETS           │ 1       │ const uint64_t**    │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SUBFILETYPE            │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_SUBIFD                 │ 2       │ uint16_t*,    const │ count,      offsets │
         │                               │         │ uint64_t**          │ array               │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TARGETPRINTER          │ 1       │ const char**        │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_THRESHHOLDING          │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TILEBYTECOUNTS         │ 1       │ const uint64_t**    │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TILEDEPTH              │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TILELENGTH             │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TILEOFFSETS            │ 1       │ const uint64_t**    │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TILEWIDTH              │ 1       │ uint32_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_TRANSFERFUNCTION       │ 1 or 3† │ const uint16_t**    │ 1  << BitsPerSample │
         │                               │         │                     │ entry arrays        │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_WHITEPOINT             │ 1       │ const float**       │ 2-entry array       │
         └───────────────────────────────┴─────────┴─────────────────────┴─────────────────────┘

         │TIFFTAG_XMLPACKET              │ 2       │ uint32_t*,    const │ count, data         │
         │                               │         │ void**              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_XPOSITION              │ 1       │ float*              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_XRESOLUTION            │ 1       │ float*              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_YCBCRCOEFFICIENTS      │ 1       │ const float**       │ 3-entry array       │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_YCBCRPOSITIONING       │ 1       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_YCBCRSUBSAMPLING       │ 2       │ uint16_t*           │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_YPOSITION              │ 1       │ float*              │                     │
         ├───────────────────────────────┼─────────┼─────────────────────┼─────────────────────┤
         │TIFFTAG_YRESOLUTION            │ 1       │ float*              │                     │
         └───────────────────────────────┴─────────┴─────────────────────┴─────────────────────┘

       †:     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.

AUTOREGISTERED TAGS

       If you can't find the tag in the table above that means this is an unsupported tag and  is
       not  directly  supported by the libtiff library. You will still be able to read it's value
       if you know the data type of that tag. For example, if you want to  read  the  LONG  value
       from the tag 33424 and ASCII string from the tag 36867 you can use the following code:

          uint32_t  count;
          void    *data;

          TIFFGetField(tiff, 33424, &count, &data);
          printf("Tag %d: %d, count %d\n", 33424, *(uint32_t *)data, count);
          TIFFGetField(tiff, 36867, &count, &data);
          printf("Tag %d: %s, count %d\n", 36867, (char *)data, count);

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

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

SEE ALSO

       TIFFOpen   (3tiff),  TIFFSetField  (3tiff),  TIFFSetDirectory  (3tiff),  TIFFReadDirectory
       (3tiff), TIFFWriteDirectory (3tiff), libtiff (3tiff)

AUTHOR

       LibTIFF contributors

COPYRIGHT

       1988-2024, LibTIFF contributors