EXIF library (libexif) API  0.6.21
exif-entry.h
Go to the documentation of this file.
1 
4 /*
5  * Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20  * Boston, MA 02110-1301 USA.
21  */
22 
23 #ifndef __EXIF_ENTRY_H__
24 #define __EXIF_ENTRY_H__
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
35 typedef struct _ExifEntry ExifEntry;
36 typedef struct _ExifEntryPrivate ExifEntryPrivate;
37 
38 #include <libexif/exif-content.h>
39 #include <libexif/exif-format.h>
40 #include <libexif/exif-mem.h>
41 
43 struct _ExifEntry {
46 
49 
52  unsigned long components;
53 
57  unsigned char *data;
58 
61  unsigned int size;
62 
66 
68  ExifEntryPrivate *priv;
69 };
70 
71 /* Lifecycle */
72 
80 ExifEntry *exif_entry_new (void);
81 
90 ExifEntry *exif_entry_new_mem (ExifMem *);
91 
98 void exif_entry_ref (ExifEntry *entry);
99 
105 void exif_entry_unref (ExifEntry *entry);
106 
114 void exif_entry_free (ExifEntry *entry);
115 
125 void exif_entry_initialize (ExifEntry *e, ExifTag tag);
126 
140 void exif_entry_fix (ExifEntry *entry);
141 
142 
143 /* For your convenience */
144 
163 const char *exif_entry_get_value (ExifEntry *entry, char *val,
164  unsigned int maxlen);
165 
172 void exif_entry_dump (ExifEntry *entry, unsigned int indent);
173 
179 #define exif_entry_get_ifd(e) ((e)?exif_content_get_ifd((e)->parent):EXIF_IFD_COUNT)
180 
181 #ifdef __cplusplus
182 }
183 #endif /* __cplusplus */
184 
185 #endif /* __EXIF_ENTRY_H__ */