Annotation of embedaddon/php/ext/pdo_firebird/php_pdo_firebird_int.h, revision 1.1.1.2
1.1 misho 1: /*
2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
5: | Copyright (c) 1997-2012 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: | Author: Ard Biesheuvel <abies@php.net> |
16: +----------------------------------------------------------------------+
17: */
18:
1.1.1.2 ! misho 19: /* $Id$ */
1.1 misho 20:
21: #ifndef PHP_PDO_FIREBIRD_INT_H
22: #define PHP_PDO_FIREBIRD_INT_H
23:
24: #include <ibase.h>
25:
26: #ifdef SQLDA_VERSION
27: #define PDO_FB_SQLDA_VERSION SQLDA_VERSION
28: #else
29: #define PDO_FB_SQLDA_VERSION 1
30: #endif
31:
32: #define PDO_FB_DIALECT 3
33:
34: #define PDO_FB_DEF_DATE_FMT "%Y-%m-%d"
35: #define PDO_FB_DEF_TIME_FMT "%H:%M:%S"
36: #define PDO_FB_DEF_TIMESTAMP_FMT PDO_FB_DEF_DATE_FMT " " PDO_FB_DEF_TIME_FMT
37:
38: #define SHORT_MAX (1 << (8*sizeof(short)-1))
39:
40: #if SIZEOF_LONG == 8
41: # define LL_MASK "l"
42: # define LL_LIT(lit) lit ## L
43: #else
44: # ifdef PHP_WIN32
45: # define LL_MASK "I64"
46: # define LL_LIT(lit) lit ## I64
47: # else
48: # define LL_MASK "ll"
49: # define LL_LIT(lit) lit ## LL
50: # endif
51: #endif
52:
53: /* Firebird API has a couple of missing const decls in its API */
54: #define const_cast(s) ((char*)(s))
55:
56: #ifdef PHP_WIN32
57: typedef void (__stdcall *info_func_t)(char*);
58: #else
59: typedef void (*info_func_t)(char*);
60: #endif
61:
62: #ifndef min
63: #define min(a,b) ((a)<(b)?(a):(b))
64: #endif
65:
66: typedef struct {
67:
68: /* the result of the last API call */
69: ISC_STATUS isc_status[20];
70:
71: /* the connection handle */
72: isc_db_handle db;
73:
74: /* the transaction handle */
75: isc_tr_handle tr;
76:
77: /* the last error that didn't come from the API */
78: char const *last_app_error;
79:
80: /* date and time format strings, can be set by the set_attribute method */
81: char *date_format;
82: char *time_format;
83: char *timestamp_format;
84:
85: /* prepend table names on column names in fetch */
86: unsigned fetch_table_names:1;
87:
88: unsigned _reserved:31;
89:
90: } pdo_firebird_db_handle;
91:
92:
93: typedef struct {
94:
95: /* the link that owns this statement */
96: pdo_firebird_db_handle *H;
97:
98: /* the statement handle */
99: isc_stmt_handle stmt;
100:
101: /* the name of the cursor (if it has one) */
102: char name[32];
103:
104: /* the type of statement that was issued */
105: char statement_type:8;
106:
107: /* whether EOF was reached for this statement */
108: unsigned exhausted:1;
109:
110: /* successful isc_dsql_execute opens a cursor */
111: unsigned cursor_open:1;
112:
113: unsigned _reserved:22;
114:
115: /* the named params that were converted to ?'s by the driver */
116: HashTable *named_params;
117:
118: /* allocated space to convert fields values to other types */
119: char **fetch_buf;
120:
121: /* the input SQLDA */
122: XSQLDA *in_sqlda;
123:
124: /* the output SQLDA */
125: XSQLDA out_sqlda; /* last member */
126:
127: } pdo_firebird_stmt;
128:
129: extern pdo_driver_t pdo_firebird_driver;
130:
131: extern struct pdo_stmt_methods firebird_stmt_methods;
132:
133: void _firebird_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, char const *file, long line TSRMLS_DC);
134:
135: enum {
136: PDO_FB_ATTR_DATE_FORMAT = PDO_ATTR_DRIVER_SPECIFIC,
137: PDO_FB_ATTR_TIME_FORMAT,
138: PDO_FB_ATTR_TIMESTAMP_FORMAT,
139: };
140:
141: #endif /* PHP_PDO_FIREBIRD_INT_H */
142:
143: /*
144: * Local variables:
145: * tab-width: 4
146: * c-basic-offset: 4
147: * End:
148: * vim600: noet sw=4 ts=4 fdm=marker
149: * vim<600: noet sw=4 ts=4
150: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>