EXIF library (libexif) Internals  0.6.24
exif-tag.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 LIBEXIF_EXIF_TAG_H
24 #define LIBEXIF_EXIF_TAG_H
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
30 #include <libexif/exif-ifd.h>
31 #include <libexif/exif-data-type.h>
32 
34 typedef enum {
46  EXIF_TAG_MAKE = 0x010f,
47  EXIF_TAG_MODEL = 0x0110,
60  EXIF_TAG_ARTIST = 0x013b,
82  EXIF_TAG_FNUMBER = 0x829d,
91  EXIF_TAG_OECF = 0x8828,
115  EXIF_TAG_FLASH = 0x9209,
168  EXIF_TAG_GAMMA = 0xa500,
170  EXIF_TAG_PADDING = 0xea1c
172 
173 /* GPS tags overlap with above ones. */
174 #define EXIF_TAG_GPS_VERSION_ID 0x0000
175 #define EXIF_TAG_GPS_LATITUDE_REF 0x0001 /* INTEROPERABILITY_INDEX */
176 #define EXIF_TAG_GPS_LATITUDE 0x0002 /* INTEROPERABILITY_VERSION */
177 #define EXIF_TAG_GPS_LONGITUDE_REF 0x0003
178 #define EXIF_TAG_GPS_LONGITUDE 0x0004
179 #define EXIF_TAG_GPS_ALTITUDE_REF 0x0005
180 #define EXIF_TAG_GPS_ALTITUDE 0x0006
181 #define EXIF_TAG_GPS_TIME_STAMP 0x0007
182 #define EXIF_TAG_GPS_SATELLITES 0x0008
183 #define EXIF_TAG_GPS_STATUS 0x0009
184 #define EXIF_TAG_GPS_MEASURE_MODE 0x000a
185 #define EXIF_TAG_GPS_DOP 0x000b
186 #define EXIF_TAG_GPS_SPEED_REF 0x000c
187 #define EXIF_TAG_GPS_SPEED 0x000d
188 #define EXIF_TAG_GPS_TRACK_REF 0x000e
189 #define EXIF_TAG_GPS_TRACK 0x000f
190 #define EXIF_TAG_GPS_IMG_DIRECTION_REF 0x0010
191 #define EXIF_TAG_GPS_IMG_DIRECTION 0x0011
192 #define EXIF_TAG_GPS_MAP_DATUM 0x0012
193 #define EXIF_TAG_GPS_DEST_LATITUDE_REF 0x0013
194 #define EXIF_TAG_GPS_DEST_LATITUDE 0x0014
195 #define EXIF_TAG_GPS_DEST_LONGITUDE_REF 0x0015
196 #define EXIF_TAG_GPS_DEST_LONGITUDE 0x0016
197 #define EXIF_TAG_GPS_DEST_BEARING_REF 0x0017
198 #define EXIF_TAG_GPS_DEST_BEARING 0x0018
199 #define EXIF_TAG_GPS_DEST_DISTANCE_REF 0x0019
200 #define EXIF_TAG_GPS_DEST_DISTANCE 0x001a
201 #define EXIF_TAG_GPS_PROCESSING_METHOD 0x001b
202 #define EXIF_TAG_GPS_AREA_INFORMATION 0x001c
203 #define EXIF_TAG_GPS_DATE_STAMP 0x001d
204 #define EXIF_TAG_GPS_DIFFERENTIAL 0x001e
205 #define EXIF_TAG_GPS_H_POSITIONING_ERROR 0x001f
206 
208 typedef enum {
211 
214 
217 
221 
229 ExifTag exif_tag_from_name (const char *name);
230 
240 
249 
258 
272  ExifDataType t);
273 
274 /* Don't use these functions. They are here for compatibility only. */
275 
277 const char *exif_tag_get_name (ExifTag tag);
278 
280 const char *exif_tag_get_title (ExifTag tag);
281 
283 const char *exif_tag_get_description (ExifTag tag);
284 
285 
286 /* For now, do not use these functions. */
287 
289 ExifTag exif_tag_table_get_tag (unsigned int n);
290 
292 const char *exif_tag_table_get_name (unsigned int n);
293 
295 unsigned int exif_tag_table_count (void);
296 
297 
298 /* Don't use these definitions. They are here for compatibility only. */
299 
301 #define EXIF_TAG_UNKNOWN_C4A5 EXIF_TAG_PRINT_IMAGE_MATCHING
302 
303 #ifdef __cplusplus
304 }
305 #endif /* __cplusplus */
306 
307 #endif /* !defined(LIBEXIF_EXIF_TAG_H) */
ExifDataType
Represents the type of image data to which the EXIF data applies.
ExifIfd ifd
Definition: exif-ifd.c:28
ExifIfd
Possible EXIF Image File Directories.
Definition: exif-ifd.h:29
const char * exif_tag_get_name(ExifTag tag)
Definition: exif-tag.c:1147
ExifTag
EXIF tags.
Definition: exif-tag.h:34
@ EXIF_TAG_ROWS_PER_STRIP
Definition: exif-tag.h:51
@ EXIF_TAG_XP_SUBJECT
Definition: exif-tag.h:128
@ EXIF_TAG_DATE_TIME_ORIGINAL
Definition: exif-tag.h:100
@ EXIF_TAG_FNUMBER
Definition: exif-tag.h:82
@ EXIF_TAG_BODY_SERIAL_NUMBER
Definition: exif-tag.h:160
@ EXIF_TAG_LENS_SERIAL_NUMBER
Definition: exif-tag.h:164
@ EXIF_TAG_COLOR_SPACE
Definition: exif-tag.h:130
@ EXIF_TAG_LENS_SPECIFICATION
Definition: exif-tag.h:161
@ EXIF_TAG_SUBJECT_LOCATION
Definition: exif-tag.h:140
@ EXIF_TAG_ISO_SPEED_RATINGS
Definition: exif-tag.h:90
@ EXIF_TAG_PADDING
Definition: exif-tag.h:170
@ EXIF_TAG_SUB_SEC_TIME
Definition: exif-tag.h:121
@ EXIF_TAG_ORIENTATION
Definition: exif-tag.h:49
@ EXIF_TAG_GAIN_CONTROL
Definition: exif-tag.h:152
@ EXIF_TAG_ISO_SPEEDLatitudeYYY
Definition: exif-tag.h:97
@ EXIF_TAG_EXIF_IFD_POINTER
Definition: exif-tag.h:85
@ EXIF_TAG_INTEROPERABILITY_VERSION
Definition: exif-tag.h:36
@ EXIF_TAG_EXIF_VERSION
Definition: exif-tag.h:99
@ EXIF_TAG_DEVICE_SETTING_DESCRIPTION
Definition: exif-tag.h:156
@ EXIF_TAG_XP_TITLE
Definition: exif-tag.h:124
@ EXIF_TAG_EXPOSURE_MODE
Definition: exif-tag.h:147
@ EXIF_TAG_SUB_IFDS
Definition: exif-tag.h:63
@ EXIF_TAG_OECF
Definition: exif-tag.h:91
@ EXIF_TAG_XP_KEYWORDS
Definition: exif-tag.h:127
@ EXIF_TAG_FLASH_ENERGY
Definition: exif-tag.h:135
@ EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE
Definition: exif-tag.h:136
@ EXIF_TAG_OFFSET_TIME_DIGITIZED
Definition: exif-tag.h:104
@ EXIF_TAG_EXPOSURE_TIME
Definition: exif-tag.h:81
@ EXIF_TAG_DATE_TIME
Definition: exif-tag.h:59
@ EXIF_TAG_RELATED_IMAGE_FILE_FORMAT
Definition: exif-tag.h:73
@ EXIF_TAG_MAX_APERTURE_VALUE
Definition: exif-tag.h:111
@ EXIF_TAG_FLASH
Definition: exif-tag.h:115
@ EXIF_TAG_STRIP_OFFSETS
Definition: exif-tag.h:48
@ EXIF_TAG_PLANAR_CONFIGURATION
Definition: exif-tag.h:55
@ EXIF_TAG_RESOLUTION_UNIT
Definition: exif-tag.h:56
@ EXIF_TAG_COMPRESSION
Definition: exif-tag.h:41
@ EXIF_TAG_MODEL
Definition: exif-tag.h:47
@ EXIF_TAG_NEW_SUBFILE_TYPE
Definition: exif-tag.h:37
@ EXIF_TAG_BITS_PER_SAMPLE
Definition: exif-tag.h:40
@ EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY
Definition: exif-tag.h:94
@ EXIF_TAG_SUBJECT_DISTANCE
Definition: exif-tag.h:112
@ EXIF_TAG_IMAGE_WIDTH
Definition: exif-tag.h:38
@ EXIF_TAG_USER_COMMENT
Definition: exif-tag.h:120
@ EXIF_TAG_GPS_INFO_IFD_POINTER
Definition: exif-tag.h:89
@ EXIF_TAG_LENS_MODEL
Definition: exif-tag.h:163
@ EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT
Definition: exif-tag.h:139
@ EXIF_TAG_APERTURE_VALUE
Definition: exif-tag.h:108
@ EXIF_TAG_IMAGE_DESCRIPTION
Definition: exif-tag.h:45
@ EXIF_TAG_STRIP_BYTE_COUNTS
Definition: exif-tag.h:52
@ EXIF_TAG_SOFTWARE
Definition: exif-tag.h:58
@ EXIF_TAG_INTEROPERABILITY_IFD_POINTER
Definition: exif-tag.h:134
@ EXIF_TAG_FLASH_PIX_VERSION
Definition: exif-tag.h:129
@ EXIF_TAG_DIGITAL_ZOOM_RATIO
Definition: exif-tag.h:149
@ EXIF_TAG_Y_RESOLUTION
Definition: exif-tag.h:54
@ EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE
Definition: exif-tag.h:166
@ EXIF_TAG_JPEG_INTERCHANGE_FORMAT
Definition: exif-tag.h:66
@ EXIF_TAG_FILE_SOURCE
Definition: exif-tag.h:143
@ EXIF_TAG_SCENE_TYPE
Definition: exif-tag.h:144
@ EXIF_TAG_ARTIST
Definition: exif-tag.h:60
@ EXIF_TAG_COMPOSITE_IMAGE
Definition: exif-tag.h:165
@ EXIF_TAG_COPYRIGHT
Definition: exif-tag.h:80
@ EXIF_TAG_COMPONENTS_CONFIGURATION
Definition: exif-tag.h:105
@ EXIF_TAG_SPECTRAL_SENSITIVITY
Definition: exif-tag.h:88
@ EXIF_TAG_YCBCR_COEFFICIENTS
Definition: exif-tag.h:68
@ EXIF_TAG_OFFSET_TIME_ORIGINAL
Definition: exif-tag.h:103
@ EXIF_TAG_ISO_SPEED
Definition: exif-tag.h:96
@ EXIF_TAG_ISO_SPEEDLatitudeZZZ
Definition: exif-tag.h:98
@ EXIF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH
Definition: exif-tag.h:67
@ EXIF_TAG_SHUTTER_SPEED_VALUE
Definition: exif-tag.h:107
@ EXIF_TAG_PIXEL_Y_DIMENSION
Definition: exif-tag.h:132
@ EXIF_TAG_TIME_ZONE_OFFSET
Definition: exif-tag.h:92
@ EXIF_TAG_PIXEL_X_DIMENSION
Definition: exif-tag.h:131
@ EXIF_TAG_RELATED_IMAGE_LENGTH
Definition: exif-tag.h:75
@ EXIF_TAG_TIFF_EP_STANDARD_ID
Definition: exif-tag.h:118
@ EXIF_TAG_TRANSFER_FUNCTION
Definition: exif-tag.h:57
@ EXIF_TAG_MAKE
Definition: exif-tag.h:46
@ EXIF_TAG_CAMERA_OWNER_NAME
Definition: exif-tag.h:159
@ EXIF_TAG_YCBCR_POSITIONING
Definition: exif-tag.h:70
@ EXIF_TAG_NEW_CFA_PATTERN
Definition: exif-tag.h:145
@ EXIF_TAG_EXPOSURE_PROGRAM
Definition: exif-tag.h:87
@ EXIF_TAG_PHOTOMETRIC_INTERPRETATION
Definition: exif-tag.h:42
@ EXIF_TAG_EXPOSURE_INDEX
Definition: exif-tag.h:141
@ EXIF_TAG_RELATED_SOUND_FILE
Definition: exif-tag.h:133
@ EXIF_TAG_LIGHT_SOURCE
Definition: exif-tag.h:114
@ EXIF_TAG_YCBCR_SUB_SAMPLING
Definition: exif-tag.h:69
@ EXIF_TAG_CFA_PATTERN
Definition: exif-tag.h:78
@ EXIF_TAG_JPEG_PROC
Definition: exif-tag.h:65
@ EXIF_TAG_CONTRAST
Definition: exif-tag.h:153
@ EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE
Definition: exif-tag.h:167
@ EXIF_TAG_RELATED_IMAGE_WIDTH
Definition: exif-tag.h:74
@ EXIF_TAG_CFA_REPEAT_PATTERN_DIM
Definition: exif-tag.h:77
@ EXIF_TAG_SCENE_CAPTURE_TYPE
Definition: exif-tag.h:151
@ EXIF_TAG_SAMPLES_PER_PIXEL
Definition: exif-tag.h:50
@ EXIF_TAG_EXPOSURE_BIAS_VALUE
Definition: exif-tag.h:110
@ EXIF_TAG_WHITE_BALANCE
Definition: exif-tag.h:148
@ EXIF_TAG_SENSITIVITY_TYPE
Definition: exif-tag.h:93
@ EXIF_TAG_SATURATION
Definition: exif-tag.h:154
@ EXIF_TAG_IMAGE_DEPTH
Definition: exif-tag.h:76
@ EXIF_TAG_SUBJECT_DISTANCE_RANGE
Definition: exif-tag.h:157
@ EXIF_TAG_CUSTOM_RENDERED
Definition: exif-tag.h:146
@ EXIF_TAG_REFERENCE_BLACK_WHITE
Definition: exif-tag.h:71
@ EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX
Definition: exif-tag.h:95
@ EXIF_TAG_DATE_TIME_DIGITIZED
Definition: exif-tag.h:101
@ EXIF_TAG_BATTERY_LEVEL
Definition: exif-tag.h:79
@ EXIF_TAG_PRINT_IMAGE_MATCHING
Definition: exif-tag.h:169
@ EXIF_TAG_IMAGE_UNIQUE_ID
Definition: exif-tag.h:158
@ EXIF_TAG_MAKER_NOTE
Definition: exif-tag.h:119
@ EXIF_TAG_XML_PACKET
Definition: exif-tag.h:72
@ EXIF_TAG_FOCAL_LENGTH
Definition: exif-tag.h:116
@ EXIF_TAG_BRIGHTNESS_VALUE
Definition: exif-tag.h:109
@ EXIF_TAG_DOCUMENT_NAME
Definition: exif-tag.h:44
@ EXIF_TAG_LENS_MAKE
Definition: exif-tag.h:162
@ EXIF_TAG_IPTC_NAA
Definition: exif-tag.h:83
@ EXIF_TAG_SENSING_METHOD
Definition: exif-tag.h:142
@ EXIF_TAG_SUB_SEC_TIME_DIGITIZED
Definition: exif-tag.h:123
@ EXIF_TAG_IMAGE_LENGTH
Definition: exif-tag.h:39
@ EXIF_TAG_SUBJECT_AREA
Definition: exif-tag.h:117
@ EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM
Definition: exif-tag.h:150
@ EXIF_TAG_FOCAL_PLANE_X_RESOLUTION
Definition: exif-tag.h:137
@ EXIF_TAG_GAMMA
Definition: exif-tag.h:168
@ EXIF_TAG_X_RESOLUTION
Definition: exif-tag.h:53
@ EXIF_TAG_FILL_ORDER
Definition: exif-tag.h:43
@ EXIF_TAG_COMPRESSED_BITS_PER_PIXEL
Definition: exif-tag.h:106
@ EXIF_TAG_SUB_SEC_TIME_ORIGINAL
Definition: exif-tag.h:122
@ EXIF_TAG_TRANSFER_RANGE
Definition: exif-tag.h:64
@ EXIF_TAG_PRIMARY_CHROMATICITIES
Definition: exif-tag.h:62
@ EXIF_TAG_IMAGE_RESOURCES
Definition: exif-tag.h:84
@ EXIF_TAG_INTER_COLOR_PROFILE
Definition: exif-tag.h:86
@ EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION
Definition: exif-tag.h:138
@ EXIF_TAG_INTEROPERABILITY_INDEX
Definition: exif-tag.h:35
@ EXIF_TAG_WHITE_POINT
Definition: exif-tag.h:61
@ EXIF_TAG_XP_COMMENT
Definition: exif-tag.h:125
@ EXIF_TAG_METERING_MODE
Definition: exif-tag.h:113
@ EXIF_TAG_XP_AUTHOR
Definition: exif-tag.h:126
@ EXIF_TAG_OFFSET_TIME
Definition: exif-tag.h:102
@ EXIF_TAG_SHARPNESS
Definition: exif-tag.h:155
ExifTag exif_tag_table_get_tag(unsigned int n)
Definition: exif-tag.c:980
const char * exif_tag_table_get_name(unsigned int n)
Definition: exif-tag.c:986
const char * exif_tag_get_title(ExifTag tag)
Definition: exif-tag.c:1153
ExifTag exif_tag_from_name(const char *name)
Return the tag ID given its unique textual name.
Definition: exif-tag.c:1167
const char * exif_tag_get_name_in_ifd(ExifTag tag, ExifIfd ifd)
Return a textual name of the given tag when found in the given IFD.
Definition: exif-tag.c:1038
unsigned int exif_tag_table_count(void)
Return the number of entries in the EXIF tag table, including the terminating NULL entry.
Definition: exif-tag.c:973
ExifSupportLevel exif_tag_get_support_level_in_ifd(ExifTag tag, ExifIfd ifd, ExifDataType t)
Return whether the given tag is mandatory or not in the given IFD and data type according to the EXIF...
Definition: exif-tag.c:1256
const char * exif_tag_get_title_in_ifd(ExifTag tag, ExifIfd ifd)
Return a textual title of the given tag when found in the given IFD.
Definition: exif-tag.c:1060
ExifSupportLevel
What level of support a tag enjoys in the EXIF standard.
Definition: exif-tag.h:208
@ EXIF_SUPPORT_LEVEL_UNKNOWN
The meaning of this tag is unknown.
Definition: exif-tag.h:210
@ EXIF_SUPPORT_LEVEL_OPTIONAL
This tag is optional in the given IFD.
Definition: exif-tag.h:219
@ EXIF_SUPPORT_LEVEL_NOT_RECORDED
This tag is not allowed in the given IFD.
Definition: exif-tag.h:213
@ EXIF_SUPPORT_LEVEL_MANDATORY
This tag is mandatory in the given IFD.
Definition: exif-tag.h:216
const char * exif_tag_get_description(ExifTag tag)
Definition: exif-tag.c:1159
const char * exif_tag_get_description_in_ifd(ExifTag tag, ExifIfd ifd)
Return a verbose textual description of the given tag when found in the given IFD.
Definition: exif-tag.c:1083
MnoteAppleTag tag
const char * name

libexif Generated by doxygen