| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- DEFINITION MODULE FOR "C" SQLite;
- (* Minimal first SQLite binding: open an in-memory database, execute SQL,
- and close it. The full binding stays in m2SQLITE for later porting. *)
- FROM SYSTEM IMPORT ADDRESS;
- FROM CStr IMPORT CString;
- EXPORT UNQUALIFIED
- SQLiteOk, SQLiteRow, SQLiteDone,
- sqlite3_open,
- sqlite3_exec,
- sqlite3_close,
- sqlite3_prepare_v2,
- sqlite3_bind_int,
- sqlite3_bind_text,
- sqlite3_step,
- sqlite3_column_int,
- sqlite3_column_text,
- sqlite3_finalize,
- SQLiteTransient;
- CONST
- SQLiteOk = 0;
- SQLiteRow = 100;
- SQLiteDone = 101;
- PROCEDURE sqlite3_open (filename : ARRAY OF CHAR;
- VAR db : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_exec (db : ADDRESS;
- sql : ARRAY OF CHAR;
- callback, arg, errmsg : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_close (db : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_prepare_v2 (db : ADDRESS;
- sql : ARRAY OF CHAR;
- nBytes : INTEGER;
- VAR stmt : ADDRESS;
- tail : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_bind_int (stmt : ADDRESS;
- idx : INTEGER;
- value : INTEGER) : INTEGER;
- PROCEDURE sqlite3_bind_text (stmt : ADDRESS;
- idx : INTEGER;
- value : ARRAY OF CHAR;
- nBytes : INTEGER;
- destructor : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_step (stmt : ADDRESS) : INTEGER;
- PROCEDURE sqlite3_column_int (stmt : ADDRESS;
- col : INTEGER) : INTEGER;
- PROCEDURE sqlite3_column_text (stmt : ADDRESS;
- col : INTEGER) : CString;
- PROCEDURE sqlite3_finalize (stmt : ADDRESS) : INTEGER;
- PROCEDURE SQLiteTransient () : ADDRESS;
- EXTERNAL "m2_sqlite_transient";
- (* The SQLITE_TRANSIENT destructor sentinel: SQLite copies bound text. *)
- END SQLite.
|