23#ifndef __EXIF_UTILS_H__
24#define __EXIF_UTILS_H__
31#if (defined(__MSHORT__) || defined(__PUREC__) || defined(__AHCC__)) && defined(EXIF_SLB) && (defined(__atarist__) || defined(__TOS__))
32typedef long exif_int_t;
33typedef unsigned long exif_uint_t;
34#define exif_enum(x) exif_int_t
36typedef int exif_int_t;
37typedef unsigned int exif_uint_t;
40#if defined(EXIF_SLB) && (defined(__atarist__) || defined(__TOS__))
42# define EXIF_CALLBACK __CDECL
43# define EXIF_API(x) x __CDECL
50#include <libexif/exifform.h>
77typedef char ExifUndefined;
90EXIF_API(
ExifShort) exif_get_short (
const unsigned char *b, exif_enum(ExifByteOrder) order);
98EXIF_API(
ExifSShort) exif_get_sshort (
const unsigned char *b, exif_enum(ExifByteOrder) order);
106EXIF_API(
ExifLong) exif_get_long (
const unsigned char *b, exif_enum(ExifByteOrder) order);
114EXIF_API(
ExifSLong) exif_get_slong (
const unsigned char *b, exif_enum(ExifByteOrder) order);
122EXIF_API(
ExifRational) exif_get_rational (
const unsigned char *b, exif_enum(ExifByteOrder) order);
130EXIF_API(
ExifSRational) exif_get_srational (
const unsigned char *b, exif_enum(ExifByteOrder) order);
138EXIF_API(
void) exif_set_short(
unsigned char *b, exif_enum(ExifByteOrder) order, exif_uint_t value);
146EXIF_API(
void) exif_set_sshort(
unsigned char *b, exif_enum(ExifByteOrder) order, exif_int_t value);
154EXIF_API(
void) exif_set_long(
unsigned char *b, exif_enum(ExifByteOrder) order,
ExifLong value);
162EXIF_API(
void) exif_set_slong(
unsigned char *b, exif_enum(ExifByteOrder) order,
ExifSLong value);
170EXIF_API(
void) exif_set_rational(
unsigned char *b, exif_enum(ExifByteOrder) order,
const ExifRational *value);
178EXIF_API(
void) exif_set_srational(
unsigned char *b, exif_enum(ExifByteOrder order),
const ExifSRational *value);
181EXIF_API(
void) exif_convert_utf16_to_utf8 (
char *out,
const unsigned short *in, int32_t maxlen);
186EXIF_API(
void) exif_array_set_byte_order (exif_enum(
ExifFormat),
unsigned char *, uint32_t, exif_enum(ExifByteOrder) o_orig, exif_enum(ExifByteOrder) o_new);
189#define MIN(a, b) (((a) < (b)) ? (a) : (b))
192#define MAX(a, b) (((a) > (b)) ? (a) : (b))
197#define EXIF_TAG_SUBSEC_TIME EXIF_TAG_SUB_SEC_TIME
203#if defined(EXIF_SLB) && (defined(__atarist__) || defined(__TOS__))
signed char ExifSByte
EXIF Signed Byte data type.
Definition: exif-utils.h:57
unsigned char ExifByte
EXIF Unsigned Byte data type.
Definition: exif-utils.h:54
uint32_t ExifLong
EXIF Unsigned Long data type.
Definition: exif-utils.h:69
int32_t ExifSLong
EXIF Signed Long data type.
Definition: exif-utils.h:72
uint16_t ExifShort
EXIF Unsigned Short data type.
Definition: exif-utils.h:63
int16_t ExifSShort
EXIF Signed Short data type.
Definition: exif-utils.h:66
char * ExifAscii
EXIF Text String data type.
Definition: exif-utils.h:60
Defines the ExifByteOrder enum and the associated functions.
EXIF Unsigned Rational data type.
Definition: exif-utils.h:75
EXIF Signed Rational data type.
Definition: exif-utils.h:81