SQLiteUtils.def 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. DEFINITION MODULE SQLiteUtils ;
  2. (*
  3. m2SQLITE - small pure-Modula-2 helpers over the FOR "C" SQLite
  4. binding. CStrToM2 copies NUL-terminated C strings (ADDRESS)
  5. into Modula-2 CHAR arrays (NUL-terminated, truncated to fit).
  6. StaticDestr/TransientDestr return the SQLITE_STATIC and
  7. SQLITE_TRANSIENT destructor sentinels; BindTextCopy/BindBlobCopy
  8. bind with SQLITE_TRANSIENT so SQLite copies the value.
  9. *)
  10. FROM SYSTEM IMPORT ADDRESS;
  11. FROM SQLite IMPORT DbHandle, StmtHandle;
  12. EXPORT UNQUALIFIED
  13. CStrToM2, ErrMsg, ErrStr, LibVersionStr,
  14. StaticDestr, TransientDestr,
  15. BindTextCopy, BindBlobCopy,
  16. ExecSimple, ExecWithErr;
  17. PROCEDURE CStrToM2 (src: ADDRESS; VAR dst: ARRAY OF CHAR);
  18. PROCEDURE ErrMsg (db: DbHandle; VAR buf: ARRAY OF CHAR);
  19. PROCEDURE ErrStr (code: INTEGER; VAR buf: ARRAY OF CHAR);
  20. PROCEDURE LibVersionStr (VAR buf: ARRAY OF CHAR);
  21. PROCEDURE StaticDestr () : ADDRESS;
  22. PROCEDURE TransientDestr () : ADDRESS;
  23. PROCEDURE BindTextCopy (stmt: StmtHandle; idx: INTEGER;
  24. v: ARRAY OF CHAR) : INTEGER;
  25. PROCEDURE BindBlobCopy (stmt: StmtHandle; idx: INTEGER;
  26. data: ADDRESS; n: INTEGER) : INTEGER;
  27. PROCEDURE ExecSimple (db: DbHandle; sql: ARRAY OF CHAR) : INTEGER;
  28. PROCEDURE ExecWithErr (db: DbHandle; sql: ARRAY OF CHAR;
  29. VAR buf: ARRAY OF CHAR) : INTEGER;
  30. END SQLiteUtils.