oracle instant client 11.2 for x86
diff --git a/sdk/include/sqlkpr.h b/sdk/include/sqlkpr.h
new file mode 100755
index 0000000..507c2ef
--- /dev/null
+++ b/sdk/include/sqlkpr.h
@@ -0,0 +1,134 @@
+/*
+ * $Header: sqlkpr.h 25-aug-2005.21:32:24 subanerj Exp $
+ */
+
+/* Copyright (c) 1994, 2005, Oracle. All rights reserved. */
+/*
+ NAME
+ sqlkpr.h - SQLlib K&R PRototypes
+ DESCRIPTION
+ Defines k&r prototypes for externalized SQLLIB functions used in
+ conjunction with OCI
+ PUBLIC FUNCTION(S)
+ sqllda: Get Logon Data Area for connection
+ sqlld2: Logon Data area form 2 -- with host name
+ sqlcda: Cursor data area from result set cursor
+ sqlcur: PCC cursor from cursor data area
+
+ NOTES
+
+ MODIFIED (MM/DD/YY)
+ subanerj 08/25/05 - ANSI prototypes; miscellaneous cleanup
+ apopat 05/08/02 - [2362423] MVS PE to make lines shorter than 79
+ apopat 09/20/00 - [1356099] Clarification on use of sqllda
+ lvbcheng 01/16/97 - Fix for b2
+ jbasu 02/08/95 - Add prototypes for new thread entry pts
+ jbasu 09/21/94 - Update sqlcda,sqlcur; move sqlrcn,sqlfcn to sqlefn.h
+ jbasu 09/13/94 - Move XA prototypes to sqlefn.h
+ jbasu 08/16/94 - use OCI cda_def type from ocidfn.h instead of sqlold
+ jbasu 08/16/94 - Creation
+*/
+
+#ifndef SQLKPR
+# define SQLKPR
+
+#ifndef OCIDFN
+# include <ocidfn.h>
+#endif
+
+#define SQLLDAGetCurrent(arg1, arg2) sqlldat(arg1, arg2)
+
+void sqllda(Lda_Def *lda);
+ /* LDA version 1. Creates an lda for use in OCI programs.
+ ** Assumes that we are logged on through an embedded SQL statement.
+ ** The lda is filled in using the connect information from the most
+ ** recently executed embedded SQL statement. So the ONLY way to use
+ ** sqllda() is to call sqllda() immediately after the
+ ** EXEC SQL CONNECT... statement.
+ */
+
+
+void sqlldat(dvoid *sqluga, Lda_Def *lda);
+ /* Thread-safe version of sqllda. Takes an extra parameter sqluga, which is
+ * the SQLLIB runtime context.
+ */
+
+/* **************************************************************************/
+/* ** SQLLD2 ** "sqlld2" is an extended version of */
+/* the sqllda function used to pass a connection to OCI. */
+/* "sqlld2" can be used at any time to set up an "lda" for use */
+/* by OCI. It does not need to called immediately after a SQL */
+/* statement using the particular connection (typically the */
+/* CONNECT itself). */
+/****************************************************************************/
+
+#define SQLDAGetNamed(arg1, arg2, arg3, arg4) sqlld2t(arg1, arg2, arg3, arg4)
+
+void sqlld2(Lda_Def *lda, text *hname, sb4 *hnamel);
+ /* LDa version 2. Creates an lda for use in OCI programs. The difference
+ ** between sqlld2 and sqllda is that sqlld2 allows specification of
+ ** the database host name to determine the connection to use in
+ ** establishing the lda.
+ ** hname - buffer containing the "logical" name for this connection. This
+ ** would be the same identifier used in an AT clause in an
+ ** embedded SQL statement. A null ptr indicates the "default"
+ ** database used when there is no AT clause in a SQL statement.
+ ** hnamel - length of buffer containing hname.
+ */
+
+void sqlld2t(dvoid *sqluga, Lda_Def *lda, text *hname, sb4 *hnamel);
+ /* Thread-safe version of sqlld2. Takes an extra parameter sqluga, which is
+ * the SQLLIB runtime context.
+ */
+
+#define SQLCDAFromResultSetCursor(arg1, arg2, arg3, arg4) \
+ sqlcdat(arg1, arg2, arg3, arg4)
+
+void sqlcda(/*_ Cda_Def *cda, dvoid *cur, sword *retval _*/);
+/*
+ * Name: sqlcda() - SQLlib result set cursor to a Cursor Data Area in OCI
+ * Description: Translates a result set cursor in SQLLIB to a cursor data area
+ * in OCI. Both of these structs should have been previously
+ * created/allocated.
+ * Input : cur -pointer to a result set cursor struct allocated thru Pro*
+ * Output : cda -pointer to destination cursor data area in OCI
+ * retval -Return value: 0 if no error,SQLLIB error number otherwise
+ *
+ * Notes: 1.In case of an error, the v2_rc and rc fields of the cda are
+ * populated with the negative and positive error codes respectively.
+ * 2.The 'rows processed count' in the cda structure is NOT populated
+ * in this routine. This field is set to the correct value only
+ * AFTER a fetch is done in OCI using the cda. Same
+ * comment applies to other cda fields like the function type.
+ * ===========================================================================
+ */
+void sqlcdat(/*_ dvoid *sqluga, Cda_Def *cda, dvoid *cur, sword *retval _*/);
+ /* Thread-safe version of sqlcda(). Takes an extra parameter sqluga, which
+ * is the SQLLIB runtime context.
+ */
+
+#define SQLCDAToResultSetCursor(SQL_SINGLE_RCTX, arg1, arg2, arg3) \
+ sqlcurt(arg1, arg2, arg3, arg4)
+
+void sqlcur(/*_ dvoid *cur, Cda_Def *cda, sword *retval _*/);
+/*
+ * Name: sqlcur() - SQLlib result set CURsor from an oci cursor data area
+ * Description: Translates a cursor data area in OCI to a result set cursor
+ * in SQLLIB. Both of these structs should have been previously
+ * created/allocated.
+ * Input : cda - pointer to a cursor data area in OCI
+ * Output : cur - pointer to a result set cursor struct (previously
+ * allocated thru PCC)
+ * retval - Return value: 0 if no error, error code otherwise.
+ * Notes :The sqlca structure for PCC is NOT updated by this routine. This
+ * structure gets populated (with error code, rows fetched count etc)
+ * only AFTER a database operation is performed through PCC using the
+ * translated cursor.
+ *============================================================================
+ */
+void sqlcurt(/*_ dvoid *sqluga, dvoid *cur, Cda_Def *cda, sword *retval _*/);
+ /* Thread-safe version of sqlcur(). Takes an extra parameter sqluga, which
+ * is the SQLLIB runtime context.
+ */
+
+#endif /* SQLKPR */