#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"
#define MAP_VERSION 1
typedef enum { FORMAT_EXCEL, FORMAT_NL } input_fmt;
#define OFFSET_LEN(offset, indx) \
(((offset)[(indx) + 1] - (offset)[(indx)]) - 1)
#define OFFSET_OOB 0
typedef enum { EQ=1, NEQ, GT, GTEQ, LT, LTEQ, WC, NWC } OPERATOR;
typedef enum { NOTSET=1, DOUBLE, STRING, UNSIGNED_LONG } datatype;
typedef struct {
char *name;
u_int32_t fieldno;
datatype type;
int indx;
DB *secondary;
#define FIELD_OFFSET(field) ((size_t)(&(((DbRecord *)0)->field)))
size_t offset;
} DbField;
extern DB *db;
extern DbField fieldlist[];
extern DB_ENV *dbenv;
extern char *progname;
extern int verbose;
#ifdef _WIN32
#undef strcasecmp
#define strcasecmp _stricmp
#undef strncasecmp
#define strncasecmp _strnicmp
#define mkdir(d, perm) _mkdir(d)
#endif