typedef struct
{
uchar dbf_id; // dbf_id=03, memo field does not exist
// dbf_id=83, memo field exists( foxbase )
// dbf_id=F5, memo field exists ( foxpro )
char last_update[3]; // year,month,date of the file last_update
long last_rec; // serial number of the last record
ushort data_offset; // the start address of the data item
ushort rec_size; // the record size = all fields size + 1
char filler[20]; // unused
} DBF_HEAD;
typedef struct
{
char field_name[11];
char field_type;
char dummy[4]; // unused
union
{
ushort wlen; // when the field type is not numeric
struct
{
uchar len;
uchar dec;
}N; // when the field type is numeric
} linfo;
char filler[14]; // unused
}FIELD_REC;