00001 /******************************************************************************
00002 * $Id: cpl_csv_h-source.html 385 2001-03-05 04:58:33Z warmerda $
00003 *
00004 * Project: Common Portability Library
00005 * Purpose: Functions for reading and scaning CSV (comma separated,
00006 * variable length text files holding tables) files.
00007 * Author: Frank Warmerdam, warmerda@home.com
00008 *
00009 ******************************************************************************
00010 * Copyright (c) 1999, Frank Warmerdam
00011 *
00012 * Permission is hereby granted, free of charge, to any person obtaining a
00013 * copy of this software and associated documentation files (the "Software"),
00014 * to deal in the Software without restriction, including without limitation
00015 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00016 * and/or sell copies of the Software, and to permit persons to whom the
00017 * Software is furnished to do so, subject to the following conditions:
00018 *
00019 * The above copyright notice and this permission notice shall be included
00020 * in all copies or substantial portions of the Software.
00021 *
00022 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00023 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00024 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00025 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00026 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00027 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00028 * DEALINGS IN THE SOFTWARE.
00029 ******************************************************************************
00030 *
00031 * $Log$
00031 * Revision 1.2 2001/03/05 04:58:33 warmerda
00031 * updated
00031 *
00032 * Revision 1.2 1999/03/17 20:42:40 geotiff
00033 * Dont export the CSV functions from the DLL
00034 *
00035 * Revision 1.1 1999/03/09 15:57:04 geotiff
00036 * New
00037 *
00038 * Revision 1.2 1999/02/24 16:22:58 warmerda
00039 * cpl_csv.c
00040 *
00041 */
00042
00043 #ifndef CPL_CSV_H_INCLUDED
00044 #define CPL_CSV_H_INCLUDED
00045
00046 #include "cpl_serv.h"
00047
00048 CPL_C_START
00049
00050 typedef enum {
00051 CC_ExactString,
00052 CC_ApproxString,
00053 CC_Integer
00054 } CSVCompareCriteria;
00055
00056 const char *CSVFilename( const char * );
00057
00058 char **CSVReadParseLine( FILE * );
00059 char **CSVScanLines( FILE *, int, const char *, CSVCompareCriteria );
00060 char **CSVScanFile( const char *, int, const char *,
00061 CSVCompareCriteria );
00062 char **CSVScanFileByName( const char *, const char *, const char *,
00063 CSVCompareCriteria );
00064 int CSVGetFieldId( FILE *, const char * );
00065 int CSVGetFileFieldId( const char *, const char * );
00066
00067 void CSVDeaccess( const char * );
00068
00069 const char *CSVGetField( const char *, const char *, const char *,
00070 CSVCompareCriteria, const char * );
00071
00072 void CPL_DLL SetCSVFilenameHook( const char *(*)(const char *) );
00073
00074 CPL_C_END
00075
00076 #endif /* ndef CPL_CSV_H_INCLUDED */
00077
1.2.3-20001105 written by Dimitri van Heesch,
© 1997-2000