summaryrefslogtreecommitdiff
path: root/ext/oracle/php3_oci8.h
diff options
context:
space:
mode:
authorStig Bakken <ssb@php.net>1999-04-21 22:49:16 +0000
committerStig Bakken <ssb@php.net>1999-04-21 22:49:16 +0000
commitf67a9bdc52c39eed6837aef8a1eca195549b1469 (patch)
tree0a7be5c5b405910f4d616df0d9bed82196d3c966 /ext/oracle/php3_oci8.h
parent96660d9a8ce06f12f186d0e3bb5697ce747182a5 (diff)
downloadphp-git-f67a9bdc52c39eed6837aef8a1eca195549b1469.tar.gz
moved dav, msql and oracle to ext/
Diffstat (limited to 'ext/oracle/php3_oci8.h')
-rw-r--r--ext/oracle/php3_oci8.h190
1 files changed, 190 insertions, 0 deletions
diff --git a/ext/oracle/php3_oci8.h b/ext/oracle/php3_oci8.h
new file mode 100644
index 0000000000..eaf9addb0b
--- /dev/null
+++ b/ext/oracle/php3_oci8.h
@@ -0,0 +1,190 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP HTML Embedded Scripting Language Version 3.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-1999 PHP Development Team (See Credits file) |
+ +----------------------------------------------------------------------+
+ | This program is free software; you can redistribute it and/or modify |
+ | it under the terms of one of the following licenses: |
+ | |
+ | A) the GNU General Public License as published by the Free Software |
+ | Foundatbion; either version 2 of the License, or (at your option) |
+ | any later version. |
+ | |
+ | B) the PHP License as published by the PHP Development Team and |
+ | included in the distribution in the file: LICENSE |
+ | |
+ | This program is distributed in the hope that it will be useful, |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+ | GNU General Public License for more details. |
+ | |
+ | You should have received a copy of both licenses referred to here. |
+ | If you did not, or have any questions about PHP licensing, please |
+ | contact core@php.net. |
+ +----------------------------------------------------------------------+
+ | Authors: Stig Sæther Bakken <ssb@guardian.no> |
+ | |
+ | Initial work sponsored by Thies Arntzen <thies@digicol.de> of |
+ | Digital Collections, http://www.digicol.de/ |
+ +----------------------------------------------------------------------+
+ */
+
+/* $Id */
+
+#if HAVE_OCI8
+# ifndef _PHP_OCI8_H
+# define _PHP_OCI8_H
+# endif
+
+# 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 <oci.h>
+
+typedef struct {
+ int id;
+ int persistent;
+ char dbname[ 64 ];
+ OCIError *pError;
+ OCIServer *pServer;
+} oci8_server;
+
+typedef struct {
+ int id;
+ int persistent;
+ oci8_server *server;
+ OCIError *pError;
+ OCISession *pSession;
+} oci8_session;
+
+typedef struct {
+ int id;
+ oci8_session *session;
+ OCISvcCtx *pServiceContext;
+ OCIError *pError;
+ HashTable *descriptors;
+ int descriptors_count;
+} oci8_connection;
+
+typedef struct {
+ dvoid *ocidescr;
+ ub4 type;
+} oci8_descriptor;
+
+typedef struct {
+ pval *pval;
+ text *name;
+ ub4 name_len;
+ ub4 type;
+ char *data; /* for pval cache */
+} oci8_define;
+
+typedef struct {
+ int id;
+ oci8_connection *conn;
+ OCIError *pError;
+ OCIStmt *pStmt;
+ text *last_query;
+ HashTable *columns;
+ int ncolumns;
+ HashTable *binds;
+ HashTable *defines;
+ int executed;
+} oci8_statement;
+
+typedef struct {
+ OCIBind *pBind;
+ pval *value;
+ dvoid *descr; /* used for binding of LOBS etc */
+ ub4 maxsize;
+ sb2 indicator;
+ ub2 retcode;
+} oci8_bind;
+
+typedef struct {
+ oci8_statement *statement;
+ OCIDefine *pDefine;
+ char *name;
+ ub4 name_len;
+ ub2 type;
+ ub4 size4;
+ ub4 storage_size4;
+ ub2 size2;
+ sb2 indicator;
+ ub2 retcode;
+ ub4 rlen;
+ ub2 is_descr;
+ int descr;
+ oci8_descriptor *pdescr;
+ void *data;
+ oci8_define *define;
+} oci8_out_column;
+
+typedef struct {
+ OCIError *pError;
+ char *default_username;
+ char *default_password;
+ char *default_dbname;
+
+ long debug_mode;
+
+ long allow_persistent;
+ long max_persistent;
+ long max_links;
+ long num_persistent;
+ long num_links;
+
+ int le_conn; /* active connections */
+ int le_stmt; /* active statements */
+
+ int le_server; /* server-handles */
+ int le_pserver; /* pesistent server-handles */
+
+ int le_session; /* session-handles */
+ int le_psession;/* pesistent session-handles */
+
+ OCIEnv *pEnv;
+} oci8_module;
+
+extern php3_module_entry oci8_module_entry;
+# define oci8_module_ptr &oci8_module_entry
+
+# define OCI8_MAX_NAME_LEN 64
+# define OCI8_MAX_DATA_SIZE 2097152 /* two megs */
+
+/* this one has to be changed to include persistent connections as well */
+# define OCI8_SERVER_TYPE(x) (((x)==OCI8_GLOBAL(php3_oci8_module).le_server) || ((x)==OCI8_GLOBAL(php3_oci8_module).le_pserver))
+# define OCI8_SESSION_TYPE(x) (((x)==OCI8_GLOBAL(php3_oci8_module).le_session) || ((x)==OCI8_GLOBAL(php3_oci8_module).le_psession))
+
+# define OCI8_CONN_TYPE(x) ((x)==OCI8_GLOBAL(php3_oci8_module).le_conn)
+# define OCI8_STMT_TYPE(x) ((x)==OCI8_GLOBAL(php3_oci8_module).le_stmt)
+
+# define RETURN_OUT_OF_MEMORY \
+ php3_error(E_WARNING, "Out of memory");\
+ RETURN_FALSE
+# define OCI8_FAIL(c,f,r) \
+ php3i_oci8_error((c)->pError,(f),(r));\
+ RETURN_FALSE
+
+#else /* !HAVE_OCI8 */
+
+# define oci8_module_ptr NULL
+
+#endif /* HAVE_OCI8 */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */