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>