1 /*
2  *  xtiffio.h -- Public interface to Extended GEO TIFF tags
3  *
4  *    written by: Niles D. Ritter
5  */
6 
7 #ifndef LIBGEOTIFF_XTIFFIO_H_
8 #define LIBGEOTIFF_XTIFFIO_H_
9 
10 #include "tiffio.h"
11 #include "geo_config.h"
12 
13 /**
14  * \file xtiffio.h
15  *
16  * Definitions relating GeoTIFF functions from geotiff.h to the TIFF
17  * library (usually libtiff).
18  */
19 
20 /*
21  *  Define public Tag names and values here
22  */
23 
24 /* tags 33550 is a private tag registered to SoftDesk, Inc */
25 #define TIFFTAG_GEOPIXELSCALE       33550
26 /* tags 33920-33921 are private tags registered to Intergraph, Inc */
27 #define TIFFTAG_INTERGRAPH_MATRIX    33920   /* $use TIFFTAG_GEOTRANSMATRIX ! */
28 #define TIFFTAG_GEOTIEPOINTS         33922
29 /* tags 34263-34264 are private tags registered to NASA-JPL Carto Group */
30 #ifdef JPL_TAG_SUPPORT
31 #define TIFFTAG_JPL_CARTO_IFD        34263   /* $use GeoProjectionInfo ! */
32 #endif
33 #define TIFFTAG_GEOTRANSMATRIX       34264   /* New Matrix Tag replaces 33920 */
34 /* tags 34735-3438 are private tags registered to SPOT Image, Inc */
35 #define TIFFTAG_GEOKEYDIRECTORY      34735
36 #define TIFFTAG_GEODOUBLEPARAMS      34736
37 #define TIFFTAG_GEOASCIIPARAMS       34737
38 
39 /*
40  *  Define Printing method flags. These
41  *  flags may be passed in to TIFFPrintDirectory() to
42  *  indicate that those particular field values should
43  *  be printed out in full, rather than just an indicator
44  *  of whether they are present or not.
45  */
46 #define	TIFFPRINT_GEOKEYDIRECTORY	0x80000000
47 #define	TIFFPRINT_GEOKEYPARAMS		0x40000000
48 
49 /**********************************************************************
50  *    Nothing below this line should need to be changed by the user.
51  **********************************************************************/
52 
53 #if defined(__cplusplus)
54 extern "C" {
55 #endif
56 
57 /**********************************************************************
58  * Do we want to build as a DLL on windows?
59  **********************************************************************/
60 #if !defined(GTIF_DLL)
61 #  if defined(_WIN32) && defined(BUILD_AS_DLL)
62 #    define GTIF_DLL     __declspec(dllexport)
63 #  else
64 #    define GTIF_DLL
65 #  endif
66 #endif
67 
68 extern void GTIF_DLL XTIFFInitialize(void);
69 extern TIFF GTIF_DLL * XTIFFOpen(const char* name, const char* mode);
70 extern TIFF GTIF_DLL * XTIFFFdOpen(int fd, const char* name, const char* mode);
71 extern void GTIF_DLL XTIFFClose(TIFF *tif);
72 
73 extern TIFF GTIF_DLL * XTIFFClientOpen(const char* name, const char* mode,
74                                       thandle_t thehandle,
75                                       TIFFReadWriteProc, TIFFReadWriteProc,
76                                       TIFFSeekProc, TIFFCloseProc,
77                                       TIFFSizeProc,
78                                       TIFFMapFileProc, TIFFUnmapFileProc);
79 #if defined(__cplusplus)
80 }
81 #endif
82 
83 #endif /* LIBGEOTIFF_XTIFFIO_H_ */
84