Annotation of embedaddon/php/ext/sqlite3/php_sqlite3_structs.h, revision 1.1.1.5
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
1.1.1.5 ! misho 5: | Copyright (c) 1997-2014 The PHP Group |
1.1 misho 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: +----------------------------------------------------------------------+
17: */
18:
1.1.1.2 misho 19: /* $Id$ */
1.1 misho 20:
21: #ifndef PHP_SQLITE_STRUCTS_H
22: #define PHP_SQLITE_STRUCTS_H
23:
24: #include <sqlite3.h>
25:
1.1.1.4 misho 26: /* for backwards compatibility reasons */
1.1 misho 27: #ifndef SQLITE_OPEN_READONLY
28: #define SQLITE_OPEN_READONLY 0x00000001
29: #endif
30:
31: #ifndef SQLITE_OPEN_READWRITE
32: #define SQLITE_OPEN_READWRITE 0x00000002
33: #endif
34:
35: #ifndef SQLITE_OPEN_CREATE
36: #define SQLITE_OPEN_CREATE 0x00000004
37: #endif
38:
39: /* Structure for SQLite Statement Parameter. */
40: struct php_sqlite3_bound_param {
41: long param_number;
42: char *name;
43: int name_len;
44: long type;
45:
46: zval *parameter;
47: };
48:
49: struct php_sqlite3_fci {
50: zend_fcall_info fci;
51: zend_fcall_info_cache fcc;
52: };
53:
54: /* Structure for SQLite function. */
55: typedef struct _php_sqlite3_func {
56: struct _php_sqlite3_func *next;
57:
58: const char *func_name;
59: int argc;
60:
61: zval *func, *step, *fini;
62: struct php_sqlite3_fci afunc, astep, afini;
63: } php_sqlite3_func;
64:
1.1.1.2 misho 65: /* Structure for SQLite collation function */
66: typedef struct _php_sqlite3_collation {
67: struct _php_sqlite3_collation *next;
68:
69: const char *collation_name;
70: zval *cmp_func;
71: struct php_sqlite3_fci fci;
72: } php_sqlite3_collation;
73:
1.1 misho 74: /* Structure for SQLite Database object. */
75: typedef struct _php_sqlite3_db_object {
76: zend_object zo;
77: int initialised;
78: sqlite3 *db;
79: php_sqlite3_func *funcs;
1.1.1.2 misho 80: php_sqlite3_collation *collations;
81:
1.1 misho 82: zend_bool exception;
83:
84: zend_llist free_list;
85: } php_sqlite3_db_object;
86:
87: /* Structure for SQLite Database object. */
88: typedef struct _php_sqlite3_agg_context {
89: zval *zval_context;
90: long row_count;
91: } php_sqlite3_agg_context;
92:
93: typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt;
94: typedef struct _php_sqlite3_result_object php_sqlite3_result;
95:
96: /* sqlite3 objects to be destroyed */
97: typedef struct _php_sqlite3_free_list {
98: zval *stmt_obj_zval;
99: php_sqlite3_stmt *stmt_obj;
100: } php_sqlite3_free_list;
101:
102: /* Structure for SQLite Result object. */
103: struct _php_sqlite3_result_object {
104: zend_object zo;
105: php_sqlite3_db_object *db_obj;
106: php_sqlite3_stmt *stmt_obj;
107: zval *stmt_obj_zval;
108:
109: int is_prepared_statement;
110: int complete;
111: };
112:
113: /* Structure for SQLite Statement object. */
114: struct _php_sqlite3_stmt_object {
115: zend_object zo;
116: sqlite3_stmt *stmt;
117: php_sqlite3_db_object *db_obj;
118: zval *db_obj_zval;
119:
120: int initialised;
121:
122: /* Keep track of the zvals for bound parameters */
123: HashTable *bound_params;
124: };
125:
126: #endif
127:
128:
129: /*
130: * Local variables:
131: * tab-width: 4
132: * c-basic-offset: 4
133: * indent-tabs-mode: t
134: * End:
135: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>