diff src/exif.h @ 47:aa4c0e1b54b0

Fri Jun 3 01:49:20 2005 John Ellis <johne@verizon.net> * exif.[ch]: Export several parsing functions for use by the exif makernote parsers, and add hook for MakerNote data parsing. * format_canon.[ch]: Add Canon EXIF MakerNote support. * format_raw.c: Fix warning printf grammar. ##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. #####
author gqview
date Fri, 03 Jun 2005 06:07:02 +0000
parents d907d608745f
children 276ea4c98d33
line wrap: on
line diff
--- a/src/exif.h	Fri May 27 02:17:18 2005 +0000
+++ b/src/exif.h	Fri Jun 03 06:07:02 2005 +0000
@@ -90,7 +90,7 @@
 {
 	ExifFormatType format;
 	int tag;
-	ExifMarker *marker;
+	const ExifMarker *marker;
 	int elements;
 	gpointer data;
 	int data_len;
@@ -106,12 +106,16 @@
 	ExifTextList	*list;
 };
 
+#define EXIF_MARKER_LIST_END { 0x0000, EXIF_FORMAT_UNKNOWN, 0, NULL, NULL, NULL }
+
 struct _ExifTextList
 {
 	int value;
 	const char* description;
 };
 
+#define EXIF_TEXT_LIST_END { -1, NULL }
+
 
 typedef struct _ExifFormattedText ExifFormattedText;
 struct _ExifFormattedText
@@ -188,4 +192,18 @@
 void exif_write_data_list(ExifData *exif, FILE *f, gint human_readable_list);
 
 
+
+/* These funcs for use by makernote parsers only */
+
+ExifItem *exif_item_new(ExifFormatType format, unsigned int tag,
+			unsigned int elements, const ExifMarker *marker);
+void exif_item_copy_data(ExifItem *item, void *src, int len, ExifFormatType src_format, int byte_order);
+
+gint exif_parse_IFD_table(ExifData *exif,
+			  unsigned char *tiff, int offset,
+			  int size, int byte_order,
+			  const ExifMarker *list);
+
+
+
 #endif