Annotation of embedaddon/php/ext/pdo_dblib/php_pdo_dblib_int.h, revision 1.1.1.1
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: Wez Furlong <wez@php.net> |
16: | Frank M. Kromann <frank@kromann.info> |
17: +----------------------------------------------------------------------+
18: */
19:
20: /* $Id: php_pdo_dblib_int.h 321634 2012-01-01 13:15:04Z felipe $ */
21:
22: #ifndef PHP_PDO_DBLIB_INT_H
23: #define PHP_PDO_DBLIB_INT_H
24:
25: #ifndef PDO_DBLIB_FLAVOUR
26: # define PDO_DBLIB_FLAVOUR "Generic DB-lib"
27: #endif
28:
29: #if PHP_DBLIB_IS_MSSQL
30: # include <sqlfront.h>
31: # include <sqldb.h>
32:
33: # define DBERRHANDLE(a, b) dbprocerrhandle(a, b)
34: # define DBMSGHANDLE(a, b) dbprocmsghandle(a, b)
35: # define EHANDLEFUNC DBERRHANDLE_PROC
36: # define MHANDLEFUNC DBMSGHANDLE_PROC
37: # define DBSETOPT(a, b, c) dbsetopt(a, b, c)
38: # define SYBESMSG SQLESMSG
39: # define SYBESEOF SQLESEOF
40: # define SYBEFCON SQLECONN // SQLEFCON does not exist in MS SQL Server.
41: # define SYBEMEM SQLEMEM
42: # define SYBEPWD SQLEPWD
43:
44: #else
45: # include <sybfront.h>
46: # include <sybdb.h>
47: # include <syberror.h>
48:
49: /* alias some types */
50: # define SQLTEXT SYBTEXT
51: # define SQLCHAR SYBCHAR
52: # define SQLVARCHAR SYBVARCHAR
53: # define SQLINT1 SYBINT1
54: # define SQLINT2 SYBINT2
55: # define SQLINT4 SYBINT4
56: # define SQLINTN SYBINTN
57: # define SQLBIT SYBBIT
58: # define SQLFLT4 SYBREAL
59: # define SQLFLT8 SYBFLT8
60: # define SQLFLTN SYBFLTN
61: # define SQLDECIMAL SYBDECIMAL
62: # define SQLNUMERIC SYBNUMERIC
63: # define SQLDATETIME SYBDATETIME
64: # define SQLDATETIM4 SYBDATETIME4
65: # define SQLDATETIMN SYBDATETIMN
66: # define SQLMONEY SYBMONEY
67: # define SQLMONEY4 SYBMONEY4
68: # define SQLMONEYN SYBMONEYN
69: # define SQLIMAGE SYBIMAGE
70: # define SQLBINARY SYBBINARY
71: # define SQLVARBINARY SYBVARBINARY
72: # ifdef SYBUNIQUE
73: # define SQLUNIQUE SYBUNIQUE
74: # endif
75:
76: # define DBERRHANDLE(a, b) dberrhandle(b)
77: # define DBMSGHANDLE(a, b) dbmsghandle(b)
78: # define DBSETOPT(a, b, c) dbsetopt(a, b, c, -1)
79: # define NO_MORE_RPC_RESULTS 3
80: # define dbfreelogin dbloginfree
81: # define dbrpcexec dbrpcsend
82:
83: typedef short TDS_SHORT;
84: # ifndef PHP_WIN32
85: typedef unsigned char *LPBYTE;
86: # endif
87: typedef float DBFLT4;
88: #endif
89:
90: int error_handler(DBPROCESS *dbproc, int severity, int dberr,
91: int oserr, char *dberrstr, char *oserrstr);
92:
93: int msg_handler(DBPROCESS *dbproc, DBINT msgno, int msgstate,
94: int severity, char *msgtext, char *srvname, char *procname, DBUSMALLINT line);
95:
96: extern pdo_driver_t pdo_dblib_driver;
97: extern struct pdo_stmt_methods dblib_stmt_methods;
98:
99: typedef struct {
100: int severity;
101: int oserr;
102: int dberr;
103: char *oserrstr;
104: char *dberrstr;
105: char *sqlstate;
106: char *lastmsg;
107: } pdo_dblib_err;
108:
109: typedef struct {
110: LOGINREC *login;
111: DBPROCESS *link;
112:
113: pdo_dblib_err err;
114: } pdo_dblib_db_handle;
115:
116: typedef struct {
117: int coltype;
118: char *name;
119: int maxlen;
120: char *source;
121: } pdo_dblib_col;
122:
123: typedef struct {
124: unsigned long len;
125: char *data;
126: } pdo_dblib_colval;
127:
128: typedef struct {
129: pdo_dblib_db_handle *H;
130:
131: int ncols;
132: pdo_dblib_col *cols;
133:
134: pdo_dblib_colval *rows;
135: int nrows;
136:
137: int current;
138:
139: pdo_dblib_err err;
140: } pdo_dblib_stmt;
141:
142: ZEND_BEGIN_MODULE_GLOBALS(dblib)
143: pdo_dblib_err err;
144: char sqlstate[6];
145: ZEND_END_MODULE_GLOBALS(dblib)
146:
147: #ifdef ZTS
148: # define DBLIB_G(v) TSRMG(dblib_globals_id, zend_dblib_globals *, v)
149: #else
150: # define DBLIB_G(v) (dblib_globals.v)
151: #endif
152:
153: ZEND_EXTERN_MODULE_GLOBALS(dblib);
154:
155: #endif
156:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>