Main Page   Compound List   File List   Compound Members   File Members   Related Pages  

geo_tiffp.h

00001 /**********************************************************************
00002  *
00003  *  geo_tiffp.h - Private interface for TIFF tag parsing.
00004  *
00005  *   Written by: Niles D. Ritter
00006  *
00007  *   This interface file encapsulates the interface to external TIFF
00008  *   file-io routines and definitions. The current configuration
00009  *   assumes that the "libtiff" module is used, but if you have your
00010  *   own TIFF reader, you may replace the definitions with your own
00011  *   here, and replace the implementations in geo_tiffp.c. No other
00012  *   modules have any explicit dependence on external TIFF modules.
00013  *
00014  *  Revision History;
00015  *
00016  *    20 June, 1995      Niles D. Ritter         New
00017  *    6 July,  1995      Niles D. Ritter         Fix prototypes
00018  *
00019  **********************************************************************/
00020 
00021 #ifndef __geo_tiffp_h_
00022 #define __geo_tiffp_h_
00023 
00024 /**********************************************************************
00025  *
00026  *                        Private includes
00027  *
00028  *   If you are not using libtiff and XTIFF, replace this include file
00029  *    with the appropriate one for your own TIFF parsing routines.
00030  *
00031  *   Revision History
00032  * 
00033  *      19 September 1995   ndr    Demoted Intergraph trans matrix.
00034  *
00035  **********************************************************************/
00036 
00037 #include "geotiff.h"
00038 #include "xtiffio.h"
00039 
00040 /*
00041  * dblparam_t is the type that a double precision
00042  * floating point value will have on the parameter
00043  * stack (when coerced by the compiler). You shouldn't
00044  * have to change this.
00045  */
00046 #ifdef applec
00047 typedef extended dblparam_t;
00048 #else
00049 typedef double dblparam_t;
00050 #endif
00051 
00052 
00053 /**********************************************************************
00054  *
00055  *                        Private defines
00056  *
00057  *   If you are not using "libtiff"/LIBXTIFF, replace these definitions
00058  *   with the appropriate definitions to access the geo-tags
00059  *
00060  **********************************************************************/
00061  
00062 typedef unsigned short pinfo_t;    /* SHORT ProjectionInfo tag type */
00063 typedef TIFF    tiff_t;            /* TIFF file descriptor          */
00064 typedef tdata_t  gdata_t;          /* pointer to data */
00065 typedef tsize_t  gsize_t;          /* data allocation size */
00066  
00067 #define GTIFF_GEOKEYDIRECTORY   TIFFTAG_GEOKEYDIRECTORY /* from xtiffio.h */
00068 #define GTIFF_DOUBLEPARAMS      TIFFTAG_GEODOUBLEPARAMS
00069 #define GTIFF_ASCIIPARAMS       TIFFTAG_GEOASCIIPARAMS
00070 #define GTIFF_PIXELSCALE        TIFFTAG_GEOPIXELSCALE
00071 #define GTIFF_TRANSMATRIX       TIFFTAG_GEOTRANSMATRIX
00072 #define GTIFF_INTERGRAPH_MATRIX TIFFTAG_INTERGRAPH_MATRIX
00073 #define GTIFF_TIEPOINTS         TIFFTAG_GEOTIEPOINTS
00074 #define GTIFF_LOCAL          0
00075 
00076 #if defined(__cplusplus)
00077 extern "C" {
00078 #endif
00079 
00080 /*
00081  * Method function pointer types
00082  */
00083 typedef int        (*GTGetFunction) (tiff_t *tif, pinfo_t tag, int *count, void *value );
00084 typedef int        (*GTSetFunction) (tiff_t *tif, pinfo_t tag, int  count, void *value );
00085 typedef tagtype_t  (*GTTypeFunction) (tiff_t *tif, pinfo_t tag);
00086 typedef struct     _TIFFMethod {
00087         GTGetFunction get;
00088         GTSetFunction set;
00089         GTTypeFunction type;
00090 } TIFFMethod;
00091 
00092 /**********************************************************************
00093  *
00094  *               Protected Function Declarations  
00095  *
00096  *   These routines are exposed implementations, and should not
00097  *   be used by external GEOTIFF client programs.
00098  *
00099  **********************************************************************/
00100 
00101 extern gsize_t _gtiff_size[]; /* TIFF data sizes */
00102 extern void _GTIFSetDefaultTIFF(TIFFMethod *method);
00103 extern gdata_t _GTIFcalloc(gsize_t);
00104 extern gdata_t _GTIFrealloc(gdata_t,gsize_t);
00105 extern void _GTIFFree(gdata_t data);
00106 extern void _GTIFmemcpy(gdata_t out,gdata_t in,gsize_t size);
00107 
00108 #if defined(__cplusplus)
00109 } 
00110 #endif
00111 
00112 
00113 #endif /* __geo_tiffp_h_ */

Generated at Sun Mar 4 23:32:44 2001 for libgeotiff by doxygen1.2.3-20001105 written by Dimitri van Heesch, © 1997-2000