php-src/ext/oracle/php_oracle.h
2000-02-11 15:34:11 +00:00

149 lines
2.4 KiB
C

/* $Id$ */
/* synced with oracle.h,v 1.40 1999/06/01 08:11:04 thies Exp $ */
#ifndef _PHP_ORACLE_H
#define _PHP_ORACLE_H
#if HAVE_ORACLE
#if (defined(__osf__) && defined(__alpha))
# ifndef A_OSF
# define A_OSF
# endif
# ifndef OSF1
# define OSF1
# endif
# ifndef _INTRINSICS
# define _INTRINSICS
# endif
#endif /* osf alpha */
#include "oratypes.h"
#include "ocidfn.h"
#ifdef __STDC__
#include "ociapr.h"
#endif
extern zend_module_entry oracle_module_entry;
#define phpext_oracle_ptr &oracle_module_entry
#ifdef ZTS
#define ORALS_D php_ora_globals *ora_globals
#define ORALS_DC , ORACLE_D
#define ORALS_C ora_globals
#define ORALS_CC , ORALS_C
#define ORA(v) (ora_globals->v)
#define ORALS_FETCH() php_ora_globals *ora_globals = ts_resource(ora_globals_id)
#else
#define ORALS_D
#define ORALS_DC
#define ORALS_C
#define ORALS_CC
#define ORA(v) (ora_globals.v)
#define ORALS_FETCH()
#endif
/* oparse flags */
#define DEFER_PARSE 1
#define NATIVE 1
#define VERSION_7 2
#define ORANUMWIDTH 38
#if (defined(__osf__) && defined(__alpha)) || defined(CRAY) || defined(KSR)
#define HDA_SIZE 512
#else
#define HDA_SIZE 256
#endif
#define ORAUIDLEN 32
#define ORAPWLEN 32
#define ORANAMELEN 32
#define ORABUFLEN 2000
/* Some Oracle error codes */
#define VAR_NOT_IN_LIST 1007
#define NO_DATA_FOUND 1403
#define NULL_VALUE_RETURNED 1405
/* Some SQL and ORA function codes */
#define FT_INSERT 3
#define FT_SELECT 4
#define FT_UPDATE 5
#define FT_DELETE 9
#define FC_OOPEN 14
typedef struct {
int open;
int persistent;
Lda_Def lda;
ub1 hda[HDA_SIZE];
} oraConnection;
typedef struct oraColumn {
sb4 dbsize;
sb2 dbtype;
text cbuf[ORANAMELEN+1];
sb4 cbufl;
sb4 dsize;
sb2 prec;
sb2 scale;
sb2 nullok;
ub1 *buf;
sb2 indp;
ub2 col_retlen, col_retcode;
} oraColumn;
typedef struct oraParam {
text *progv;
sword progvl;
sb2 inout;
ub2 alen;
} oraParam;
typedef struct oraCursor {
int open;
Cda_Def cda;
text *query;
HashTable *params;
int nparams;
oraColumn *columns;
int ncols;
int fetched;
oraConnection *conn_ptr;
int conn_id;
} oraCursor;
typedef struct {
char *defDB;
char *defUser;
char *defPW;
long allow_persistent;
long max_persistent;
long max_links;
long num_persistent;
long num_links;
HashTable *conns;
} php_ora_globals;
#else
#define phpext_oracle_ptr NULL
#endif /* HAVE_ORACLE */
#endif /* _PHP_ORACLE_H */
/*
* Local Variables:
* tab-width: 4
* c-basic-offset: 4
* End:
*/