EXIF library (libexif) Internals
0.6.24
exif-format.c
Go to the documentation of this file.
1
/* exif-format.c
2
*
3
* Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
4
*
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
9
*
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18
* Boston, MA 02110-1301 USA.
19
*/
20
21
#include <config.h>
22
23
#include <
libexif/exif-format.h
>
24
#include <
libexif/i18n.h
>
25
26
#include <stdlib.h>
27
32
static
const
struct
{
33
ExifFormat
format
;
34
const
char
*
name
;
35
unsigned
char
size
;
36
}
ExifFormatTable
[] = {
37
{
EXIF_FORMAT_SHORT
,
N_
(
"Short"
), 2},
38
{
EXIF_FORMAT_RATIONAL
,
N_
(
"Rational"
), 8},
39
{
EXIF_FORMAT_SRATIONAL
,
N_
(
"SRational"
), 8},
40
{
EXIF_FORMAT_UNDEFINED
,
N_
(
"Undefined"
), 1},
41
{
EXIF_FORMAT_ASCII
,
N_
(
"ASCII"
), 1},
42
{
EXIF_FORMAT_LONG
,
N_
(
"Long"
), 4},
43
{
EXIF_FORMAT_BYTE
,
N_
(
"Byte"
), 1},
44
{
EXIF_FORMAT_SBYTE
,
N_
(
"SByte"
), 1},
45
{
EXIF_FORMAT_SSHORT
,
N_
(
"SShort"
), 2},
46
{
EXIF_FORMAT_SLONG
,
N_
(
"SLong"
), 4},
47
{
EXIF_FORMAT_FLOAT
,
N_
(
"Float"
), 4},
48
{
EXIF_FORMAT_DOUBLE
,
N_
(
"Double"
), 8},
49
{0, NULL, 0}
50
};
51
52
const
char
*
53
exif_format_get_name
(
ExifFormat
format
)
54
{
55
unsigned
int
i;
56
57
(void)
bindtextdomain
(GETTEXT_PACKAGE, LOCALEDIR);
58
59
for
(i = 0;
ExifFormatTable
[i].name; i++)
60
if
(
ExifFormatTable
[i].
format
==
format
)
61
return
_
(
ExifFormatTable
[i].
name
);
62
return
NULL;
63
}
64
65
unsigned
char
66
exif_format_get_size
(
ExifFormat
format
)
67
{
68
unsigned
int
i;
69
70
for
(i = 0;
ExifFormatTable
[i].size; i++)
71
if
(
ExifFormatTable
[i].
format
==
format
)
72
return
ExifFormatTable
[i].size;
73
return
0;
74
}
exif_format_get_name
const char * exif_format_get_name(ExifFormat format)
Return a textual representation of the given EXIF data type.
Definition:
exif-format.c:53
name
const char * name
Definition:
exif-format.c:34
exif_format_get_size
unsigned char exif_format_get_size(ExifFormat format)
Return the raw size of the given EXIF data type.
Definition:
exif-format.c:66
size
unsigned char size
Definition:
exif-format.c:35
format
ExifFormat format
Definition:
exif-format.c:33
ExifFormatTable
static const struct @7 ExifFormatTable[]
Table of data format types, descriptions and sizes.
exif-format.h
Handling native EXIF data types.
ExifFormat
ExifFormat
EXIF tag data formats.
Definition:
exif-format.h:32
EXIF_FORMAT_SLONG
@ EXIF_FORMAT_SLONG
Definition:
exif-format.h:41
EXIF_FORMAT_RATIONAL
@ EXIF_FORMAT_RATIONAL
Definition:
exif-format.h:37
EXIF_FORMAT_SRATIONAL
@ EXIF_FORMAT_SRATIONAL
Definition:
exif-format.h:42
EXIF_FORMAT_LONG
@ EXIF_FORMAT_LONG
Definition:
exif-format.h:36
EXIF_FORMAT_UNDEFINED
@ EXIF_FORMAT_UNDEFINED
Definition:
exif-format.h:39
EXIF_FORMAT_SHORT
@ EXIF_FORMAT_SHORT
Definition:
exif-format.h:35
EXIF_FORMAT_SSHORT
@ EXIF_FORMAT_SSHORT
Definition:
exif-format.h:40
EXIF_FORMAT_ASCII
@ EXIF_FORMAT_ASCII
Definition:
exif-format.h:34
EXIF_FORMAT_SBYTE
@ EXIF_FORMAT_SBYTE
Definition:
exif-format.h:38
EXIF_FORMAT_FLOAT
@ EXIF_FORMAT_FLOAT
Definition:
exif-format.h:43
EXIF_FORMAT_DOUBLE
@ EXIF_FORMAT_DOUBLE
Definition:
exif-format.h:44
EXIF_FORMAT_BYTE
@ EXIF_FORMAT_BYTE
Definition:
exif-format.h:33
i18n.h
_
#define _(String)
Definition:
i18n.h:48
N_
#define N_(String)
Definition:
i18n.h:49
bindtextdomain
#define bindtextdomain(Domain, Directory)
Definition:
i18n.h:46
libexif
Generated by