00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __EXIF_UTILS_H__
00022 #define __EXIF_UTILS_H__
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 #include <libexif/exif-byte-order.h>
00029 #include <libexif/exif-format.h>
00030 #include <libexif/_stdint.h>
00031
00032
00033
00034
00035
00036 typedef char ExifByte;
00037 typedef char * ExifAscii;
00038 typedef uint16_t ExifShort;
00039 typedef int16_t ExifSShort;
00040 typedef uint32_t ExifLong;
00041 typedef struct {ExifLong numerator; ExifLong denominator;} ExifRational;
00042 typedef char ExifUndefined;
00043 typedef int32_t ExifSLong;
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
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
00075 #define EXIF_TAG_SUBSEC_TIME EXIF_TAG_SUB_SEC_TIME
00076
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080
00081 #endif