diff --git a/HDBC-sqlite3.cabal b/HDBC-sqlite3.cabal
--- a/HDBC-sqlite3.cabal
+++ b/HDBC-sqlite3.cabal
@@ -1,12 +1,12 @@
 Extra-Libraries: sqlite3
 Name: HDBC-sqlite3
-Version: 1.1.3.0
+Version: 1.1.3.1
 License: LGPL
 Maintainer: John Goerzen <jgoerzen@complete.org>
 Author: John Goerzen
 Copyright: Copyright (c) 2005-2007 John Goerzen
 license-file: COPYRIGHT
-extra-source-files: COPYING
+extra-source-files: COPYING, hdbc-sqlite3-helper.h
 homepage: http://software.complete.org/hdbc-sqlite3
 synopsis: Sqlite v3 driver for HDBC
 Description: This is the Sqlite v3 driver for HDBC, the generic
diff --git a/hdbc-sqlite3-helper.h b/hdbc-sqlite3-helper.h
new file mode 100644
--- /dev/null
+++ b/hdbc-sqlite3-helper.h
@@ -0,0 +1,28 @@
+#include <sqlite3.h>
+
+extern int sqlite3_bind_text2(sqlite3_stmt* a, int b, const char *c, int d);
+
+/* Clever trick: the obj is the first element in the struct, so the pointer
+   to the struct is the same as the pointer to the obj. */
+
+typedef struct TAG_finalizeonce {
+  void *encapobj;
+  int refcount;
+  int isfinalized;
+  struct TAG_finalizeonce *parent;
+} finalizeonce;
+
+
+extern int sqlite3_open2(const char *filename, finalizeonce **ppo);
+extern int sqlite3_close_app(finalizeonce *ppdb);
+extern void sqlite3_close_finalizer(finalizeonce *ppdb);
+extern void sqlite3_conditional_finalizer(finalizeonce *ppdb);
+
+extern void sqlite3_busy_timeout2(finalizeonce *ppdb, int ms);
+extern int sqlite3_prepare2(finalizeonce *fdb, const char *zSql,
+                            int nBytes, finalizeonce **ppo,
+                            const char **pzTail);
+extern int sqlite3_finalize_app(finalizeonce *ppst);
+extern void sqlite3_finalize_finalizer(finalizeonce *ppst);
+
+
