#ifndef DBF_H_
#define DBF_H_
#include <stdlib.h>
#include <string.h>
#ifdef WIN32
#include <io.h>
#else
#include <unistd.h>
#endif
#if !defined(O_BINARY) && !defined(WIN32)
#define O_BINARY (0)
#endif
struct dbf_dhead {
char dbh_dbt;
char dbh_date[3];
char dbh_records[4];
char dbh_hlen[2];
char dbh_rlen[2];
char dbh_res[20];
};
#define DBH_DATE_YEAR 0
#define DBH_DATE_MONTH 1
#define DBH_DATE_DAY 2
#define DBF_NAMELEN 11
struct dbf_dfield {
char dbf_name[DBF_NAMELEN];
char dbf_type;
char dbf_fda[4];
char dbf_flen[2];
char dbf_res[14];
};
struct db_field {
char db_fname[DBF_NAMELEN+1];
char db_type;
int db_flen;
int db_fdc;
char *db_format;
int db_foffset;
};
typedef struct db_field dbfield_t;
struct db_head {
int db_fd;
unsigned char db_dbt;
char db_date[9];
long db_records;
int db_hlen;
int db_rlen;
int db_nfields;
dbfield_t *db_fields;
char *db_name;
int db_cur_rec;
};
typedef struct db_head dbhead_t;
#define DBH_TYPE_NORMAL 0x03
#define DBH_TYPE_MEMO 0x83
#define VALID_RECORD ' '
#define DELETED_RECORD '*'
#include "dbf_head.h"
#include "dbf_misc.h"
#include "dbf_rec.h"
#endif