Import BSDDB 4.7.25 (as of svn r89086)
This commit is contained in:
101
examples_c/csv/csv.h
Normal file
101
examples_c/csv/csv.h
Normal file
@@ -0,0 +1,101 @@
|
||||
/*-
|
||||
* See the file LICENSE for redistribution information.
|
||||
*
|
||||
* Copyright (c) 2005,2008 Oracle. All rights reserved.
|
||||
*
|
||||
* $Id: csv.h 63573 2008-05-23 21:43:21Z trent.nelson $
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
|
||||
#include <direct.h>
|
||||
#include <db.h>
|
||||
|
||||
extern int getopt(int, char * const *, const char *);
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
#else
|
||||
#define HAVE_WILDCARD_SUPPORT 1
|
||||
|
||||
#include <regex.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "db.h"
|
||||
|
||||
/*
|
||||
* MAP_VERSION
|
||||
* This code has hooks for versioning, but does not directly support it.
|
||||
* See the README file for details.
|
||||
*/
|
||||
#define MAP_VERSION 1
|
||||
|
||||
/*
|
||||
* Supported formats.
|
||||
*
|
||||
* FORMAT_NL: <nl> separated
|
||||
* FORMAT_EXCEL: Excel dumped flat text.
|
||||
*/
|
||||
typedef enum { FORMAT_EXCEL, FORMAT_NL } input_fmt;
|
||||
|
||||
/*
|
||||
* OFFSET_LEN
|
||||
* The length of any item can be calculated from the two offset fields.
|
||||
* OFFSET_OOB
|
||||
* An offset that's illegal, used to detect unavailable fields.
|
||||
*/
|
||||
#define OFFSET_LEN(offset, indx) \
|
||||
(((offset)[(indx) + 1] - (offset)[(indx)]) - 1)
|
||||
|
||||
#define OFFSET_OOB 0
|
||||
|
||||
/*
|
||||
* Field comparison operators.
|
||||
*/
|
||||
typedef enum { EQ=1, NEQ, GT, GTEQ, LT, LTEQ, WC, NWC } OPERATOR;
|
||||
|
||||
/*
|
||||
* Supported data types.
|
||||
*/
|
||||
typedef enum { NOTSET=1, DOUBLE, STRING, UNSIGNED_LONG } datatype;
|
||||
|
||||
/*
|
||||
* C structure that describes the csv fields.
|
||||
*/
|
||||
typedef struct {
|
||||
char *name; /* Field name */
|
||||
u_int32_t fieldno; /* Field index */
|
||||
datatype type; /* Data type */
|
||||
|
||||
int indx; /* Indexed */
|
||||
DB *secondary; /* Secondary index handle */
|
||||
|
||||
#define FIELD_OFFSET(field) ((size_t)(&(((DbRecord *)0)->field)))
|
||||
size_t offset; /* DbRecord field offset */
|
||||
} DbField;
|
||||
|
||||
/*
|
||||
* Globals
|
||||
*/
|
||||
extern DB *db; /* Primary database */
|
||||
extern DbField fieldlist[]; /* Field list */
|
||||
extern DB_ENV *dbenv; /* Database environment */
|
||||
extern char *progname; /* Program name */
|
||||
extern int verbose; /* Program verbosity */
|
||||
#ifdef _WIN32
|
||||
#undef strcasecmp
|
||||
#define strcasecmp _stricmp
|
||||
#undef strncasecmp
|
||||
#define strncasecmp _strnicmp
|
||||
#define mkdir(d, perm) _mkdir(d)
|
||||
#endif
|
||||
Reference in New Issue
Block a user