EXIF library (libexif) API 0.6.22
exif-log.h File Reference

Log message infrastructure. More...

#include <libexif/exifmem.h>
#include <stdarg.h>

Go to the source code of this file.

Macros

#define EXIF_LOG_NO_MEMORY(l, d, s)   exif_log ((l), EXIF_LOG_CODE_NO_MEMORY, (d), "Could not allocate %lu byte(s).", (unsigned long)(s))
 

Typedefs

typedef struct _ExifLog ExifLog
 
typedef void EXIF_CALLBACK(* ExifLogFunc) (ExifLog *log, exif_enum(ExifLogCode), const char *domain, const char *format, va_list args, void *data)
 Log callback function prototype.
 

Enumerations

enum  ExifLogCode {
  EXIF_LOG_CODE_NONE , EXIF_LOG_CODE_DEBUG , EXIF_LOG_CODE_NO_MEMORY , EXIF_LOG_CODE_CORRUPT_DATA ,
  EXIF_LOG_CODE_NONE , EXIF_LOG_CODE_DEBUG , EXIF_LOG_CODE_NO_MEMORY , EXIF_LOG_CODE_CORRUPT_DATA
}
 

Functions

 EXIF_API (ExifLog *) exif_log_new(void)
 Create a new logging instance.
 
 EXIF_API (void) exif_log_free(ExifLog *log)
 Delete instance of ExifLog.
 
 EXIF_API (const char *) exif_log_code_get_title(exif_enum(ExifLogCode) code)
 Return a textual description of the given class of error log.
 
 exif_enum (ExifLogCode)
 

Variables

ExifLogFunc func
 
ExifLogFunc void * data
 
const char * domain
 
const char const char * format
 
const char const char const char const char va_list args
 

Detailed Description

Log message infrastructure.

Function Documentation

◆ EXIF_API() [1/3]

EXIF_API ( const char *  )

Return a textual description of the given class of error log.

Return a verbose description of the given class of error log.

Parameters
[in]codelogging message class
Returns
textual description of the log class, or NULL if unknown
Parameters
[in]codelogging message class
Returns
verbose description of the log class, or NULL if unknown

Return a textual description of the given class of error log.

Return a textual name of the given IFD.

Return a textual representation of the given EXIF data type.

Return a short textual description of the given ExifDataOption.

Return a short, localized, textual name for the given byte order.

This is meant for display to the user. The format of each tag is subject to change between locales and in newer versions of libexif. Users who require the tag data in an unambiguous form should access the data members of the ExifEntry structure directly.

Warning
The character set of the returned string may be in the encoding of the current locale or the native encoding of the camera.
Bug:
The EXIF_TAG_XP_* tags are currently always returned in UTF-8, regardless of locale, and code points above U+FFFF are not supported.
Parameters
[in]entryEXIF entry
[out]valbuffer in which to store value; if entry is valid and maxlen > 0 then this string will be NUL-terminated
[in]maxlenlength of the buffer val
Returns
val pointer

Return a textual description of the given class of error log.

Return a textual name of the given IFD.

Return a textual representation of the given EXIF data type.

Return a short textual description of the given ExifDataOption.

Return a short, localized, textual name for the given byte order.

Returns verbose textual description of the given MakerNote tag.

Returns textual title of the given MakerNote tag.

The name is a short, unique (within this type of MakerNote), non-localized text string containing only US-ASCII alphanumeric characters.

Parameters
[in]dMakerNote data
[in]nindex of the entry within the MakerNote data
Returns
textual name of the tag or NULL on error

The title is a short, localized textual description of the tag.

Parameters
[in]dMakerNote data
[in]nindex of the entry within the MakerNote data
Returns
textual name of the tag or NULL on error
Parameters
[in]dMakerNote data
[in]nindex of the entry within the MakerNote data
Returns
textual description of the tag or NULL on error

Return a textual description of the given class of error log.

Return a textual name of the given IFD.

Return a textual representation of the given EXIF data type.

Return a short textual description of the given ExifDataOption.

Return a short, localized, textual name for the given byte order.

Return a verbose textual description of the given tag when found in the given IFD.

Return a textual title of the given tag when found in the given IFD.

The name is a short, unique, non-localized text string containing only US-ASCII alphanumeric characters.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual name of the tag, or NULL if the tag is unknown

The title is a short, localized description of the tag.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual title of the tag, or NULL if the tag is unknown

The description is a verbose, localized description of the tag.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual description of the tag, or NULL if the tag is unknown
Deprecated:
Use exif_tag_get_name_in_ifd instead
Deprecated:
Use exif_tag_get_title_in_ifd instead
Deprecated:
Use exif_tag_get_description_in_ifd instead

Return a textual description of the given class of error log.

Return a textual name of the given IFD.

Return a textual representation of the given EXIF data type.

Return a short textual description of the given ExifDataOption.

Return a short, localized, textual name for the given byte order.

This is meant for display to the user. The format of each tag is subject to change between locales and in newer versions of libexif. Users who require the tag data in an unambiguous form should access the data members of the ExifEntry structure directly.

Warning
The character set of the returned string may be in the encoding of the current locale or the native encoding of the camera.
Bug:
The EXIF_TAG_XP_* tags are currently always returned in UTF-8, regardless of locale, and code points above U+FFFF are not supported.
Parameters
[in]entryEXIF entry
[out]valbuffer in which to store value; if entry is valid and maxlen > 0 then this string will be NUL-terminated
[in]maxlenlength of the buffer val
Returns
val pointer

Return a textual description of the given class of error log.

Return a textual name of the given IFD.

Return a textual representation of the given EXIF data type.

Return a short textual description of the given ExifDataOption.

Return a short, localized, textual name for the given byte order.

Return a verbose textual description of the given tag when found in the given IFD.

Return a textual title of the given tag when found in the given IFD.

The name is a short, unique, non-localized text string containing only US-ASCII alphanumeric characters.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual name of the tag, or NULL if the tag is unknown

The title is a short, localized description of the tag.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual title of the tag, or NULL if the tag is unknown

The description is a verbose, localized description of the tag.

Parameters
[in]tagEXIF tag
[in]ifdIFD
Returns
textual description of the tag, or NULL if the tag is unknown
Deprecated:
Use exif_tag_get_name_in_ifd instead
Deprecated:
Use exif_tag_get_title_in_ifd instead
Deprecated:
Use exif_tag_get_description_in_ifd instead

◆ EXIF_API() [2/3]

EXIF_API ( ExifLog *  )

Create a new logging instance.

See also
exif_log_free
Returns
new instance of ExifLog

◆ EXIF_API() [3/3]

EXIF_API ( void  )

Delete instance of ExifLog.

Register log callback function.

See also
exif_log_new
Parameters
[in]logExifLog
Returns
new instance of ExifLog

Calls to the log callback function are purely for diagnostic purposes.

Parameters
[in]loglogging state variable
[in]funccallback function to set
[in]datadata to pass into callback function