Annotation of embedaddon/php/ext/pdo_firebird/php_pdo_firebird_int.h, revision 1.1.1.4

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>