exif-content.h   exif-content.h 
skipping to change at line 45 skipping to change at line 45
#include <libexif/exif-entry.h> #include <libexif/exif-entry.h>
#include <libexif/exif-data.h> #include <libexif/exif-data.h>
#include <libexif/exif-log.h> #include <libexif/exif-log.h>
#include <libexif/exif-mem.h> #include <libexif/exif-mem.h>
struct _ExifContent struct _ExifContent
{ {
ExifEntry **entries; ExifEntry **entries;
unsigned int count; unsigned int count;
/* Data containing this content */ /*! Data containing this content */
ExifData *parent; ExifData *parent;
ExifContentPrivate *priv; ExifContentPrivate *priv;
}; };
/* Lifecycle */ /* Lifecycle */
ExifContent *exif_content_new (void); ExifContent *exif_content_new (void);
ExifContent *exif_content_new_mem (ExifMem *); ExifContent *exif_content_new_mem (ExifMem *);
void exif_content_ref (ExifContent *content); void exif_content_ref (ExifContent *content);
void exif_content_unref (ExifContent *content); void exif_content_unref (ExifContent *content);
void exif_content_free (ExifContent *content); void exif_content_free (ExifContent *content);
/*! Add an EXIF tag to an IFD. /*! Add an EXIF tag to an IFD.
* If this tag already exists in the IFD, this function does nothing. * If this tag already exists in the IFD, this function does nothing.
* \pre The "tag" member of the entry must be set on entry.
* *
* \param[out] c IFD * \param[out] c IFD
* \param[in] entry EXIF entry to add * \param[in] entry EXIF entry to add
*/ */
void exif_content_add_entry (ExifContent *c, ExifEntry *entry); void exif_content_add_entry (ExifContent *c, ExifEntry *entry);
/*! Remove an EXIF tag from an IFD. /*! Remove an EXIF tag from an IFD.
* If this tag does not exist in the IFD, this function does nothing. * If this tag does not exist in the IFD, this function does nothing.
* *
* \param[out] c IFD * \param[out] c IFD
* \param[in] e EXIF entry to remove * \param[in] e EXIF entry to remove
*/ */
void exif_content_remove_entry (ExifContent *c, ExifEntry *e); void exif_content_remove_entry (ExifContent *c, ExifEntry *e);
/*! Return the #ExifEntry in this IFD corresponding to the given tag. /*! Return the #ExifEntry in this IFD corresponding to the given tag.
* This is a pointer into a member of the #ExifContent array and must NOT b e * This is a pointer into a member of the #ExifContent array and must NOT b e
* freed by the caller. * freed or unrefed by the caller.
* *
* \param[in] content EXIF content for an IFD * \param[in] content EXIF content for an IFD
* \param[in] tag EXIF tag to return * \param[in] tag EXIF tag to return
* \return #ExifEntry of the tag, or NULL on error * \return #ExifEntry of the tag, or NULL on error
*/ */
ExifEntry *exif_content_get_entry (ExifContent *content, ExifTag tag); ExifEntry *exif_content_get_entry (ExifContent *content, ExifTag tag);
/*! Fix the IFD to bring it into specification. Call #exif_entry_fix on /*! Fix the IFD to bring it into specification. Call #exif_entry_fix on
* each entry in this IFD to fix existing entries, create any new entries * each entry in this IFD to fix existing entries, create any new entries
* that are mandatory in this IFD but do not yet exist, and remove any * that are mandatory in this IFD but do not yet exist, and remove any
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 exif-data.h   exif-data.h 
skipping to change at line 110 skipping to change at line 110
* *
* \param[in,out] data EXIF data * \param[in,out] data EXIF data
* \param[in] d pointer to raw JPEG or EXIF data * \param[in] d pointer to raw JPEG or EXIF data
* \param[in] size number of bytes of data at d * \param[in] size number of bytes of data at d
*/ */
void exif_data_load_data (ExifData *data, const unsigned char *d, void exif_data_load_data (ExifData *data, const unsigned char *d,
unsigned int size); unsigned int size);
/*! Store raw EXIF data representing the #ExifData structure into a memory /*! Store raw EXIF data representing the #ExifData structure into a memory
* buffer. The buffer is allocated by this function and must subsequently b e * buffer. The buffer is allocated by this function and must subsequently b e
* freed by the caller. * freed by the caller using the matching free function as used by the #Exi
fMem
* in use by this #ExifData.
* *
* \param[in] data EXIF data * \param[in] data EXIF data
* \param[out] d pointer to buffer pointer containing raw EXIF data on retu rn * \param[out] d pointer to buffer pointer containing raw EXIF data on retu rn
* \param[out] ds pointer to variable to hold the number of bytes of * \param[out] ds pointer to variable to hold the number of bytes of
* data at d, or set to 0 on error * data at d, or set to 0 on error
*/ */
void exif_data_save_data (ExifData *data, unsigned char **d, void exif_data_save_data (ExifData *data, unsigned char **d,
unsigned int *ds); unsigned int *ds);
void exif_data_ref (ExifData *data); void exif_data_ref (ExifData *data);
 End of changes. 1 change blocks. 
1 lines changed or deleted 3 lines changed or added


 exif-tag.h   exif-tag.h 
skipping to change at line 150 skipping to change at line 150
EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM = 0xa405, EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM = 0xa405,
EXIF_TAG_SCENE_CAPTURE_TYPE = 0xa406, EXIF_TAG_SCENE_CAPTURE_TYPE = 0xa406,
EXIF_TAG_GAIN_CONTROL = 0xa407, EXIF_TAG_GAIN_CONTROL = 0xa407,
EXIF_TAG_CONTRAST = 0xa408, EXIF_TAG_CONTRAST = 0xa408,
EXIF_TAG_SATURATION = 0xa409, EXIF_TAG_SATURATION = 0xa409,
EXIF_TAG_SHARPNESS = 0xa40a, EXIF_TAG_SHARPNESS = 0xa40a,
EXIF_TAG_DEVICE_SETTING_DESCRIPTION = 0xa40b, EXIF_TAG_DEVICE_SETTING_DESCRIPTION = 0xa40b,
EXIF_TAG_SUBJECT_DISTANCE_RANGE = 0xa40c, EXIF_TAG_SUBJECT_DISTANCE_RANGE = 0xa40c,
EXIF_TAG_IMAGE_UNIQUE_ID = 0xa420, EXIF_TAG_IMAGE_UNIQUE_ID = 0xa420,
EXIF_TAG_GAMMA = 0xa500, EXIF_TAG_GAMMA = 0xa500,
EXIF_TAG_PRINT_IMAGE_MATCHING = 0xc4a5 EXIF_TAG_PRINT_IMAGE_MATCHING = 0xc4a5,
EXIF_TAG_PADDING = 0xea1c
} ExifTag; } ExifTag;
/* GPS tags overlap with above ones. */ /* GPS tags overlap with above ones. */
#define EXIF_TAG_GPS_VERSION_ID 0x0000 #define EXIF_TAG_GPS_VERSION_ID 0x0000
#define EXIF_TAG_GPS_LATITUDE_REF 0x0001 /* INTEROPERABILITY_INDEX * / #define EXIF_TAG_GPS_LATITUDE_REF 0x0001 /* INTEROPERABILITY_INDEX * /
#define EXIF_TAG_GPS_LATITUDE 0x0002 /* INTEROPERABILITY_VERSION * / #define EXIF_TAG_GPS_LATITUDE 0x0002 /* INTEROPERABILITY_VERSION * /
#define EXIF_TAG_GPS_LONGITUDE_REF 0x0003 #define EXIF_TAG_GPS_LONGITUDE_REF 0x0003
#define EXIF_TAG_GPS_LONGITUDE 0x0004 #define EXIF_TAG_GPS_LONGITUDE 0x0004
#define EXIF_TAG_GPS_ALTITUDE_REF 0x0005 #define EXIF_TAG_GPS_ALTITUDE_REF 0x0005
#define EXIF_TAG_GPS_ALTITUDE 0x0006 #define EXIF_TAG_GPS_ALTITUDE 0x0006
skipping to change at line 204 skipping to change at line 205
/*! This tag is mandatory in the given IFD */ /*! This tag is mandatory in the given IFD */
EXIF_SUPPORT_LEVEL_MANDATORY, EXIF_SUPPORT_LEVEL_MANDATORY,
/*! This tag is optional in the given IFD */ /*! This tag is optional in the given IFD */
EXIF_SUPPORT_LEVEL_OPTIONAL EXIF_SUPPORT_LEVEL_OPTIONAL
} ExifSupportLevel; } ExifSupportLevel;
/*! Return the tag ID given its unique textual name. /*! Return the tag ID given its unique textual name.
* *
* \param[in] name tag name * \param[in] name tag name
* \return tag ID * \return tag ID, or 0 if tag not found
* \note The tag not found value cannot be distinguished from a legitimate
* tag number 0.
*/ */
ExifTag exif_tag_from_name (const char *name); ExifTag exif_tag_from_name (const char *name);
/*! Return a textual name of the given tag when found in the given IFD. The /*! Return a textual name of the given tag when found in the given IFD. The
* name is a short, unique, non-localized text string containing only * name is a short, unique, non-localized text string containing only
* US-ASCII alphanumeric characters. * US-ASCII alphanumeric characters.
* *
* \param[in] tag EXIF tag * \param[in] tag EXIF tag
* \param[in] ifd IFD * \param[in] ifd IFD
* \return textual name of the tag, or NULL if the tag is unknown * \return textual name of the tag, or NULL if the tag is unknown
 End of changes. 2 change blocks. 
2 lines changed or deleted 5 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/