SQLite.def 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. DEFINITION MODULE FOR "C" SQLite;
  2. (* Minimal first SQLite binding: open an in-memory database, execute SQL,
  3. and close it. The full binding stays in m2SQLITE for later porting. *)
  4. FROM SYSTEM IMPORT ADDRESS;
  5. FROM CStr IMPORT CString;
  6. EXPORT UNQUALIFIED
  7. SQLiteOk, SQLiteRow, SQLiteDone,
  8. sqlite3_open,
  9. sqlite3_exec,
  10. sqlite3_close,
  11. sqlite3_prepare_v2,
  12. sqlite3_bind_int,
  13. sqlite3_bind_text,
  14. sqlite3_step,
  15. sqlite3_column_int,
  16. sqlite3_column_text,
  17. sqlite3_finalize;
  18. CONST
  19. SQLiteOk = 0;
  20. SQLiteRow = 100;
  21. SQLiteDone = 101;
  22. PROCEDURE sqlite3_open (filename : ARRAY OF CHAR;
  23. VAR db : ADDRESS) : INTEGER;
  24. PROCEDURE sqlite3_exec (db : ADDRESS;
  25. sql : ARRAY OF CHAR;
  26. callback, arg, errmsg : ADDRESS) : INTEGER;
  27. PROCEDURE sqlite3_close (db : ADDRESS) : INTEGER;
  28. PROCEDURE sqlite3_prepare_v2 (db : ADDRESS;
  29. sql : ARRAY OF CHAR;
  30. nBytes : INTEGER;
  31. VAR stmt : ADDRESS;
  32. tail : ADDRESS) : INTEGER;
  33. PROCEDURE sqlite3_bind_int (stmt : ADDRESS;
  34. idx : INTEGER;
  35. value : INTEGER) : INTEGER;
  36. PROCEDURE sqlite3_bind_text (stmt : ADDRESS;
  37. idx : INTEGER;
  38. value : ARRAY OF CHAR;
  39. nBytes : INTEGER;
  40. destructor : ADDRESS) : INTEGER;
  41. PROCEDURE sqlite3_step (stmt : ADDRESS) : INTEGER;
  42. PROCEDURE sqlite3_column_int (stmt : ADDRESS;
  43. col : INTEGER) : INTEGER;
  44. PROCEDURE sqlite3_column_text (stmt : ADDRESS;
  45. col : INTEGER) : CString;
  46. PROCEDURE sqlite3_finalize (stmt : ADDRESS) : INTEGER;
  47. END SQLite.