Provided by: libtiff-dev_4.5.1+git230720-4ubuntu2.2_amd64 bug

NAME

       TIFFWarning - library warning interface

SYNOPSIS

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

       void TIFFWarning(const char *module, const char *fmt, ...)

       void TIFFWarningExt(thandle_t fd, const char *module, const char *fmt, ...)

       void TIFFWarningExtR(TIFF *tif, const char *module, const char *fmt, ...)

       typedef void (*TIFFWarningHandler)(const char *module, const char *fmt, va_list ap)

       typedef void (*TIFFWarningHandlerExt)(thandle_t fd, const char *module, const char *fmt, va_list ap)

       typedef  int  (*TIFFWarningHandlerExtR)(TIFF  *tif, void *user_data, const char *module, const char *fmt,
       va_list ap)

       TIFFWarningHandler TIFFSetWarningHandler(TIFFWarningHandler handler)

       TIFFWarningHandlerExt TIFFSetWarningHandlerExt(TIFFWarningHandlerExt handler)

DESCRIPTION

       TIFFWarning() invokes the library-wide warning handler function to (normally) write a warning message  to
       the stderr.  The fmt parameter is a printf() format string, and any number arguments can be supplied. The
       module parameter is interpreted as a string that, if non-zero, should be printed before the  message;  it
       typically is used to identify the software module in which a warning is detected.

       Applications  that desire to capture control in the event of a warning should use TIFFSetWarningHandler()
       to override the default warning handler. A NULL (0) warning handler function may be installed to suppress
       warning messages.

       Two  more  application-specific  warning  handler  callbacks  are  available,  each  with  different call
       parameters and passing parameters to the handler.  Each handler is also linked  with  a  warning  message
       function,  i.e.   TIFFWarningExt()  and  TIFFWarningExtR() if the application intends to call the handler
       with those extended parameters.

       TIFFWarningExt() provides a file handle as parameter.  Within libtiff TIFFWarningExt() is called  passing
       tif->tif_clientdata   as   fd,   which   represents   the   TIFF  file  handle  (file  descriptor).   The
       application-specific    and    library-wide    handler    for    TIFFWarningExt()    is    setup     with
       TIFFSetWarningHandlerExt().

       TIFFWarningExtR()  (introduced  with libtiff 4.5) is called with its TIFF handle and thus provides access
       to a per-TIFF handle (re-entrant) warning handler. That  means  for  different  TIFF  handles,  different
       warning  handlers can be setup. This application-specific handler can be setup when a TIFF file is opened
       with   one   of   the   following   functions:   TIFFOpenExt(),   TIFFOpenWExt(),   TIFFFdOpenExt()    or
       TIFFClientOpenExt().   Furthermore, a custom defined data structure user_data for the warning handler can
       be given along.

NOTE

       Both functions TIFFWarning() and TIFFWarningExt() each attempt to call both handler functions if they are
       defined.   First TIFFWarningHandler() is called and then TIFFWarningHandlerExt().  However, TIFFWarning()
       passes a "0" as a file handle to TIFFWarningHandlerExt().

       TIFFWarningExtR()  tries  first   to   call   the   per-TIFF   handle   defined   warning   handler.   If
       TIFFWarningHandlerExtR()    is    not    defined    or   returns   0,   TIFFWarningHandler()   and   then
       TIFFWarningHandlerExt() are called. From libtiff 4.5 onwards TIFFWarningExtR() is used within the libtiff
       library.

RETURN VALUES

       TIFFSetWarningHandler()  and  TIFFSetWarningHandlerExt()  returns  a  reference  to  the previous warning
       handler function.

       TIFFWarningHandlerExtR() returns an integer as "stop" to control the  call  of  furhter  warning  handler
       functions within TIFFWarningExtR():

          • 0: both functions TIFFWarningHandler() and TIFFWarningHandlerExt() are called.

          • non-zero: no further warning message function is called.

SEE ALSO

       TIFFError (3tiff), TIFFOpen (3tiff), libtiff (3tiff), printf (3)

AUTHOR

       LibTIFF contributors

COPYRIGHT

       1988-2024, LibTIFF contributors