From a67f202e5ee51815069a4ddcff8c69f7a6deeaab Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Wed, 14 Jul 2010 17:12:22 +0000 Subject: [PATCH] Fix libtiff's external functions. svn path=/trunk/; revision=48043 --- reactos/dll/3rdparty/libtiff/libtiff.rbuild | 5 +- reactos/dll/3rdparty/libtiff/rosdiff.patch | 15 + reactos/dll/3rdparty/libtiff/tif_open.c | 3 + .../reactos/libs/libtiff/rosdiff.patch | 445 ++++++++++++++++++ reactos/include/reactos/libs/libtiff/tiffio.h | 362 +++++++------- 5 files changed, 664 insertions(+), 166 deletions(-) create mode 100644 reactos/dll/3rdparty/libtiff/rosdiff.patch create mode 100644 reactos/include/reactos/libs/libtiff/rosdiff.patch diff --git a/reactos/dll/3rdparty/libtiff/libtiff.rbuild b/reactos/dll/3rdparty/libtiff/libtiff.rbuild index 415f5b64ee3..1f37bc479f2 100644 --- a/reactos/dll/3rdparty/libtiff/libtiff.rbuild +++ b/reactos/dll/3rdparty/libtiff/libtiff.rbuild @@ -3,8 +3,9 @@ - - + + + . include/reactos/libs/zlib include/reactos/libs/libtiff diff --git a/reactos/dll/3rdparty/libtiff/rosdiff.patch b/reactos/dll/3rdparty/libtiff/rosdiff.patch new file mode 100644 index 00000000000..f3e5f3d6aae --- /dev/null +++ b/reactos/dll/3rdparty/libtiff/rosdiff.patch @@ -0,0 +1,15 @@ +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(newvalue); ++#endif /* USE_WIN32_FILEIO */ + tif->tif_clientdata = newvalue; + return m; + } + \ No newline at end of file diff --git a/reactos/dll/3rdparty/libtiff/tif_open.c b/reactos/dll/3rdparty/libtiff/tif_open.c index 3b3b2ce67ba..a17f342aa36 100644 --- a/reactos/dll/3rdparty/libtiff/tif_open.c +++ b/reactos/dll/3rdparty/libtiff/tif_open.c @@ -516,6 +516,9 @@ thandle_t TIFFSetClientdata(TIFF* tif, thandle_t newvalue) { thandle_t m = tif->tif_clientdata; +#ifdef USE_WIN32_FILEIO + newvalue = (thandle_t) _get_osfhandle(newvalue); +#endif /* USE_WIN32_FILEIO */ tif->tif_clientdata = newvalue; return m; } diff --git a/reactos/include/reactos/libs/libtiff/rosdiff.patch b/reactos/include/reactos/libs/libtiff/rosdiff.patch new file mode 100644 index 00000000000..06148fc5698 --- /dev/null +++ b/reactos/include/reactos/libs/libtiff/rosdiff.patch @@ -0,0 +1,445 @@ +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 ++# include ++# 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) diff --git a/reactos/include/reactos/libs/libtiff/tiffio.h b/reactos/include/reactos/libs/libtiff/tiffio.h index 06ec25c8298..3298a7afe34 100644 --- a/reactos/include/reactos/libs/libtiff/tiffio.h +++ b/reactos/include/reactos/libs/libtiff/tiffio.h @@ -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 @@ typedef uint32 toff_t; /* file offset */ */ #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 +# include +# 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 int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*); 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 @@ typedef struct _TIFFTagValue { 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 @@ typedef struct { 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)