51 #ifndef DOXYGEN_SHOULD_SKIP_THIS
53 #define GAIAEXIF_DECLARE __declspec(dllexport)
55 #define GAIAEXIF_DECLARE extern
60 #ifndef DOXYGEN_SHOULD_SKIP_THIS
71 #define GAIA_HEX_BLOB 0
73 #define GAIA_GIF_BLOB 1
75 #define GAIA_PNG_BLOB 2
77 #define GAIA_JPEG_BLOB 3
79 #define GAIA_EXIF_BLOB 4
81 #define GAIA_EXIF_GPS_BLOB 5
83 #define GAIA_ZIP_BLOB 6
85 #define GAIA_PDF_BLOB 7
87 #define GAIA_GEOMETRY_BLOB 8
89 #define GAIA_TIFF_BLOB 9
91 #define GAIA_WEBP_BLOB 10
93 #define GAIA_XML_BLOB 11
95 #define GAIA_GPB_BLOB 12
99 #define GAIA_EXIF_NONE 0
101 #define GAIA_EXIF_BYTE 1
103 #define GAIA_EXIF_SHORT 2
105 #define GAIA_EXIF_STRING 3
107 #define GAIA_EXIF_LONG 4
109 #define GAIA_EXIF_RATIONAL 5
111 #define GAIA_EXIF_SLONG 9
113 #define GAIA_EXIF_SRATIONAL 10
201 GAIAEXIF_DECLARE gaiaExifTagListPtr
gaiaGetExifTags (
const unsigned char
296 const char *tag_name);
307 GAIAEXIF_DECLARE
unsigned short gaiaExifTagGetId (
const gaiaExifTagPtr tag);
319 char *tag_name,
int len);
574 const int ind,
int *ok);
589 const int ind,
int *ok);
632 double *longitude,
double *latitude);
647 char *latlong,
int ll_size);
GAIAEXIF_DECLARE unsigned int gaiaExifTagGetRational1Value(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a RATIONAL [numerator] value from an EXIF tag.
int NumTags
number of items
Definition: gaiaexif.h:176
GAIAEXIF_DECLARE int gaiaGetExifTagsCount(gaiaExifTagListPtr tag_list)
Return the total number of EXIF tags into the list.
struct gaiaExifTagListStruct gaiaExifTagList
Container for a list of EXIF tags.
GAIAEXIF_DECLARE int gaiaExifTagGetSignedRational2Value(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a SRATIONAL [denominator] value from an EXIF tag.
GAIAEXIF_DECLARE unsigned short gaiaExifTagGetValueType(const gaiaExifTagPtr tag)
Return the value type for an EXIF tag.
GAIAEXIF_DECLARE int gaiaGetGpsLatLong(const unsigned char *blob, int size, char *latlong, int ll_size)
Return a text string representing DMS coordinates from an EXIF-GPS tag.
GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifTagById(const gaiaExifTagListPtr tag_list, const unsigned short tag_id)
Retrieves an EXIF tag by its Tag ID.
GAIAEXIF_DECLARE unsigned short gaiaExifTagGetId(const gaiaExifTagPtr tag)
Return the Tag ID from an EXIF tag.
gaiaExifTagList * gaiaExifTagListPtr
Typedef for EXIF tag structure.
Definition: gaiaexif.h:185
GAIAEXIF_DECLARE void gaiaExifTagGetHumanReadable(const gaiaExifTagPtr tag, char *str, int len, int *ok)
Return a human readable description from an EXIF tag.
GAIAEXIF_DECLARE double gaiaExifTagGetSignedRationalValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a Signed RATIONAL value from an EXIF tag.
GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifTagByName(const gaiaExifTagListPtr tag_list, const char *tag_name)
Retrieves an EXIF tag by its name.
GAIAEXIF_DECLARE void gaiaExifTagGetName(const gaiaExifTagPtr tag, char *tag_name, int len)
Return the Tag Name from an EXIF tag.
GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifTagByPos(gaiaExifTagListPtr tag_list, const int pos)
Retrieves an EXIF tag by its relative position into the list.
struct gaiaExifTagStruct gaiaExifTag
Container for an EXIF tag.
GAIAEXIF_DECLARE int gaiaExifTagGetSignedRational1Value(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a SRATIONAL [numerator] value from an EXIF tag.
GAIAEXIF_DECLARE unsigned short gaiaExifTagGetShortValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a SHORT value from an EXIF tag.
GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifGpsTagById(const gaiaExifTagListPtr tag_list, const unsigned short tag_id)
Retrieves an EXIF-GPS tag by its Tag ID.
Container for a list of EXIF tags.
Definition: gaiaexif.h:168
GAIAEXIF_DECLARE void gaiaExifTagsFree(gaiaExifTagListPtr tag_list)
Destroy a list of EXIF tags.
GAIAEXIF_DECLARE unsigned char gaiaExifTagGetByteValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a BYTE value from an EXIF tag.
GAIAEXIF_DECLARE double gaiaExifTagGetRationalValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a RATIONAL value from an EXIF tag.
GAIAEXIF_DECLARE unsigned int gaiaExifTagGetRational2Value(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a RATIONAL [denominator] value from an EXIF tag.
gaiaExifTag * gaiaExifTagPtr
Typedef for EXIF tag structure.
Definition: gaiaexif.h:163
GAIAEXIF_DECLARE int gaiaGetGpsCoords(const unsigned char *blob, int size, double *longitude, double *latitude)
Return longitude and latitude from an EXIF-GPS tag.
gaiaExifTagPtr First
pointer to first item into the linked list
Definition: gaiaexif.h:172
GAIAEXIF_DECLARE void gaiaExifTagGetStringValue(const gaiaExifTagPtr tag, char *str, int len, int *ok)
Return a STRING value from an EXIF tag.
GAIAEXIF_DECLARE unsigned short gaiaExifTagGetNumValues(const gaiaExifTagPtr tag)
Return the total count of values from an EXIF tag.
GAIAEXIF_DECLARE int gaiaExifTagGetSignedLongValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a Signed LONG value from an EXIF tag.
GAIAEXIF_DECLARE short gaiaExifTagGetSignedShortValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a Signed SHORT value from an EXIF tag.
GAIAEXIF_DECLARE gaiaExifTagListPtr gaiaGetExifTags(const unsigned char *blob, int size)
Creates a list of EXIF tags by parsing a BLOB of the JPEG-EXIF type.
GAIAEXIF_DECLARE float gaiaExifTagGetFloatValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a FLOAT value from an EXIF tag.
GAIAEXIF_DECLARE unsigned int gaiaExifTagGetLongValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a LONG value from an EXIF tag.
gaiaExifTagPtr Last
pointer to the last item into the linked list
Definition: gaiaexif.h:174
gaiaExifTagPtr * TagsArray
an array of pointers to items
Definition: gaiaexif.h:178
GAIAEXIF_DECLARE double gaiaExifTagGetDoubleValue(const gaiaExifTagPtr tag, const int ind, int *ok)
Return a DOUBLE value from an EXIF tag.
GAIAEXIF_DECLARE int gaiaGuessBlobType(const unsigned char *blob, int size)
Attempts to guess the actual content-type of some BLOB.
GAIAEXIF_DECLARE int gaiaIsExifGpsTag(const gaiaExifTagPtr tag)
Checks if an EXIF tag actually is an EXIF-GPS tag.