php_sqlite3_structs.h [plain text]
#ifndef PHP_SQLITE_STRUCTS_H
#define PHP_SQLITE_STRUCTS_H
#include <sqlite3.h>
#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
struct php_sqlite3_bound_param {
long param_number;
char *name;
int name_len;
long type;
zval *parameter;
};
struct php_sqlite3_fci {
zend_fcall_info fci;
zend_fcall_info_cache fcc;
};
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;
typedef struct _php_sqlite3_collation {
struct _php_sqlite3_collation *next;
const char *collation_name;
zval *cmp_func;
struct php_sqlite3_fci fci;
} php_sqlite3_collation;
typedef struct _php_sqlite3_db_object {
zend_object zo;
int initialised;
sqlite3 *db;
php_sqlite3_func *funcs;
php_sqlite3_collation *collations;
zend_bool exception;
zend_llist free_list;
} php_sqlite3_db_object;
typedef struct _php_sqlite3_agg_context {
zval *zval_context;
long row_count;
} php_sqlite3_agg_context;
typedef struct _php_sqlite3_stmt_object php_sqlite3_stmt;
typedef struct _php_sqlite3_result_object php_sqlite3_result;
typedef struct _php_sqlite3_free_list {
zval *stmt_obj_zval;
php_sqlite3_stmt *stmt_obj;
} php_sqlite3_free_list;
struct _php_sqlite3_result_object {
zend_object zo;
php_sqlite3_db_object *db_obj;
php_sqlite3_stmt *stmt_obj;
zval *stmt_obj_zval;
int is_prepared_statement;
int complete;
};
struct _php_sqlite3_stmt_object {
zend_object zo;
sqlite3_stmt *stmt;
php_sqlite3_db_object *db_obj;
zval *db_obj_zval;
int initialised;
HashTable *bound_params;
};
#endif