1 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */ 2 /* EXIFPROBE - TIFF/JPEG/EXIF image file probe */ 3 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */ 4 /* Copyright (C) 2002 by Duane H. Hesser. All rights reserved. */ 5 /* */ 6 /* See the file LICENSE.EXIFPROBE for terms of use. */ 7 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */ 8 9 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */ 10 /* @(#) $Id: maker_datadefs.h,v 1.1 2005/05/25 15:38:08 alex Exp $ */ 11 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */ 12 13 14 #ifndef MAKER_DATADEFS_INCLUDED 15 #define MAKER_DATADEFS_INCLUDED 16 17 #include "maker.h" 18 19 struct maker_scheme { 20 unsigned long scheme_type; 21 unsigned long note_fileoffset; 22 unsigned long note_length; 23 char *id; /* Initial id string, if present */ 24 int id_length; /* length of ID string, if present */ 25 int tiffhdr_offset; /* from start of section, if present */ 26 int ifd_offset; /* from start of section or tiff hdr */ 27 int num_entries; /* read from the start of the IFD */ 28 int offsets_relative_to; /* tiffheader, start of note, entry */ 29 int no_nextifd_offset; /* some don't include nextifd_offset */ 30 int make; /* the internal identifier for make */ 31 int model; /* the internal identifier for model */ 32 int note_version; /* for makes with multiple note versions */ 33 int tagset; /* usually same as model_version... */ 34 unsigned long fileoffset_base; /* entry offsets relative to this */ 35 /* if not entry-relative */ 36 unsigned short tiff_byteorder; /* main file byte order */ 37 unsigned short note_byteorder; /* may be different */ 38 struct ifd_entry first_entry; 39 }; 40 41 struct camera_id { 42 char *name; 43 int namelen; 44 int id; 45 int noteversion; 46 int notetagset; 47 }; 48 49 struct camera_name { 50 char *name; 51 int namelen; 52 int id; 53 struct camera_id *model; 54 }; 55 56 #endif /* MAKER_DATADEFS_INCLUDED */ 57