31 #ifndef CPL_CONV_H_INCLUDED
32 #define CPL_CONV_H_INCLUDED
50 void CPL_DLL CPLVerifyConfiguration(
void);
52 const char CPL_DLL * CPL_STDCALL
53 CPLGetConfigOption(
const char *,
const char * ) CPL_WARN_UNUSED_RESULT;
54 void CPL_DLL CPL_STDCALL CPLSetConfigOption( const
char *, const
char * );
55 void CPL_DLL CPL_STDCALL CPLSetThreadLocalConfigOption( const
char *pszKey,
56 const
char *pszValue );
57 void CPL_DLL CPL_STDCALL CPLFreeConfig(
void);
63 void CPL_DLL *CPLMalloc(
size_t ) CPL_WARN_UNUSED_RESULT;
64 void CPL_DLL *CPLCalloc(
size_t,
size_t ) CPL_WARN_UNUSED_RESULT;
65 void CPL_DLL *CPLRealloc(
void *,
size_t ) CPL_WARN_UNUSED_RESULT;
66 char CPL_DLL *CPLStrdup( const
char * ) CPL_WARN_UNUSED_RESULT;
67 char CPL_DLL *CPLStrlwr(
char *);
69 #define CPLFree VSIFree
74 char CPL_DLL *CPLFGets(
char *,
int, FILE *);
75 const char CPL_DLL *CPLReadLine( FILE * );
76 const char CPL_DLL *CPLReadLineL( VSILFILE * );
77 const char CPL_DLL *CPLReadLine2L( VSILFILE * ,
int nMaxCols,
char** papszOptions);
83 double CPL_DLL
CPLAtof(
const char *);
85 double CPL_DLL
CPLStrtod(
const char *,
char **);
87 float CPL_DLL
CPLStrtof(
const char *,
char **);
94 double CPL_DLL
CPLAtofM(
const char *);
99 char CPL_DLL *CPLScanString(
const char *,
int,
int,
int );
100 double CPL_DLL CPLScanDouble(
const char *,
int );
101 long CPL_DLL CPLScanLong(
const char *,
int );
102 unsigned long CPL_DLL CPLScanULong(
const char *,
int );
103 GUIntBig CPL_DLL CPLScanUIntBig(
const char *,
int );
104 void CPL_DLL *CPLScanPointer(
const char *,
int );
109 int CPL_DLL CPLPrintString(
char *,
const char *,
int );
110 int CPL_DLL CPLPrintStringFill(
char *,
const char *,
int );
111 int CPL_DLL CPLPrintInt32(
char *, GInt32 ,
int );
112 int CPL_DLL CPLPrintUIntBig(
char *, GUIntBig ,
int );
113 int CPL_DLL CPLPrintDouble(
char *,
const char *,
double,
const char * );
114 int CPL_DLL CPLPrintTime(
char *,
int ,
const char *,
const struct tm *,
116 int CPL_DLL CPLPrintPointer(
char *,
void *,
int );
122 void CPL_DLL *
CPLGetSymbol(
const char *,
const char * );
132 const char CPL_DLL *
CPLGetPath(
const char * );
139 const char *pszBasename,
140 const char *pszExtension );
142 const char *pszBasename,
143 const char *pszExtension );
146 const char *pszSecondaryFilename );
151 const char *pszNewFilename,
152 char **papszFileList );
153 int CPL_DLL CPLCheckForFile(
char *pszFilename,
char **papszSiblingList );
160 typedef const char *(*CPLFileFinder)(
const char *,
const char *);
162 const char CPL_DLL *CPLFindFile(
const char *pszClass,
163 const char *pszBasename);
164 const char CPL_DLL *CPLDefaultFindFile(
const char *pszClass,
165 const char *pszBasename);
166 void CPL_DLL CPLPushFileFinder( CPLFileFinder pfnFinder );
167 CPLFileFinder CPL_DLL CPLPopFileFinder(
void);
168 void CPL_DLL CPLPushFinderLocation(
const char * );
169 void CPL_DLL CPLPopFinderLocation(
void);
170 void CPL_DLL CPLFinderClean(
void);
175 int CPL_DLL CPLStat(
const char *, VSIStatBuf * );
189 FILE CPL_DLL *CPLOpenShared(
const char *,
const char *,
int );
190 void CPL_DLL CPLCloseShared( FILE * );
192 void CPL_DLL CPLDumpSharedList( FILE * );
193 void CPL_DLL CPLCleanupSharedFileMutex();
198 double CPL_DLL CPLDMSToDec(
const char *is );
199 const char CPL_DLL *CPLDecToDMS(
double dfAngle,
const char * pszAxis,
201 double CPL_DLL CPLPackedDMSToDec(
double );
202 double CPL_DLL CPLDecToPackedDMS(
double dfDec );
204 void CPL_DLL CPLStringToComplex(
const char *pszString,
205 double *pdfReal,
double *pdfImag );
210 int CPL_DLL CPLUnlinkTree(
const char * );
211 int CPL_DLL CPLCopyFile(
const char *pszNewPath,
const char *pszOldPath );
212 int CPL_DLL CPLMoveFile(
const char *pszNewPath,
const char *pszOldPath );
217 #define CPL_ZIP_API_OFFERED
218 void CPL_DLL *CPLCreateZip(
const char *pszZipFilename,
char **papszOptions );
219 CPLErr CPL_DLL CPLCreateFileInZip(
void *hZip,
const char *pszFilename,
220 char **papszOptions );
221 CPLErr CPL_DLL CPLWriteFileInZip(
void *hZip,
const void *pBuffer,
int nBufferSize );
222 CPLErr CPL_DLL CPLCloseFileInZip(
void *hZip );
223 CPLErr CPL_DLL CPLCloseZip(
void *hZip );
229 void CPL_DLL *CPLZLibDeflate(
const void* ptr,
size_t nBytes,
int nLevel,
230 void* outptr,
size_t nOutAvailableBytes,
231 size_t* pnOutBytes );
232 void CPL_DLL *CPLZLibInflate(
const void* ptr,
size_t nBytes,
233 void* outptr,
size_t nOutAvailableBytes,
234 size_t* pnOutBytes );
239 int CPL_DLL CPLValidateXML(
const char* pszXMLFilename,
240 const char* pszXSDFilename,
241 char** papszOptions);
249 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)