00001
00022 #ifndef __EXIF_ENTRY_H__
00023 #define __EXIF_ENTRY_H__
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029 typedef struct _ExifEntry ExifEntry;
00030 typedef struct _ExifEntryPrivate ExifEntryPrivate;
00031
00032 #include <libexif/exif-content.h>
00033 #include <libexif/exif-format.h>
00034 #include <libexif/exif-mem.h>
00035
00037 struct _ExifEntry {
00038 ExifTag tag;
00039 ExifFormat format;
00040 unsigned long components;
00041
00042 unsigned char *data;
00043 unsigned int size;
00044
00045
00046 ExifContent *parent;
00047
00048 ExifEntryPrivate *priv;
00049 };
00050
00051
00052
00054 ExifEntry *exif_entry_new (void);
00055
00056 ExifEntry *exif_entry_new_mem (ExifMem *);
00057
00059 void exif_entry_ref (ExifEntry *entry);
00060
00062 void exif_entry_unref (ExifEntry *entry);
00063
00069 void exif_entry_free (ExifEntry *entry);
00070
00071 void exif_entry_initialize (ExifEntry *entry, ExifTag tag);
00072 void exif_entry_fix (ExifEntry *entry);
00073
00074
00075
00082 const char *exif_entry_get_value (ExifEntry *entry, char *val,
00083 unsigned int maxlen);
00084
00086 void exif_entry_dump (ExifEntry *entry, unsigned int indent);
00087
00088 #define exif_entry_get_ifd(e) ((e)?exif_content_get_ifd((e)->parent):EXIF_IFD_COUNT)
00089
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093
00094 #endif