1{$mode objfpc} 2 3{$ifdef bsd} 4 {$linklib c} 5{$endif} 6 7unit SQLite; 8 9interface 10 11{ 12 Automatically converted by H2Pas 0.99.15 from sqlite.h 13 The following command line parameters were used: 14 -S 15 -D 16 -p 17 -l 18 sqlite 19 sqlite.h 20} 21 22{$PACKRECORDS C} 23 24const 25 External_library='sqlite'; 26 27 SQLITE_ISO8859 = 1;//? 28 29 //sqlite_exec and sqlite_step return values 30 SQLITE_OK = 0; 31 SQLITE_ERROR = 1; 32 SQLITE_INTERNAL = 2; 33 SQLITE_PERM = 3; 34 SQLITE_ABORT = 4; 35 SQLITE_BUSY = 5; 36 SQLITE_LOCKED = 6; 37 SQLITE_NOMEM = 7; 38 SQLITE_READONLY = 8; 39 SQLITE_INTERRUPT = 9; 40 SQLITE_IOERR = 10; 41 SQLITE_CORRUPT = 11; 42 SQLITE_NOTFOUND = 12; 43 SQLITE_FULL = 13; 44 SQLITE_CANTOPEN = 14; 45 SQLITE_PROTOCOL = 15; 46 SQLITE_EMPTY = 16; 47 SQLITE_SCHEMA = 17; 48 SQLITE_TOOBIG = 18; 49 SQLITE_CONSTRAINT = 19; 50 SQLITE_MISMATCH = 20; 51 SQLITE_MISUSE = 21; 52 SQLITE_NOLFS = 22; 53 SQLITE_AUTH = 23; 54 SQLITE_FORMAT = 24; 55 SQLITE_RANGE = 25; 56 SQLITE_ROW = 100; 57 SQLITE_DONE = 101; 58 59 // values used in sqlite_set_authorizer to define what operations authorize 60 SQLITE_COPY = 0; 61 SQLITE_CREATE_INDEX = 1; 62 SQLITE_CREATE_TABLE = 2; 63 SQLITE_CREATE_TEMP_INDEX = 3; 64 SQLITE_CREATE_TEMP_TABLE = 4; 65 SQLITE_CREATE_TEMP_TRIGGER = 5; 66 SQLITE_CREATE_TEMP_VIEW = 6; 67 SQLITE_CREATE_TRIGGER = 7; 68 SQLITE_CREATE_VIEW = 8; 69 SQLITE_DELETE = 9; 70 SQLITE_DROP_INDEX = 10; 71 SQLITE_DROP_TABLE = 11; 72 SQLITE_DROP_TEMP_INDEX = 12; 73 SQLITE_DROP_TEMP_TABLE = 13; 74 SQLITE_DROP_TEMP_TRIGGER = 14; 75 SQLITE_DROP_TEMP_VIEW = 15; 76 SQLITE_DROP_TRIGGER = 16; 77 SQLITE_DROP_VIEW = 17; 78 SQLITE_INSERT = 18; 79 SQLITE_PRAGMA = 19; 80 SQLITE_READ = 20; 81 SQLITE_SELECT = 21; 82 SQLITE_TRANSACTION = 22; 83 SQLITE_UPDATE = 23; 84 85 //Return values of the authorizer function 86 SQLITE_DENY = 1; 87 SQLITE_IGNORE = 2; 88 89 SQLITE_NUMERIC = -1; 90 SQLITE_TEXT = -2; 91 SQLITE_ARGS = -3; 92 93Type 94 Psqlite = Pointer; 95 Psqlite_vm = Pointer; 96 PPsqlite_vm = ^Psqlite_vm; 97 Psqlite_func = Pointer; 98 99 // Procedural types used in functions. 100 101 sqlite_callback = function (_para1:pointer; _para2:longint; _para3:PPchar; _para4:PPchar):longint;cdecl; 102 sqlite_trace_func = procedure (_para1:pointer; _para2:Pchar);cdecl; 103 sqlite_create_func = procedure (_para1:Psqlite_func; _para2:longint; _para3:PPchar);cdecl; 104 sqlite_handler = function (_para1:pointer; _para2:Pchar; _para3:longint):longint;cdecl; 105 sqlite_step_func = procedure (_para1:Psqlite_func; _para2:longint; _para3:PPchar);cdecl; 106 sqlite_finalize_func = procedure (_para1:Psqlite_func);cdecl; 107 sqlite_authorize_func = function (_para1:pointer; _para2:longint; _para3, _para4,_para5,_para6:Pchar):longint;cdecl; 108 109 function sqlite_create_function(_para1:Psqlite; zName:Pchar; nArg:longint; xFunc:sqlite_create_func; pUserData:pointer):longint;cdecl;external External_library name 'sqlite_create_function'; 110 function sqlite_open(filename:Pchar; mode:longint; errmsg:PPchar):Psqlite;cdecl;external External_library name 'sqlite_open'; 111 procedure sqlite_close(_para1:Psqlite);cdecl;external External_library name 'sqlite_close'; 112 function sqlite_exec(_para1:Psqlite; sql:Pchar; _para3:sqlite_callback; _para4:pointer; errmsg:PPchar):longint;cdecl;external External_library name 'sqlite_exec'; 113 function sqlite_last_insert_rowid(_para1:Psqlite):longint;cdecl;external External_library name 'sqlite_last_insert_rowid'; 114 function sqlite_changes(_para1:Psqlite):longint;cdecl;external External_library name 'sqlite_changes'; 115 function sqlite_error_string(_para1:longint):Pchar;cdecl;external External_library name 'sqlite_error_string'; 116 procedure do_sqlite_interrupt(_para1:Psqlite);cdecl;external External_library name 'sqlite_interrupt'; 117 function sqlite_complete(sql:Pchar):longint;cdecl;external External_library name 'sqlite_complete'; 118 procedure sqlite_busy_handler(_para1:Psqlite; _para2:sqlite_handler; _para3:pointer);cdecl;external External_library name 'sqlite_busy_handler'; 119 procedure sqlite_busy_timeout(_para1:Psqlite; ms:longint);cdecl;external External_library name 'sqlite_busy_timeout'; 120 function sqlite_get_table(_para1:Psqlite; sql:Pchar; resultp:PPPchar; nrow:Plongint; ncolumn:Plongint; 121 errmsg:PPchar):longint;cdecl;external External_library name 'sqlite_get_table'; 122 procedure sqlite_free_table(result:PPchar);cdecl;external External_library name 'sqlite_free_table'; 123 function sqlite_exec_printf(_para1:Psqlite; sqlFormat:Pchar; _para3:sqlite_callback; _para4:pointer; errmsg:PPchar; 124 args:array of const):longint;cdecl;external External_library name 'sqlite_exec_printf'; 125 function sqlite_exec_printf(_para1:Psqlite; sqlFormat:Pchar; _para3:sqlite_callback; _para4:pointer; errmsg:PPchar):longint;cdecl;varargs;external External_library name 'sqlite_exec_printf'; 126 function sqlite_exec_vprintf(_para1:Psqlite; sqlFormat:Pchar; _para3:sqlite_callback; _para4:pointer; errmsg:PPchar; 127 ap:array of const):longint;cdecl;external External_library name 'sqlite_exec_vprintf'; 128 function sqlite_get_table_printf(_para1:Psqlite; sqlFormat:Pchar; resultp:PPPchar; nrow:Plongint; ncolumn:Plongint; 129 errmsg:PPchar; args:array of const):longint;cdecl;external External_library name 'sqlite_get_table_printf'; 130 function sqlite_get_table_printf(_para1:Psqlite; sqlFormat:Pchar; resultp:PPPchar; nrow:Plongint; ncolumn:Plongint; 131 errmsg:PPchar):longint;cdecl;varargs;external External_library name 'sqlite_get_table_printf'; 132 function sqlite_get_table_vprintf(_para1:Psqlite; sqlFormat:Pchar; resultp:PPPchar; nrow:Plongint; ncolumn:Plongint; 133 errmsg:PPchar; ap:array of const):longint;cdecl;external External_library name 'sqlite_get_table_vprintf'; 134 function sqlite_mprintf(_para1:Pchar; args:array of const):Pchar;cdecl;external External_library name 'sqlite_mprintf'; 135 function sqlite_mprintf(_para1:Pchar):Pchar;cdecl;varargs;external External_library name 'sqlite_mprintf'; 136 procedure sqlite_freemem(p:pointer);cdecl;external External_library name 'sqlite_freemem'; 137 function sqlite_libversion:Pchar;cdecl;external External_library name 'sqlite_libversion'; 138 function sqlite_libencoding:Pchar;cdecl;external External_library name 'sqlite_libencoding'; 139 function sqlite_create_aggregate(_para1:Psqlite; zName:Pchar; nArg:longint; xStep:sqlite_step_func ; xFinalize:sqlite_finalize_func; 140 pUserData:pointer):longint;cdecl;external External_library name 'sqlite_create_aggregate'; 141 function sqlite_function_type(db:Psqlite; zName:Pchar; datatype:longint):longint;cdecl;external External_library name 'sqlite_function_type'; 142 function sqlite_set_result_string(_para1:Psqlite_func; _para2:Pchar; _para3:longint):Pchar;cdecl;external External_library name 'sqlite_set_result_string'; 143 procedure sqlite_set_result_int(_para1:Psqlite_func; _para2:longint);cdecl;external External_library name 'sqlite_set_result_int'; 144 procedure sqlite_set_result_double(_para1:Psqlite_func; _para2:double);cdecl;external External_library name 'sqlite_set_result_double'; 145 procedure sqlite_set_result_error(_para1:Psqlite_func; _para2:Pchar; _para3:longint);cdecl;external External_library name 'sqlite_set_result_error'; 146 function sqlite_user_data(_para1:Psqlite_func):pointer;cdecl;external External_library name 'sqlite_user_data'; 147 function sqlite_aggregate_context(_para1:Psqlite_func; nBytes:longint):pointer;cdecl;external External_library name 'sqlite_aggregate_context'; 148 function sqlite_aggregate_count(_para1:Psqlite_func):longint;cdecl;external External_library name 'sqlite_aggregate_count'; 149 function sqlite_set_authorizer(_para1:Psqlite; xAuth:sqlite_authorize_func ; pUserData:pointer):longint;cdecl;external External_library name 'sqlite_set_authorizer'; 150 function sqlite_trace(_para1:Psqlite; xTrace:sqlite_trace_func; _para3:pointer):pointer;cdecl;external External_library name 'sqlite_trace'; 151 function sqlite_compile(db:Psqlite; zSql:Pchar; pzTail:PPchar; ppVm:PPsqlite_vm; pzErrmsg:PPchar):longint;cdecl;external External_library name 'sqlite_compile'; 152 function sqlite_step(pVm:Psqlite_vm; pN:Plongint; pazValue:PPPchar; pazColName:PPPchar):longint;cdecl;external External_library name 'sqlite_step'; 153 function sqlite_finalize(_para1:Psqlite_vm; pzErrMsg:PPchar):longint;cdecl;external External_library name 'sqlite_finalize'; 154 155 //Use functions instead of external variables to retrieve version and encoding info 156 function sqlite_version: PChar external External_library name 'sqlite_libversion'; 157 function sqlite_encoding: PChar external External_library name 'sqlite_libencoding'; 158 159implementation 160 161end. 162