1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
/*
+----------------------------------------------------------------------+
| PHP version 4.0 |
+----------------------------------------------------------------------+
| Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.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: Jouni Ahto <jah@mork.net> |
| Andrew Avdeev <andy@simgts.mv.ru> |
+----------------------------------------------------------------------+
*/
/* $Id: php_interbase.h,v 1.18 2000/10/05 12:47:39 jah Exp $ */
#ifndef PHP_INTERBASE_H
#define PHP_INTERBASE_H
#if HAVE_IBASE
#include <ibase.h>
extern zend_module_entry ibase_module_entry;
#define phpext_interbase_ptr &ibase_module_entry
#ifdef PHP_WIN32
#define PHP_IBASE_API __declspec(dllexport)
#else
#define PHP_IBASE_API
#endif
extern PHP_MINIT_FUNCTION(ibase);
extern PHP_RINIT_FUNCTION(ibase);
extern PHP_MSHUTDOWN_FUNCTION(ibase);
extern PHP_RSHUTDOWN_FUNCTION(ibase);
PHP_MINFO_FUNCTION(ibase);
PHP_FUNCTION(ibase_connect);
PHP_FUNCTION(ibase_pconnect);
PHP_FUNCTION(ibase_close);
PHP_FUNCTION(ibase_query);
PHP_FUNCTION(ibase_fetch_row);
PHP_FUNCTION(ibase_fetch_object);
PHP_FUNCTION(ibase_free_result);
PHP_FUNCTION(ibase_prepare);
PHP_FUNCTION(ibase_execute);
PHP_FUNCTION(ibase_free_query);
PHP_FUNCTION(ibase_timefmt);
PHP_FUNCTION(ibase_num_fields);
PHP_FUNCTION(ibase_field_info);
PHP_FUNCTION(ibase_trans);
PHP_FUNCTION(ibase_commit);
PHP_FUNCTION(ibase_rollback);
PHP_FUNCTION(ibase_blob_create);
PHP_FUNCTION(ibase_blob_add);
PHP_FUNCTION(ibase_blob_cancel);
PHP_FUNCTION(ibase_blob_open);
PHP_FUNCTION(ibase_blob_get);
PHP_FUNCTION(ibase_blob_close);
PHP_FUNCTION(ibase_blob_echo);
PHP_FUNCTION(ibase_blob_info);
PHP_FUNCTION(ibase_blob_import);
PHP_FUNCTION(ibase_errmsg);
#define IBASE_MSGSIZE 256
#define MAX_ERRMSG (IBASE_MSGSIZE*2)
#define IBASE_TRANS_ON_LINK 10
#define IBASE_BLOB_SEG 4096
ZEND_BEGIN_MODULE_GLOBALS(ibase)
ISC_STATUS status[20];
long default_link;
long num_links, num_persistent;
long max_links, max_persistent;
long allow_persistent;
char *default_user, *default_password;
char *timestampformat;
char *cfg_timestampformat;
char *dateformat;
char *cfg_dateformat;
char *timeformat;
char *cfg_timeformat;
char *errmsg;
ZEND_END_MODULE_GLOBALS(ibase)
typedef struct {
isc_tr_handle trans[IBASE_TRANS_ON_LINK];
isc_db_handle link;
unsigned short dialect;
} ibase_db_link;
typedef struct {
int trans_num;
int link_rsrc;
} ibase_tr_link;
typedef struct {
ISC_ARRAY_DESC ar_desc;
int el_type, /* sqltype kinda SQL_TEXT, ...*/
el_size; /* element size in bytes */
ISC_LONG ISC_FAR ar_size; /* all array size in bytes */
} ibase_array;
typedef struct {
isc_tr_handle trans_handle;
isc_db_handle link;
ISC_QUAD bl_qd;
isc_blob_handle bl_handle;
} ibase_blob_handle;
typedef struct {
isc_db_handle link; /* db link for this result */
isc_tr_handle trans;
isc_stmt_handle stmt;
int drop_stmt;
XSQLDA *in_sqlda, *out_sqlda;
ibase_array *in_array, *out_array;
int in_array_cnt, out_array_cnt;
unsigned short dialect;
int cursor_open;
} ibase_query;
typedef struct {
isc_db_handle link; /* db link for this result */
isc_tr_handle trans;
isc_stmt_handle stmt;
int drop_stmt;
XSQLDA *out_sqlda;
ibase_array *out_array;
} ibase_result;
typedef struct _php_ibase_varchar {
short var_len;
char var_str[1];
} IBASE_VCHAR;
/* extern ibase_module php_ibase_module; */
enum php_interbase_option {
PHP_IBASE_DEFAULT = 0,
PHP_IBASE_TEXT = 1,
PHP_IBASE_UNIXTIME = 2,
PHP_IBASE_READ = 4,
PHP_IBASE_COMMITTED = 8,
PHP_IBASE_CONSISTENCY = 16,
PHP_IBASE_NOWAIT = 32,
PHP_IBASE_TIMESTAMP = 64,
PHP_IBASE_DATE = 128,
PHP_IBASE_TIME = 256
};
#ifdef ZTS
#define IBLS_D zend_ibase_globals *ibase_globals
#define IBLS_C ibase_globals
#define IBG(v) (ibase_globals->v)
#define IBLS_FETCH() zend_ibase_globals *ibase_globals = ts_resource(ibase_globals_id)
#else
#define IBLS_D
#define IBLS_C
#define IBG(v) (ibase_globals.v)
#define IBLS_FETCH()
#endif
#else
#define phpext_interbase_ptr NULL
#endif /* HAVE_IBASE */
#endif /* PHP_INTERBASE_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
*/
|