#include <config.h>
#include <libexif/exif-mnote-data.h>
#include <libexif/exif-data.h>
#include <libexif/exif-ifd.h>
#include <libexif/exif-mnote-data-priv.h>
#include <libexif/exif-utils.h>
#include <libexif/exif-loader.h>
#include <libexif/exif-log.h>
#include <libexif/i18n.h>
#include <libexif/olympus/exif-mnote-data-olympus.h>
#include <libexif/canon/exif-mnote-data-canon.h>
#include <libexif/pentax/exif-mnote-data-pentax.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | _ExifDataPrivate |
struct | _ByteOrderChangeData |
Defines | |
#define | MAX(a, b) (((a) > (b)) ? (a) : (b)) |
#define | JPEG_MARKER_SOI 0xd8 |
#define | JPEG_MARKER_APP0 0xe0 |
#define | JPEG_MARKER_APP1 0xe1 |
#define | CHECK_REC(i) |
#define | LOG_TOO_SMALL |
Typedefs | |
typedef _ByteOrderChangeData | ByteOrderChangeData |
Enumerations | |
enum | ExifDataTypeMakerNote { EXIF_DATA_TYPE_MAKER_NOTE_NONE = 0, EXIF_DATA_TYPE_MAKER_NOTE_CANON = 1, EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS = 2, EXIF_DATA_TYPE_MAKER_NOTE_PENTAX = 3 } |
Functions | |
static void * | exif_data_alloc (ExifData *data, unsigned int i) |
ExifMnoteData * | exif_data_get_mnote_data (ExifData *d) |
ExifData * | exif_data_new (void) |
ExifData * | exif_data_new_mem (ExifMem *mem) |
ExifData * | exif_data_new_from_data (const unsigned char *data, unsigned int size) |
static int | exif_data_load_data_entry (ExifData *data, ExifEntry *entry, const unsigned char *d, unsigned int size, unsigned int offset) |
static void | exif_data_save_data_entry (ExifData *data, ExifEntry *e, unsigned char **d, unsigned int *ds, unsigned int offset) |
static void | exif_data_load_data_thumbnail (ExifData *data, const unsigned char *d, unsigned int ds, ExifLong offset, ExifLong size) |
static void | exif_data_load_data_content (ExifData *data, ExifIfd ifd, const unsigned char *d, unsigned int ds, unsigned int offset, unsigned int recursion_depth) |
static int | cmp_func (const unsigned char *p1, const unsigned char *p2, ExifByteOrder o) |
static int | cmp_func_intel (const void *elem1, const void *elem2) |
static int | cmp_func_motorola (const void *elem1, const void *elem2) |
static void | exif_data_save_data_content (ExifData *data, ExifContent *ifd, unsigned char **d, unsigned int *ds, unsigned int offset) |
static ExifDataTypeMakerNote | exif_data_get_type_maker_note (ExifData *d) |
void | exif_data_load_data (ExifData *data, const unsigned char *d_orig, unsigned int ds_orig) |
void | exif_data_save_data (ExifData *data, unsigned char **d, unsigned int *ds) |
ExifData * | exif_data_new_from_file (const char *path) |
load exif data from file | |
void | exif_data_ref (ExifData *data) |
void | exif_data_unref (ExifData *data) |
void | exif_data_free (ExifData *data) |
void | exif_data_dump (ExifData *data) |
ExifByteOrder | exif_data_get_byte_order (ExifData *data) |
void | exif_data_foreach_content (ExifData *data, ExifDataForeachContentFunc func, void *user_data) |
static void | entry_set_byte_order (ExifEntry *e, void *data) |
static void | content_set_byte_order (ExifContent *content, void *data) |
void | exif_data_set_byte_order (ExifData *data, ExifByteOrder order) |
void | exif_data_log (ExifData *data, ExifLog *log) |
ExifLog * | exif_data_get_log (ExifData *) |
const char * | exif_data_option_get_name (ExifDataOption o) |
const char * | exif_data_option_get_description (ExifDataOption o) |
void | exif_data_set_option (ExifData *d, ExifDataOption o) |
void | exif_data_unset_option (ExifData *d, ExifDataOption o) |
static void | fix_func (ExifContent *c, void *data) |
void | exif_data_fix (ExifData *d) |
void | exif_data_set_data_type (ExifData *d, ExifDataType dt) |
ExifDataType | exif_data_get_data_type (ExifData *d) |
Variables | |
static const unsigned char | ExifHeader [] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00} |
struct { | |
unsigned int subtag | |
ExifShort value | |
char * name | |
MnoteCanonTag tag | |
const char * name | |
const char * title | |
const char * description | |
ExifDataOption option | |
const char * name | |
const char * description | |
ExifTag tag | |
const char * strings [10] | |
ExifFormat format | |
const char * name | |
unsigned char size | |
ExifIfd ifd | |
const char * name | |
ExifLogCode code | |
const char * title | |
const char * message | |
const char * name | |
const char * title | |
const char * description | |
ExifSupportLevel esl [EXIF_IFD_COUNT][4] | |
ExifFormat fmt | |
struct { | |
int index | |
const char * string | |
const char * string | |
} elem [10] | |
MnoteOlympusTag tag | |
const char * name | |
const char * title | |
const char * description | |
struct { | |
int index | |
const char * string | |
const char * string | |
} elem [7] | |
MnotePentaxTag tag | |
const char * name | |
const char * title | |
const char * description | |
} | exif_data_option [] |
|
Value: if ((i) == ifd) { \ exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, \ "ExifData", "Recursive entry in IFD " \ "'%s' detected. Skipping...", \ exif_ifd_get_name (i)); \ break; \ } \ if (data->ifd[(i)]->count) { \ exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, \ "ExifData", "Attemt to load IFD " \ "'%s' multiple times detected. " \ "Skipping...", \ exif_ifd_get_name (i)); \ break; \ } Definition at line 297 of file exif-data.c. Referenced by exif_data_load_data_content(). |
|
Definition at line 50 of file exif-data.c. Referenced by exif_data_load_data(). |
|
Definition at line 52 of file exif-data.c. Referenced by exif_data_load_data(). |
|
Definition at line 48 of file exif-data.c. Referenced by exif_data_load_data(). |
|
Value: exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData", \ _("Size of data too small to allow for EXIF data.")); Definition at line 694 of file exif-data.c. Referenced by exif_data_load_data(). |
|
Definition at line 41 of file exif-data.c. |
|
Definition at line 1035 of file exif-data.c. |
|
Definition at line 648 of file exif-data.c. |
|
Definition at line 427 of file exif-data.c. References exif_get_short(). Referenced by cmp_func_intel(), and cmp_func_motorola(). |
|
Definition at line 436 of file exif-data.c. References cmp_func(), and EXIF_BYTE_ORDER_INTEL. |
|
Definition at line 443 of file exif-data.c. References cmp_func(), and EXIF_BYTE_ORDER_MOTOROLA. |
|
Definition at line 1052 of file exif-data.c. References entry_set_byte_order(), and exif_content_foreach_entry(). Referenced by exif_data_set_byte_order(). |
|
Definition at line 1041 of file exif-data.c. References _ExifEntry::components, _ExifEntry::data, exif_array_set_byte_order(), _ExifEntry::format, _ByteOrderChangeData::new, and _ByteOrderChangeData::old. Referenced by content_set_byte_order(). |
|
Definition at line 75 of file exif-data.c. References EXIF_LOG_NO_MEMORY, exif_mem_alloc(), _ExifDataPrivate::log, _ExifDataPrivate::mem, and _ExifData::priv. Referenced by exif_data_load_data_entry(), exif_data_load_data_thumbnail(), and exif_data_save_data(). |
|
Definition at line 987 of file exif-data.c. References _ExifContent::count, exif_content_dump(), EXIF_IFD_COUNT, exif_ifd_get_name(), and _ExifData::ifd. |
|
Definition at line 1172 of file exif-data.c. References exif_data_foreach_content(), and fix_func(). Referenced by exif_data_load_data(). |
|
Definition at line 1023 of file exif-data.c. References EXIF_IFD_COUNT, and _ExifData::ifd. Referenced by exif_data_fix(), and exif_data_set_byte_order(). |
|
Definition at line 950 of file exif-data.c. References exif_content_unref(), EXIF_IFD_COUNT, _ExifData::ifd, _ExifDataPrivate::mem, and _ExifData::priv. Referenced by exif_data_new_mem(), and exif_data_unref(). |
|
Definition at line 1014 of file exif-data.c. References _ExifDataPrivate::order, and _ExifData::priv. Referenced by exif_entry_fix(), exif_entry_get_value(), and exif_entry_initialize(). |
|
Definition at line 1187 of file exif-data.c. References _ExifDataPrivate::data_type, EXIF_DATA_TYPE_COUNT, and _ExifData::priv. Referenced by exif_content_fix(). |
|
Definition at line 1091 of file exif-data.c. References _ExifDataPrivate::log, and _ExifData::priv. Referenced by exif_entry_alloc(), exif_entry_log(), and exif_entry_realloc(). |
|
Definition at line 91 of file exif-data.c. References _ExifDataPrivate::md, and _ExifData::priv. |
|
Definition at line 656 of file exif-data.c. References _ExifEntry::data, exif_data_get_entry, EXIF_DATA_TYPE_MAKER_NOTE_CANON, EXIF_DATA_TYPE_MAKER_NOTE_NONE, EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS, EXIF_DATA_TYPE_MAKER_NOTE_PENTAX, exif_entry_get_value(), EXIF_TAG_MAKE, EXIF_TAG_MAKER_NOTE, _ExifEntry::size, and value. Referenced by exif_data_load_data(). |
|
|
|
|
Definition at line 278 of file exif-data.c. References _ExifData::data, exif_data_alloc(), exif_log(), EXIF_LOG_CODE_DEBUG, exif_mem_free(), _ExifDataPrivate::log, _ExifDataPrivate::mem, _ExifData::priv, and _ExifData::size. Referenced by exif_data_load_data_content(). |
|
Definition at line 1074 of file exif-data.c. References exif_content_log(), EXIF_IFD_COUNT, exif_log_ref(), exif_log_unref(), _ExifData::ifd, _ExifDataPrivate::log, and _ExifData::priv. Referenced by exif_loader_get_data(). |
|
Definition at line 97 of file exif-data.c. References exif_data_new_mem(), exif_mem_new_default(), and exif_mem_unref(). Referenced by exif_data_new_from_data(). |
|
Definition at line 149 of file exif-data.c. References exif_data_load_data(), and exif_data_new(). |
|
load exif data from file
Definition at line 916 of file exif-data.c. References exif_loader_get_data(), exif_loader_new(), exif_loader_unref(), and exif_loader_write_file(). |
|
Definition at line 108 of file exif-data.c. References exif_content_new_mem(), exif_data_free(), EXIF_IFD_COUNT, exif_mem_alloc(), exif_mem_free(), exif_mem_ref(), _ExifData::ifd, _ExifDataPrivate::mem, _ExifData::priv, and _ExifDataPrivate::ref_count. Referenced by exif_data_new(), and exif_loader_get_data(). |
|
Definition at line 1123 of file exif-data.c. References _, description, exif_data_option, and option. |
|
Definition at line 1112 of file exif-data.c. References _, exif_data_option, name, and option. |
|
Definition at line 930 of file exif-data.c. References _ExifData::priv, and _ExifDataPrivate::ref_count. |
|
Definition at line 876 of file exif-data.c. References EXIF_BYTE_ORDER_INTEL, exif_data_alloc(), exif_data_save_data_content(), EXIF_IFD_0, exif_log(), EXIF_LOG_CODE_DEBUG, exif_set_long(), exif_set_short(), ExifHeader, _ExifData::ifd, _ExifDataPrivate::log, _ExifDataPrivate::order, and _ExifData::priv. |
|
Definition at line 450 of file exif-data.c. References EXIF_IFD_0, EXIF_IFD_1, EXIF_IFD_COUNT, EXIF_IFD_EXIF, EXIF_IFD_GPS, EXIF_IFD_INTEROPERABILITY, _ExifData::ifd, ifd, _ExifData::priv, and _ExifData::size. Referenced by exif_data_save_data(). |
|
|
Definition at line 1058 of file exif-data.c. References content_set_byte_order(), exif_data_foreach_content(), exif_mnote_data_set_byte_order(), _ExifDataPrivate::md, _ByteOrderChangeData::new, _ByteOrderChangeData::old, _ExifDataPrivate::order, and _ExifData::priv. |
|
Definition at line 1178 of file exif-data.c. References _ExifDataPrivate::data_type, and _ExifData::priv. |
|
Definition at line 1134 of file exif-data.c. References _ExifDataPrivate::options, and _ExifData::priv. |
|
Definition at line 939 of file exif-data.c. References exif_data_free(), _ExifData::priv, and _ExifDataPrivate::ref_count. |
|
Definition at line 1143 of file exif-data.c. References _ExifDataPrivate::options, and _ExifData::priv. |
|
Definition at line 1152 of file exif-data.c. References exif_content_fix(), exif_content_get_ifd(), exif_content_remove_entry(), EXIF_IFD_1, exif_log(), and EXIF_LOG_CODE_DEBUG. |
|
Definition at line 1101 of file exif-data.c. |
|
Referenced by exif_data_option_get_description(), and exif_data_option_get_name(). |
|
Definition at line 54 of file exif-data.c. Referenced by exif_data_load_data(), exif_data_save_data(), and exif_loader_write(). |
|
Definition at line 1100 of file exif-data.c. |
|
Definition at line 1099 of file exif-data.c. Referenced by exif_data_option_get_description(), and exif_data_option_get_name(). |