~ubuntu-branches/debian/sid/gdal/sid

« back to all changes in this revision

Viewing changes to frmts/nitf/nitflib.h

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2012-05-07 15:04:42 UTC
  • mfrom: (5.5.16 experimental)
  • Revision ID: package-import@ubuntu.com-20120507150442-2eks97loeh6rq005
Tags: 1.9.0-1
* Ready for sid, starting transition.
* All symfiles updated to latest builds.
* Added dh_numpy call in debian/rules to depend on numpy ABI.
* Policy bumped to 3.9.3, no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/******************************************************************************
2
 
 * $Id: nitflib.h 17062 2009-05-19 21:58:16Z rouault $
 
2
 * $Id: nitflib.h 22843 2011-07-31 23:22:42Z rouault $
3
3
 *
4
4
 * Project:  NITF Read/Write Library
5
5
 * Purpose:  Main GDAL independent include file for NITF support.  
32
32
 
33
33
#include "cpl_port.h"
34
34
#include "cpl_error.h"
 
35
#include "cpl_vsi.h"
 
36
#include "cpl_minixml.h"
35
37
 
36
38
CPL_C_START
37
39
 
55
57
} NITFSegmentInfo;
56
58
 
57
59
typedef struct {
58
 
    FILE    *fp;
 
60
    VSILFILE  *fp;
59
61
 
60
62
    char    szVersion[10];
61
63
 
68
70
    char    *pachTRE;
69
71
 
70
72
    char    **papszMetadata;
 
73
 
 
74
    CPLXMLNode *psNITFSpecNode;
71
75
    
72
76
} NITFFile;
73
77
 
105
109
} NITFBandInfo;
106
110
 
107
111
typedef struct { 
108
 
    int nLocId;
109
 
    int nLocOffset;
110
 
    int nLocSize;
 
112
    GUInt16 nLocId;
 
113
    GUInt32 nLocOffset;
 
114
    GUInt32 nLocSize;
111
115
} NITFLocation;
112
116
 
113
117
typedef struct
157
161
    double     dfLRY;
158
162
    double     dfLLX;
159
163
    double     dfLLY;
 
164
    int        bIsBoxCenterOfPixel;
160
165
 
161
166
    char       *pszComments;
162
167
    char       szIC[3];
212
217
                                    double dfURX, double dfURY,
213
218
                                    double dfLRX, double dfLRY,
214
219
                                    double dfLLX, double dfLLY );
 
220
char      CPL_DLL **NITFReadCSEXRA( NITFImage *psImage );
 
221
char      CPL_DLL **NITFReadPIAIMC( NITFImage *psImage );
215
222
char      CPL_DLL **NITFReadUSE00A( NITFImage *psImage );
216
223
char      CPL_DLL **NITFReadSTDIDC( NITFImage *psImage );
217
224
char      CPL_DLL **NITFReadBLOCKA( NITFImage *psImage );
230
237
                           GByte *pabyInputData, int nInputBytes,
231
238
                           GByte *pabyOutputImage );
232
239
 
 
240
NITFLocation* NITFReadRPFLocationTable(VSILFILE* fp, int* pnLocCount);
 
241
 
 
242
/* -------------------------------------------------------------------- */
 
243
/*      DE segment access.                                              */
 
244
/* -------------------------------------------------------------------- */
 
245
typedef struct {
 
246
    NITFFile  *psFile;
 
247
    int        iSegment;
 
248
    char      *pachHeader;
 
249
 
 
250
    char       **papszMetadata;
 
251
} NITFDES;
 
252
 
 
253
NITFDES   CPL_DLL *NITFDESAccess( NITFFile *, int iSegment );
 
254
void      CPL_DLL  NITFDESDeaccess( NITFDES * );
 
255
 
 
256
int       CPL_DLL  NITFDESGetTRE(   NITFDES* psDES,
 
257
                                    int nOffset,
 
258
                                    char szTREName[7],
 
259
                                    char** ppabyTREData,
 
260
                                    int* pnFoundTRESize);
 
261
void      CPL_DLL  NITFDESFreeTREData( char* pabyTREData );
 
262
 
 
263
int       CPL_DLL  NITFDESExtractShapefile(NITFDES* psDES, const char* pszRadixFileName);
 
264
 
233
265
/* -------------------------------------------------------------------- */
234
266
/*      These are really intended to be private helper stuff for the    */
235
267
/*      library.                                                        */
360
392
/** Return not freeable (maybe NULL if no matching) */
361
393
const NITFSeries CPL_DLL *NITFGetSeriesInfo(const char* pszFilename);
362
394
 
 
395
/* -------------------------------------------------------------------- */
 
396
/*                           Internal use                               */
 
397
/* -------------------------------------------------------------------- */
 
398
 
 
399
char **NITFGenericMetadataRead(char **papszMD,
 
400
                               NITFFile* psFile,
 
401
                               NITFImage *psImage,
 
402
                               const char* pszSpecificTREName);
 
403
 
 
404
CPLXMLNode* NITFCreateXMLTre(NITFFile* psFile,
 
405
                             const char* pszTREName,
 
406
                             const char *pachTRE,
 
407
                             int nTRESize);
 
408
 
363
409
CPL_C_END
364
410
 
365
411
#endif /* ndef NITFLIB_H_INCLUDED */