#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.
| #define CHECK_REC | ( | i | ) |
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 301 of file exif-data.c.
Referenced by exif_data_load_data_content().
| #define JPEG_MARKER_APP0 0xe0 |
| #define JPEG_MARKER_APP1 0xe1 |
| #define JPEG_MARKER_SOI 0xd8 |
| #define LOG_TOO_SMALL |
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 698 of file exif-data.c.
Referenced by exif_data_load_data().
| typedef struct _ByteOrderChangeData ByteOrderChangeData |
Definition at line 1039 of file exif-data.c.
| EXIF_DATA_TYPE_MAKER_NOTE_NONE | |
| EXIF_DATA_TYPE_MAKER_NOTE_CANON | |
| EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS | |
| EXIF_DATA_TYPE_MAKER_NOTE_PENTAX |
Definition at line 652 of file exif-data.c.
| static int cmp_func | ( | const unsigned char * | p1, | |
| const unsigned char * | p2, | |||
| ExifByteOrder | o | |||
| ) | [static] |
Definition at line 431 of file exif-data.c.
References exif_get_short().
Referenced by cmp_func_intel(), and cmp_func_motorola().
| static int cmp_func_intel | ( | const void * | elem1, | |
| const void * | elem2 | |||
| ) | [static] |
| static int cmp_func_motorola | ( | const void * | elem1, | |
| const void * | elem2 | |||
| ) | [static] |
| static void content_set_byte_order | ( | ExifContent * | content, | |
| void * | data | |||
| ) | [static] |
Definition at line 1056 of file exif-data.c.
References entry_set_byte_order(), and exif_content_foreach_entry().
Referenced by exif_data_set_byte_order().
| static void entry_set_byte_order | ( | ExifEntry * | e, | |
| void * | data | |||
| ) | [static] |
Definition at line 1045 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().
| static void* exif_data_alloc | ( | ExifData * | data, | |
| unsigned int | i | |||
| ) | [static] |
Definition at line 72 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().
| void exif_data_dump | ( | ExifData * | data | ) |
Definition at line 991 of file exif-data.c.
References _ExifContent::count, exif_content_dump(), EXIF_IFD_COUNT, exif_ifd_get_name(), and _ExifData::ifd.
| void exif_data_fix | ( | ExifData * | d | ) |
Definition at line 1176 of file exif-data.c.
References exif_data_foreach_content(), and fix_func().
Referenced by exif_data_load_data().
| void exif_data_foreach_content | ( | ExifData * | data, | |
| ExifDataForeachContentFunc | func, | |||
| void * | user_data | |||
| ) |
Definition at line 1027 of file exif-data.c.
References EXIF_IFD_COUNT, and _ExifData::ifd.
Referenced by exif_data_fix(), and exif_data_set_byte_order().
| void exif_data_free | ( | ExifData * | data | ) |
Definition at line 954 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().
| ExifByteOrder exif_data_get_byte_order | ( | ExifData * | data | ) |
Definition at line 1018 of file exif-data.c.
References _ExifDataPrivate::order, and _ExifData::priv.
Referenced by exif_entry_fix(), exif_entry_get_value(), and exif_entry_initialize().
| ExifDataType exif_data_get_data_type | ( | ExifData * | d | ) |
Definition at line 1191 of file exif-data.c.
References _ExifDataPrivate::data_type, EXIF_DATA_TYPE_COUNT, and _ExifData::priv.
Referenced by exif_content_fix().
Definition at line 1095 of file exif-data.c.
References _ExifDataPrivate::log, and _ExifData::priv.
Referenced by exif_entry_alloc(), exif_entry_log(), and exif_entry_realloc().
| ExifMnoteData* exif_data_get_mnote_data | ( | ExifData * | d | ) |
| static ExifDataTypeMakerNote exif_data_get_type_maker_note | ( | ExifData * | d | ) | [static] |
Definition at line 660 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, and _ExifEntry::size.
Referenced by exif_data_load_data().
| void exif_data_load_data | ( | ExifData * | data, | |
| const unsigned char * | d_orig, | |||
| unsigned int | ds_orig | |||
| ) |
Definition at line 703 of file exif-data.c.
References _, EXIF_BYTE_ORDER_INTEL, EXIF_BYTE_ORDER_MOTOROLA, exif_data_fix(), exif_data_get_type_maker_note(), exif_data_load_data_content(), EXIF_DATA_OPTION_FOLLOW_SPECIFICATION, EXIF_DATA_TYPE_MAKER_NOTE_CANON, EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS, EXIF_DATA_TYPE_MAKER_NOTE_PENTAX, exif_get_long(), exif_get_short(), EXIF_IFD_0, EXIF_IFD_1, exif_log(), EXIF_LOG_CODE_CORRUPT_DATA, EXIF_LOG_CODE_DEBUG, exif_mnote_data_canon_new(), exif_mnote_data_load(), exif_mnote_data_log(), exif_mnote_data_olympus_new(), exif_mnote_data_pentax_new(), exif_mnote_data_set_byte_order(), exif_mnote_data_set_offset(), ExifHeader, JPEG_MARKER_APP0, JPEG_MARKER_APP1, JPEG_MARKER_SOI, _ExifDataPrivate::log, LOG_TOO_SMALL, _ExifDataPrivate::order, and _ExifData::priv.
Referenced by exif_data_new_from_data(), and exif_loader_get_data().
| 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] |
Definition at line 319 of file exif-data.c.
References CHECK_REC, exif_content_add_entry(), exif_data_load_data_entry(), exif_data_load_data_thumbnail(), EXIF_DATA_OPTION_IGNORE_UNKNOWN_TAGS, exif_entry_new_mem(), exif_entry_unref(), exif_get_long(), exif_get_short(), EXIF_IFD_COUNT, EXIF_IFD_EXIF, exif_ifd_get_name(), EXIF_IFD_GPS, EXIF_IFD_INTEROPERABILITY, exif_log(), EXIF_LOG_CODE_CORRUPT_DATA, EXIF_LOG_CODE_DEBUG, EXIF_TAG_EXIF_IFD_POINTER, exif_tag_get_name_in_ifd(), EXIF_TAG_GPS_INFO_IFD_POINTER, EXIF_TAG_INTEROPERABILITY_IFD_POINTER, EXIF_TAG_JPEG_INTERCHANGE_FORMAT, EXIF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH, _ExifDataPrivate::log, _ExifDataPrivate::mem, _ExifDataPrivate::options, _ExifDataPrivate::order, _ExifData::priv, and tag.
Referenced by exif_data_load_data().
| static int exif_data_load_data_entry | ( | ExifData * | data, | |
| ExifEntry * | entry, | |||
| const unsigned char * | d, | |||
| unsigned int | size, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 156 of file exif-data.c.
References _ExifEntry::components, _ExifEntry::data, exif_data_alloc(), exif_format_get_size(), exif_get_long(), exif_get_short(), exif_log(), EXIF_LOG_CODE_DEBUG, exif_tag_get_name(), EXIF_TAG_MAKER_NOTE, _ExifEntry::format, _ExifDataPrivate::log, _ExifDataPrivate::offset_mnote, _ExifDataPrivate::order, _ExifData::priv, _ExifEntry::size, and _ExifEntry::tag.
Referenced by exif_data_load_data_content().
| static void exif_data_load_data_thumbnail | ( | ExifData * | data, | |
| const unsigned char * | d, | |||
| unsigned int | ds, | |||
| ExifLong | offset, | |||
| ExifLong | size | |||
| ) | [static] |
Definition at line 282 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 1078 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().
| ExifData* exif_data_new | ( | void | ) |
Definition at line 94 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().
| ExifData* exif_data_new_from_data | ( | const unsigned char * | data, | |
| unsigned int | size | |||
| ) |
| ExifData* exif_data_new_from_file | ( | const char * | path | ) |
load exif data from file
| [in] | path | filename including path |
Definition at line 920 of file exif-data.c.
References exif_loader_get_data(), exif_loader_new(), exif_loader_unref(), and exif_loader_write_file().
Definition at line 105 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, _ExifContent::parent, _ExifData::priv, and _ExifDataPrivate::ref_count.
Referenced by exif_data_new(), and exif_loader_get_data().
| const char* exif_data_option_get_description | ( | ExifDataOption | o | ) |
Definition at line 1127 of file exif-data.c.
References _, description, exif_data_option, and option.
| const char* exif_data_option_get_name | ( | ExifDataOption | o | ) |
| void exif_data_ref | ( | ExifData * | data | ) |
Definition at line 934 of file exif-data.c.
References _ExifData::priv, and _ExifDataPrivate::ref_count.
| void exif_data_save_data | ( | ExifData * | data, | |
| unsigned char ** | d, | |||
| unsigned int * | ds | |||
| ) |
Definition at line 880 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.
| static void exif_data_save_data_content | ( | ExifData * | data, | |
| ExifContent * | ifd, | |||
| unsigned char ** | d, | |||
| unsigned int * | ds, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 454 of file exif-data.c.
References _ExifContent::count, exif_data_save_data_entry(), EXIF_FORMAT_LONG, EXIF_IFD_0, EXIF_IFD_1, EXIF_IFD_COUNT, EXIF_IFD_EXIF, exif_ifd_get_name(), EXIF_IFD_GPS, EXIF_IFD_INTEROPERABILITY, exif_log(), EXIF_LOG_CODE_DEBUG, EXIF_LOG_NO_MEMORY, exif_mem_realloc(), exif_set_long(), exif_set_short(), EXIF_TAG_EXIF_IFD_POINTER, EXIF_TAG_GPS_INFO_IFD_POINTER, _ExifData::ifd, ifd, _ExifDataPrivate::log, _ExifDataPrivate::mem, _ExifDataPrivate::order, _ExifData::priv, and _ExifData::size.
Referenced by exif_data_save_data().
| static void exif_data_save_data_entry | ( | ExifData * | data, | |
| ExifEntry * | e, | |||
| unsigned char ** | d, | |||
| unsigned int * | ds, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 214 of file exif-data.c.
References _ExifEntry::components, _ExifEntry::data, exif_format_get_size(), EXIF_LOG_NO_MEMORY, exif_mem_free(), exif_mem_realloc(), exif_mnote_data_save(), exif_mnote_data_set_offset(), exif_set_long(), exif_set_short(), EXIF_TAG_MAKER_NOTE, _ExifEntry::format, _ExifDataPrivate::log, _ExifDataPrivate::md, _ExifDataPrivate::mem, _ExifDataPrivate::order, _ExifData::priv, _ExifEntry::size, and _ExifEntry::tag.
Referenced by exif_data_save_data_content().
| void exif_data_set_byte_order | ( | ExifData * | data, | |
| ExifByteOrder | order | |||
| ) |
Definition at line 1062 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.
| void exif_data_set_data_type | ( | ExifData * | d, | |
| ExifDataType | dt | |||
| ) |
Definition at line 1182 of file exif-data.c.
References _ExifDataPrivate::data_type, and _ExifData::priv.
| void exif_data_set_option | ( | ExifData * | d, | |
| ExifDataOption | o | |||
| ) |
Definition at line 1138 of file exif-data.c.
References _ExifDataPrivate::options, and _ExifData::priv.
| void exif_data_unref | ( | ExifData * | data | ) |
Definition at line 943 of file exif-data.c.
References exif_data_free(), _ExifData::priv, and _ExifDataPrivate::ref_count.
| void exif_data_unset_option | ( | ExifData * | d, | |
| ExifDataOption | o | |||
| ) |
Definition at line 1147 of file exif-data.c.
References _ExifDataPrivate::options, and _ExifData::priv.
| static void fix_func | ( | ExifContent * | c, | |
| void * | data | |||
| ) | [static] |
Definition at line 1156 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.
| const char* description |
Definition at line 1105 of file exif-data.c.
struct { ... } exif_data_option[] [static] |
Referenced by exif_data_option_get_description(), and exif_data_option_get_name().
const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00} [static] |
Definition at line 51 of file exif-data.c.
Referenced by exif_data_load_data(), exif_data_save_data(), and exif_loader_write().
| const char* name |
Definition at line 1104 of file exif-data.c.
Definition at line 1103 of file exif-data.c.
Referenced by exif_data_option_get_description(), and exif_data_option_get_name().
1.5.0