23#ifndef __EXIF_UTILS_H__
24#define __EXIF_UTILS_H__
30#include <libexif/exif-byte-order.h>
32#include <libexif/_stdint.h>
62typedef char ExifUndefined;
74ExifShort exif_get_short (
const unsigned char *b, ExifByteOrder order);
82ExifSShort exif_get_sshort (
const unsigned char *b, ExifByteOrder order);
90ExifLong exif_get_long (
const unsigned char *b, ExifByteOrder order);
98ExifSLong exif_get_slong (
const unsigned char *b, ExifByteOrder order);
106ExifRational exif_get_rational (
const unsigned char *b, ExifByteOrder order);
114ExifSRational exif_get_srational (
const unsigned char *b, ExifByteOrder order);
122void exif_set_short (
unsigned char *b, ExifByteOrder order,
131void exif_set_sshort (
unsigned char *b, ExifByteOrder order,
140void exif_set_long (
unsigned char *b, ExifByteOrder order,
149void exif_set_slong (
unsigned char *b, ExifByteOrder order,
158void exif_set_rational (
unsigned char *b, ExifByteOrder order,
167void exif_set_srational (
unsigned char *b, ExifByteOrder order,
171void exif_convert_utf16_to_utf8 (
char *out,
const unsigned short *in,
int maxlen);
176void exif_array_set_byte_order (
ExifFormat,
unsigned char *,
unsigned int,
177 ExifByteOrder o_orig, ExifByteOrder o_new);
180#define MIN(a, b) (((a) < (b)) ? (a) : (b))
183#define MAX(a, b) (((a) > (b)) ? (a) : (b))
188#define EXIF_TAG_SUBSEC_TIME EXIF_TAG_SUB_SEC_TIME
signed char ExifSByte
EXIF Signed Byte data type.
Definition exif-utils.h:42
unsigned char ExifByte
EXIF Unsigned Byte data type.
Definition exif-utils.h:39
uint32_t ExifLong
EXIF Unsigned Long data type.
Definition exif-utils.h:54
int32_t ExifSLong
EXIF Signed Long data type.
Definition exif-utils.h:57
uint16_t ExifShort
EXIF Unsigned Short data type.
Definition exif-utils.h:48
int16_t ExifSShort
EXIF Signed Short data type.
Definition exif-utils.h:51
char * ExifAscii
EXIF Text String data type.
Definition exif-utils.h:45
EXIF Unsigned Rational data type.
Definition exif-utils.h:60
EXIF Signed Rational data type.
Definition exif-utils.h:65