[LIBTIFF]
authorThomas Faber <thomas.faber@reactos.org>
Fri, 17 Feb 2017 13:05:50 +0000 (13:05 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Fri, 17 Feb 2017 13:05:50 +0000 (13:05 +0000)
- Use the official libtiff 4.0.3 def file to determine exported functions (instead of exporting everything in GCC builds, nothing in MSVC builds)
- Remove unused ROS-diffs
CORE-6898 CORE-12275

svn path=/trunk/; revision=73811

reactos/dll/3rdparty/libtiff/CMakeLists.txt
reactos/dll/3rdparty/libtiff/libtiff.def
reactos/dll/3rdparty/libtiff/rosdiff.patch [deleted file]
reactos/sdk/include/reactos/libs/libtiff/rosdiff.patch [deleted file]

index 9cbb384..6ecbaa3 100644 (file)
@@ -51,7 +51,7 @@ list(APPEND SOURCE
     tif_zip.c
     precomp.h)
 
-add_library(libtiff SHARED ${SOURCE})
+add_library(libtiff SHARED ${SOURCE} libtiff.def)
 set_module_type(libtiff win32dll)
 target_link_libraries(libtiff zlib getopt)
 add_importlibs(libtiff user32 msvcrt kernel32 ntdll)
index 3caefd8..892ad23 100644 (file)
@@ -12,12 +12,19 @@ EXPORTS TIFFOpen
        TIFFGetTagListEntry
        TIFFGetTagListCount
        TIFFReadDirectory
+       TIFFScanlineSize64
        TIFFScanlineSize
+       TIFFStripSize64
        TIFFStripSize
+       TIFFVStripSize64
        TIFFVStripSize
+       TIFFRawStripSize64
        TIFFRawStripSize
+       TIFFTileRowSize64
        TIFFTileRowSize
+       TIFFTileSize64
        TIFFTileSize
+       TIFFVTileSize64
        TIFFVTileSize
        TIFFFileno
        TIFFSetFileno
@@ -86,17 +93,20 @@ EXPORTS TIFFOpen
        TIFFWriteEncodedTile
        TIFFWriteRawTile
        TIFFSetWriteOffset
+       TIFFSwabFloat
        TIFFSwabDouble
        TIFFSwabShort
        TIFFSwabLong
        TIFFSwabArrayOfShort
        TIFFSwabArrayOfLong
+       TIFFSwabArrayOfFloat
        TIFFSwabArrayOfDouble
        TIFFSwabArrayOfTriples
        TIFFReverseBits
        TIFFGetBitRevTable
        TIFFDefaultStripSize
        TIFFDefaultTileSize
+       TIFFRasterScanlineSize64
        TIFFRasterScanlineSize
        _TIFFmalloc
        _TIFFrealloc
@@ -104,13 +114,17 @@ EXPORTS TIFFOpen
        _TIFFmemset
        _TIFFmemcpy
        _TIFFmemcmp
+       _TIFFCheckMalloc
        TIFFCreateDirectory
        TIFFSetTagExtender
-       TIFFMergeFieldInfo
-       TIFFFindFieldInfo
-       TIFFFindFieldInfoByName
        TIFFFieldWithName
        TIFFFieldWithTag
+       TIFFFieldTag
+       TIFFFieldName
+       TIFFFieldDataType
+       TIFFFieldPassCount
+       TIFFFieldReadCount
+       TIFFFieldWriteCount
        TIFFCurrentDirOffset
        TIFFWriteCheck
        TIFFRGBAImageOK
@@ -137,4 +151,8 @@ EXPORTS TIFFOpen
        TIFFAccessTagMethods
        TIFFGetClientInfo
        TIFFSetClientInfo
-       TIFFReassignTagToIgnore
+       TIFFSwabLong8
+       TIFFSwabArrayOfLong8
+       TIFFFindField
+       TIFFUnsetField
+       TIFFMergeFieldInfo
diff --git a/reactos/dll/3rdparty/libtiff/rosdiff.patch b/reactos/dll/3rdparty/libtiff/rosdiff.patch
deleted file mode 100644 (file)
index f24bc8e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: tif_open.c
-===================================================================
---- tif_open.c (revision 48037)
-+++ tif_open.c (working copy)
-@@ -516,6 +516,9 @@
- TIFFSetClientdata(TIFF* tif, thandle_t newvalue)
- {
-       thandle_t m = tif->tif_clientdata;
-+#ifdef USE_WIN32_FILEIO
-+      newvalue = (thandle_t)_get_osfhandle((int)newvalue);
-+#endif /* USE_WIN32_FILEIO */
-       tif->tif_clientdata = newvalue;
-       return m;
- }
\ No newline at end of file
diff --git a/reactos/sdk/include/reactos/libs/libtiff/rosdiff.patch b/reactos/sdk/include/reactos/libs/libtiff/rosdiff.patch
deleted file mode 100644 (file)
index 06148fc..0000000
+++ /dev/null
@@ -1,445 +0,0 @@
-Index: tiffio.h
-===================================================================
---- tiffio.h   (revision 48037)
-+++ tiffio.h   (working copy)
-@@ -27,6 +27,30 @@
- #ifndef _TIFFIO_
- #define       _TIFFIO_
-+#ifndef __GNUC__
-+# define __DLL_IMPORT__  __declspec(dllimport)
-+# define __DLL_EXPORT__  __declspec(dllexport)
-+#else
-+# define __DLL_IMPORT__  __attribute__((dllimport)) extern
-+# define __DLL_EXPORT__  __attribute__((dllexport)) extern
-+#endif 
-+
-+#if (defined __WIN32__) || (defined _WIN32)
-+# ifdef BUILD_LIBTIFF_DLL
-+#  define LIBTIFF_DLL_IMPEXP     __DLL_EXPORT__
-+# elif defined(LIBTIFF_STATIC)
-+#  define LIBTIFF_DLL_IMPEXP      
-+# elif defined (USE_LIBTIFF_DLL)
-+#  define LIBTIFF_DLL_IMPEXP     __DLL_IMPORT__
-+# elif defined (USE_LIBTIFF_STATIC)
-+#  define LIBTIFF_DLL_IMPEXP      
-+# else /* assume USE_LIBTIFF_DLL */
-+#  define LIBTIFF_DLL_IMPEXP     __DLL_IMPORT__
-+# endif
-+#else /* __WIN32__ */
-+# define LIBTIFF_DLL_IMPEXP  
-+#endif
-+
- /*
-  * TIFF I/O Library Definitions.
-  */
-@@ -80,10 +104,20 @@
-  */
- #if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows)
-+#  define BINMODE "b"
- #  if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO)
- #    define AVOID_WIN32_FILEIO
- #  endif
--#endif
-+#  include <fcntl.h>
-+#  include <io.h>
-+#  ifdef SET_BINARY
-+#    undef SET_BINARY
-+#  endif /* SET_BINARY */
-+#  define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0)
-+#else /* Windows */
-+#  define BINMODE
-+#  define SET_BINARY(f) (void)0
-+#endif /* Windows */
- #if defined(USE_WIN32_FILEIO)
- # define VC_EXTRALEAN
-@@ -268,30 +302,30 @@
- typedef       void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);
- typedef       void (*TIFFExtendProc)(TIFF*); 
--extern        const char* TIFFGetVersion(void);
-+LIBTIFF_DLL_IMPEXP    const char* TIFFGetVersion(void);
--extern        const TIFFCodec* TIFFFindCODEC(uint16);
--extern        TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
--extern        void TIFFUnRegisterCODEC(TIFFCodec*);
--extern  int TIFFIsCODECConfigured(uint16);
--extern        TIFFCodec* TIFFGetConfiguredCODECs(void);
-+LIBTIFF_DLL_IMPEXP    const TIFFCodec* TIFFFindCODEC(uint16);
-+LIBTIFF_DLL_IMPEXP    TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
-+LIBTIFF_DLL_IMPEXP    void TIFFUnRegisterCODEC(TIFFCodec*);
-+LIBTIFF_DLL_IMPEXP  int TIFFIsCODECConfigured(uint16);
-+LIBTIFF_DLL_IMPEXP    TIFFCodec* TIFFGetConfiguredCODECs(void);
- /*
-  * Auxiliary functions.
-  */
--extern        tdata_t _TIFFmalloc(tsize_t);
--extern        tdata_t _TIFFrealloc(tdata_t, tsize_t);
--extern        void _TIFFmemset(tdata_t, int, tsize_t);
--extern        void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
--extern        int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
--extern        void _TIFFfree(tdata_t);
-+LIBTIFF_DLL_IMPEXP    tdata_t _TIFFmalloc(tsize_t);
-+LIBTIFF_DLL_IMPEXP    tdata_t _TIFFrealloc(tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    void _TIFFmemset(tdata_t, int, tsize_t);
-+LIBTIFF_DLL_IMPEXP    void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    void _TIFFfree(tdata_t);
- /*
- ** Stuff, related to tag handling and creating custom tags.
- */
--extern  int  TIFFGetTagListCount( TIFF * );
--extern  ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
-+LIBTIFF_DLL_IMPEXP  int  TIFFGetTagListCount( TIFF * );
-+LIBTIFF_DLL_IMPEXP  ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
-     
- #define       TIFF_ANY        TIFF_NOTYPE     /* for field descriptor searching */
- #define       TIFF_VARIABLE   -1              /* marker for variable length tags */
-@@ -317,12 +351,12 @@
-     void           *value;
- } TIFFTagValue;
--extern        void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
--extern        const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
--extern  const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
-+LIBTIFF_DLL_IMPEXP    void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
-+LIBTIFF_DLL_IMPEXP    const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
-+LIBTIFF_DLL_IMPEXP  const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
-                                                    TIFFDataType);
--extern        const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
--extern        const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
-+LIBTIFF_DLL_IMPEXP    const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
-+LIBTIFF_DLL_IMPEXP    const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
- typedef       int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list);
- typedef       int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list);
-@@ -334,180 +368,180 @@
-     TIFFPrintMethod   printdir;       /* directory print routine */
- } TIFFTagMethods;
-         
--extern  TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
--extern  void *TIFFGetClientInfo( TIFF *, const char * );
--extern  void TIFFSetClientInfo( TIFF *, void *, const char * );
-+LIBTIFF_DLL_IMPEXP  TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
-+LIBTIFF_DLL_IMPEXP  void *TIFFGetClientInfo( TIFF *, const char * );
-+LIBTIFF_DLL_IMPEXP  void TIFFSetClientInfo( TIFF *, void *, const char * );
--extern        void TIFFCleanup(TIFF*);
--extern        void TIFFClose(TIFF*);
--extern        int TIFFFlush(TIFF*);
--extern        int TIFFFlushData(TIFF*);
--extern        int TIFFGetField(TIFF*, ttag_t, ...);
--extern        int TIFFVGetField(TIFF*, ttag_t, va_list);
--extern        int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
--extern        int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
--extern        int TIFFReadDirectory(TIFF*);
--extern        int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
-+LIBTIFF_DLL_IMPEXP    void TIFFCleanup(TIFF*);
-+LIBTIFF_DLL_IMPEXP    void TIFFClose(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFFlush(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFFlushData(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFGetField(TIFF*, ttag_t, ...);
-+LIBTIFF_DLL_IMPEXP    int TIFFVGetField(TIFF*, ttag_t, va_list);
-+LIBTIFF_DLL_IMPEXP    int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
-+LIBTIFF_DLL_IMPEXP    int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadDirectory(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
-                                   size_t);
--extern        int TIFFReadEXIFDirectory(TIFF*, toff_t);
--extern        tsize_t TIFFScanlineSize(TIFF*);
--extern        tsize_t TIFFOldScanlineSize(TIFF*);
--extern        tsize_t TIFFNewScanlineSize(TIFF*);
--extern        tsize_t TIFFRasterScanlineSize(TIFF*);
--extern        tsize_t TIFFStripSize(TIFF*);
--extern        tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
--extern        tsize_t TIFFVStripSize(TIFF*, uint32);
--extern        tsize_t TIFFTileRowSize(TIFF*);
--extern        tsize_t TIFFTileSize(TIFF*);
--extern        tsize_t TIFFVTileSize(TIFF*, uint32);
--extern        uint32 TIFFDefaultStripSize(TIFF*, uint32);
--extern        void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
--extern        int TIFFFileno(TIFF*);
--extern  int TIFFSetFileno(TIFF*, int);
--extern  thandle_t TIFFClientdata(TIFF*);
--extern  thandle_t TIFFSetClientdata(TIFF*, thandle_t);
--extern        int TIFFGetMode(TIFF*);
--extern        int TIFFSetMode(TIFF*, int);
--extern        int TIFFIsTiled(TIFF*);
--extern        int TIFFIsByteSwapped(TIFF*);
--extern        int TIFFIsUpSampled(TIFF*);
--extern        int TIFFIsMSB2LSB(TIFF*);
--extern        int TIFFIsBigEndian(TIFF*);
--extern        TIFFReadWriteProc TIFFGetReadProc(TIFF*);
--extern        TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
--extern        TIFFSeekProc TIFFGetSeekProc(TIFF*);
--extern        TIFFCloseProc TIFFGetCloseProc(TIFF*);
--extern        TIFFSizeProc TIFFGetSizeProc(TIFF*);
--extern        TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
--extern        TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
--extern        uint32 TIFFCurrentRow(TIFF*);
--extern        tdir_t TIFFCurrentDirectory(TIFF*);
--extern        tdir_t TIFFNumberOfDirectories(TIFF*);
--extern        uint32 TIFFCurrentDirOffset(TIFF*);
--extern        tstrip_t TIFFCurrentStrip(TIFF*);
--extern        ttile_t TIFFCurrentTile(TIFF*);
--extern        int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
--extern        int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
--extern        int TIFFSetupStrips(TIFF *);
--extern  int TIFFWriteCheck(TIFF*, int, const char *);
--extern        void TIFFFreeDirectory(TIFF*);
--extern  int TIFFCreateDirectory(TIFF*);
--extern        int TIFFLastDirectory(TIFF*);
--extern        int TIFFSetDirectory(TIFF*, tdir_t);
--extern        int TIFFSetSubDirectory(TIFF*, uint32);
--extern        int TIFFUnlinkDirectory(TIFF*, tdir_t);
--extern        int TIFFSetField(TIFF*, ttag_t, ...);
--extern        int TIFFVSetField(TIFF*, ttag_t, va_list);
--extern        int TIFFWriteDirectory(TIFF *);
--extern        int TIFFCheckpointDirectory(TIFF *);
--extern        int TIFFRewriteDirectory(TIFF *);
--extern        int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadEXIFDirectory(TIFF*, toff_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFScanlineSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFOldScanlineSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFNewScanlineSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFRasterScanlineSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFStripSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFVStripSize(TIFF*, uint32);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFTileRowSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFTileSize(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFVTileSize(TIFF*, uint32);
-+LIBTIFF_DLL_IMPEXP    uint32 TIFFDefaultStripSize(TIFF*, uint32);
-+LIBTIFF_DLL_IMPEXP    void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
-+LIBTIFF_DLL_IMPEXP    int TIFFFileno(TIFF*);
-+LIBTIFF_DLL_IMPEXP  int TIFFSetFileno(TIFF*, int);
-+LIBTIFF_DLL_IMPEXP  thandle_t TIFFClientdata(TIFF*);
-+LIBTIFF_DLL_IMPEXP  thandle_t TIFFSetClientdata(TIFF*, thandle_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFGetMode(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFSetMode(TIFF*, int);
-+LIBTIFF_DLL_IMPEXP    int TIFFIsTiled(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFIsByteSwapped(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFIsUpSampled(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFIsMSB2LSB(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFIsBigEndian(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFReadWriteProc TIFFGetReadProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFSeekProc TIFFGetSeekProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFCloseProc TIFFGetCloseProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFSizeProc TIFFGetSizeProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
-+LIBTIFF_DLL_IMPEXP    uint32 TIFFCurrentRow(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tdir_t TIFFCurrentDirectory(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tdir_t TIFFNumberOfDirectories(TIFF*);
-+LIBTIFF_DLL_IMPEXP    uint32 TIFFCurrentDirOffset(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tstrip_t TIFFCurrentStrip(TIFF*);
-+LIBTIFF_DLL_IMPEXP    ttile_t TIFFCurrentTile(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFSetupStrips(TIFF *);
-+LIBTIFF_DLL_IMPEXP  int TIFFWriteCheck(TIFF*, int, const char *);
-+LIBTIFF_DLL_IMPEXP    void TIFFFreeDirectory(TIFF*);
-+LIBTIFF_DLL_IMPEXP  int TIFFCreateDirectory(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFLastDirectory(TIFF*);
-+LIBTIFF_DLL_IMPEXP    int TIFFSetDirectory(TIFF*, tdir_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFSetSubDirectory(TIFF*, uint32);
-+LIBTIFF_DLL_IMPEXP    int TIFFUnlinkDirectory(TIFF*, tdir_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFSetField(TIFF*, ttag_t, ...);
-+LIBTIFF_DLL_IMPEXP    int TIFFVSetField(TIFF*, ttag_t, va_list);
-+LIBTIFF_DLL_IMPEXP    int TIFFWriteDirectory(TIFF *);
-+LIBTIFF_DLL_IMPEXP    int TIFFCheckpointDirectory(TIFF *);
-+LIBTIFF_DLL_IMPEXP    int TIFFRewriteDirectory(TIFF *);
-+LIBTIFF_DLL_IMPEXP    int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
- #if defined(c_plusplus) || defined(__cplusplus)
--extern        void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
--extern        int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
--extern        int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
--extern        int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
--extern        int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
-+LIBTIFF_DLL_IMPEXP    void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-+LIBTIFF_DLL_IMPEXP    int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
-                                     int = ORIENTATION_BOTLEFT, int = 0);
- #else
--extern        void TIFFPrintDirectory(TIFF*, FILE*, long);
--extern        int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
--extern        int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
--extern        int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
--extern        int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
-+LIBTIFF_DLL_IMPEXP    void TIFFPrintDirectory(TIFF*, FILE*, long);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
- #endif
--extern        int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
--extern        int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
--extern        int TIFFRGBAImageOK(TIFF*, char [1024]);
--extern        int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
--extern        int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
--extern        void TIFFRGBAImageEnd(TIFFRGBAImage*);
--extern        TIFF* TIFFOpen(const char*, const char*);
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
-+LIBTIFF_DLL_IMPEXP    int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
-+LIBTIFF_DLL_IMPEXP    int TIFFRGBAImageOK(TIFF*, char [1024]);
-+LIBTIFF_DLL_IMPEXP    int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
-+LIBTIFF_DLL_IMPEXP    int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
-+LIBTIFF_DLL_IMPEXP    void TIFFRGBAImageEnd(TIFFRGBAImage*);
-+LIBTIFF_DLL_IMPEXP    TIFF* TIFFOpen(const char*, const char*);
- # ifdef __WIN32__
--extern        TIFF* TIFFOpenW(const wchar_t*, const char*);
-+LIBTIFF_DLL_IMPEXP    TIFF* TIFFOpenW(const wchar_t*, const char*);
- # endif /* __WIN32__ */
--extern        TIFF* TIFFFdOpen(int, const char*, const char*);
--extern        TIFF* TIFFClientOpen(const char*, const char*,
-+LIBTIFF_DLL_IMPEXP    TIFF* TIFFFdOpen(int, const char*, const char*);
-+LIBTIFF_DLL_IMPEXP    TIFF* TIFFClientOpen(const char*, const char*,
-           thandle_t,
-           TIFFReadWriteProc, TIFFReadWriteProc,
-           TIFFSeekProc, TIFFCloseProc,
-           TIFFSizeProc,
-           TIFFMapFileProc, TIFFUnmapFileProc);
--extern        const char* TIFFFileName(TIFF*);
--extern        const char* TIFFSetFileName(TIFF*, const char *);
--extern void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
--extern void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
--extern void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
--extern void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
--extern        TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
--extern        TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
--extern        TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
--extern        TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
--extern        TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
--extern        ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
--extern        int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
--extern        ttile_t TIFFNumberOfTiles(TIFF*);
--extern        tsize_t TIFFReadTile(TIFF*,
-+LIBTIFF_DLL_IMPEXP    const char* TIFFFileName(TIFF*);
-+LIBTIFF_DLL_IMPEXP    const char* TIFFSetFileName(TIFF*, const char *);
-+LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
-+LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
-+LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
-+LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
-+LIBTIFF_DLL_IMPEXP    TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
-+LIBTIFF_DLL_IMPEXP    TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
-+LIBTIFF_DLL_IMPEXP    TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
-+LIBTIFF_DLL_IMPEXP    TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
-+LIBTIFF_DLL_IMPEXP    TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
-+LIBTIFF_DLL_IMPEXP    ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
-+LIBTIFF_DLL_IMPEXP    ttile_t TIFFNumberOfTiles(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFReadTile(TIFF*,
-           tdata_t, uint32, uint32, uint32, tsample_t);
--extern        tsize_t TIFFWriteTile(TIFF*,
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFWriteTile(TIFF*,
-           tdata_t, uint32, uint32, uint32, tsample_t);
--extern        tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
--extern        tstrip_t TIFFNumberOfStrips(TIFF*);
--extern        tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
--extern        tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
--extern        tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
--extern        tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
--extern        tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
--extern        tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
--extern        tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
--extern        tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
--extern        int TIFFDataWidth(TIFFDataType);    /* table of tag datatype widths */
--extern        void TIFFSetWriteOffset(TIFF*, toff_t);
--extern        void TIFFSwabShort(uint16*);
--extern        void TIFFSwabLong(uint32*);
--extern        void TIFFSwabDouble(double*);
--extern        void TIFFSwabArrayOfShort(uint16*, unsigned long);
--extern        void TIFFSwabArrayOfTriples(uint8*, unsigned long);
--extern        void TIFFSwabArrayOfLong(uint32*, unsigned long);
--extern        void TIFFSwabArrayOfDouble(double*, unsigned long);
--extern        void TIFFReverseBits(unsigned char *, unsigned long);
--extern        const unsigned char* TIFFGetBitRevTable(int);
-+LIBTIFF_DLL_IMPEXP    tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
-+LIBTIFF_DLL_IMPEXP    tstrip_t TIFFNumberOfStrips(TIFF*);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-+LIBTIFF_DLL_IMPEXP    int TIFFDataWidth(TIFFDataType);    /* table of tag datatype widths */
-+LIBTIFF_DLL_IMPEXP    void TIFFSetWriteOffset(TIFF*, toff_t);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabShort(uint16*);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabLong(uint32*);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabDouble(double*);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabArrayOfShort(uint16*, unsigned long);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabArrayOfTriples(uint8*, unsigned long);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabArrayOfLong(uint32*, unsigned long);
-+LIBTIFF_DLL_IMPEXP    void TIFFSwabArrayOfDouble(double*, unsigned long);
-+LIBTIFF_DLL_IMPEXP    void TIFFReverseBits(unsigned char *, unsigned long);
-+LIBTIFF_DLL_IMPEXP    const unsigned char* TIFFGetBitRevTable(int);
- #ifdef LOGLUV_PUBLIC
- #define U_NEU         0.210526316
- #define V_NEU         0.473684211
- #define UVSCALE               410.
--extern        double LogL16toY(int);
--extern        double LogL10toY(int);
--extern        void XYZtoRGB24(float*, uint8*);
--extern        int uv_decode(double*, double*, int);
--extern        void LogLuv24toXYZ(uint32, float*);
--extern        void LogLuv32toXYZ(uint32, float*);
-+LIBTIFF_DLL_IMPEXP    double LogL16toY(int);
-+LIBTIFF_DLL_IMPEXP    double LogL10toY(int);
-+LIBTIFF_DLL_IMPEXP    void XYZtoRGB24(float*, uint8*);
-+LIBTIFF_DLL_IMPEXP    int uv_decode(double*, double*, int);
-+LIBTIFF_DLL_IMPEXP    void LogLuv24toXYZ(uint32, float*);
-+LIBTIFF_DLL_IMPEXP    void LogLuv32toXYZ(uint32, float*);
- #if defined(c_plusplus) || defined(__cplusplus)
--extern        int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
--extern        int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
--extern        int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
--extern        uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
--extern        uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
-+LIBTIFF_DLL_IMPEXP    int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
-+LIBTIFF_DLL_IMPEXP    int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
-+LIBTIFF_DLL_IMPEXP    int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
-+LIBTIFF_DLL_IMPEXP    uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
-+LIBTIFF_DLL_IMPEXP    uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
- #else
--extern        int LogL16fromY(double, int);
--extern        int LogL10fromY(double, int);
--extern        int uv_encode(double, double, int);
--extern        uint32 LogLuv24fromXYZ(float*, int);
--extern        uint32 LogLuv32fromXYZ(float*, int);
-+LIBTIFF_DLL_IMPEXP    int LogL16fromY(double, int);
-+LIBTIFF_DLL_IMPEXP    int LogL10fromY(double, int);
-+LIBTIFF_DLL_IMPEXP    int uv_encode(double, double, int);
-+LIBTIFF_DLL_IMPEXP    uint32 LogLuv24fromXYZ(float*, int);
-+LIBTIFF_DLL_IMPEXP    uint32 LogLuv32fromXYZ(float*, int);
- #endif
- #endif /* LOGLUV_PUBLIC */
-     
--extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
--extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
-+LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
-+LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
-                           float *, float *, float *);
--extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
-+LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
-                        uint32 *, uint32 *, uint32 *);
--extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
--extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
-+LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
-+LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
-                          uint32 *, uint32 *, uint32 *);
- #if defined(c_plusplus) || defined(__cplusplus)