增加instant client for osx 64位版本
diff --git a/sdk/include/oci8dp.h b/sdk/include/oci8dp.h
new file mode 100644
index 0000000..d73258c
--- /dev/null
+++ b/sdk/include/oci8dp.h
@@ -0,0 +1,317 @@
+/*
+ *
+ */
+
+/* Copyright (c) 1998, 2005, Oracle. All rights reserved. */
+
+/*
+ NAME
+ oci8dp.h - OCI: Direct Path API interface prototypes.
+
+ DESCRIPTION
+ Public types, constants, and interfaces to the direct path API.
+
+ RELATED DOCUMENTS
+
+ NOTES
+ This file is not directly included by the application, this file
+ is included by "oci.h", which the application should include.
+
+ MODIFIED (MM/DD/YY)
+ dmukhin 06/29/05 - ANSI prototypes; miscellaneous cleanup
+ rphillip 02/27/04 - Add OCI_DIRPATH_COL_ERROR
+ srseshad 03/12/03 - convert oci public api to ansi
+ msakayed 10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
+ cmlim 04/13/01 - remove OCIDirPathStreamToStream - not used by dpapi
+ cmlim 04/02/01 - OCI_DIRPATH_EXPR_OPQ_SQL_FN to OCI_DIRPATH_EXPR_SQL
+ ebatbout 01/22/01 - PARTIAL value for OCIDirPathDataSave action parameter
+ cmlim 07/20/00 - support opaques/sql strings in 8.2 dpapi
+ cmlim 08/14/00 - support refs in 8.2 dpapi
+ cmlim 04/17/00 - add defines for OCIDirPathFuncCtx handle & OCI_ATTR_D
+ whe 09/01/99 - 976457:check __cplusplus for C++ code
+ abrumm 04/16/99 - dpapi: more attributes
+ abrumm 02/26/99 - add defines for DataSave action
+ abrumm 10/04/98 - clen must be a ub4
+ abrumm 05/27/98 - add column array flag values
+ abrumm 05/12/98 - direct path api support
+ abrumm 03/31/98 - OCI direct path interface support
+ abrumm 03/18/98 - Creation
+
+*/
+
+#ifndef OCI8DP_ORACLE
+# define OCI8DP_ORACLE
+
+#ifndef ORATYPES
+#include <oratypes.h>
+#endif
+
+#ifndef OCIDFN
+#include <ocidfn.h>
+#endif
+
+#ifndef OCI_ORACLE
+#include <oci.h>
+#endif
+
+
+/*---------------------------------------------------------------------------
+ PUBLIC TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+/*----- Handles and descriptors for direct path operations (OCIDirPath*) ----*/
+
+typedef struct OCIDirPathCtx OCIDirPathCtx; /* context */
+typedef struct OCIDirPathFuncCtx OCIDirPathFuncCtx; /* function context */
+typedef struct OCIDirPathColArray OCIDirPathColArray; /* column array */
+typedef struct OCIDirPathStream OCIDirPathStream; /* stream */
+typedef struct OCIDirPathDesc OCIDirPathDesc; /* direct path descriptor */
+
+ /*----- Defines for Direct Path Options -----*/
+
+ /* values for OCI_ATTR_DIRPATH_MODE attribute */
+#define OCI_DIRPATH_LOAD 1 /* direct path load operation */
+#define OCI_DIRPATH_UNLOAD 2 /* direct path unload operation */
+#define OCI_DIRPATH_CONVERT 3 /* direct path convert only operation */
+
+ /*----- values for OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD attribute -----*/
+#define OCI_DIRPATH_INDEX_MAINT_SINGLE_ROW 1
+
+/* Note that there are two attributes dealing with index maintenance -
+ * OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD and OCI_ATTR_DIRPATH_SKIPINDEX_METHOD.
+ * OCI_ATTR_DIRPATH_SKIPINDEX_METHOD exists to isolate the behavior for
+ * skipping index maintenance since maintenance of unusable indexes is
+ * orthogonal to that of single row insertion.
+ * For backwards compatibility we still allow users to specify skip
+ * methods in OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD so make sure the
+ * enumerations for the two attributes are distinct.
+ */
+ /*----- values for OCI_ATTR_DIRPATH_SKIPINDEX_METHOD attribute -----*/
+#define OCI_DIRPATH_INDEX_MAINT_SKIP_UNUSABLE 2
+#define OCI_DIRPATH_INDEX_MAINT_DONT_SKIP_UNUSABLE 3
+#define OCI_DIRPATH_INDEX_MAINT_SKIP_ALL 4
+
+ /* values for OCI_ATTR_STATE attribute of OCIDirPathCtx */
+#define OCI_DIRPATH_NORMAL 1 /* can accept rows, last row complete */
+#define OCI_DIRPATH_PARTIAL 2 /* last row was partial */
+#define OCI_DIRPATH_NOT_PREPARED 3 /* direct path context is not prepared */
+
+ /*----- values for cflg argument to OCIDirpathColArrayEntrySet -----*/
+#define OCI_DIRPATH_COL_COMPLETE 0 /* column data is complete */
+#define OCI_DIRPATH_COL_NULL 1 /* column is null */
+#define OCI_DIRPATH_COL_PARTIAL 2 /* column data is partial */
+#define OCI_DIRPATH_COL_ERROR 3 /* column error, ignore row */
+ /*----- values for action parameter to OCIDirPathDataSave -----*/
+#define OCI_DIRPATH_DATASAVE_SAVEONLY 0 /* data save point only */
+#define OCI_DIRPATH_DATASAVE_FINISH 1 /* execute finishing logic */
+/* save portion of input data (before space error occurred) and finish */
+#define OCI_DIRPATH_DATASAVE_PARTIAL 2
+
+ /*- OCI_ATTR_DIRPATH_EXPR_TYPE values (describes OCI_ATTR_NAME expr type) -*/
+#define OCI_DIRPATH_EXPR_OBJ_CONSTR 1 /* NAME is an object constructor */
+#define OCI_DIRPATH_EXPR_SQL 2 /* NAME is an opaque or sql function */
+#define OCI_DIRPATH_EXPR_REF_TBLNAME 3 /* NAME is table name if ref is scoped*/
+
+
+/*---------------------------------------------------------------------------
+ PUBLIC FUNCTIONS
+ ---------------------------------------------------------------------------*/
+
+/*------------------------ OCIDirPathCtx Operations -------------------------*/
+
+/*
+ NAME
+ OCIDirPathAbort - OCI: Abort a direct path operation.
+
+ DESCRIPTION
+ Aborts a direct path operation. Upon successful completion
+ the direct path context is no longer valid.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathAbort( OCIDirPathCtx *dpctx, OCIError *errhp );
+
+/*
+ NAME
+ OCIDirPathDataSave - OCI: Execute a data save point.
+
+ DESCRIPTION
+ Successful return of this function indicates that a data save
+ point has been executed.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathDataSave( OCIDirPathCtx *dpctx, OCIError *errhp, ub4 action );
+
+/*
+ NAME
+ OCIDirPathFinish - OCI: Finish a direct path operation.
+
+ DESCRIPTION
+ Finishes a direct path operation.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathFinish( OCIDirPathCtx *dpctx, OCIError *errhp );
+
+/*
+ NAME
+ OCIDirPathFlushRow - OCI: Flush a partial row from the server.
+
+ DESCRIPTION
+ Flushes a partially loaded row from the server.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathFlushRow( OCIDirPathCtx *dpctx, OCIError *errhp );
+
+/*
+ NAME
+ OCIDirPathPrepare - OCI: Prepare a direct path operation.
+
+ DESCRIPTION
+ Prepares a table/partition for a direct path operation.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathPrepare( OCIDirPathCtx *dpctx, OCISvcCtx *svchp,
+ OCIError *errhp );
+
+/*
+ NAME
+ OCIDirPathLoadStream - OCI: Load a direct path stream.
+
+ DESCRIPTION
+ Load a direct path stream to the object associated with
+ the direct path context.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathLoadStream( OCIDirPathCtx *dpctx, OCIDirPathStream *dpstr,
+ OCIError *errhp );
+
+
+/*---------------------- OCIDirPathColArray Operations ----------------------*/
+
+/*
+ NAME
+ OCIDirPathColArrayEntryGet - OCI: Get column array entry.
+
+ DESCRIPTION
+ Column array function which is used to get a specified entry in
+ a column array.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathColArrayEntryGet( OCIDirPathColArray *dpca, OCIError *errhp,
+ ub4 rownum, ub2 colIdx, ub1 **cvalpp, ub4 *clenp,
+ ub1 *cflgp );
+
+/*
+ NAME
+ OCIDirPathColArrayEntrySet - OCI: Set column array entry.
+
+ DESCRIPTION
+ Column array function which is used to set a specified entry in
+ a column array.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathColArrayEntrySet( OCIDirPathColArray *dpca, OCIError *errhp,
+ ub4 rownum, ub2 colIdx, ub1 *cvalp, ub4 clen,
+ ub1 cflg );
+
+/*
+ NAME
+ OCIDirPathColArrayRowGet - OCI: Get column array row pointers.
+
+ DESCRIPTION
+ Column array function which is used to get the base row pointers
+ for a specified row in a column array.
+ To be used in lieu of OCIDirPathColArrayEntryGet() and
+ OCIDirPathColArrayEntrySet().
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathColArrayRowGet( OCIDirPathColArray *dpca, OCIError *errhp,
+ ub4 rownum, ub1 ***cvalppp, ub4 **clenpp,
+ ub1 **cflgpp );
+
+/*
+ NAME
+ OCIDirPathColArrayReset - OCI: Reset Column Array State
+
+ DESCRIPTION
+ Function which resets the column array state.
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ Resetting the column array state is necessary when piecing in a large
+ column and an error occurs in the middle of loading the column.
+ */
+sword
+OCIDirPathColArrayReset( OCIDirPathColArray *dpca, OCIError *errhp );
+
+/*
+ NAME
+ OCIDirPathColArrayToStream - OCI: Convert Column Array to Stream Format.
+
+ DESCRIPTION
+ Convert from column array format to stream format which is suitable
+ for loading via OCIDirPathLoadStream().
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathColArrayToStream( OCIDirPathColArray *dpca, OCIDirPathCtx *dpctx,
+ OCIDirPathStream *dpstr, OCIError *errhp,
+ ub4 rowcnt, ub4 rowoff );
+
+
+
+/*----------------------- OCIDirPathStream Operations -----------------------*/
+
+/*
+ NAME
+ OCIDirPathStreamReset - OCI:
+
+ DESCRIPTION
+
+ RETURNS
+ An OCI error code, Oracle errors are returned via the error handle.
+ NOTES
+ */
+sword
+OCIDirPathStreamReset( OCIDirPathStream *dpstr, OCIError *errhp );
+
+#endif /* OCI8DP_ORACLE */