php_pdo_firebird_int.h [plain text]
#ifndef PHP_PDO_FIREBIRD_INT_H
#define PHP_PDO_FIREBIRD_INT_H
#include <ibase.h>
#ifdef SQLDA_VERSION
#define PDO_FB_SQLDA_VERSION SQLDA_VERSION
#else
#define PDO_FB_SQLDA_VERSION 1
#endif
#define PDO_FB_DIALECT 3
#define PDO_FB_DEF_DATE_FMT "%Y-%m-%d"
#define PDO_FB_DEF_TIME_FMT "%H:%M:%S"
#define PDO_FB_DEF_TIMESTAMP_FMT PDO_FB_DEF_DATE_FMT " " PDO_FB_DEF_TIME_FMT
#define SHORT_MAX (1 << (8*sizeof(short)-1))
#if SIZEOF_ZEND_LONG == 8 && !defined(PHP_WIN32)
# define LL_MASK "l"
# define LL_LIT(lit) lit ## L
#else
# ifdef PHP_WIN32
# define LL_MASK "I64"
# define LL_LIT(lit) lit ## I64
# else
# define LL_MASK "ll"
# define LL_LIT(lit) lit ## LL
# endif
#endif
#define const_cast(s) ((char*)(s))
#ifdef PHP_WIN32
typedef void (__stdcall *info_func_t)(char*);
#else
typedef void (*info_func_t)(char*);
#endif
#ifndef min
#define min(a,b) ((a)<(b)?(a):(b))
#endif
#if defined(_LP64) || defined(__LP64__) || defined(__arch64__) || defined(_WIN64)
# define PDO_FIREBIRD_HANDLE_INITIALIZER 0U
#else
# define PDO_FIREBIRD_HANDLE_INITIALIZER NULL
#endif
typedef struct {
ISC_STATUS isc_status[20];
isc_db_handle db;
isc_tr_handle tr;
char const *last_app_error;
char *date_format;
char *time_format;
char *timestamp_format;
unsigned fetch_table_names:1;
unsigned _reserved:31;
} pdo_firebird_db_handle;
typedef struct {
pdo_firebird_db_handle *H;
isc_stmt_handle stmt;
char name[32];
char statement_type:8;
unsigned exhausted:1;
unsigned cursor_open:1;
unsigned _reserved:22;
HashTable *named_params;
char **fetch_buf;
XSQLDA *in_sqlda;
XSQLDA out_sqlda;
} pdo_firebird_stmt;
extern pdo_driver_t pdo_firebird_driver;
extern struct pdo_stmt_methods firebird_stmt_methods;
void _firebird_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, char const *file, zend_long line);
enum {
PDO_FB_ATTR_DATE_FORMAT = PDO_ATTR_DRIVER_SPECIFIC,
PDO_FB_ATTR_TIME_FORMAT,
PDO_FB_ATTR_TIMESTAMP_FORMAT,
};
#endif