oracle instant client 11.2 for x86
diff --git a/sdk/include/ocixmldb.h b/sdk/include/ocixmldb.h
new file mode 100755
index 0000000..721516f
--- /dev/null
+++ b/sdk/include/ocixmldb.h
@@ -0,0 +1,211 @@
+/* Copyright (c) 2003, 2011, Oracle and/or its affiliates.
+All rights reserved. */
+
+/*
+ NAME
+ ocixmldb.h - XDB public functions
+
+ DESCRIPTION
+ This file contains XDB specific public functions required for DOM C-API.
+
+ RELATED DOCUMENTS
+
+
+ EXPORT FUNCTION(S)
+ struct xmlctx *OCIXmlDbInitXmlCtx(OCIEnv *, OCISvcCtx *, OCIError *,
+ ocixmldbparam *params, int num_params);
+
+ void OCIXmlDbFreeXmlCtx(struct xmlctx *xctx);
+
+
+ ------------------------------------------------------------------------
+ EXAMPLES
+
+ NOTES
+
+ MODIFIED (MM/DD/YY)
+ srirkris 06/15/11 - Add OCIXmlDr_DEF
+ srirkris 06/07/11 - Backport srirkris_bug-12613945 from main
+ srirkris 04/26/11 - Backport srirkris_xmlop_bnd from main
+ srirkris 04/14/11 - Backport srirkris_xqupd_repl from main
+ yifeng 02/15/11 - Backport yifeng_bug-10236275 from main
+ srirkris 03/01/11 - OCIXmlDbRewriteXMLDiff definition change
+ vmedi 01/14/11 - OCIXmlDbGetFullyQualifiedSchemaUrl
+ sipatel 03/08/10 - add lob arg to OCIXmlDbRewriteXMLDiff
+ samane 01/20/10 - Bug 9302227
+ yifeng 11/05/09 - add OCIXmlDbRewriteXMLDiff
+ samane 08/05/09 - Bug 8661204
+ ataracha 12/11/03 - remove redundant definitions
+ ataracha 05/28/03 - change names
+ ataracha 02/18/03 - add oratypes, remove XMLERR_*
+ imacky 02/01/03 - remove xml.h; xdbs fix
+ ataracha 01/24/03 - use "struct xmlctx" instead of xmlctx
+ imacky 01/28/03 - fix XMLERR defs
+ ataracha 01/21/03 - ataracha_uni_capi_cleanup
+ ataracha 01/09/03 - Creation
+
+*/
+
+#ifndef ORATYPES
+#include <oratypes.h>
+#endif
+
+#ifndef OCI_ORACLE
+# include <oci.h>
+#endif
+
+#ifndef OCIXMLDB_ORACLE
+# define OCIXMLDB_ORACLE
+
+/*---------------------------------------------------------------------------
+ PUBLIC TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+#ifndef XMLCTX_DEFINED
+# define XMLCTX_DEFINED
+/* DATATYPE xmlctx - XML top-level context
+*/
+struct xmlctx; typedef struct xmlctx xmlctx;
+#endif
+
+
+typedef struct OCIXmlDiffBnd {
+ oratext *bndnmp;
+ ub1 bndnml;
+ ub2 bndpos;
+ ub2 bndnum;
+ ub2 bnddty;
+ void *bndvalp;
+ ub4 bndvallen;
+} OCIXmlDiffBnd;
+
+struct xmldrctx; typedef struct xmldrctx xmldrctx;
+
+typedef enum
+{
+ XCTXINIT_OCIDUR = 1,
+ XCTXINIT_ERRHDL = 2
+} ocixmldbpname;
+
+typedef struct ocixmldbparam
+{
+ ocixmldbpname name_ocixmldbparam;
+ void *value_ocixmldbparam;
+} ocixmldbparam;
+
+#define NUM_OCIXMLDBPARAMS 2
+
+#define OCIXMLDB_BINDBYNAME 1
+#define OCIXMLDB_BINDBYNUM 2
+
+#define OCIMAXXQUBNDLMT 1000
+
+#define OCIXmlDr_DEF 1
+
+
+/*---------------------------------------------------------------------------
+ PRIVATE TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+
+/*---------------------------------------------------------------------------
+ EXPORT FUNCTIONS
+ ---------------------------------------------------------------------------*/
+/*****************************************************************************
+ DESCRIPTION
+
+-----------------------------OCIXmlDbInitXmlCtx---------------------------------
+Name
+OCIXmlDbInitXmlCtx
+Purpose
+To get a xmlctx structure initialized with error-handler and XDB callbacks.
+Syntax
+struct xmlctx *OCIXmlDbInitXmlCtx (OCIEnv *envhp,
+ OCISvcCtx *svchp,
+ OCIError *err,
+ params_ocixmldb *params,
+ int num_params);
+Parameters
+envhp (IN) - The OCI environment handle
+svchp (IN) - The OCI service handle
+errhp (IN) - The OCI error handle
+params (IN)- This contains the following optional parameters :
+ (a) OCIDuration dur (IN - The OCI Duration (Default: OCI_DURATION_SESSION)
+ (b) void (*err_handler) (sword, (const oratext *) (IN) -
+ Pointer to the error handling function (Default: null)
+num_params (IN) - Number of parameters to be read from parameter params.
+ If the value of num_params exceeds the size of array
+ "params", unexpected behavior will result.
+
+Returns
+A pointer to xmlctx structure, with xdb context, error handler and callbacks
+populated with appropriate values. This is later used for all API calls. NULL
+if no database connection available.
+
+-----------------------------OCIXmlDbFreeXmlCtx----------------------------
+Name
+OCIXmlDbFreeXmlCtx
+Pupose
+To free any allocations done during OCIXmlDbInitXmlCtx.
+Syntax
+void OCIXmlDbFreeXmlCtx (struct xmlctx *xctx)
+Parameters
+xctx (IN) - The xmlctx to terminate
+Returns
+-
+------------------------OCIXmlDbOrastreamFromLob---------------------------
+Name
+OCIXmlDbOrastreamFromLob
+Pupose
+To create an orastream from a lob. This orastream can be used by functions like XMLLoadDom().
+Syntax
+sword OCIXmlDbOrastreamFromLob(OCIError *errhp, xmlctx *xctx,
+ void **stream, OCILobLocator *lobloc)
+Parameters
+envhp (IN) - The OCI environment handle
+xctx (IN) - XML context
+stream (IN/OUT) - A pointer to orastream
+lobloc (IN) - The OCI lob locator
+Returns
+The orastream created on top of the lob is returned in the parameter 'stream'.
+******************************************************************************/
+
+struct xmlctx *OCIXmlDbInitXmlCtx(OCIEnv *, OCISvcCtx *, OCIError *,
+ ocixmldbparam *, int);
+
+void OCIXmlDbFreeXmlCtx(struct xmlctx *xctx);
+sword OCIXmlDbStreamFromXMLType(OCIError *errhp, void **stream,
+ OCIXMLType *doc, ub4 mode);
+sword OCIXmlDbOrastreamFromLob(OCIError *errhp, xmlctx *xctx,
+ void **stream, OCILobLocator *lobloc);
+sword OCIXmlDbStreamRead(OCIError *errhp, void *stream,
+ void *bufp, sb8 *len, ub4 mode);
+sword OCIXmlDbStreamClose(OCIError *errhp, void *stream);
+
+/*---------------------------------------------------------------------------
+ INTERNAL FUNCTIONS
+ ---------------------------------------------------------------------------*/
+/* This function is for internal usage only */
+sword OCIXmlDbRewriteXMLDiff(OCIEnv *envhp, OCIError *errhp, OCISvcCtx *svchp,
+ xmldrctx *xctx , oratext* colname, ub4 colnamelen,
+ const void* xmldiff, ub4 xmldifflen,
+ OCILobLocator *xdiff_locator, oratext** updstmt,
+ ub2 binditerator, ub2 *colvalbndcount,
+ OCIXmlDiffBnd **bindlist);
+
+struct xmldrctx *OCIXmlInitDRCtx(OCIEnv *env, OCISvcCtx *svc, OCIError *err,
+ ub1 bindtyp);
+
+void OCIXmlFreeDRCtx(xmldrctx *xctx);
+
+sword OCIXmlDbGetFullyQualifiedSchemaUrl(OCIError *errhp,
+ oratext *schema_url,
+ ub2 schema_url_len,
+ oratext *schema_owner,
+ ub2 schema_owner_len,
+ oratext **fq_schema_url,
+ ub4 *fs_schema_url_len);
+
+void *OCIXmlDbMemCallback(void *ctx, size_t size);
+
+#endif /* OCIXMLDB_ORACLE */