#include <libexif/exif-mnote-data.h>
#include <libexif/exif-mem.h>
-typedef enum{
- MAKER_CANON = 1,
- MAKER_OLYMPUS = 2,
- MAKER_PENTAX = 3,
- MAKER_NIKON = 4,
- MAKER_CASIO = 5,
- MAKER_FUJI = 6,
- MAKER_SAMSUNG = 7
-}Manufacturer;
-
/*! Represents the entire EXIF data found in an image */
struct _ExifData
{
/*! Load the #ExifData structure from the raw JPEG or EXIF data in the given
* memory buffer. If the EXIF data contains a recognized MakerNote, it is
* loaded and stored as well for later retrieval by #exif_data_get_mnote_data.
- * If the EXIF_DATA_OPTION_FOLLOW_SPECIFICATION has been set on this #ExifData,
- * then the tags are fixed after loading.
+ * If the #EXIF_DATA_OPTION_FOLLOW_SPECIFICATION option has been set on this
+ * #ExifData, then the tags are automatically fixed after loading (by calling
+ * #exif_data_fix).
*
* \param[in,out] data EXIF data
* \param[in] d pointer to raw JPEG or EXIF data
/*! Store raw EXIF data representing the #ExifData structure into a memory
* buffer. The buffer is allocated by this function and must subsequently be
- * freed by the caller.
+ * freed by the caller using the matching free function as used by the #ExifMem
+ * in use by this #ExifData.
*
* \param[in] data EXIF data
* \param[out] d pointer to buffer pointer containing raw EXIF data on return
*/
ExifMnoteData *exif_data_get_mnote_data (ExifData *d);
-ExifByteOrder exif_data_get_data_order (ExifData *d);
-
/*! Fix the EXIF data to bring it into specification. Call #exif_content_fix
* on each IFD to fix existing entries, create any new entries that are
* mandatory but do not yet exist, and remove any entries that are not
*/
void exif_data_log (ExifData *data, ExifLog *log);
-/*! Create new mnote data and set up related function pointers for particular manufacturer.
- *
- * \param[in,out] d EXIF data
- * \param[in] maker Manufacturer
- * \param[in] o option
- * \return 1 if normal, else 0 if abnormal
- */
-int exif_data_mnote_data_new(ExifData *d, Manufacturer maker, ExifDataOption o);
-
-/*! Allocate makernote entries memory for particular manufacturer.
- *
- * \param[in,out] d EXIF Makernote data
- * \param[in] maker Manufacturer
- * \return 1 if normal, else 0 if abnormal
- */
-int exif_data_mnote_set_mem_for_adding_entry(ExifMnoteData *md, Manufacturer maker);
-
-/*! Add a makernote entry for particular manufacturer.
- *
- * \param[in,out] d EXIF Makernote data
- * \param[in] maker Manufacturer
- * \param[in] tag Manufacturer specified makernote tag
- * \param[in] fmt Exifformat
- * \param[in] components The number of components
- * \param[in] id Index
- * \return 1 if normal, else 0 if abnormal
- */
-int exif_data_mnote_set_add_entry(ExifMnoteData *md, Manufacturer maker, int tag, ExifFormat fmt, int components, int id);
-
-/*! Add a makernote entry using subtag information for particular manufacturer.
- *
- * \param[in,out] d EXIF Makernote data
- * \param[in] maker Manufacturer
- * \param[in] tag Manufacturer specified makernote tag
- * \param[in] fmt Exifformat
- * \param[in] components The number of components
- * \param[in] subtag1 Manufacturer specified makernote subtag
- * \param[in] id1 Index for subtag1
- * \param[in] subtag2 Manufacturer specified makernote subtag
- * \param[in] id2 Indoex for subtag2
- * \param[in] val Integer value
- * \return 1 if normal, else 0 if abnormal
-*/
-int exif_data_mnote_set_add_entry_subtag(ExifMnoteData* md, Manufacturer maker, int tag, ExifFormat fmt, int components, int subtag1, int id1, int subtag2, int id2, int val);
-
-/*! Add a makernote entry using string information for particular manufacturer.
- *
- * \param[in,out] d EXIF Makernote data
- * \param[in] maker Manufacturer
- * \param[in] tag Manufacturer specified makernote tag
- * \param[in] fmt Exifformat
- * \param[in] components The number of components
- * \param[in] string String value to be written
- * \return 1 if normal, else 0 if abnormal
- */
-int exif_data_mnote_set_add_entry_string(ExifMnoteData* md, Manufacturer maker, int tag, ExifFormat fmt, int components, const char* string);
-
/*! Return an #ExifEntry for the given tag if found in any IFD.
* Each IFD is searched in turn and the first containing a tag with
* this number is returned.