summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/sqlite3/php_sqlite3.h104
-rw-r--r--ext/sqlite3/php_sqlite3_structs.h124
-rw-r--r--ext/sqlite3/sqlite3.c1
3 files changed, 125 insertions, 104 deletions
diff --git a/ext/sqlite3/php_sqlite3.h b/ext/sqlite3/php_sqlite3.h
index f40143e..ec2a92c 100644
--- a/ext/sqlite3/php_sqlite3.h
+++ b/ext/sqlite3/php_sqlite3.h
@@ -21,20 +21,6 @@
#ifndef PHP_SQLITE_H
#define PHP_SQLITE_H
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-/* Include PHP Standard Header */
-#include "php.h"
-
-/* Include headers */
-#include <sqlite3.h>
-
#define PHP_SQLITE3_VERSION "0.7-dev"
extern zend_module_entry sqlite3_module_entry;
@@ -54,98 +40,8 @@ ZEND_END_MODULE_GLOBALS(sqlite3)
#define PHP_SQLITE3_NUM 1<<1
#define PHP_SQLITE3_BOTH (PHP_SQLITE3_ASSOC|PHP_SQLITE3_NUM)
-/* for backwards compatability reasons */
-#ifndef SQLITE_OPEN_READONLY
-#define SQLITE_OPEN_READONLY 0x00000001
-#endif
-
-#ifndef SQLITE_OPEN_READWRITE
-#define SQLITE_OPEN_READWRITE 0x00000002
-#endif
-
-#ifndef SQLITE_OPEN_CREATE
-#define SQLITE_OPEN_CREATE 0x00000004
-#endif
-
-/* Structure for SQLite Statement Parameter. */
-struct php_sqlite3_bound_param {
- long param_number;
- char *name;
- int name_len;
- int type;
-
- zval *parameter;
-};
-
-struct php_sqlite3_fci {
- zend_fcall_info fci;
- zend_fcall_info_cache fcc;
-};
-
-/* Structure for SQLite function. */
-typedef struct _php_sqlite3_func {
- struct _php_sqlite3_func *next;
-
- const char *func_name;
- int argc;
-
- zval *func, *step, *fini;
- struct php_sqlite3_fci afunc, astep, afini;
-} php_sqlite3_func;
-
-/* Structure for SQLite Database object. */
-typedef struct _php_sqlite3_db_object {
- zend_object zo;
- int initialised;
- sqlite3 *db;
- php_sqlite3_func *funcs;
-} php_sqlite3_db_object;
-
-/*typedef struct _php_sqlite3_stmt {
- sqlite3_stmt *stmt;
- int initialised;
-} php_sqlite3_stmt;*/
-
-typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt;
-typedef struct _php_sqlite3_result_object php_sqlite3_result;
-
-/* sqlite3 objects to be destroyed */
-typedef struct _php_sqlite3_stmt_free_list {
- sqlite3_stmt *stmt;
-
- zval *statement_object;
- zval *result_object;
-} php_sqlite3_stmt_free_list;
-
-/* Structure for SQLite Result object. */
-struct _php_sqlite3_result_object {
- zend_object zo;
- php_sqlite3_db_object *db_obj;
- php_sqlite3_stmt *stmt_obj;
- zval *stmt_obj_zval;
-
- int initialised;
-
- int is_prepared_statement;
- int complete;
-};
-
-/* Structure for SQLite Statement object. */
-struct _php_sqlite3_stmt_object {
- zend_object zo;
- sqlite3_stmt *stmt;
- php_sqlite3_db_object *db_obj;
- zval *db_obj_zval;
-
- int initialised;
-
- /* Keep track of the zvals for bound parameters */
- HashTable *bound_params;
-};
-
#endif
-
/*
* Local variables:
* tab-width: 4
diff --git a/ext/sqlite3/php_sqlite3_structs.h b/ext/sqlite3/php_sqlite3_structs.h
new file mode 100644
index 0000000..47cf88a
--- /dev/null
+++ b/ext/sqlite3/php_sqlite3_structs.h
@@ -0,0 +1,124 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2008 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Scott MacVicar <scottmac@php.net> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#ifndef PHP_SQLITE_STRUCTS_H
+#define PHP_SQLITE_STRUCTS_H
+
+#include <sqlite3.h>
+
+/* for backwards compatability reasons */
+#ifndef SQLITE_OPEN_READONLY
+#define SQLITE_OPEN_READONLY 0x00000001
+#endif
+
+#ifndef SQLITE_OPEN_READWRITE
+#define SQLITE_OPEN_READWRITE 0x00000002
+#endif
+
+#ifndef SQLITE_OPEN_CREATE
+#define SQLITE_OPEN_CREATE 0x00000004
+#endif
+
+/* Structure for SQLite Statement Parameter. */
+struct php_sqlite3_bound_param {
+ long param_number;
+ char *name;
+ int name_len;
+ int type;
+
+ zval *parameter;
+};
+
+struct php_sqlite3_fci {
+ zend_fcall_info fci;
+ zend_fcall_info_cache fcc;
+};
+
+/* Structure for SQLite function. */
+typedef struct _php_sqlite3_func {
+ struct _php_sqlite3_func *next;
+
+ const char *func_name;
+ int argc;
+
+ zval *func, *step, *fini;
+ struct php_sqlite3_fci afunc, astep, afini;
+} php_sqlite3_func;
+
+/* Structure for SQLite Database object. */
+typedef struct _php_sqlite3_db_object {
+ zend_object zo;
+ int initialised;
+ sqlite3 *db;
+ php_sqlite3_func *funcs;
+} php_sqlite3_db_object;
+
+/*typedef struct _php_sqlite3_stmt {
+ sqlite3_stmt *stmt;
+ int initialised;
+} php_sqlite3_stmt;*/
+
+typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt;
+typedef struct _php_sqlite3_result_object php_sqlite3_result;
+
+/* sqlite3 objects to be destroyed */
+typedef struct _php_sqlite3_stmt_free_list {
+ sqlite3_stmt *stmt;
+
+ zval *statement_object;
+ zval *result_object;
+} php_sqlite3_stmt_free_list;
+
+/* Structure for SQLite Result object. */
+struct _php_sqlite3_result_object {
+ zend_object zo;
+ php_sqlite3_db_object *db_obj;
+ php_sqlite3_stmt *stmt_obj;
+ zval *stmt_obj_zval;
+
+ int initialised;
+
+ int is_prepared_statement;
+ int complete;
+};
+
+/* Structure for SQLite Statement object. */
+struct _php_sqlite3_stmt_object {
+ zend_object zo;
+ sqlite3_stmt *stmt;
+ php_sqlite3_db_object *db_obj;
+ zval *db_obj_zval;
+
+ int initialised;
+
+ /* Keep track of the zvals for bound parameters */
+ HashTable *bound_params;
+};
+
+#endif
+
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ */
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index 65026ad..850f8b7 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -26,6 +26,7 @@
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_sqlite3.h"
+#include "php_sqlite3_structs.h"
#include <sqlite3.h>