exiv2-0.23/ 0000755 0001750 0001750 00000000000 11745263717 012324 5 ustar andreas andreas exiv2-0.23/msvc64/ 0000755 0001750 0001750 00000000000 11745263367 013447 5 ustar andreas andreas exiv2-0.23/msvc64/expat/ 0000755 0001750 0001750 00000000000 11745263366 014567 5 ustar andreas andreas exiv2-0.23/msvc64/expat/expat.vcproj 0000644 0001750 0001750 00000043065 11510162225 017123 0 ustar andreas andreas
exiv2-0.23/msvc64/include/ 0000755 0001750 0001750 00000000000 11745263366 015071 5 ustar andreas andreas exiv2-0.23/msvc64/include/exv_msvc.h 0000644 0001750 0001750 00000006155 11733051454 017071 0 ustar andreas andreas /* ***************************************************************** -*- C -*- */
/*!
@file exv_msvc.h
@brief Configuration settings for MSVC
@version $Rev: 2320 $
@author Andreas Huggel (ahu)
ahuggel@gmx.net
@date 07-Feb-04, ahu: created
26-Feb-05, ahu: renamed and moved to src directory
*/
/* Todo: The PACKAGE_* defines should be generated */
#ifdef _MSC_VER
#if _MSC_VER >= 1600
// stdint.h was introduced with DevStudio 2010
#define EXV_HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the header file. */
#define EXV_HAVE_PROCESS_H 1
/* Define to the address where bug reports for this package should be sent. */
#define EXV_PACKAGE_BUGREPORT "ahuggel@gmx.net"
/* Define to the full name of this package. */
#define EXV_PACKAGE_NAME "exiv2"
/* Define to the full name and version of this package. */
#define EXV_PACKAGE_STRING "exiv2 0.23"
/* Define to the one symbol short name of this package. */
#define EXV_PACKAGE_TARNAME "exiv2"
/* Define to the version of this package. */
#define EXV_PACKAGE_VERSION "0.23"
/* Define to `int' if does not define pid_t. */
typedef int pid_t;
#ifndef EXV_COMMERCIAL_VERSION
/* Define to 1 to enable translation of Nikon lens names. */
# define EXV_HAVE_LENSDATA 1
/* Define to 1 if translation of program messages to the user's
native language is requested. */
# undef EXV_ENABLE_NLS
#endif /* !EXV_COMMERCIAL_VERSION */
/* Define to 1 if you have the `iconv' function. */
# undef EXV_HAVE_ICONV
/* Define as 1 if you have the `zlib' library. (0 to omit zlib) [png support] */
#define HAVE_LIBZ 1
#if HAVE_LIBZ
#define EXV_HAVE_LIBZ
// assist VC7.1 to compile vsnprintf
#if (_MSC_VER < 1400) && !defined(vsnprintf)
#define vsnprintf _vsnprintf
#endif
#endif
/* Define to 1 if you have the Adobe XMP Toolkit. */
#define EXV_HAVE_XMP_TOOLKIT 1
/* File path seperator */
#define EXV_SEPERATOR_STR "\\"
#define EXV_SEPERATOR_CHR '\\'
/* Windows unicode path support */
#define EXV_UNICODE_PATH
/* Define to 1 if you have the `mmap' function. */
/* #undef EXV_HAVE_MMAP */
/* Define to 1 if you have the `munmap' function. */
/* #undef EXV_HAVE_MUNMAP */
/* Shared library support */
#ifdef EXV_HAVE_DLL
#define EXV_IMPORT __declspec(dllimport)
#define EXV_EXPORT __declspec(dllexport)
#define EXV_DLLLOCAL
#define EXV_DLLPUBLIC
#else
#define EXV_IMPORT
#define EXV_EXPORT
#define EXV_DLLLOCAL
#define EXV_DLLPUBLIC
#define EXIV2API
#endif
/* Define EXIV2API for DLL builds */
#ifdef EXV_HAVE_DLL
# ifdef EXV_BUILDING_LIB
# define EXIV2API EXV_EXPORT
# else
# define EXIV2API EXV_IMPORT
# endif /* ! EXV_BUILDING_LIB */
#else
# define EXIV2API
#endif /* ! EXV_HAVE_DLL */
/*
Disable warning 4251. This is warning from std templates about exporting interfaces
*/
#ifdef EXV_HAVE_DLL
#pragma warning( disable : 4251 )
#endif
/*
Visual Studio C++ 2005 (8.0)
Disable warnings about 'deprecated' standard functions
See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259
*/
#if _MSC_VER >= 1400
# pragma warning(disable : 4996)
#endif
#endif /* _MSC_VER */
exiv2-0.23/msvc64/exiv2lib/ 0000755 0001750 0001750 00000000000 11745263366 015172 5 ustar andreas andreas exiv2-0.23/msvc64/exiv2lib/exiv2lib.vcproj 0000644 0001750 0001750 00000067344 11602254046 020144 0 ustar andreas andreas
exiv2-0.23/msvc64/zlib123/ 0000755 0001750 0001750 00000000000 11745263366 014634 5 ustar andreas andreas exiv2-0.23/msvc64/zlib123/zlib.vcproj 0000644 0001750 0001750 00000041515 11510162225 017005 0 ustar andreas andreas
exiv2-0.23/msvc64/src/ 0000755 0001750 0001750 00000000000 11745263366 014235 5 ustar andreas andreas exiv2-0.23/msvc64/runner.txt 0000644 0001750 0001750 00000220570 11744730536 015523 0 ustar andreas andreas exiv2 0.23 001700 (32 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (32 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (32 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (32 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (64 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (64 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (64 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2 0.23 001700 (64 bit build)
Copyright (C) 2004-2012 Andreas Huggel.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Image.Make Ascii 6 Canon
Exif.Image.Model Ascii 22 Canon PowerShot S5 IS
Exif.Image.Orientation Short 1 top, left
Exif.Image.XResolution Rational 1 180
Exif.Image.YResolution Rational 1 180
Exif.Image.ResolutionUnit Short 1 inch
Exif.Image.DateTime Ascii 20 2008:09:06 14:34:23
Exif.Image.YCbCrPositioning Short 1 Centered
Exif.Image.ExifTag Long 1 186
Exif.Photo.ExposureTime Rational 1 1/500 s
Exif.Photo.FNumber Rational 1 F4
Exif.Photo.ISOSpeedRatings Short 1 80
Exif.Photo.ExifVersion Undefined 4 2.20
Exif.Photo.DateTimeOriginal Ascii 20 2008:09:06 14:34:23
Exif.Photo.DateTimeDigitized Ascii 20 2008:09:06 14:34:23
Exif.Photo.ComponentsConfiguration Undefined 4 YCbCr
Exif.Photo.CompressedBitsPerPixel Rational 1 3
Exif.Photo.ShutterSpeedValue SRational 1 1/501 s
Exif.Photo.ApertureValue Rational 1 F4
Exif.Photo.ExposureBiasValue SRational 1 0 EV
Exif.Photo.MaxApertureValue Rational 1 F3.5
Exif.Photo.MeteringMode Short 1 Multi-segment
Exif.Photo.Flash Short 1 No, compulsory
Exif.Photo.FocalLength Rational 1 21.3 mm
Exif.Photo.MakerNote Undefined 2382 (Binary value suppressed)
Exif.MakerNote.Offset Long 1 680
Exif.MakerNote.ByteOrder Ascii 3 MM
Exif.CanonCs.Macro Short 1 Off
Exif.CanonCs.Selftimer Short 1 Off
Exif.CanonCs.Quality Short 1 Fine
Exif.CanonCs.FlashMode Short 1 Off
Exif.CanonCs.DriveMode Short 1 Single / timer
Exif.CanonCs.FocusMode Short 1 Single
Exif.CanonCs.ImageSize Short 1 Medium 1
Exif.CanonCs.EasyMode Short 1 Manual
Exif.CanonCs.DigitalZoom Short 1 None
Exif.CanonCs.Contrast Short 1 Normal
Exif.CanonCs.Saturation Short 1 Normal
Exif.CanonCs.Sharpness Short 1 Normal
Exif.CanonCs.ISOSpeed Short 1 Auto
Exif.CanonCs.MeteringMode Short 1 Evaluative
Exif.CanonCs.FocusType Short 1 Auto
Exif.CanonCs.AFPoint Short 1 Manual AF point selection
Exif.CanonCs.ExposureProgram Short 1 Program (P)
Exif.CanonCs.LensType Short 1 (65535)
Exif.CanonCs.Lens Short 3 6.0 - 72.0 mm
Exif.CanonCs.MaxAperture Short 1 F3.6
Exif.CanonCs.MinAperture Short 1 F8
Exif.CanonCs.FlashActivity Short 1 Did not fire
Exif.CanonCs.FlashDetails Short 1
Exif.CanonCs.FocusContinuous Short 1 Continuous
Exif.CanonCs.AESetting Short 1 Normal AE
Exif.CanonCs.ImageStabilization Short 1 On
Exif.CanonCs.DisplayAperture Short 1 0
Exif.CanonCs.ZoomSourceWidth Short 1 3264
Exif.CanonCs.ZoomTargetWidth Short 1 3264
Exif.CanonCs.SpotMeteringMode Short 1 Center
Exif.CanonCs.PhotoEffect Short 1 (65535)
Exif.CanonCs.ManualFlashOutput Short 1 n/a
Exif.CanonCs.ColorTone Short 1 32767
Exif.Canon.FocalLength Short 4 21.3 mm
Exif.CanonSi.ISOSpeed Short 1 100
Exif.CanonSi.MeasuredEV Short 1 14.25
Exif.CanonSi.TargetAperture Short 1 F4
Exif.CanonSi.TargetShutterSpeed Short 1 1/501 s
Exif.CanonSi.WhiteBalance Short 1 Sunny
Exif.CanonSi.Sequence Short 1 0
Exif.CanonSi.AFPointUsed Short 1 0 focus points; none used
Exif.CanonSi.FlashBias Short 1 0 EV
Exif.CanonSi.SubjectDistance Short 1 503
Exif.CanonSi.ApertureValue Short 1 F4
Exif.CanonSi.ShutterSpeedValue Short 1 1/546 s
Exif.CanonSi.MeasuredEV2 Short 1 -6.00
Exif.Canon.ImageType Ascii 25 IMG:PowerShot S5 IS JPEG
Exif.Canon.FirmwareVersion Ascii 22 Firmware Version 1.01
Exif.Canon.FileNumber Long 1 100-1904
Exif.Canon.OwnerName Ascii 32 Robin Mills
Exif.Canon.CameraInfo Long 148 370 411 0 0 0 384 874 4294967255 0 0 0 0 577 889 4294967150 0 0 4294967287 0 0 1 0 0 0 9 10 888 888 888 384 1015 4294967148 0 0 888 888 0 0 1 3072 3072 3072 3072 3072 4294964224 4294964224 4294964224 4294964224 4294964224 0 4294964224 4294967287 0 0 0 0 0 0 0 0 0 0 164 1024 1024 40 94 0 0 0 0 0 0 525 0 40 94 0 0 3 1 0 0 921 1027 1024 1280 0 40 97 10 881 1646 1711 881 1 1014 384 888 659 4294967148 2 128 1 0 0 0 0 7532 5 0 0 0 0 0 0 7819 8252 8279 128 1 0 4294961112 3 1 7471 0 0 0 0 0 0 0 0 5345 1088 245 446 100 196 44 4091 4091 1 1 25 8 2400605383
Exif.Canon.ModelID Long 1 PowerShot S5 IS
Exif.Canon.ThumbnailImageValidArea Short 4 0 0 0 0
Exif.Canon.SuperMacro Short 1 Off
Exif.Canon.AFInfo Short 48 96 2 9 1 2592 1944 1088 245 196 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
Exif.Photo.UserComment Undefined 264 (Binary value suppressed)
Exif.Photo.FlashpixVersion Undefined 4 1.00
Exif.Photo.ColorSpace Short 1 sRGB
Exif.Photo.PixelXDimension Short 1 2592
Exif.Photo.PixelYDimension Short 1 1944
Exif.Photo.InteroperabilityTag Long 1 3350
Exif.Iop.InteroperabilityIndex Ascii 4 R98
Exif.Iop.InteroperabilityVersion Undefined 4 1.00
Exif.Iop.RelatedImageWidth Short 1 2592
Exif.Iop.RelatedImageLength Short 1 1944
Exif.Photo.FocalPlaneXResolution Rational 1 11520
Exif.Photo.FocalPlaneYResolution Rational 1 11503
Exif.Photo.FocalPlaneResolutionUnit Short 1 inch
Exif.Photo.SensingMethod Short 1 One-chip color area
Exif.Photo.FileSource Undefined 1 Digital still camera
Exif.Photo.CustomRendered Short 1 Normal process
Exif.Photo.ExposureMode Short 1 Auto
Exif.Photo.WhiteBalance Short 1 Manual
Exif.Photo.DigitalZoomRatio Rational 1 1.0
Exif.Photo.SceneCaptureType Short 1 Standard
Exif.Thumbnail.Compression Short 1 JPEG (old-style)
Exif.Thumbnail.XResolution Rational 1 180
Exif.Thumbnail.YResolution Rational 1 180
Exif.Thumbnail.ResolutionUnit Short 1 inch
Exif.Thumbnail.JPEGInterchangeFormat Long 1 3498
Exif.Thumbnail.JPEGInterchangeFormatLength Long 1 6714
exiv2d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
zlib1d.dll
exiv2.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
zlib1.dll
exiv2d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
zlib1d.dll
exiv2.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
zlib1.dll
exiv2.exe
exiv2d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1d.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
exiv2.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
exiv2.exe
exiv2d.dll
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1d.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
exiv2.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
libexpat.dll
ntdll.dll
zlib1.dll
exiv2.exe
KERNEL32.dll
KERNELBASE.dll
ntdll.dll
exiv2-0.23/msvc64/zlib125/ 0000755 0001750 0001750 00000000000 11745263366 014636 5 ustar andreas andreas exiv2-0.23/msvc64/zlib125/zlib.vcproj 0000644 0001750 0001750 00000041346 11510162225 017011 0 ustar andreas andreas
exiv2-0.23/msvc64/exiv2/ 0000755 0001750 0001750 00000000000 11745263366 014503 5 ustar andreas andreas exiv2-0.23/msvc64/exiv2/exiv2.vcproj 0000644 0001750 0001750 00000057173 11532054201 016756 0 ustar andreas andreas
exiv2-0.23/msvc64/exiv2/cleaner.bat 0000644 0001750 0001750 00000000136 11505202322 016557 0 ustar andreas andreas del/s *.vcxproj *.ncb *.user *.filters *.sdf
for /r %d in (build,win32,x64) do rmdir/s/q %d
exiv2-0.23/msvc64/exiv2.sln 0000644 0001750 0001750 00000020351 11505202322 015175 0 ustar andreas andreas Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2lib", "exiv2lib\exiv2lib.vcproj", "{831EF580-92C8-4CA8-B0CE-3D906280A54D}"
ProjectSection(ProjectDependencies) = postProject
{8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654}
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}
{09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2", "exiv2\exiv2.vcproj", "{07293CAC-00DA-493E-90C9-5D010C2B1B53}"
ProjectSection(ProjectDependencies) = postProject
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsdk", "xmpsdk\xmpsdk.vcproj", "{09877CF4-83B6-44FE-A2E2-629AA5C8093E}"
ProjectSection(ProjectDependencies) = postProject
{8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654}
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "expat\expat.vcproj", "{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib1", "zlib\zlib.vcproj", "{8308C68D-E12B-4C71-96F4-7137F6BEB654}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
DebugDLL|Win32 = DebugDLL|Win32
DebugDLL|x64 = DebugDLL|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
ReleaseDLL|Win32 = ReleaseDLL|Win32
ReleaseDLL|x64 = ReleaseDLL|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.ActiveCfg = Debug|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.Build.0 = Debug|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.ActiveCfg = Debug|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.Build.0 = Debug|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.Build.0 = DebugDLL|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.ActiveCfg = Release|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.Build.0 = Release|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.ActiveCfg = Release|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.Build.0 = Release|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
{831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.ActiveCfg = Debug|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.Build.0 = Debug|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.ActiveCfg = Debug|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.Build.0 = Debug|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.Build.0 = DebugDLL|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.Build.0 = DebugDLL|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.ActiveCfg = Release|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.Build.0 = Release|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.ActiveCfg = Release|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.Build.0 = Release|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
{07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.ActiveCfg = Debug|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.Build.0 = Debug|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.ActiveCfg = Debug|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.Build.0 = Debug|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.Build.0 = DebugDLL|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.Build.0 = DebugDLL|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.ActiveCfg = Release|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.Build.0 = Release|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.ActiveCfg = Release|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.Build.0 = Release|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
{09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.ActiveCfg = Debug|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.Build.0 = Debug|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.ActiveCfg = Debug|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.Build.0 = Debug|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.Build.0 = DebugDLL|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.Build.0 = DebugDLL|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.ActiveCfg = Release|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.Build.0 = Release|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.ActiveCfg = Release|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.Build.0 = Release|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.ActiveCfg = Debug|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.Build.0 = Debug|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.ActiveCfg = Debug|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.Build.0 = Debug|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.Build.0 = DebugDLL|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.ActiveCfg = DebugDLL|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.Build.0 = DebugDLL|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.ActiveCfg = Release|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.Build.0 = Release|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.ActiveCfg = Release|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.Build.0 = Release|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64
{8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
exiv2-0.23/msvc64/cleanup.bat 0000644 0001750 0001750 00000002367 11744715772 015577 0 ustar andreas andreas setlocal
set X=exiv2\build && if EXIST %X% rmdir/s/q %X%
set X=exiv2\Win32 && if EXIST %X% rmdir/s/q %X%
set X=exiv2\x64 && if EXIST %X% rmdir/s/q %X%
set X=exiv2lib\build && if EXIST %X% rmdir/s/q %X%
set X=exiv2lib\Win32 && if EXIST %X% rmdir/s/q %X%
set X=exiv2lib\x64 && if EXIST %X% rmdir/s/q %X%
set X=expat\build && if EXIST %X% rmdir/s/q %X%
set X=expat\Win32 && if EXIST %X% rmdir/s/q %X%
set X=expat\x64 && if EXIST %X% rmdir/s/q %X%
set X=xmpsdk\build && if EXIST %X% rmdir/s/q %X%
set X=xmpsdk\Win32 && if EXIST %X% rmdir/s/q %X%
set X=xmpsdk\x64 && if EXIST %X% rmdir/s/q %X%
set X=zlib\build && if EXIST %X% rmdir/s/q %X%
set X=zlib\Win32 && if EXIST %X% rmdir/s/q %X%
set X=zlib\x64 && if EXIST %X% rmdir/s/q %X%
set X=zlib123\build && if EXIST %X% rmdir/s/q %X%
set X=zlib123\Win32 && if EXIST %X% rmdir/s/q %X%
set X=zlib123\x64 && if EXIST %X% rmdir/s/q %X%
set X=zlib125\build && if EXIST %X% rmdir/s/q %X%
set X=zlib125\Win32 && if EXIST %X% rmdir/s/q %X%
set X=zlib125\x64 && if EXIST %X% rmdir/s/q %X%
del/s *.ncb
del/s *.sdf
del/s *.vcxproj
del/s *%USERNAME%*
del/s *.filters
rmdir/s/q bin
endlocal
exiv2-0.23/msvc64/buildall.bat 0000644 0001750 0001750 00000002237 11513141451 015711 0 ustar andreas andreas @echo off
rem ##
rem buildall - wee script for building from the command line
setlocal ENABLEEXTENSIONS
set "SYNTAX=buildall [ /build ^| /rebuild ^| /clean ^| /upgrade ]"
rem ##
rem test arguments
set "ACTION=%1%"
if NOT DEFINED ACTION (
echo %SYNTAX%
goto jail
)
rem ##
rem execute /upgrade
if %ACTION%==/upgrade (
devenv /upgrade exiv2.sln
goto jail
)
rem ##
rem cleanup the bin if necessary
set DELBIN=0
if %ACTION%==/rebuild set DELBIN=1
if %ACTION%==/clean set DELBIN=1
if %DELBIN%==1 (
if EXIST bin rmdir/s/q bin
del/s *.pdb *.ild *.ncb *.bsc *.idb *.ilk *.pch *.tlog > NUL
rmdir/s/q exiv2lib\win32 rmdir/s/q exiv2lib\x64 rmdir/s/q zlib\win32 zlib\x64 > NUL
)
rem ##
rem the main build activity
devenv exiv2.sln %ACTION% "Debug|Win32"
devenv exiv2.sln %ACTION% "DebugDLL|Win32"
devenv exiv2.sln %ACTION% "Release|Win32"
devenv exiv2.sln %ACTION% "ReleaseDLL|Win32"
devenv exiv2.sln %ACTION% "Debug|x64"
devenv exiv2.sln %ACTION% "DebugDLL|x64"
devenv exiv2.sln %ACTION% "Release|x64"
devenv exiv2.sln %ACTION% "ReleaseDLL|x64"
rem ##
rem cleanup and leave
:jail
endlocal
rem That's all Folks!
rem ##
exiv2-0.23/msvc64/tools/ 0000755 0001750 0001750 00000000000 11745263366 014606 5 ustar andreas andreas exiv2-0.23/msvc64/tools/depends/ 0000755 0001750 0001750 00000000000 11745263366 016230 5 ustar andreas andreas exiv2-0.23/msvc64/tools/depends/include/ 0000755 0001750 0001750 00000000000 11745263366 017653 5 ustar andreas andreas exiv2-0.23/msvc64/tools/depends/include/DEPENDENCYLIST.H 0000644 0001750 0001750 00000003365 11510227772 022074 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: DEPENDENCYLIST.H
//==========================================
#ifndef __DEPLIST_H__
#define __DEPLIST_H__
#ifndef __MODULEFILEINFO_H__
#include "modulefileinfo.h"
#endif
enum errModuleDependencyList { errMDL_NO_ERROR,
errMDL_FILE_NOT_FOUND,
errMDL_NOT_PE_FILE,
errMDL_GENERAL_FAILURE };
//
// The MODULE_DEPENDENCY_LIST class creates a linked list of MODULE_FILE_INFO
// structures. In theory, this list will represent every executable file
// loaded by the Win32 loader when the executable is loaded. The class creates
// the list by starting with the file passed to the constructor, and recursing
// through all the import tables.
//
class MODULE_DEPENDENCY_LIST
{
public:
MODULE_DEPENDENCY_LIST( PSTR pszFileName );
~MODULE_DEPENDENCY_LIST( );
BOOL IsValid( void ){ return (BOOL)(m_errorType == errMDL_NO_ERROR); }
errModuleDependencyList GetErrorType( void ){ return m_errorType; }
PSTR GetErrorString( void );
PMODULE_FILE_INFO GetNextModule( PMODULE_FILE_INFO p );
PMODULE_FILE_INFO LookupModule( PSTR pszFileName, BOOL fFullName );
unsigned GetNumberOfModules( void ){ return m_cModules; }
protected:
unsigned m_cModules; // Number of modules in list
PMODULE_FILE_INFO m_pList; // Pointer to head of linked list
// Recursively adds modules to the list
errModuleDependencyList AddModule( PSTR pszFullName );
errModuleDependencyList m_errorType; // Error type
};
#endif
exiv2-0.23/msvc64/tools/depends/include/MEMORYMAPPEDFILE.H 0000644 0001750 0001750 00000001720 11510227772 022312 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: MEMORYMAPPEDFILE.H
//==========================================
#ifndef __MEMMAPFL_H__
#define __MEMMAPFL_H__
enum errMMF { errMMF_NoError, errMMF_FileOpen,
errMMF_FileMapping, errMMF_MapView };
class MEMORY_MAPPED_FILE
{
public:
MEMORY_MAPPED_FILE( PSTR pszFileName );
~MEMORY_MAPPED_FILE(void);
PVOID GetBase( void ){ return m_pMemoryMappedFileBase; }
DWORD GetFileSize( void ){ return m_cbFile; }
BOOL IsValid( void ) { return errMMF_NoError == m_errCode; }
errMMF GetErrorType(){ return m_errCode; }
private:
HANDLE m_hFile;
HANDLE m_hFileMapping; // Handle of memory mapped file
PVOID m_pMemoryMappedFileBase;
DWORD m_cbFile;
errMMF m_errCode;
};
typedef MEMORY_MAPPED_FILE *PMEMORY_MAPPED_FILE;
#endif
exiv2-0.23/msvc64/tools/depends/include/EXEFILE.H 0000644 0001750 0001750 00000003010 11510227772 021026 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: EXEFILE.H
//==========================================
#ifndef __EXEFILE_H__
#define __EXEFILE_H__
#ifndef __MEMMAPFL_H__
#include "memorymappedfile.h"
#endif
// MakePtr is a macro that allows you to easily add to values (including
// pointers) together without dealing with C's pointer arithmetic. It
// essentially treats the last two parameters as DWORDs. The first
// parameter is used to typecast the result to the appropriate pointer type.
#define MakePtr( cast, ptr, addValue ) (cast)( (DWORD)(ptr) + (DWORD)(addValue))
enum EXE_TYPE { exeType_Invalid, exeType_DOS, exeType_NE, exeType_VXD,
exeType_LX, exeType_PE };
enum errEXE_FILE { errEXE_FILE_NO_ERROR,
errEXE_FILE_FILE_NOT_FOUND,
errEXE_FILE_INVALID_FORMAT };
class EXE_FILE : public MEMORY_MAPPED_FILE
{
public:
EXE_FILE( PSTR pszFileName );
~EXE_FILE( ){ ; }
BOOL IsValid( void ){ return errMMF_NoError == m_errorType; }
errEXE_FILE GetErrorType( void ){ return m_errorType; }
DWORD GetSecondaryHeaderOffset( void ){ return m_secondaryHeaderOffset; }
EXE_TYPE GetExeType( void ){ return m_exeType; }
PSTR GetFileTypeDescription( void );
protected:
errEXE_FILE m_errorType;
private:
LONG m_secondaryHeaderOffset;
EXE_TYPE m_exeType;
};
#endif
exiv2-0.23/msvc64/tools/depends/include/modulefileinfo.h 0000644 0001750 0001750 00000002217 11510227772 023016 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: MODULEFILEINFO.H
//==========================================
#ifndef __MODULEFILEINFO_H__
#define __MODULEFILEINFO_H__
class MODULE_DEPENDENCY_LIST;
//
// This structure represents one executable file in a module dependency list.
// Both the base filename and the complete path are stored.
//
class MODULE_FILE_INFO
{
public:
MODULE_FILE_INFO( PSTR pszFileName );
~MODULE_FILE_INFO( void ){}
PSTR GetBaseName( void ){ return m_szBaseName; }
PSTR GetFullName( void ){ return m_szFullName; }
// For enumerating through the unlocatable imported modules
MODULE_FILE_INFO * GetNextNotFoundModule( MODULE_FILE_INFO * );
private:
MODULE_FILE_INFO * m_pNext;
MODULE_FILE_INFO * m_pNotFoundNext;
char m_szBaseName[MAX_PATH];
char m_szFullName[MAX_PATH];
// And an unlocatable module to the "not found" list
void AddNotFoundModule( PSTR pszFileName );
friend class MODULE_DEPENDENCY_LIST;
};
typedef MODULE_FILE_INFO * PMODULE_FILE_INFO;
#endif
exiv2-0.23/msvc64/tools/depends/include/PEEXE.H 0000644 0001750 0001750 00000007441 11510227772 020627 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: PEEXE.H
//==========================================
#ifndef __PEEXE_H__
#define __PEEXE_H__
#ifndef __EXEFILE_H__
#include "exefile.h"
#endif
class PE_EXE : public EXE_FILE
{
public:
PE_EXE( PSTR pszFileName );
~PE_EXE( ){ }
BOOL IsValid() { return m_pNtHdr ? TRUE : FALSE; }
// For those who want at the data directly
PIMAGE_NT_HEADERS GetIMAGE_NT_HEADERS( void ) { return m_pNtHdr; }
// IMAGE_FILE_HEADER fields
WORD GetMachine( void )
{ return m_pNtHdr->FileHeader.Machine; }
WORD GetNumberOfSections( void )
{ return m_pNtHdr->FileHeader.NumberOfSections; }
DWORD GetTimeDateStamp(void)
{ return m_pNtHdr->FileHeader.TimeDateStamp; }
DWORD GetCharacteristics( void )
{ return m_pNtHdr->FileHeader.Characteristics; }
// IMAGE_OPTIONAL_HEADER fields
DWORD GetSizeOfCode( void )
{ return m_pNtHdr->OptionalHeader.SizeOfCode; }
DWORD GetSizeOfInitializedData( void )
{ return m_pNtHdr->OptionalHeader.SizeOfInitializedData; }
DWORD GetSizeOfUninitializedData( void )
{ return m_pNtHdr->OptionalHeader.SizeOfUninitializedData; }
DWORD GetAddressOfEntryPoint( void )
{ return m_pNtHdr->OptionalHeader.AddressOfEntryPoint; }
DWORD GetBaseOfCode( void )
{ return m_pNtHdr->OptionalHeader.BaseOfCode; }
/*
DWORD GetBaseOfData( void )
{ return m_pNtHdr->OptionalHeader.BaseOfData; }
*/
DWORD GetImageBase( void )
{ return m_pNtHdr->OptionalHeader.ImageBase; }
DWORD GetSectionAlignment( void )
{ return m_pNtHdr->OptionalHeader.SectionAlignment; }
DWORD GetFileAlignment( void )
{ return m_pNtHdr->OptionalHeader.FileAlignment; }
WORD GetMajorOperatingSystemVersion( void )
{ return m_pNtHdr->OptionalHeader.MajorOperatingSystemVersion; }
WORD GetMinorOperatingSystemVersion( void )
{ return m_pNtHdr->OptionalHeader.MinorOperatingSystemVersion; }
WORD GetMajorImageVersion( void )
{ return m_pNtHdr->OptionalHeader.MajorImageVersion; }
WORD GetMinorImageVersion( void )
{ return m_pNtHdr->OptionalHeader.MinorImageVersion; }
WORD GetMajorSubsystemVersion( void )
{ return m_pNtHdr->OptionalHeader.MajorSubsystemVersion; }
WORD GetMinorSubsystemVersion( void )
{ return m_pNtHdr->OptionalHeader.MinorSubsystemVersion; }
// DWORD GetWin32VersionValue( void )
// { return m_pNtHdr->OptionalHeader.Win32VersionValue; }
DWORD GetSizeOfImage( void )
{ return m_pNtHdr->OptionalHeader.SizeOfImage; }
DWORD GetSizeOfHeaders( void )
{ return m_pNtHdr->OptionalHeader.SizeOfHeaders; }
WORD GetSubsystem( void )
{ return m_pNtHdr->OptionalHeader.Subsystem; }
DWORD GetSizeOfStackReserve( void )
{ return m_pNtHdr->OptionalHeader.SizeOfStackReserve; }
DWORD GetSizeOfStackCommit( void )
{ return m_pNtHdr->OptionalHeader.SizeOfStackCommit; }
DWORD GetSizeOfHeapReserve( void )
{ return m_pNtHdr->OptionalHeader.SizeOfHeapReserve; }
DWORD GetSizeOfHeapCommit( void )
{ return m_pNtHdr->OptionalHeader.SizeOfHeapCommit; }
DWORD GetDataDirectoryEntryRVA( DWORD id );
PVOID GetDataDirectoryEntryPointer( DWORD id );
DWORD GetDataDirectoryEntrySize( DWORD id );
PVOID GetReadablePointerFromRVA( DWORD rva );
protected:
DWORD RVAToFileOffset( DWORD rva );
PIMAGE_NT_HEADERS m_pNtHdr;
};
#endif
exiv2-0.23/msvc64/tools/depends/stdafx.h 0000644 0001750 0001750 00000000500 11510227772 017654 0 ustar andreas andreas // stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#include
#include
// TODO: reference additional headers your program requires here
exiv2-0.23/msvc64/tools/depends/src/ 0000755 0001750 0001750 00000000000 11745263366 017017 5 ustar andreas andreas exiv2-0.23/msvc64/tools/depends/src/MEMORYMAPPEDFILE.CPP 0000644 0001750 0001750 00000004316 11510227772 021715 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: MEMORYMPAPPEDFILE.CPP
//==========================================
#include
#pragma hdrstop
#include "memorymappedfile.h"
MEMORY_MAPPED_FILE::MEMORY_MAPPED_FILE( PSTR pszFileName )
{
//
// Given a filename, the constructor opens a file handle, creates a file
// mapping, and maps the entire file into memory.
//
m_hFile = INVALID_HANDLE_VALUE;
m_hFileMapping = 0;
m_pMemoryMappedFileBase = 0;
m_cbFile = 0;
m_errCode = errMMF_FileOpen; // Initial error code: not found
// First get a file handle
m_hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE)0);
if ( m_hFile == INVALID_HANDLE_VALUE )
{
m_errCode = errMMF_FileOpen;
return;
}
m_cbFile = ::GetFileSize( m_hFile, 0 );
// Now, create a file mapping
m_hFileMapping = CreateFileMapping(m_hFile,NULL, PAGE_READONLY, 0, 0,NULL);
if ( m_hFileMapping == 0 )
{
// Oops. Something went wrong. Clean up.
CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
m_errCode = errMMF_FileMapping;
return;
}
m_pMemoryMappedFileBase = (PCHAR)MapViewOfFile( m_hFileMapping,
FILE_MAP_READ, 0, 0, 0);
if ( m_pMemoryMappedFileBase == 0 )
{
// Oops. Something went wrong. Clean up.
CloseHandle(m_hFileMapping);
m_hFileMapping = 0;
CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
m_errCode = errMMF_MapView;
return;
}
m_errCode = errMMF_NoError;
}
MEMORY_MAPPED_FILE::~MEMORY_MAPPED_FILE(void)
{
// Clean up everything that was created by the constructor
if ( m_pMemoryMappedFileBase )
UnmapViewOfFile( m_pMemoryMappedFileBase );
if ( m_hFileMapping )
CloseHandle( m_hFileMapping );
if ( m_hFile != INVALID_HANDLE_VALUE )
CloseHandle( m_hFile );
m_errCode = errMMF_FileOpen;
}
exiv2-0.23/msvc64/tools/depends/src/EXEFILE.CPP 0000644 0001750 0001750 00000004646 11510227772 020445 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: EXEFILE.CPP
//==========================================
#include
#pragma hdrstop
#include "exefile.h"
EXE_FILE::EXE_FILE( PSTR pszFileName ) : MEMORY_MAPPED_FILE( pszFileName )
{
m_errorType = errEXE_FILE_FILE_NOT_FOUND;
m_secondaryHeaderOffset = -1; // A bogus value to catch bugs
m_exeType = exeType_Invalid;
if ( FALSE == MEMORY_MAPPED_FILE::IsValid() )
return; // m_errorType already set to errEXE_FILE_FILE_NOT_FOUND
// If we get here, the file exists, and was mapped. We're still not
// sure that it's a valid EXE though
m_errorType = errEXE_FILE_INVALID_FORMAT;
if ( GetFileSize() < sizeof(IMAGE_DOS_HEADER) )
return;
PIMAGE_DOS_HEADER pDosHdr = (PIMAGE_DOS_HEADER)GetBase();
if ( IMAGE_DOS_SIGNATURE != pDosHdr->e_magic )
return;
// If we get here, it's at least a DOS 'MZ' file
m_errorType = errEXE_FILE_NO_ERROR;
if ( pDosHdr->e_lfarlc < 0x40 ) // Theoretically, this field must be >=
{ // 0x40 for it to be a non-DOS executable
m_exeType = exeType_DOS;
return;
}
// Sanity check. Make sure the "new header" offset isn't past the end
// of the file
if ( pDosHdr->e_lfanew > (LONG)GetFileSize() )
return;
// Make a pointer to the secondary header
m_secondaryHeaderOffset = pDosHdr->e_lfanew;
PWORD pSecondHdr = MakePtr( PWORD, GetBase(), m_secondaryHeaderOffset );
// Decide what type of EXE, based on the start of the secondary header
switch ( *pSecondHdr )
{
case IMAGE_OS2_SIGNATURE: m_exeType = exeType_NE; break;
case IMAGE_VXD_SIGNATURE: m_exeType = exeType_VXD; break;
case 0x4558: m_exeType = exeType_LX; break; // OS/2 2.X
}
if ( *(PDWORD)pSecondHdr == IMAGE_NT_SIGNATURE )
m_exeType = exeType_PE;
}
PSTR EXE_FILE::GetFileTypeDescription( void )
{
// Returns a static string that describes what type this file is
switch ( m_exeType )
{
case exeType_DOS: return "DOS";
case exeType_NE: return "NE";
case exeType_VXD: return "VXD";
case exeType_LX: return "LX";
case exeType_PE: return "PE";
default: return "Invalid";
}
}
exiv2-0.23/msvc64/tools/depends/src/modulefileinfo.cpp 0000644 0001750 0001750 00000002421 11510227772 022512 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: MODULEFILEINFO.CPP
//==========================================
#include
#include "modulefileinfo.h"
MODULE_FILE_INFO::MODULE_FILE_INFO( PSTR pszFileName )
{
m_pNext = 0;
m_pNotFoundNext = 0;
// Find the last '\\' to obtain a pointer to just the base filename part
PSTR pszBaseName = strrchr( pszFileName, '\\' );
if ( pszBaseName ) // We found a path, so advance to the base filename
pszBaseName++;
else
pszBaseName = pszFileName; // No path. Use the same name for both
// Initialize the new MODULE_FILE_INFO, and stick it at the head
// of the list.
lstrcpyn( m_szFullName, pszFileName, sizeof(m_szFullName) );
lstrcpyn( m_szBaseName, pszBaseName, sizeof(m_szBaseName) );
}
void MODULE_FILE_INFO::AddNotFoundModule( PSTR pszFileName )
{
PMODULE_FILE_INFO pNew = new MODULE_FILE_INFO( pszFileName );
pNew->m_pNotFoundNext = m_pNotFoundNext;
m_pNotFoundNext = pNew;
}
MODULE_FILE_INFO * MODULE_FILE_INFO::GetNextNotFoundModule( PMODULE_FILE_INFO p)
{
PMODULE_FILE_INFO pNext = p ? p->m_pNotFoundNext : m_pNotFoundNext;
return pNext;
}
exiv2-0.23/msvc64/tools/depends/src/depends.cpp 0000644 0001750 0001750 00000022062 11510227772 021136 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: DEPENDS.CPP
//==========================================
#include
#include
#include "dependencylist.h"
#include "peexe.h"
//============================== Variables ===============================
char g_szHelpSyntax[] =
"DEPENDS - Matt Pietrek, 1997, for MSJ\n"
"Syntax: DEPENDS [args] \n"
" /v show version information\n"
" /t show time & date information\n"
" /p show full path\n"
" /q quiet (don't report some MS dlls)\n"
" /l show link time & date information\n\n";
char * g_pszPrimaryFile = 0;
BOOL g_fShowDateTime = FALSE;
BOOL g_fShowLinkDateTime = FALSE;
BOOL g_fShowVersion = FALSE;
BOOL g_fShowFullPath = FALSE;
BOOL g_fQuiet = FALSE;
//============================== Prototypes ===============================
void DisplayFileInformation( PMODULE_FILE_INFO pModInfo,BOOL bQuiet );
void ShowVersionInfo( PSTR pszFileName );
BOOL TimeDateStampToFileTime( DWORD timeDateStamp, LPFILETIME pFileTime );
BOOL GetFileDateAsString( LPFILETIME pFt, char * pszDate, unsigned cbIn );
BOOL GetFileTimeAsString( LPFILETIME pFt, char * pszTime, unsigned cbIn,
BOOL fSeconds );
//=================================== Code ================================
BOOL ProcessCommandLine( int argc, char * argv[] )
{
BOOL fSawFileName = FALSE;
if ( argc < 2 )
return FALSE;
for ( int i = 1; i < argc; i++ )
{
PSTR pArg = argv[i];
if ( (*pArg == '/') || (*pArg == '-') ) // Is it a switch char?
{
pArg++; // Point past switch char
if ( 0 == lstrcmpi( pArg, "v" ) )
g_fShowVersion = TRUE;
else if ( 0 == lstrcmpi( pArg, "t" ) )
g_fShowDateTime = TRUE;
else if ( 0 == lstrcmpi( pArg, "l" ) )
g_fShowLinkDateTime = TRUE;
else if ( 0 == lstrcmpi( pArg, "p" ) )
g_fShowFullPath = TRUE;
else if ( 0 == lstrcmpi( pArg, "q" ) )
g_fQuiet = TRUE;
else
{
printf( "Unrecognized option: \"%s\"\n", pArg );
return FALSE;
}
}
else
{
if ( fSawFileName )
return FALSE;
g_pszPrimaryFile = pArg;
fSawFileName = TRUE;
}
}
return fSawFileName;
}
LPCTSTR getModuleBase(PMODULE_FILE_INFO pModule,BOOL bQuiet)
{
LPCTSTR base = pModule->GetBaseName() ;
LPCTSTR result = base ;
if ( bQuiet ) {
// keep quiet about these guys - they're build/compiler dependant
if ( _strnicmp(base,"MSVCR",5) == 0 ) result = NULL ;
if ( _strnicmp(base,"MSVCP",5) == 0 ) result = NULL ;
if ( _strnicmp(base,"API-MS-Win",10) == 0 ) result = NULL ;
}
return result ;
}
int main( int argc, char * argv[] )
{
if ( !ProcessCommandLine( argc, argv ) )
{
printf( "%s %d bit build\n%s",argv[0],8*sizeof(void*),g_szHelpSyntax );
return 1;
}
MODULE_DEPENDENCY_LIST depends( g_pszPrimaryFile );
if ( !depends.IsValid() )
{
printf( "Error: %s %s\n", g_pszPrimaryFile, depends.GetErrorString() );
return 1;
}
PMODULE_FILE_INFO pModInfo = 0;
while ( pModInfo = depends.GetNextModule( pModInfo ) )
{
DisplayFileInformation( pModInfo,g_fQuiet );
PMODULE_FILE_INFO pNotFound = 0;
while ( pNotFound = pModInfo->GetNextNotFoundModule(pNotFound) )
{
LPCTSTR base = getModuleBase(pNotFound,g_fQuiet) ;
if ( base ) printf( " Not found: %s\n", base );
}
}
return 0;
}
void DisplayFileInformation( PMODULE_FILE_INFO pModInfo, BOOL bQuiet )
{
LPCTSTR base = getModuleBase(pModInfo,bQuiet);
if ( !base ) return ;
printf( "%-14s", base) ; // ->GetBaseName() );
PSTR pszFullName = pModInfo->GetFullName();
if ( g_fShowDateTime )
{
HFILE hFile = _lopen( pszFullName, OF_READ );
if ( HFILE_ERROR != hFile )
{
FILETIME ft;
if ( GetFileTime( (HANDLE)hFile, 0, 0, &ft ) )
{
char szFileDate[32] = { 0 };
char szFileTime[32] = { 0 };
GetFileDateAsString(&ft, szFileDate, sizeof(szFileDate) );
GetFileTimeAsString(&ft, szFileTime, sizeof(szFileTime),
TRUE);
printf( "%s %s ", szFileDate, szFileTime );
}
_lclose( hFile );
}
}
if ( g_fShowLinkDateTime )
{
FILETIME ft;
char szFileDate[32] = { 0 };
char szFileTime[32] = { 0 };
PE_EXE exe( pszFullName );
TimeDateStampToFileTime( exe.GetTimeDateStamp(), &ft );
GetFileDateAsString(&ft, szFileDate, sizeof(szFileDate) );
GetFileTimeAsString(&ft, szFileTime, sizeof(szFileTime),
TRUE);
printf( "%s %s ", szFileDate, szFileTime );
}
if ( g_fShowFullPath )
printf( "(%s)", pszFullName );
printf( "\n" );
if ( g_fShowVersion )
ShowVersionInfo( pszFullName );
}
void ShowVersionInfo( PSTR pszFileName )
{
DWORD cbVerInfo, dummy;
// How big is the version info?
cbVerInfo = GetFileVersionInfoSize( pszFileName, &dummy );
if ( !cbVerInfo )
return;
// Allocate space to hold the info
PBYTE pVerInfo = new BYTE[cbVerInfo];
if ( !pVerInfo )
return;
_try
{
if ( !GetFileVersionInfo(pszFileName, 0, cbVerInfo, pVerInfo) )
_leave;
char * predefResStrings[] =
{
"CompanyName",
"FileDescription",
"FileVersion",
"InternalName",
"LegalCopyright",
"OriginalFilename",
"ProductName",
"ProductVersion",
0
};
for ( unsigned i=0; predefResStrings[i]; i++ )
{
char szQueryStr[ 0x100 ];
char szQueryStr2[0x100 ];
// Format the string with the 1200 codepage (Unicode)
wsprintf( szQueryStr, "\\StringFileInfo\\%04X%04X\\%s",
GetUserDefaultLangID(), 1200,
predefResStrings[i] );
// Format the string with the 1252 codepage (Windows Multilingual)
wsprintf( szQueryStr2, "\\StringFileInfo\\%04X%04X\\%s",
GetUserDefaultLangID(), 1252,
predefResStrings[i] );
// We may want to format a string with the "0000" codepage
PSTR pszVerRetVal;
UINT cbReturn;
BOOL fFound;
// Try first with the 1252 codepage
fFound = VerQueryValue( pVerInfo, szQueryStr,
(LPVOID *)&pszVerRetVal, &cbReturn );
if ( !fFound )
{
// Hmm... 1252 wasn't found. Try the 1200 codepage
fFound = VerQueryValue( pVerInfo, szQueryStr2,
(LPVOID *)&pszVerRetVal, &cbReturn );
}
if ( fFound )
printf( " %s %s\n", predefResStrings[i], pszVerRetVal );
}
}
_finally
{
delete []pVerInfo;
}
}
// Convert a TimeDateStamp (i.e., # of seconds since 1/1/1970) into a FILETIME
BOOL TimeDateStampToFileTime( DWORD timeDateStamp, LPFILETIME pFileTime )
{
__int64 t1970 = 0x019DB1DED53E8000; // Magic... GMT... Don't ask....
__int64 timeStampIn100nsIncr = (__int64)timeDateStamp * 10000000;
__int64 finalValue = t1970 + timeStampIn100nsIncr;
memcpy( pFileTime, &finalValue, sizeof( finalValue ) );
return TRUE;
}
BOOL GetFileDateAsString( LPFILETIME pFt, char * pszDate, unsigned cbIn )
{
FILETIME ftLocal;
SYSTEMTIME st;
if ( !FileTimeToLocalFileTime( pFt, &ftLocal ) )
return FALSE;
if ( !FileTimeToSystemTime( &ftLocal, &st ) )
return FALSE;
char szTemp[12];
wsprintf( szTemp, "%02u/%02u/%04u",
st.wMonth, st.wDay, st.wYear );
lstrcpyn( pszDate, szTemp, cbIn );
return TRUE;
}
BOOL GetFileTimeAsString( LPFILETIME pFt, char * pszTime, unsigned cbIn,
BOOL fSeconds )
{
FILETIME ftLocal;
SYSTEMTIME st;
if ( !FileTimeToLocalFileTime( pFt, &ftLocal ) )
return FALSE;
if ( !FileTimeToSystemTime( &ftLocal, &st ) )
return FALSE;
char szTemp[12];
if ( fSeconds ) // Want seconds???
{
wsprintf( szTemp, "%02u:%02u:%02u", st.wHour, st.wMinute, st.wSecond );
}
else // No thanks.. Just hours and minutes
{
wsprintf( szTemp, "%02u:%02u", st.wHour, st.wMinute );
}
lstrcpyn( pszTime, szTemp, cbIn );
return TRUE;
}
exiv2-0.23/msvc64/tools/depends/src/PEEXE.CPP 0000644 0001750 0001750 00000005721 11510227772 020225 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: PEEXE.CPP
//==========================================
#include
#include
#pragma hdrstop
#include "peexe.h"
PE_EXE::PE_EXE( PSTR pszFileName ) : EXE_FILE( pszFileName )
{
m_pNtHdr = 0;
if ( FALSE == EXE_FILE::IsValid() )
return;
// It's an EXE, but is it a *PE* file??? If not, set code and bail
if ( GetExeType() != exeType_PE )
{
m_errorType = errEXE_FILE_INVALID_FORMAT;
return;
}
m_pNtHdr = MakePtr(PIMAGE_NT_HEADERS,GetBase(),GetSecondaryHeaderOffset());
}
DWORD PE_EXE::GetDataDirectoryEntryRVA( DWORD id )
{
// Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), retrive the
// RVA stored in the corresponding slot
if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES )
return (DWORD)-1;
return m_pNtHdr->OptionalHeader.DataDirectory[id].VirtualAddress;
}
PVOID PE_EXE::GetDataDirectoryEntryPointer( DWORD id )
{
// Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), return a pointer
// to memory that corresponds to the RVA in the specified slot.
if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES )
return (PVOID)-1;
DWORD va = m_pNtHdr->OptionalHeader.DataDirectory[id].VirtualAddress;
if ( !va ) // Return 0 if the RVA is 0
return 0;
return GetReadablePointerFromRVA( va );
}
DWORD PE_EXE::GetDataDirectoryEntrySize( DWORD id )
{
// Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), retrive the
// size value stored in the corresponding slot
if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES )
return (DWORD)-1;
return m_pNtHdr->OptionalHeader.DataDirectory[id].Size;
}
PVOID PE_EXE::GetReadablePointerFromRVA( DWORD rva )
{
// Given an RVA, translate it into a pointer within our linear memory
// mapping for the executable.
DWORD fileOffset = RVAToFileOffset( rva );
if ( (DWORD)-1 == fileOffset )
return 0;
return MakePtr( PVOID, GetBase(), fileOffset );
}
DWORD PE_EXE::RVAToFileOffset( DWORD rva )
{
// Given an RVA, figure out which section encompasses it. Next, using
// the PointerToRawData field for the found section, return an actual
// file offset that corresponds to the RVA
PIMAGE_SECTION_HEADER pSectHdr = IMAGE_FIRST_SECTION( m_pNtHdr );
for ( unsigned i = 0; i < GetNumberOfSections(); i++, pSectHdr++ )
{
DWORD cbMaxOnDisk
= min( pSectHdr->Misc.VirtualSize, pSectHdr->SizeOfRawData );
DWORD startSectRVA = pSectHdr->VirtualAddress;
DWORD endSectRVA = startSectRVA + cbMaxOnDisk;
if ( (rva >= startSectRVA) && (rva < endSectRVA) )
return pSectHdr->PointerToRawData + (rva - startSectRVA);
}
return (DWORD)-1; // RVA not found in the section table... Ooops!
}
exiv2-0.23/msvc64/tools/depends/src/DEPENDENCYLIST.CPP 0000644 0001750 0001750 00000013246 11510227772 021472 0 ustar andreas andreas //==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: DEPENDENCYLIST.CPP
//==========================================
#include
#include
#pragma hdrstop
#include "peexe.h"
#include "dependencylist.h"
MODULE_DEPENDENCY_LIST::MODULE_DEPENDENCY_LIST( PSTR pszFileName )
{
m_errorType = errMDL_GENERAL_FAILURE;
m_cModules = 0;
m_pList = 0;
// Make a copy of the path that we can modify to get just the path portion
PSTR pszJustPath = _strdup( pszFileName );
if ( !pszJustPath )
return;
BOOL fHasPath = FALSE;
PSTR pszEnd = strrchr( pszJustPath, '\\' );
if ( pszEnd )
{
*pszEnd = 0; /// Strip off the filename
fHasPath = TRUE;
}
//
// If a path was part of the input filename, save the current directory,
// then switch to the new directory.
//
char szOriginalPath[MAX_PATH];
if ( fHasPath )
{
// This doesn't take into account "App_Paths"!
GetCurrentDirectory(MAX_PATH, szOriginalPath); // Save original dir
SetCurrentDirectory( pszJustPath ); // Switch to app's dir
}
//
// recursively build the module list
//
m_errorType = AddModule( pszFileName );
if ( fHasPath ) // Set things back to the way they were
SetCurrentDirectory( szOriginalPath );
free( pszJustPath ); // Free the copy of the path that we allocated
}
MODULE_DEPENDENCY_LIST::~MODULE_DEPENDENCY_LIST( )
{
PMODULE_FILE_INFO pTemp;
// Delete each MODULE_FILE_INFO structures in the regular linked list
pTemp = m_pList;
while ( pTemp )
{
pTemp = m_pList->m_pNext;
// Before we delete the module, delete each MODULE_FILE_INFO
// structures in the not found list
PMODULE_FILE_INFO pNotFound = m_pList->m_pNotFoundNext;
while ( pNotFound )
{
pNotFound = m_pList->m_pNotFoundNext->m_pNotFoundNext;
delete m_pList->m_pNotFoundNext;
m_pList->m_pNotFoundNext = pNotFound;
}
// Now it's OK to delete the module
delete m_pList;
m_pList = pTemp;
m_cModules--;
}
m_pList = 0;
}
PMODULE_FILE_INFO MODULE_DEPENDENCY_LIST::GetNextModule( PMODULE_FILE_INFO p )
{
// Returns the next module in the linked list of MODULE_FILE_INFO's
return p ? p->m_pNext : m_pList;
}
// Given the name of a file, find the MODULE_FILE_INFO structure that
// represents it. The fFullName parameter specifies whether the full path
// names or just the base file names will be compared.
PMODULE_FILE_INFO MODULE_DEPENDENCY_LIST::LookupModule( PSTR pszFileName,
BOOL fFullName )
{
PMODULE_FILE_INFO p = m_pList; // Start at the list head
while ( p ) // While there's still entries in the list...
{
PSTR pszCompName = fFullName ? p->m_szFullName : p->m_szBaseName;
if ( 0 == lstrcmpi( pszFileName, pszCompName ) )
return p;
p = p->m_pNext;
}
return 0;
}
PSTR MODULE_DEPENDENCY_LIST::GetErrorString( void )
{
switch ( m_errorType )
{
case errMDL_NO_ERROR: return "No error";
case errMDL_FILE_NOT_FOUND: return "File not found";
case errMDL_NOT_PE_FILE: return "Not a PE file";
case errMDL_GENERAL_FAILURE:return "General failure";
default: return "";
}
}
// Adds a modules to the MODULE_FILE_INFO list. If the module imports other
// modules, this routine recurses to add them, and check their imports.
errModuleDependencyList
MODULE_DEPENDENCY_LIST::AddModule( PSTR pszFileName )
{
PE_EXE peFile( pszFileName ); // Get easy access to the executable
if ( FALSE == peFile.IsValid() ) // A valid PE file???
return (errModuleDependencyList)peFile.GetErrorType();
PMODULE_FILE_INFO pNew = new MODULE_FILE_INFO( pszFileName );
if ( !pNew )
return errMDL_GENERAL_FAILURE;
pNew->m_pNext = m_pList;
m_pList = pNew;
m_cModules++;
//
// Now see if this module imports any other modules. If so, we need
// to recurse and add them as well.
//
if (0 == peFile.GetDataDirectoryEntrySize( IMAGE_DIRECTORY_ENTRY_IMPORT ))
return errMDL_NO_ERROR;
// Make a pointer to the imports table
PIMAGE_IMPORT_DESCRIPTOR pImportDir;
pImportDir = (PIMAGE_IMPORT_DESCRIPTOR)
peFile.GetDataDirectoryEntryPointer(IMAGE_DIRECTORY_ENTRY_IMPORT);
if ( !pImportDir )
return errMDL_NO_ERROR;
// While there are still non-null IMAGE_IMPORT_DESCRIPTORs...
while ( pImportDir->Name )
{
// Get a pointer to the imported module's base name
PSTR pszBaseName;
pszBaseName = (PSTR)peFile.GetReadablePointerFromRVA(pImportDir->Name);
if ( !pszBaseName )
break;
// Check to see if it's already in our list. Don't add again if so.
if ( 0 == LookupModule( pszBaseName, FALSE ) )
{
// Search path supposedly has the same searching algorithm as
// the the Win32 loader...
char szPath[MAX_PATH];
PSTR pszDontCare;
if ( SearchPath(0, pszBaseName, 0, MAX_PATH, szPath, &pszDontCare))
AddModule( szPath );
else
pNew->AddNotFoundModule( pszBaseName );
}
pImportDir++; // Advance to next imported module
}
return errMDL_NO_ERROR;
}
exiv2-0.23/msvc64/tools/depends/depends.vcproj 0000644 0001750 0001750 00000020315 11510227772 021067 0 ustar andreas andreas
exiv2-0.23/msvc64/tools/depends/Depends2.suo 0000644 0001750 0001750 00000100000 11510227772 020402 0 ustar andreas andreas ÐÏࡱá > þÿ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿ
þÿÿÿ þÿÿÿ> þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR o o t E n t r y ÿÿÿÿÿÿÿÿ àü„áªË À" P r o j I n f o E x ÿÿÿÿÿÿÿÿÿÿÿÿ T a s k L i s t U s e r T a s k s $ ÿÿÿÿÿÿÿÿ V s T o o l b o x S e r v i c e " # ÿÿÿÿÿÿÿÿ þÿÿÿþÿÿÿþÿÿÿ þÿÿÿþÿÿÿ þÿÿÿþÿÿÿþÿÿÿ þÿÿÿL þÿÿÿ 0 þÿÿÿ! W # $ % ; þÿÿÿþÿÿÿ) * þÿÿÿ, - . / þÿÿÿ1 2 3 4 5 6 7 8 9 : þÿÿÿ<