14#ifndef CPL_CSV_H_INCLUDED
15#define CPL_CSV_H_INCLUDED
33const char CPL_DLL *CSVFilename(
const char *);
35char CPL_DLL CSVDetectSeperator(
const char *pszLine);
37char CPL_DLL **CSVReadParseLine(FILE *fp);
38char CPL_DLL **CSVReadParseLine2(FILE *fp,
char chDelimiter);
40char CPL_DLL **CSVReadParseLineL(
VSILFILE *fp);
41char CPL_DLL **CSVReadParseLine2L(
VSILFILE *fp,
char chDelimiter);
43char CPL_DLL **CSVReadParseLine3L(
VSILFILE *fp,
size_t nMaxLineSize,
44 const char *pszDelimiter,
bool bHonourStrings,
45 bool bKeepLeadingAndClosingQuotes,
46 bool bMergeDelimiter,
bool bSkipBOM);
48char CPL_DLL **CSVScanLines(FILE *,
int,
const char *, CSVCompareCriteria);
49char CPL_DLL **CSVScanLinesL(
VSILFILE *,
int,
const char *, CSVCompareCriteria);
50char CPL_DLL **CSVScanFile(
const char *,
int,
const char *, CSVCompareCriteria);
51char CPL_DLL **CSVScanFileByName(
const char *,
const char *,
const char *,
53void CPL_DLL CSVRewind(
const char *);
54char CPL_DLL **CSVGetNextLine(
const char *);
55int CPL_DLL CSVGetFieldId(FILE *,
const char *);
56int CPL_DLL CSVGetFieldIdL(
VSILFILE *,
const char *);
57int CPL_DLL CSVGetFileFieldId(
const char *,
const char *);
59void CPL_DLL CSVDeaccess(
const char *);
61const char CPL_DLL *CSVGetField(
const char *,
const char *,
const char *,
62 CSVCompareCriteria,
const char *);
65void CPL_DLL SetCSVFilenameHook(
const char *(*)(
const char *));
Various convenience functions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
Various convenience functions for working with strings and string lists.
struct VSIVirtualHandle VSILFILE
Opaque type for a FILE that implements the VSIVirtualHandle API.
Definition cpl_vsi.h:141