00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __EXIF_ENTRY_H__
00022 #define __EXIF_ENTRY_H__
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 typedef struct _ExifEntry ExifEntry;
00029 typedef struct _ExifEntryPrivate ExifEntryPrivate;
00030
00031 #include <libexif/exif-content.h>
00032 #include <libexif/exif-format.h>
00033 #include <libexif/exif-mem.h>
00034
00035 struct _ExifEntry {
00036 ExifTag tag;
00037 ExifFormat format;
00038 unsigned long components;
00039
00040 unsigned char *data;
00041 unsigned int size;
00042
00043
00044 ExifContent *parent;
00045
00046 ExifEntryPrivate *priv;
00047 };
00048
00049
00050 ExifEntry *exif_entry_new (void);
00051 ExifEntry *exif_entry_new_mem (ExifMem *);
00052 void exif_entry_ref (ExifEntry *entry);
00053 void exif_entry_unref (ExifEntry *entry);
00054 void exif_entry_free (ExifEntry *entry);
00055
00056 void exif_entry_initialize (ExifEntry *entry, ExifTag tag);
00057 void exif_entry_fix (ExifEntry *entry);
00058
00059
00060 const char *exif_entry_get_value (ExifEntry *entry, char *val,
00061 unsigned int maxlen);
00062
00063 void exif_entry_dump (ExifEntry *entry, unsigned int indent);
00064
00065 #define exif_entry_get_ifd(e) ((e)?exif_content_get_ifd((e)->parent):EXIF_IFD_COUNT)
00066
00067 #ifdef __cplusplus
00068 }
00069 #endif
00070
00071 #endif