增加oracle 11g x86版 instantclient
diff --git a/sdk/include/ociextp.h b/sdk/include/ociextp.h
new file mode 100755
index 0000000..7026a68
--- /dev/null
+++ b/sdk/include/ociextp.h
@@ -0,0 +1,282 @@
+/*
+ *
+ */
+
+/* Copyright (c) 1996, 2005, Oracle. All rights reserved. */
+
+/*
+ NAME
+ ociextp.h - Interface Definitions for PL/SQL External Procedures
+
+ DESCRIPTION
+ This header file contains C language callable interface from
+ PL/SQL External Procedures.
+
+ PUBLIC FUNCTION(S)
+ OCIExtProcAllocCallMemory - Allocate Call memory
+ OCIExtProcRaiseExcp - Raise Exception
+ OCIExtProcRaiseExcpWithMsg - Raise Exception with message
+ OCIExtProcGetEnv - Get OCI Environment
+
+ PRIVATE FUNCTION(S)
+ <list of static functions defined in .c file - with one-line descriptions>
+
+ EXAMPLES
+
+ NOTES
+ <other useful comments, qualifications, etc.>
+
+ MODIFIED (MM/DD/YY)
+ dmukhin 06/29/05 - ANSI prototypes; miscellaneous cleanup
+ srseshad 03/12/03 - convert oci public api to ansi
+ rdecker 01/10/02 - change 32k to MAX_OEN for error numbers
+ sagrawal 07/20/01 - Statement Handle to safe cal outs
+ abrumm 04/19/01 - move include of oci.h after defines/typedef
+ rdecker 02/22/01 - lint fix
+ bpalaval 02/08/01 - Change text to oratext.
+ sagrawal 06/16/00 - ref cursor in callouts
+ whe 09/01/99 - 976457:check __cplusplus for C++ code
+ asethi 04/15/99 - Created (by moving ociextp.h from /vobs/plsql/public)
+ rhari 03/25/97 - Use ifndef
+ rhari 12/18/96 - Include oratypes.h
+ rhari 12/11/96 - #416977, Flip values of return codes
+ rhari 12/02/96 - Define Return Code Macros
+ rhari 11/18/96 - Error number is int
+ rhari 10/30/96 - Fix OCIExtProcRaiseExcpWithMsg
+ rhari 10/30/96 - Get rid of warnings
+ rhari 10/04/96 - Fix OCIExtProcRaiseExcpWithMsg
+ rhari 09/23/96 - Creation
+
+*/
+
+
+#ifndef OCIEXTP_ORACLE
+# define OCIEXTP_ORACLE
+
+# ifndef ORATYPES
+# include <oratypes.h>
+# endif
+
+
+/*---------------------------------------------------------------------------
+ PUBLIC TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+
+/* ----------------------------- Return Codes ----------------------------- */
+/* Success and Error return codes for certain external procedure interface
+ * functions. If a particular interface function returns OCIEXTPROC_SUCCESS
+ * or OCIEXTPROC_ERROR, then applications must use these macros to check
+ * for return values.
+ *
+ * OCIEXTPROC_SUCCESS -- External Procedure Success Return Code
+ * OCIEXTPROC_ERROR -- External Procedure Failure Return Code
+ */
+#define OCIEXTPROC_SUCCESS 0
+#define OCIEXTPROC_ERROR 1
+
+
+/* --------------------------- With-Context Type --------------------------- */
+/*
+ * The C callable interface to PL/SQL External Procedures require the
+ * With-Context parameter to be passed. The type of this structure is
+ * OCIExtProcContext is is opaque to the user.
+ *
+ * The user can declare the With-Context parameter in the application as
+ *
+ * OCIExtProcContext *with_context;
+ */
+typedef struct OCIExtProcContext OCIExtProcContext;
+
+/* NOTE: OCIExtProcContext must be visible prior to including <oci.h> */
+
+# ifndef OCI_ORACLE
+# include <oci.h>
+# endif
+
+
+/* ----------------------- OCIExtProcAllocCallMemory ----------------------- */
+/* OCIExtProcAllocCallMemory
+ * Allocate N bytes of memory for the duration of the External Procedure.
+ *
+ * Memory thus allocated will be freed by PL/SQL upon return from the
+ * External Procedure. You must not use any kind of 'free' function on
+ * memory allocated by OCIExtProcAllocCallMemory.
+ * Use this function to allocate memory for function returns.
+ *
+ * PARAMETERS
+ * Input :
+ * with_context - The with_context pointer that is passed to the C
+ * External Procedure.
+ * Type of with_context : OCIExtProcContext *
+ * amount - The number of bytes to allocate.
+ * Type of amount : size_t
+ *
+ * Output :
+ * Nothing
+ *
+ * Return :
+ * An untyped (opaque) Pointer to the allocated memory.
+ *
+ * Errors :
+ * A 0 return value should be treated as an error
+ *
+ * EXAMPLE
+ * text *ptr = (text *)OCIExtProcAllocCallMemory(wctx, 1024)
+ *
+ */
+#define OCIExtProcAllocCallMemory(with_context, amount) \
+ociepacm(with_context, (size_t)amount)
+
+
+
+
+/* -------------------------- OCIExtProcRaiseExcp -------------------------- */
+/* OCIExtProcRaiseExcp
+ * Raise an Exception to PL/SQL.
+ *
+ * Calling this function signalls an exception back to PL/SQL. After a
+ * successful return from this function, the External Procedure must start
+ * its exit handling and return back to PL/SQL. Once an exception is
+ * signalled to PL/SQL, INOUT and OUT arguments, if any, are not processed
+ * at all.
+ *
+ * PARAMETERS
+ * Input :
+ * with_context - The with_context pointer that is passed to the C
+ * External Procedure.
+ * Type of with_context : OCIExtProcContext *
+ * errnum - Oracle Error number to signal to PL/SQL. errnum
+ * must be a positive number and in the range 1 to MAX_OEN
+ * Type of errnum : int
+ * Output :
+ * Nothing
+ *
+ * Return :
+ * OCIEXTPROC_SUCCESS - If the call was successful.
+ * OCIEXTPROC_ERROR - If the call failed.
+ *
+ */
+#define OCIExtProcRaiseExcp(with_context, errnum) \
+ocieperr(with_context, (int)errnum)
+
+
+
+
+
+/* ---------------------- OCIExtProcRaiseExcpWithMsg ---------------------- */
+/* OCIExtProcRaiseExcpWithMsg
+ * Raise an exception to PL/SQL. In addition, substitute the
+ * following error message string within the standard Oracle error
+ * message string. See note for OCIExtProcRaiseExcp
+ *
+ * PARAMETERS
+ * Input :
+ * with_context - The with_context pointer that is passed to the C
+ * External Procedure.
+ * Type of with_context : OCIExtProcContext *
+ * errnum - Oracle Error number to signal to PL/SQL. errnum
+ * must be a positive number and in the range 1 to MAX_OEN
+ * Type of errnum : int
+ * errmsg - The error message associated with the errnum.
+ * Type of errmsg : char *
+ * len - The length of the error message. 0 if errmsg is
+ * null terminated string.
+ * Type of len : size_t
+ * Output :
+ * Nothing
+ *
+ * Return :
+ * OCIEXTPROC_SUCCESS - If the call was successful.
+ * OCIEXTPROC_ERROR - If the call failed.
+ *
+ */
+#define OCIExtProcRaiseExcpWithMsg(with_context, errnum, errmsg, msglen) \
+ociepmsg(with_context, (int)errnum, errmsg, (size_t)msglen)
+
+
+
+/* --------------------------- OCIExtProcGetEnv --------------------------- */
+/* OCIExtProcGetEnv
+ * Get OCI Environment
+ *
+ * PARAMETERS
+ * Input :
+ * with_context - The with_context pointer that is passed to the C
+ * External Procedure.
+ *
+ * Output :
+ * envh - The OCI Environment handle.
+ * svch - The OCI Service handle.
+ * errh - The OCI Error handle.
+ *
+ * Return :
+ * OCI_SUCCESS - Successful completion of the function.
+ * OCI_ERROR - Error.
+ *
+ */
+#define OCIExtProcGetEnv(with_context, envh, svch, errh) \
+ociepgoe(with_context, envh, svch, errh)
+
+
+
+/* ------------------------ OCIInitializeStatementHandle ------------------- */
+/* OCIreateStatementHandle
+ * Initialize Statement Handle
+ *
+ * PARAMETERS
+ * Input :
+ * wctx - The
+ * cursorno - The cursor number for which we need to initialize
+ * the statement handle
+ * svch - The OCI Service handle.
+ *
+ * Output :
+ * stmthp - The OCI Statement handle.
+ * errh - The OCI Error handle.
+ *
+ * Return :
+ * OCI_SUCCESS - Successful completion of the function.
+ * OCI_ERROR - Error.
+ *
+ */
+#define OCIInitializeStatementHandle(wctx, cursorno, svch, stmthp, errh) \
+ociepish(wctx, cursor, svch, stmthp, errh)
+
+
+
+
+/*---------------------------------------------------------------------------
+ PRIVATE TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+
+/*---------------------------------------------------------------------------
+ PUBLIC FUNCTIONS
+ ---------------------------------------------------------------------------*/
+
+
+/*---------------------------------------------------------------------------
+ PRIVATE FUNCTIONS
+ ---------------------------------------------------------------------------*/
+
+
+
+void *ociepacm(OCIExtProcContext *with_context, size_t amount);
+
+
+
+size_t ocieperr(OCIExtProcContext *with_context, int error_number);
+
+
+
+size_t ociepmsg(OCIExtProcContext *with_context, int error_number,
+ oratext *error_message, size_t len );
+
+
+
+sword ociepgoe(OCIExtProcContext *with_context, OCIEnv **envh,
+ OCISvcCtx **svch, OCIError **errh);
+
+
+#endif /* OCIEXTP_ORACLE */