main.html
Main Page
|
dirs.html
Directories
|
files.html
File List
|
globals.html
Globals
dir_000000.html
libexif
exif-utils.h
00001
/* exif-utils.h
00002
*
00003
* Copyright ? 2001 Lutz M?ller <lutz@users.sourceforge.net>
00004
*
00005
* This library is free software; you can redistribute it and/or
00006
* modify it under the terms of the GNU Lesser General Public
00007
* License as published by the Free Software Foundation; either
00008
* version 2 of the License, or (at your option) any later version.
00009
*
00010
* This library is distributed in the hope that it will be useful,
00011
* but WITHOUT ANY WARRANTY; without even the implied warranty of
00012
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013
* Lesser General Public License for more details.
00014
*
00015
* You should have received a copy of the GNU Lesser General Public
00016
* License along with this library; if not, write to the
00017
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018
* Boston, MA 02111-1307, USA.
00019
*/
00020
00021
#ifndef __EXIF_UTILS_H__
00022
#define __EXIF_UTILS_H__
00023
00024
#ifdef __cplusplus
00025
extern
"C"
{
00026
#endif
/* __cplusplus */
00027
00028
#include <libexif/exif-byte-order.h>
00029
#include <libexif/exif-format.h>
00030
#include <libexif/_stdint.h>
00031
00032
00033
/* If these definitions don't work for you, please let us fix the
00034
* macro generating _stdint.h */
00035
00036
typedef
char
ExifByte;
/* 1 byte  */
00037
typedef
char
*          ExifAscii;
00038
typedef
uint16_t        ExifShort;
/* 2 bytes */
00039
typedef
int16_t         ExifSShort;
/* 2 bytes */
00040
typedef
uint32_t        ExifLong;
/* 4 bytes */
00041
typedef
struct
{ExifLong numerator; ExifLong denominator;} ExifRational;
00042
typedef
char
ExifUndefined;
/* 1 byte  */
00043
typedef
int32_t         ExifSLong;
/* 4 bytes */
00044
typedef
struct
{ExifSLong numerator; ExifSLong denominator;} ExifSRational;
00045
00046
00047 ExifShort     exif_get_short     (
const
unsigned
char
*b, ExifByteOrder order);
00048 ExifSShort    exif_get_sshort    (
const
unsigned
char
*b, ExifByteOrder order);
00049 ExifLong      exif_get_long      (
const
unsigned
char
*b, ExifByteOrder order);
00050 ExifSLong     exif_get_slong     (
const
unsigned
char
*b, ExifByteOrder order);
00051 ExifRational  exif_get_rational  (
const
unsigned
char
*b, ExifByteOrder order);
00052 ExifSRational exif_get_srational (
const
unsigned
char
*b, ExifByteOrder order);
00053
00054
void
exif_set_short     (
unsigned
char
*b, ExifByteOrder order,
00055                          ExifShort value);
00056
void
exif_set_sshort    (
unsigned
char
*b, ExifByteOrder order,
00057                          ExifSShort value);
00058
void
exif_set_long      (
unsigned
char
*b, ExifByteOrder order,
00059                          ExifLong value);
00060
void
exif_set_slong     (
unsigned
char
*b, ExifByteOrder order,
00061                          ExifSLong value);
00062
void
exif_set_rational  (
unsigned
char
*b, ExifByteOrder order,
00063                          ExifRational value);
00064
void
exif_set_srational (
unsigned
char
*b, ExifByteOrder order,
00065                          ExifSRational value);
00066
00067
/* Please do not use this function outside of the library. */
00068
void
exif_array_set_byte_order (ExifFormat,
unsigned
char
*,
unsigned
int
,
00069                 ExifByteOrder o_orig, ExifByteOrder o_new);
00070
00071
#undef  MIN
00072
#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
00073
00074
/* For compatibility with older versions */
00075
#define EXIF_TAG_SUBSEC_TIME EXIF_TAG_SUB_SEC_TIME
00076
00077
#ifdef __cplusplus
00078
}
00079
#endif
/* __cplusplus */
00080
00081
#endif
/* __EXIF_UTILS_H__ */
Generated on Fri Sep 9 16:28:12 2005 for EXIF library (libexif) API by
http://www.doxygen.org/index.html
doxygen
1.4.4
