2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2013 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Scott MacVicar <scottmac@php.net> |
16 +----------------------------------------------------------------------+
21 #ifndef PHP_SQLITE_STRUCTS_H
22 #define PHP_SQLITE_STRUCTS_H
26 /* for backwards compatability reasons */
27 #ifndef SQLITE_OPEN_READONLY
28 #define SQLITE_OPEN_READONLY 0x00000001
31 #ifndef SQLITE_OPEN_READWRITE
32 #define SQLITE_OPEN_READWRITE 0x00000002
35 #ifndef SQLITE_OPEN_CREATE
36 #define SQLITE_OPEN_CREATE 0x00000004
39 /* Structure for SQLite Statement Parameter. */
40 struct php_sqlite3_bound_param
{
49 struct php_sqlite3_fci
{
51 zend_fcall_info_cache fcc
;
54 /* Structure for SQLite function. */
55 typedef struct _php_sqlite3_func
{
56 struct _php_sqlite3_func
*next
;
58 const char *func_name
;
61 zval
*func
, *step
, *fini
;
62 struct php_sqlite3_fci afunc
, astep
, afini
;
65 /* Structure for SQLite collation function */
66 typedef struct _php_sqlite3_collation
{
67 struct _php_sqlite3_collation
*next
;
69 const char *collation_name
;
71 struct php_sqlite3_fci fci
;
72 } php_sqlite3_collation
;
74 /* Structure for SQLite Database object. */
75 typedef struct _php_sqlite3_db_object
{
79 php_sqlite3_func
*funcs
;
80 php_sqlite3_collation
*collations
;
85 } php_sqlite3_db_object
;
87 /* Structure for SQLite Database object. */
88 typedef struct _php_sqlite3_agg_context
{
91 } php_sqlite3_agg_context
;
93 typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt
;
94 typedef struct _php_sqlite3_result_object php_sqlite3_result
;
96 /* sqlite3 objects to be destroyed */
97 typedef struct _php_sqlite3_free_list
{
99 php_sqlite3_stmt
*stmt_obj
;
100 } php_sqlite3_free_list
;
102 /* Structure for SQLite Result object. */
103 struct _php_sqlite3_result_object
{
105 php_sqlite3_db_object
*db_obj
;
106 php_sqlite3_stmt
*stmt_obj
;
109 int is_prepared_statement
;
113 /* Structure for SQLite Statement object. */
114 struct _php_sqlite3_stmt_object
{
117 php_sqlite3_db_object
*db_obj
;
122 /* Keep track of the zvals for bound parameters */
123 HashTable
*bound_params
;
133 * indent-tabs-mode: t