24#ifndef __EXIF_DATA_H__
25#define __EXIF_DATA_H__
31#include <libexif/exifutil.h>
33#include <libexif/exifdata.h>
34#include <libexif/exififd.h>
35#include <libexif/exiflog.h>
36#include <libexif/exiftag.h>
40typedef struct _ExifDataPrivate ExifDataPrivate;
43#include <libexif/exifnote.h>
44#include <libexif/exifmem.h>
58 ExifDataPrivate *priv;
93EXIF_API(
ExifData *) exif_data_new_from_data (
const unsigned char *data, uint32_t size);
118EXIF_API(
void) exif_data_save_data (
ExifData *data,
unsigned char **d, uint32_t *ds);
138EXIF_API(
void) exif_data_set_byte_order (
ExifData *data, exif_enum(ExifByteOrder) order);
159typedef void EXIF_CALLBACK (*ExifDataForeachContentFunc) (
ExifContent *,
void *user_data);
167EXIF_API(
void) exif_data_foreach_content (
ExifData *data, ExifDataForeachContentFunc func,
void *user_data);
216EXIF_API(
void) exif_data_set_data_type (
ExifData *d, exif_enum(ExifDataType) dt);
247#define exif_data_get_entry(d,t) \
248 (exif_content_get_entry(d->ifd[EXIF_IFD_0],t) ? \
249 exif_content_get_entry(d->ifd[EXIF_IFD_0],t) : \
250 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) ? \
251 exif_content_get_entry(d->ifd[EXIF_IFD_1],t) : \
252 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) ? \
253 exif_content_get_entry(d->ifd[EXIF_IFD_EXIF],t) : \
254 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) ? \
255 exif_content_get_entry(d->ifd[EXIF_IFD_GPS],t) : \
256 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) ? \
257 exif_content_get_entry(d->ifd[EXIF_IFD_INTEROPERABILITY],t) : NULL)
259#if defined(__PUREC__) && !defined(BUILDING_LIBEXIF)
260struct _ExifEntryPrivate {
int dummy; };
261struct _ExifDataPrivate {
int dummy; };
263struct _ExifContentPrivate {
int dummy; };
264struct _ExifLog {
int dummy; };
265struct _ExifMem {
int dummy; };
266struct _ExifLoader {
int dummy; };
ExifDataOption
Options to configure the behaviour of ExifData.
Definition: exif-data.h:170
@ EXIF_DATA_OPTION_DONT_CHANGE_MAKER_NOTE
Leave the MakerNote alone, which could cause it to be corrupted.
Definition: exif-data.h:178
@ EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS
Act as though unknown tags are not present.
Definition: exif-data.h:172
@ EXIF_DATA_OPTION_FOLLOW_SPECIFICATION
Fix the EXIF tags to follow the spec.
Definition: exif-data.h:175
EXIF_API(void) exif_data_load_data(ExifData *data
Load the ExifData structure from the raw JPEG or EXIF data in the given memory buffer.
Defines the ExifByteOrder enum and the associated functions.
Definition: exif-content.h:41
Represents the entire EXIF data found in an image.
Definition: exif-data.h:48
uint32_t size
Number of bytes in thumbnail image at data.
Definition: exif-data.h:56
unsigned char * data
Pointer to thumbnail image, or NULL if not available.
Definition: exif-data.h:53
ExifContent * ifd[EXIF_IFD_COUNT]
Data for each IFD.
Definition: exif-data.h:50
Definition: exif-mnote-data-priv.h:61