GDAL
gdal_utils_priv.h
1 /******************************************************************************
2  * $Id: gdal_utils_priv.h f8d287e54f1e12adba6f163309d69b75fc539236 2021-08-25 12:19:06 +0200 Even Rouault $
3  *
4  * Project: GDAL Utilities
5  * Purpose: GDAL Utilities Private Declarations.
6  * Author: Even Rouault <even.rouault at spatialys.com>
7  *
8  * ****************************************************************************
9  * Copyright (c) 2015, Even Rouault <even.rouault at spatialys.com>
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef GDAL_UTILS_PRIV_H_INCLUDED
31 #define GDAL_UTILS_PRIV_H_INCLUDED
32 
33 #ifndef DOXYGEN_SKIP
34 
35 #include "cpl_port.h"
36 #include "gdal_utils.h"
37 
38 /* This file is only meant at being used by the XXXX_bin.cpp and XXXX_lib.cpp files */
39 
41 
43 {
44  /* Filename to open. */
45  char* pszFilename;
46 
47  /* Open options. */
48  char** papszOpenOptions;
49 
50  /* > for reporting on a particular subdataset */
51  int nSubdataset;
52 
53  /* Allowed input drivers. */
54  char** papszAllowInputDrivers;
55 };
56 
58 {
59  char* pszSource;
60  char* pszDest;
61  int bQuiet;
62  int bCopySubDatasets;
63  char** papszOpenOptions;
64  char* pszFormat;
65 
66  /* Allowed input drivers. */
67  char** papszAllowInputDrivers;
68 };
69 
71 {
72  char** papszSrcFiles;
73  char* pszDstFilename;
74  int bQuiet;
75  char** papszOpenOptions;
76 
78  char **papszDestOpenOptions;
79 
80  char **papszCreateOptions;
81 
82  int bOverwrite;
83  int bCreateOutput;
84 
85  /* Allowed input drivers. */
86  char** papszAllowInputDrivers;
87 };
88 
89 /* Access modes */
90 typedef enum
91 {
92  ACCESS_CREATION,
93  ACCESS_UPDATE, /* open existing output datasource in update mode rather than trying to create a new one */
94  ACCESS_APPEND, /* append to existing layer instead of creating new */
95  ACCESS_OVERWRITE /* delete the output layer and recreate it empty */
96 } GDALVectorTranslateAccessMode;
97 
99 {
100  char* pszDataSource;
101  char* pszDestDataSource;
102  int bQuiet;
103  char** papszOpenOptions;
104  char* pszFormat;
105  GDALVectorTranslateAccessMode eAccessMode;
106 };
107 
109 {
110  char* pszProcessing;
111  char* pszSrcFilename;
112  char* pszColorFilename;
113  char* pszDstFilename;
114  int bQuiet;
115 };
116 
118 {
119  char* pszInFile;
120  char* pszOutFile;
121  int bQuiet;
122 };
123 
125 {
126  char* pszSource;
127  char* pszDest;
128  int bQuiet;
129  char* pszFormat;
130 };
131 
133 {
134  char* pszSource;
135  char* pszDest;
136  int bQuiet;
137  char* pszFormat;
138  int bCreateOutput;
139 };
140 
142 {
143  int nSrcFiles;
144  char** papszSrcFiles;
145  char* pszDstFilename;
146  int bQuiet;
147  int bOverwrite;
148 };
149 
151 {
152  /* Filename to open. */
153  char* pszFilename;
154 
155  /* Open options. */
156  char** papszOpenOptions;
157 };
158 
160 {
161  char* pszSource;
162  char* pszDest;
163  char* pszFormat;
164  int bQuiet;
165  int bUpdate;
166 
167  /* Open options. */
168  char** papszOpenOptions;
169 };
170 
171 CPL_C_END
172 
173 #endif /* #ifndef DOXYGEN_SKIP */
174 
175 #endif /* GDAL_UTILS_PRIV_H_INCLUDED */
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:331
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:329
Public (C callable) GDAL Utilities entry points.
struct GDALBuildVRTOptionsForBinary GDALBuildVRTOptionsForBinary
Opaque type.
Definition: gdal_utils.h:206
struct GDALInfoOptionsForBinary GDALInfoOptionsForBinary
Opaque type.
Definition: gdal_utils.h:52
struct GDALMultiDimTranslateOptionsForBinary GDALMultiDimTranslateOptionsForBinary
Opaque type.
Definition: gdal_utils.h:239
struct GDALVectorTranslateOptionsForBinary GDALVectorTranslateOptionsForBinary
Opaque type.
Definition: gdal_utils.h:108
struct GDALWarpAppOptionsForBinary GDALWarpAppOptionsForBinary
Opaque type.
Definition: gdal_utils.h:84
struct GDALDEMProcessingOptionsForBinary GDALDEMProcessingOptionsForBinary
Opaque type.
Definition: gdal_utils.h:127
struct GDALNearblackOptionsForBinary GDALNearblackOptionsForBinary
Opaque type.
Definition: gdal_utils.h:149
struct GDALGridOptionsForBinary GDALGridOptionsForBinary
Opaque type.
Definition: gdal_utils.h:168
struct GDALMultiDimInfoOptionsForBinary GDALMultiDimInfoOptionsForBinary
Opaque type.
Definition: gdal_utils.h:226
struct GDALTranslateOptionsForBinary GDALTranslateOptionsForBinary
Opaque type.
Definition: gdal_utils.h:64
struct GDALRasterizeOptionsForBinary GDALRasterizeOptionsForBinary
Opaque type.
Definition: gdal_utils.h:187