#include "structapi.h"

#define UINT16      CUSHORT
#define UINT32      CULONG
#define DBIResult   UINT16
#define hDBIObj     UINT32          // Generic object handle
#define hDBICur     hDBIObj         // Cursor handle
#define phDBICur    CPTR hDBICur       // pointer to Cursor handle
#define BYTE        CUCHAR
#define pBYTE       CPTR
#define pRECProps   CPTR
#define DBILockType CUINT

#define CHAR        CCHAR      // from winnt.h
#define DBINAME     CSTRING    // Changed from CPTR CHAR to allow extern
                               // to handle Unicode to ANSI conversion

// Lock types (Table Level)
#define dbiNOLOCK    0              // No lock   (Default)
#define dbiWRITELOCK 1              // Write lock
#define dbiREADLOCK  2              // Read lock


#define ERRBASE_NONE             0     // No error
#define ERRCODE_NONE             0
#define DBIERR_NONE              (ERRBASE_NONE + ERRCODE_NONE)

#define DBIMAXNAMELEN         31       // Name limit (table, field etc)
#define DBIMAXPATHLEN        260       // Max path+file name len (excluding zero termination)


// dBASE Specific
#define TYPE_DBINAME TYPE_STRING
#define TYPE_DBIPATH TYPE_STRING
#define TYPE_DBDESC  TYPE_STRING

#define SIZEOF_RECPROPS 14
#define SIZEOF_DBIPATH  (DBIMAXPATHLEN+1)     // holds a DOS path
#define SIZEOF_DBINAME  (DBIMAXNAMELEN+1)     // holds a name
#define SIZEOF_DBDESC   (SIZEOF_DBINAME + SIZEOF_DBINAME + SIZEOF_DBIPATH + SIZEOF_DBINAME ) 
#define BDENULL         0
