Type DTable
    TableName As String * 255
    TableHandle As Integer		'Do not use in your program for internal use only!
    IndexID As Integer
    SaveEveryChange As Integer
End Type

Type DRecord
    RecordHandle As Integer		'Do not use in your program for internal use only!
    SearchMode As Integer
    KeySearch As Integer
    LockHandle As Integer		'Do not use in your program for internal use only!
End Type

Type DField
    FieldName As String * 25
    FieldHandle As Integer		'Do not use in your program for internal use only!
    FieldType As String * 30
    FieldValue As String * 255
End Type

Type DataTable
    Table As DTable
    Record As DRecord
    Field As DField
End Type


Type NewTable
    TableName As String * 255
    NFields As Integer
    FieldNames As String * 6629
    FieldTypes As String * 1529
End Type



Declare Function OpenEngine Lib "VBENGINE.DLL" (ByVal ClientName$) As Integer
Declare Function CloseEngine Lib "VBENGINE.DLL" () As Integer
Declare Function OpenTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function CloseTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function GetRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function SetField Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function GetFieldType Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function GetField Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function NextRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function PreviousRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function LastRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function FirstRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function DeleteRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function InsertRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function UpdateRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function PutField Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function AppendRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function SearchField Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function SearchKey Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function LockRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function UnlockRecord Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function RefreshTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function LockTable Lib "VBENGINE.DLL" (Target As DataTable, ByVal LockType As Integer) As Integer
Declare Function UnlockTable Lib "VBENGINE.DLL" (Target As DataTable, ByVal LockType As Integer) As Integer
Declare Function FlushBuffers Lib "VBENGINE.DLL" () As Integer
Declare Function GetUserName Lib "VBENGINE.DLL" (ByVal StringBuffer As String) As Integer
Declare Function EmptyTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function DeleteTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function DecryptTable Lib "VBENGINE.DLL" (Target As DataTable) As Integer
Declare Function EncryptTable Lib "VBENGINE.DLL" (Target As DataTable, ByVal Password As String) As Integer
Declare Function CreateTable Lib "VBENGINE.DLL" (Table As NewTable) As Integer
Declare Function AddKey Lib "VBENGINE.DLL" (ByVal TableName As String, ByVal NFlds As Integer, ByVal FldHandles As Integer, ByVal Mode As Integer) As Integer
Declare Function DeleteKey Lib "VBENGINE.DLL" (ByVal TableName As String, ByVal Index As Integer) As Integer
Declare Function GotoRecord Lib "VBENGINE.DLL" (Target As DataTable, ByVal RecordNumber As Long) As Integer
Declare Function GetRecordNumber Lib "VBENGINE.DLL" (Target As DataTable, RecordNumber As Long) As Integer
Declare Function IsFieldBlank Lib "VBENGINE.DLL" (Target As DataTable, Blank As Integer) As Integer
Declare Function PutBlank Lib "VBENGINE.DLL" (Target As DataTable) As Integer


Global Const FALSE = 0
Global Const MASTERINDEX = 0


'Constants for Database Searching

Global Const SEARCHFIRST = 0
Global Const SEARCHNEXT = 1
Global Const CLOSESTRECORD = 2

'Constants for Table Locks

Global Const FULLLOCK = 1
Global Const WRITELOCK = 2
Global Const PREVENTWRITELOCK = 3

'Constants for Indexes
Global Const PRIMARY = 0
Global Const SECONDARY = 1
Global Const INCSECONDARY = 2

