增加oracle 11g x86版 instantclient
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 */