25#ifndef LIBEXIF_EXIF_DATA_H
26#define LIBEXIF_EXIF_DATA_H
33#include <libexif/exif-data-type.h>
34#include <libexif/exif-ifd.h>
40typedef struct _ExifDataPrivate ExifDataPrivate;
58 ExifDataPrivate *priv;
85ExifData *exif_data_new_from_file (
const char *path);
93ExifData *exif_data_new_from_data (
const unsigned char *data,
107void exif_data_load_data (
ExifData *data,
const unsigned char *d,
120void exif_data_save_data (
ExifData *data,
unsigned char **d,
124void exif_data_unref (
ExifData *data);
125void exif_data_free (
ExifData *data);
162typedef void (* ExifDataForeachContentFunc) (
ExifContent *,
void *user_data);
170void exif_data_foreach_content (
ExifData *data,
171 ExifDataForeachContentFunc func,
221void exif_data_set_data_type (
ExifData *d, ExifDataType dt);
228ExifDataType exif_data_get_data_type (
ExifData *d);
235void exif_data_dump (
ExifData *data);
252#define exif_data_get_entry(d,t) \
253 (exif_content_get_entry(d->ifd[EXIF_IFD_0],t) ? \
254 exif_content_get_entry(d->ifd[EXIF_IFD_0],t) : \
255 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) ? \
256 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) : \
257 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) ? \
258 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) : \
259 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) ? \
260 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) : \
261 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) ? \
262 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) : NULL)
Defines the ExifByteOrder enum and the associated functions.
ExifByteOrder
Which byte order to use.
Definition exif-byte-order.h:33
struct _ExifContent ExifContent
Holds all EXIF tags in a single IFD.
Definition exif-content.h:33
ExifDataOption
Options to configure the behaviour of ExifData.
Definition exif-data.h:175
@ EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE
Leave the MakerNote alone, which could cause it to be corrupted.
Definition exif-data.h:183
@ EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS
Act as though unknown tags are not present.
Definition exif-data.h:177
@ EXIF_DATA_OPTION_FOLLOW_SPECIFICATION
Fix the EXIF tags to follow the spec.
Definition exif-data.h:180
struct _ExifData ExifData
Represents the entire EXIF data found in an image.
Definition exif-data.h:39
Log message infrastructure.
struct _ExifLog ExifLog
State maintained by the logging interface.
Definition exif-log.h:36
Define the ExifMem data type and the associated functions.
struct _ExifMem ExifMem
ExifMem define a memory allocator.
Definition exif-mem.h:59
Handling EXIF MakerNote tags.
struct _ExifMnoteData ExifMnoteData
Data found in the MakerNote tag.
Definition exif-mnote-data.h:35
Represents the entire EXIF data found in an image.
Definition exif-data.h:48
unsigned char * data
Pointer to thumbnail image, or NULL if not available.
Definition exif-data.h:53
unsigned int size
Number of bytes in thumbnail image at data.
Definition exif-data.h:56
ExifContent * ifd[EXIF_IFD_COUNT]
Data for each IFD.
Definition exif-data.h:50