oracle instant client 11.2 for x86
diff --git a/sdk/include/oci.h b/sdk/include/oci.h
new file mode 100755
index 0000000..3735893
--- /dev/null
+++ b/sdk/include/oci.h
@@ -0,0 +1,3066 @@
+/* Copyright (c) 1995, 2011, Oracle and/or its affiliates.
+All rights reserved. */
+
+/*
+ NAME
+ oci.h - V8 Oracle Call Interface public definitions
+
+ DESCRIPTION
+ This file defines all the constants and structures required by a V8
+ OCI programmer.
+
+ RELATED DOCUMENTS
+ V8 OCI Functional Specification
+ Oracle Call Interface Programmer's Guide Vol 1 and 2
+
+ INSPECTION STATUS
+ Inspection date:
+ Inspection status:
+ Estimated increasing cost defects per page:
+ Rule sets:
+
+ ACCEPTANCE REVIEW STATUS
+ Review date:
+ Review status:
+ Reviewers:
+
+ PUBLIC FUNCTION(S)
+ None
+
+ PRIVATE FUNCTION(S)
+ None
+
+ EXAMPLES
+
+ NOTES
+
+
+ MODIFIED (MM/DD/YY)
+ umabhat 05/29/11 - Backport umabhat_bug-10209825 from main
+ slari 03/24/11 - add OCI_ATTR_RESERVED_438 and OCI_ATTR_RESERVED_439
+ rphillip 09/28/10 - Bug 9835605: recnum changes
+ rphillip 08/03/09 - Bug 8720046: add OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS
+ mbastawa 03/15/10 - add OCI_FETCH_RESERVED_6
+ ebatbout 12/28/09 - 8465341: Add OCI_ATTR_DIRPATH_RESERVED_22
+ ssahu 04/15/09 - Add user handle as an attribute to session pool
+ handle
+ dalpern 03/17/09 - bug 7646876: applying_crossedition_trigger
+ kneel 11/21/08 - bump OCI version to 11.2
+ thoang 09/24/08 - include ocixstream.h
+ asohi 08/25/08 - Bug 7320582 : AQ dequeue navigation flags fix
+ thoang 08/04/08 - Add XStream attributes
+ msowdaga 07/23/08 - Add flag OCI_SESSGET_SYSDBA
+ rphillip 03/21/08 - Add partition memory attribute
+ nikeda 04/15/08 - Support OCIP_ATTR_CONTYPE
+ mbastawa 12/24/07 - add server, envhp attributes
+ slynn 03/18/08 -
+ amullick 02/11/08 - add support for OCILobGet/SetContentType
+ tbhosle 01/07/08 - add OCI_ATTR_SUBSCR_IPADDR
+ nikeda 12/19/07 - Add OCI_SUBSCR_QOS_HAREG
+ rphillip 10/22/07 - Add OCI_ATTR_DIRPATH_NO_INDEX_ERRORS
+ debanerj 12/14/07 - Added OCI_ATTR_RESERVED_38 and OCI_ATTR_RESERVED_39
+ umabhat 09/20/07 - bug6119750 added OCI_FNCODE_APPCTXSET &
+ OCI_FNCODE_APPCTXCLEARALL
+ debanerj 04/10/07 - XDS Attributes
+ msakayed 05/24/07 - Bug #5095734: add OCI_ATTR_DIRPATH_RESERVED_19
+ schoi 03/02/07 - Get/SetOptions API change
+ ebatbout 03/30/07 - 5598333: Add OCI_ATTR_DIRPATH_RESERVED_18
+ nikeda 03/21/07 - Add OCI_ATTR_RESERVED_37
+ abande 03/06/07 - Remove attributes for global stmt cache and
+ metadata cache
+ rphillip 02/20/07 - Add OCI_ATTR_DIRPATH_RESERVED_17
+ shan 11/16/06 - bug 5595911.
+ msakayed 12/04/06 - Bug #5660845: add OCI_DIRPATH_INPUT_OCI
+ gviswana 10/26/06 - Remove OCI_ATTR_CURRENT_EDITION
+ maramali 09/29/06 - bug 5568492, added OCI_NLS_LOCALE_A2_ISO_2_ORA
+ gviswana 09/29/06 - CURRENT_EDITION -> EDITION
+ aramappa 09/20/06 - Update major and minor version information
+ slynn 07/28/06 - Migrate to new 11g LOB terminiology
+ debanerj 07/20/06 - Add OCI_ATTR_LOBPREFETCH_LENGTH
+ mbastawa 06/25/06 - add OCI_ATTR_RESERVED_36
+ hqian 05/22/06 - 11gR1 proj-18303: add OCI_SYSASM
+ dkogan 04/06/06 - disable charset validation by default
+ jhealy 05/15/06 - Add TimesTen OCI adapter.
+ slynn 06/20/06 - GetSharedRegions
+ rthammai 06/13/06 - add reserved attribute
+ msakayed 06/15/06 - Project 20586: interval partitioning support
+ debanerj 10/25/05 - LOB prefetch
+ slynn 05/25/06 - New NG Lob Functionality.
+ yujwang 05/16/06 - Add OCI_ATTR_RESERVED_33, OCI_ATTR_RESERVED_34
+ abande 04/25/06 - 18297: Add attributes for global stmt cache and
+ metadata cache
+ ssvemuri 04/26/06 - Constants for Query Notification support
+ jgiloni 05/05/06 - Add OCI_ATCH_RESERVED_7
+ mxyang 02/01/06 - Added OCI_ATTR_CURRENT_EDITION attribute
+ hqian 05/04/06 - new runtime capability attribute for asm volume
+ nikeda 06/06/06 - OCI_TT: Add new OCIP attributes
+ aramappa 04/17/06 - Added OCI_FNCODE_ARRAYDESCRIPTORALLOC and
+ OCI_FNCODE_ARRAYDESCRIPTORFREE
+ debanerj 05/04/06 - 18313: OCI Net Fusion
+ rupsingh 05/26/06 -
+ jacao 05/11/06 -
+ absaxena 04/17/06 - add notification grouping attributes
+ rpingte 02/02/06 - add OCI_ATCH_RESERVED_6
+ rpingte 04/27/06 - Add OCI_ATTR_DRIVER_NAME
+ jawilson 02/14/06 - add OCI_FNCODE_AQENQSTREAM
+ kneel 04/03/06 - Adding support in kjhn for critical severity
+ rphillip 03/31/06 - Add OCI_ATTR_DIRPATH_RESERVED_14
+ mxyang 02/01/06 - Added OCI_ATTR_APPLICATION_EDITION attribute
+ rphillip 01/30/06 - Add new DPAPI attrs
+ ebatbout 11/03/05 - Add direct path support for multiple subtypes
+ porangas 02/22/06 - 5055398: Define OCI_STMT_CALL
+ mbastawa 01/31/06 - add OCI_ATTR_RESERVED_26
+ yohu 01/27/06 - align Execution Modes macros
+ sjanardh 01/25/06 - add OCI_EXEC_RESERVED_6
+ sichandr 01/18/06 - add OCI_ATTR_XMLTYPE_BINARY_XML
+ yohu 12/22/05 - add OCI_TRANS_PROMOTE
+ srseshad 09/12/05 - stmtcache: callback
+ krajan 10/25/05 - Added ENABLE_BEQUEATH attach flag
+ mbastawa 09/16/05 - dbhygiene
+ porangas 07/20/04 - 1175350: adding attribute for ognfd
+ chliang 06/30/05 - add OCI_SUPPRESS_NLS_VALIDATION mode
+ aahluwal 03/15/05 - [Bug 4235014]:add ASM, Preconnect events
+ ssappara 08/12/04 - Bug3669429 add OCI_ATTR_DESC_SYNBAS
+ absaxena 03/24/05 - remove OCI_AQ_RESERVED_5
+ mbastawa 03/01/05 - add OCI_EXEC_RESERVED_5
+ msakayed 02/15/05 - Bug #3147299: Add OCI_ATTR_CURRENT_ERRCOL
+ aahluwal 01/11/05 - [Bug 3944589]: add OCI_AUTH_RESERVED_5
+ nikeda 11/15/04 - Add OCIP_IIO
+ rvissapr 11/10/04 - bug 3843644 - isencrypted
+ hohung 11/22/04 - add OCI_BIND_RESERVED_3
+ cchui 10/25/04 - add OCI_ATTR_PROXY_CLIENT
+ aahluwal 09/27/04 - add incarnation, reason, cardinality to event handle
+ msakayed 09/14/04 - column encryption support (project id 5578)
+ jacao 08/17/04 - Add OCI_ATTR_DB_CHARSET_ID
+ mhho 08/29/04 - resolve conflicting mode declaration
+ sgollapu 05/28/04 - Add OCI_AUTH_RESERVED_3
+ mbastawa 08/05/04 - add OCI_ATTR_RESERVED_21
+ ebatbout 07/27/04 - add OCI_ATTR_DIRPATH_RESERVED_9 and move all direct
+ path attributes into a separate area in this file.
+ clei 06/29/04 - add OCI_ATTR_ENCC_SIZE
+ weiwang 05/06/04 - add OCIAQListenOpts and OCIAQLisMsgProps
+ weiwang 04/30/04 - add OCI_AQ_RESERVED_5
+ nbhatt 04/27/04 - add new attribute
+ ssvemuri 06/19/04 - change notification descriptors and attributes
+ ksurlake 06/01/04 - grabtrans 'ksurlake_txn_skmishra_clone'
+ ksurlake 05/13/04 - add subscriber handle attributes
+ mbastawa 06/01/04 - add 3 more OCI_FETCH_RESERVED modes
+ chliang 05/28/04 - add nchar literal replacement modes
+ nikeda 05/14/04 - [OLS on RAC] new authentication mode
+ debanerj 05/17/04 - 13064: add fncodes for LOB array Read and Write
+ nikeda 05/20/04 - [OCI Events] Add incarnation, cardinality,reason
+ nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
+ nikeda 05/17/04 - Add event handle
+ nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
+ nikeda 05/10/04 - [OCI Events] code review changes
+ nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
+ nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
+ aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
+ vraja 04/28/04 - add options for redo sync on commit
+ aahluwal 05/29/04 - [OCI Events]: add support for svc, svc member events
+ nikeda 05/28/04 - grabtrans 'nikeda_oci_events_copy'
+ nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
+ nikeda 05/17/04 - Add event handle
+ nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
+ nikeda 05/10/04 - [OCI Events] code review changes
+ nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
+ nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
+ aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
+ jciminsk 04/28/04 - merge from RDBMS_MAIN_SOLARIS_040426
+ jacao 03/06/04 - add OCI_ATTR_CURRENT_SCHEMA
+ aahluwal 01/20/04 - remove OCI_KEEP_FETCH_STATE
+ aahluwal 03/25/04 - [OCI Events] add OCI_HTYPE_HAEVENT and related attrs
+ nikeda 03/19/04 - [OCI Events] Add OCI_ATTR_HACBK and OCI_ATTR_HACTX
+ dfrumkin 12/04/03 - Add database startup/shutdown
+ chliang 12/22/03 - grid/main merge: add OCI_ATTR_RESERVED_20
+ jciminsk 12/12/03 - merge from RDBMS_MAIN_SOLARIS_031209
+ sgollapu 09/19/03 - Add fetch modes
+ sgollapu 07/30/03 - Add TSM attributes
+ sgollapu 06/26/03 - Add OCI_MUTEX_TRY
+ aime 06/23/03 - sync grid with main
+ sgollapu 06/07/03 - Add reserved attribute
+ sgollapu 06/05/03 - Add reserved auth flag
+ rpingte 05/22/03 - Add OCI_ATCH_RESERVED_5
+ sgollapu 05/06/03 - Add TSM attributes
+ sgollapu 04/10/03 - Session migration Flags/interfaces
+ dfrumkin 04/23/04 - add OCI_PREP2_RESERVED_1
+ rpingte 05/06/04 - add major and minor version information
+ bsinha 04/06/04 - add new OCI_TRANS flag
+ chliang 11/26/03 - add OCI_ATTR_RESERVED_19
+ preilly 10/23/03 - Make OCI_ATTR_DIRPATH_METADATA_BUF private
+ chliang 08/07/03 - add OCI_ATTR_SKIP_BUFFER
+ srseshad 03/12/03 - convert public oci api to ansi
+ weiwang 05/14/03 - remove iot creation for rule sets
+ rkoti 04/15/03 - [2746515] add fntcodes for Unlimited size LOB 6003
+ tcruanes 05/13/03 - add slave SQL OCI execution mode
+ rkoti 02/21/03 - [2761455] add OCI_FNCODE_AQENQARRAY,
+ OCI_FNCODE_AQDEQARRAY and update OCI_FNCODE_MAXFCN
+ tkeefe 01/29/03 - bug-2773794: Add new interface for setting Kerb attrs
+ aahluwal 02/06/03 - add OCI_ATTR_TRANSFORMATION_NO
+ weiwang 12/05/02 - add OCI_ATTR_USER_PROPERTY
+ ataracha 01/03/03 - include ocixmldb.h
+ preilly 12/05/02 - Add wait attribute for locking when using dir path
+ tkeefe 01/03/03 - bug-2623771: Added OCI_ATTR_KERBEROS_KEY
+ lchidamb 12/13/02 - end-to-end tracing attributes
+ msakayed 10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
+ rphillip 11/13/02 - Add OCIP_ATTR_DIRPATH_INDEX
+ sagrawal 10/13/02 - liniting
+ sagrawal 10/03/02 - PL/SQL Compiler warnings
+ jstenois 11/07/02 - remove ocixad.h
+ chliang 10/21/02 - add OCI_ATTR_RESERVED_16,17
+ hsbedi 10/30/02 - grabtrans 'jstenois_fix_xt_convert'
+ aahluwal 10/12/02 - add OCI_ATTR_AQ_NUM_E_ERRORS/OCI_ATTR_AQ_ERROR_INDEX
+ bdagevil 10/21/02 - add SQL analyze internal exec mode
+ csteinba 10/11/02 - add OCI_ATTR_RESERVED_16
+ chliang 10/12/02 - add bind row callback attributes
+ preilly 10/25/02 - Add new reserved parameters
+ tkeefe 10/31/02 - bug-2623771: Added OCI_ATTR_AUDIT_SESSION_ID
+ csteinba 10/04/02 - Add OCI_ATTR_RESERVED_15
+ mhho 10/11/02 - add new credential constant
+ thoang 09/25/02 - Add OCI_XMLTYPE_CREATE_CLOB
+ skaluska 10/07/02 - describe rules objects
+ csteinba 09/16/02 - Remove OCI_CACHE
+ gtarora 10/03/02 - OCI_ATTR_COL_SUBS => OCI_ATTR_OBJ_SUBS
+ msakayed 09/09/02 - Bug #2482469: add OCI_ATTR_DIRPATH_RESERVED_[3-6]
+ aahluwal 08/30/02 - adding dequeue across txn group
+ srseshad 04/24/02 - Add attribute OCI_ATTR_SPOOL_STMTCACHESIZE.
+ ebatbout 07/22/02 - Remove OCI_ATTR_RESERVED_11.
+ abande 01/17/02 - Bug 1788921; Add external attribute.
+ aahluwal 06/04/02 - bug 2360115
+ pbagal 05/24/02 - Incorporate review comments
+ pbagal 05/22/02 - Introduce instance type attribute.
+ whe 07/01/02 - add OCI_BIND_DEFINE_SOFT flags
+ gtarora 07/01/02 - Add OCI_ATTR_COL_SUBS
+ tkeefe 05/30/02 - Add support for new proxy authentication credentials
+ dgprice 12/18/01 - bug 2102779 add reserved force describe
+ schandir 11/19/01 - add/modify modes.
+ schandir 11/15/01 - add OCI_SPC_STMTCACHE.
+ schandir 12/06/01 - change mode value of OCI_SPOOL.
+ msakayed 11/02/01 - Bug #2094292: add OCI_ATTR_DIRPATH_INPUT
+ dsaha 11/09/01 - add OCI_DTYPE_RESERVED1
+ skabraha 11/05/01 - new method flag
+ skabraha 10/25/01 - another flag for XML
+ skabraha 10/11/01 - describe flags for subtypes
+ nbhatt 09/18/01 - new reserved AQ flags
+ celsbern 10/19/01 - merge LOG to MAIN
+ ksurlake 10/12/01 - add OCI_ATTR_RESERVED_13
+ ksurlake 08/13/01 - add OCI_ATTR_RESERVED_12
+ schandir 09/24/01 - Adding stmt caching
+ abande 09/04/01 - Adding session pooling
+ sagrawal 10/23/01 - add new bit for OCIPHandleFree
+ preilly 10/25/01 - Add support for specifying metadata on DirPathCtx
+ skabraha 09/24/01 - describe flags for XML type
+ schandir 09/24/01 - Adding stmt caching
+ abande 09/04/01 - Adding session pooling
+ stakeda 09/17/01 - add OCI_NLS_CHARSET_ID
+ whe 09/19/01 - add OCIXMLType create options
+ rpingte 09/11/01 - add OCI_MUTEX_ENV_ONLY and OCI_NO_MUTEX_STMT
+ cmlim 08/28/01 - mod datecache attrs to use same naming as dpapi attrs
+ wzhang 08/24/01 - Add new keywords for OCINlsNameMap.
+ rphillip 05/02/01 - Add date cache attributes
+ rphillip 08/22/01 - Add new stream version
+ ebatbout 04/13/01 - add definition, OCI_ATTR_RESERVED_11
+ chliang 04/12/01 - add shortnames for newer oci funcation
+ wzhang 04/11/01 - Add new OCI NLS constants.
+ cmlim 04/13/01 - remove attrs not used by dpapi (151 & 152 avail)
+ rkambo 03/23/01 - bugfix 1421793
+ cmlim 04/02/01 - remove OCI_ATTR_DIRPATH_{NESTED_TBL, SUBST_OBJ_TBL}
+ - note: attribute #s 186 & 205 available
+ whe 03/28/01 - add OCI_AFC_PAD_ON/OFF mode
+ preilly 03/05/01 - Add stream versioning support to DirPath context
+ schandir 12/18/00 - remove attr CONN_INCR_DELAY.
+ schandir 12/12/00 - change mode from OCI_POOL to OCI_CPOOL.
+ cbarclay 01/12/01 - add atribute for OCIP_ATTR_TMZ
+ whe 01/07/01 - add attributes related to UTF16 env mode
+ slari 12/29/00 - add blank line
+ slari 12/28/00 - OCI_ATTR_RESERVED_10
+ whe 12/19/00 - add OCI_ENVCR_RESERVED3
+ rpang 11/29/00 - Added OCI_ATTR_ORA_DEBUG_JDWP attribute
+ cmlim 11/28/00 - support substitutable object tables in dpapi
+ akatti 10/09/00 - [198379]:add OCIRowidToChar
+ sgollapu 10/11/00 - Add OCI_PREP_RESERVED_1
+ sgollapu 08/27/00 - add attribute to get erroneous column
+ sgollapu 07/29/00 - Add snapshot attributes
+ kmohan 09/18/00 - add OCI_FNCODE_LOGON2
+ abrumm 10/08/00 - include ocixad.h
+ mbastawa 10/04/00 - add OCI_ATTR_ROWS_FETCHED
+ nbhatt 08/24/00 - add transformation attribute
+ dmwong 08/22/00 - OCI_ATTR_CID_VALUE -> OCI_ATTR_CLIENT_IDENTIFIER.
+ cmlim 08/30/00 - add OCI_ATTR_DIRPATH_SID
+ dsaha 08/18/00 - add OCI_ATTR_RESERVED_5
+ amangal 08/17/00 - Merge into 8.2 : 1194361
+ slari 08/03/00 - add OCI_ATTR_HANDLE_POSITION
+ dsaha 07/20/00 - 2rt exec
+ sgollapu 07/04/00 - Add virtual session flag
+ cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
+ etucker 07/28/00 - add OCIIntervalFromTZ
+ rwessman 06/26/00 - N-tier: added new credential attributes
+ whe 07/27/00 - add OCI_UTF16 mode
+ vjayaram 07/18/00 - add connection pooling changes
+ etucker 07/12/00 - add dls apis
+ cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
+ sgollapu 07/04/00 - Add virtual session flag
+ najain 05/01/00 - AQ Signature support
+ sgollapu 06/14/00 - Add reserved OCI mode
+ rkambo 06/08/00 - notification presentation support
+ sagrawal 06/04/00 - ref cursor to c
+ ksurlake 06/07/00 - define OCI_POOL
+ mbastawa 06/05/00 - added scrollable cursor attributes
+ weiwang 03/31/00 - add LDAP support
+ whe 05/30/00 - add OCI_ATTR_MAXCHAR_SIZE
+ whe 05/23/00 - validate OCI_NO_CACHE mode
+ dsaha 02/02/00 - Add no-cache attr in statement handle
+ whe 05/23/00 - add OCIP_ICACHE
+ allee 05/17/00 - describe support for JAVA implmented TYPE
+ preilly 05/30/00 - Continue adding support for objects in direct path lo
+ cmlim 05/16/00 - 8.2 dpapi support of ADTs
+ rxgovind 05/04/00 - OCIAnyDataSet changes
+ rkasamse 05/25/00 - add OCIAnyDataCtx
+ rmurthy 04/26/00 - describe support for inheritance
+ ksurlake 04/18/00 - Add credential type
+ whe 05/24/00 - add OCI_ATTR_CHAR_ attrs
+ rkambo 04/19/00 - subscription enhancement
+ rmurthy 04/26/00 - describe support for inheritance
+ delson 03/28/00 - add OCI_ATTR_RESERVED_2
+ abrumm 03/31/00 - external table support
+ rkasamse 03/13/00 - add declarations for OCIAnyData
+ najain 02/24/00 - support for dequeue as select
+ dsaha 03/10/00 - Add OCI_ALWAYS_BLOCKING
+ esoyleme 04/25/00 - separated transactions
+ sgollapu 12/23/99 - OCIServerAttach extensions
+ slari 08/23/99 - add OCI_DTYPE_UCB
+ slari 08/20/99 - add OCI_UCBTYPE_REPLACE
+ hsbedi 08/31/99 - Memory Stats .
+ sgollapu 08/02/99 - oci sql routing
+ slari 08/06/99 - rename values for OCI_SERVER_STATUS
+ slari 08/02/99 - add OCI_ATTR_SERVER_STATUS
+ tnbui 07/28/99 - Remove OCI_DTYPE_TIMESTAMP_ITZ
+ amangal 07/19/99 - Merge into 8.1.6 : bug 785797
+ tnbui 07/07/99 - Change ADJUSTMENT modes
+ dsaha 07/07/99 - OCI_SAHRED_EXT
+ dmwong 06/08/99 - add OCI_ATTR_APPCTX_*
+ vyanaman 06/23/99 -
+ vyanaman 06/21/99 - Add new OCI Datetime and Interval descriptors
+ esoyleme 06/29/99 - expose MTS performance enhancements
+ rshaikh 04/23/99 - add OCI_SQL_VERSION_*
+ tnbui 05/24/99 - Remove OCIAdjStr
+ dsaha 05/21/99 - Add OCI_ADJUST_UNK
+ mluong 05/17/99 - fix merge
+ tnbui 04/05/99 - ADJUSTMENT values
+ abrumm 04/16/99 - dpapi: more attributes
+ dsaha 02/24/99 - Add OCI_SHOW_DML_WARNINGS
+ jiyang 12/07/98 - Add OCI_NLS_DUAL_CURRENCY
+ slari 12/07/98 - change OCI_NOMUTEX to OCI_NO_MUTEX
+ aroy 11/30/98 - change OCI_NOCALLBACK to OCI_NO_UCB
+ aroy 11/13/98 - add env modes to process modes
+ slari 09/08/98 - add OCI_FNCODE_SVC2HST and _SVCRH
+ aroy 09/04/98 - Add OCI_ATTR_MIGSESSION
+ skray 08/14/98 - server groups for session switching
+ mluong 08/11/98 - add back OCI_HTYPE_LAST.
+ aroy 05/25/98 - add process handle type
+ aroy 04/06/98 - add shared mode
+ slari 07/13/98 - merge forward to 8.1.4
+ slari 07/09/98 - add OCI_BIND_RESERVED_2
+ slari 07/08/98 - add OCI_EXACT_FETCH_RESERVED_1
+ dsaha 07/07/98 - Add OCI_PARSE_ONLY
+ dsaha 06/29/98 - Add OCI_PARSE_ONLY
+ slari 07/01/98 - add OCI_BIND_RESERVED_2
+ sgollapu 06/25/98 - Fix bug 683565
+ slari 06/17/98 - remove OC_FETCH_RESERVED_2
+ slari 06/11/98 - add OCI_FETCH_RESERVED_1 and 2
+ jhasenbe 05/27/98 - Remove definitions for U-Calls (Unicode)
+ jiyang 05/18/98 - remove OCI_ATTR_CARTLANG
+ nbhatt 05/20/98 - OCI_DEQ_REMOVE_NODATA
+ nbhatt 05/19/98 - correct AQ opcode
+ skmishra 05/06/98 - Add precision attribute to Attributes list
+ aroy 04/20/98 - merge forward 8.0.5 -> 8.1.3
+ schandra 05/01/98 - OCI sender id
+ sgollapu 02/19/98 - enhanced array DML
+ nbhatt 05/15/98 - AQ listen call
+ sgollapu 04/27/98 - more attributes
+ skaluska 04/06/98 - Add OCI_PTYPE_SCHEMA, OCI_PTYPE_DATABASE
+ slari 04/28/98 - add OCI_ATTR_PDPRC
+ lchidamb 05/05/98 - change OCI_NAMESPACE_AQ to 1
+ nbhatt 04/27/98 - AQ Notification Descriptor
+ abrumm 06/24/98 - more direct path attributes
+ abrumm 05/27/98 - OCI direct path interface support
+ abrumm 05/08/98 - OCI direct path interface support
+ lchidamb 03/02/98 - client notification additions
+ kkarun 04/17/98 - Add more Interval functions
+ vyanaman 04/16/98 - Add get/set TZ
+ kkarun 04/14/98 - Add OCI Datetime shortnames
+ vyanaman 04/13/98 - Add OCI DateTime and Interval check error codes
+ kkarun 04/07/98 - Add OCI_DTYPE_DATETIME and OCI_DTYPE_INTERVAL
+ esoyleme 12/15/97 - support failover callback retry
+ esoyleme 04/22/98 - merge support for failover callback retry
+ mluong 04/16/98 - add OCI_FNCODE_LOBLOCATORASSIGN
+ rkasamse 04/17/98 - add short names for OCIPickler(Memory/Ctx) cart servi
+ slari 04/10/98 - add OCI_FNCODE_SVCCTXTOLDA
+ slari 04/09/98 - add OCI_FNCODE_RESET
+ slari 04/07/98 - add OCI_FNCODE_LOBFILEISOPEN
+ slari 04/06/98 - add OCI_FNCODE_LOBOPEN
+ slari 03/20/98 - change OCI_CBTYPE_xxx to OCI_UCBTYPE_xxx
+ slari 03/18/98 - add OCI_FNCODE_MAXFCN
+ slari 02/12/98 - add OCI_ENV_NO_USRCB
+ skabraha 04/09/98 - adding shortnames for OCIFile
+ rhwu 04/03/98 - Add short names for the OCIThread package
+ tanguyen 04/03/98 - add OCI_ATTR_xxxx for type inheritance
+ rkasamse 04/02/98 - add OCI_ATTR_UCI_REFRESH
+ nramakri 04/01/98 - Add short names for the OCIExtract package
+ ewaugh 03/31/98 - Add short names for the OCIFormat package.
+ jhasenbe 04/06/98 - Add definitions for U-Calls (Unicode)
+ (OCI_TEXT, OCI_UTEXT, OCI_UTEXT4)
+ skmishra 03/03/98 - Add OCI_ATTR_PARSE_ERROR_OFFSET
+ rwessman 03/11/98 - Added OCI_CRED_PROXY for proxy authentication
+ abrumm 03/31/98 - OCI direct path interface support
+ nmallava 03/03/98 - add constants for temp lob apis
+ skotsovo 03/05/98 - resolve merge conflicts
+ skotsovo 02/24/98 - add OCI_DTYPE_LOC
+ skaluska 01/21/98 - Add OCI_ATTR_LTYPE
+ rkasamse 01/06/98 - add OCI_ATTR* for obj cache enhancements
+ dchatter 01/08/98 - more comments
+ skabraha 12/02/97 - moved oci1.h to the front of include files.
+ jiyang 12/18/97 - Add OCI_NLS_MAX_BUFSZ
+ rhwu 12/02/97 - move oci1.h up
+ ewaugh 12/15/97 - Add short names for the OCIFormat package.
+ rkasamse 12/02/97 - Add a constant for memory cartridge services -- OCI_M
+ nmallava 12/31/97 - open/close for internal lobs
+ khnguyen 11/27/97 - add OCI_ATTR_LFPRECISION, OCI_ATTR_FSPRECISION
+ rkasamse 11/03/97 - add types for pickler cartridge services
+ mluong 11/20/97 - changed ubig_ora to ub4 per skotsovo
+ ssamu 11/14/97 - add oci1.h
+ jiyang 11/13/97 - Add NLS service for cartridge
+ esoyleme 12/15/97 - support failover callback retry
+ jwijaya 10/21/97 - change OCILobOffset/Length from ubig_ora to ub4
+ cxcheng 07/28/97 - fix compile with SLSHORTNAME
+ schandra 06/25/97 - AQ OCI interface
+ sgollapu 07/25/97 - Add OCI_ATTR_DESC_PUBLIC
+ cxcheng 06/16/97 - add OCI_ATTR_TDO
+ skotsovo 06/05/97 - add fntcodes for lob buffering subsystem
+ esoyleme 05/13/97 - move failover callback prototype
+ skmishra 05/06/97 - stdc compiler fixes
+ skmishra 04/22/97 - Provide C++ compatibility
+ lchidamb 04/19/97 - add OCI_ATTR_SESSLANG
+ ramkrish 04/15/97 - Add OCI_LOB_BUFFER_(NO)FREE
+ sgollapu 04/18/97 - Add OCI_ATTR_TABLESPACE
+ skaluska 04/17/97 - Add OCI_ATTR_SUB_NAME
+ schandra 04/10/97 - Use long OCI names
+ aroy 03/27/97 - add OCI_DTYPE_FILE
+ sgollapu 03/26/97 - Add OCI_OTYPEs
+ skmishra 04/09/97 - Added constant OCI_ROWID_LEN
+ dchatter 03/21/97 - add attr OCI_ATTR_IN_V8_MODE
+ lchidamb 03/21/97 - add OCI_COMMIT_ON_SUCCESS execution mode
+ skmishra 03/20/97 - Added OCI_ATTR_LOBEMPTY
+ sgollapu 03/19/97 - Add OCI_ATTR_OVRLD_ID
+ aroy 03/17/97 - add postprocessing callback
+ sgollapu 03/15/97 - Add OCI_ATTR_PARAM
+ cxcheng 02/07/97 - change OCI_PTYPE codes for type method for consistenc
+ cxcheng 02/05/97 - add OCI_PTYPE_TYPE_RESULT
+ cxcheng 02/04/97 - rename OCI_PTYPE constants to be more consistent
+ cxcheng 02/03/97 - add OCI_ATTR, OCI_PTYPE contants for describe type
+ esoyleme 01/23/97 - merge neerja callback
+ sgollapu 12/30/96 - Remove OCI_DTYPE_SECURITY
+ asurpur 12/26/96 - CHanging OCI_NO_AUTH to OCI_AUTH
+ sgollapu 12/23/96 - Add more attrs to COL, ARG, and SEQ
+ sgollapu 12/12/96 - Add OCI_DESCRIBE_ONLY
+ slari 12/11/96 - change prototype of OCICallbackInBind
+ nbhatt 12/05/96 - "callback"
+ lchidamb 11/19/96 - handle subclassing
+ sgollapu 11/09/96 - OCI_PATTR_*
+ dchatter 11/04/96 - add attr OCI_ATTR_CHRCNT
+ mluong 11/01/96 - test
+ cxcheng 10/31/96 - add #defines for OCILobLength etc
+ dchatter 10/31/96 - add lob read write call back fp defs
+ dchatter 10/30/96 - more changes
+ rhari 10/30/96 - Include ociextp.h at the very end
+ lchidamb 10/22/96 - add fdo attribute for bind/server handle
+ dchatter 10/22/96 - change attr defn for prefetch parameters & lobs/file
+ calls
+ slari 10/21/96 - add OCI_ENV_NO_MUTEX
+ rhari 10/25/96 - Include ociextp.h
+ rxgovind 10/25/96 - add OCI_LOBMAXSIZE, remove OCI_FILE_READWRITE
+ sgollapu 10/24/96 - Correct OCILogon and OCILogoff
+ sgollapu 10/24/96 - Correct to OCILogon and OCILogoff
+ sgollapu 10/21/96 - Add ocilon and ociloff
+ skaluska 10/31/96 - Add OCI_PTYPE values
+ sgollapu 10/17/96 - correct OCI_ATTR_SVCCTX to OCI_ATTR_SERVER
+ rwessman 10/16/96 - Added security functions and fixed olint errors.
+ sthakur 10/14/96 - add more COR attributes
+ cxcheng 10/14/96 - re-enable LOB functions
+ sgollapu 10/10/96 - Add ocibdp and ocibdn
+ slari 10/07/96 - add back OCIRowid
+ aroy 10/08/96 - add typedef ocibfill for PRO*C
+ mluong 10/11/96 - replace OCI_ATTR_CHARSET* with OCI_ATTR_CHARSET_*
+ cxcheng 10/10/96 - temporarily take out #define for lob functions
+ sgollapu 10/02/96 - Rename OCI functions and datatypes
+ skotsovo 10/01/96 - move orl lob fnts to oci
+ aroy 09/10/96 - fix merge errors
+ aroy 08/19/96 - NCHAR support
+ jboonleu 09/05/96 - add OCI attributes for object cache
+ dchatter 08/20/96 - HTYPE ranges from 1-50; DTYPE from 50-255
+ slari 08/06/96 - define OCI_DTYPE_ROWID
+ sthakur 08/14/96 - complex object support
+ schandra 06/17/96 - Convert XA to use new OCI
+ abrik 08/15/96 - OCI_ATTR_HEAPALLOC added
+ aroy 07/17/96 - terminology change: ocilobd => ocilobl
+ aroy 07/03/96 - add lob typedefs for Pro*C
+ slari 06/28/96 - add OCI_ATTR_STMT_TYPE
+ lchidamb 06/26/96 - reorg #ifndef
+ schandra 05/31/96 - attribute types for internal and external client name
+ asurpur 05/30/96 - Changing the value of mode
+ schandra 05/18/96 - OCI_TRANS_TWOPHASE -> 0x00000001 to 0x00100000
+ slari 05/30/96 - add callback function prototypes
+ jbellemo 05/23/96 - remove ociisc
+ schandra 04/23/96 - loosely-coupled branches
+ asurpur 05/15/96 - New mode for ocicpw
+ aroy 04/24/96 - making ocihandles opaque
+ slari 04/18/96 - add missing defines
+ schandra 03/27/96 - V8OCI - add transaction related calls
+ dchatter 04/01/96 - add OCI_FILE options
+ dchatter 03/21/96 - add oci2lda conversion routines
+ dchatter 03/07/96 - add OCI piece definition
+ slari 03/12/96 - add describe attributes
+ slari 03/12/96 - add OCI_OTYPE_QUERY
+ aroy 02/28/96 - Add column attributes
+ slari 02/09/96 - add OCI_OBJECT
+ slari 02/07/96 - add OCI_HYTPE_DSC
+ aroy 01/10/96 - adding function code defines...
+ dchatter 01/03/96 - define OCI_NON_BLOCKING
+ dchatter 01/02/96 - Add Any descriptor
+ dchatter 01/02/96 - Add Select List descriptor
+ dchatter 12/29/95 - V8 OCI definitions
+ dchatter 12/29/95 - Creation
+
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef ORATYPES
+#include <oratypes.h>
+#endif
+
+#ifndef OCIDFN
+#include <ocidfn.h>
+#endif
+
+#ifndef OCI_ORACLE
+# define OCI_ORACLE
+
+
+/*---------------------------------------------------------------------------
+ Short names provided for platforms which do not allow extended symbolic names
+ ---------------------------------------------------------------------------*/
+
+#ifdef SLSHORTNAME
+/* Translation of the long function/type names to short names for IBM only */
+/* maybe lint will use this too */
+#define OCISessionEnd ocitac
+#define OCIResultSetToStmt ocirs2sh
+#define OCISessionBegin ociauth
+#define OCIServerAttach ociatch
+#define OCIDescriptorAlloc ocigdesc
+#define OCIServerDetach ocidtch
+#define OCIDescriptorFree ocifdesc
+#define OCIServerVersion ocivers
+#define OCIDescribeAny ocidsca
+#define OCIBindDynamic ocibda
+#define OCIBindByName ocibdn
+#define OCIBindByPos ocibdp
+#define OCIErrorGet ocigdr
+#define OCIBindArrayOfStruct ocibsa
+#define OCIEnvInit ociinit
+#define OCIBindObject ocibndt
+#define OCIHandleAlloc ocighndl
+#define OCIHandleFree ocifhndl
+#define OCIRowidToChar ociri2c
+#ifdef NEVER
+#define OCIStmtBindByPos ocibndp
+#define OCIStmtBindByName ocibndn
+#endif
+#define OCIAttrGet ocigattr
+#define OCIDefineByPos ocidfne
+#define OCIAttrSet ocisattr
+#define OCIDefineDynamic ociddf
+#define OCILdaToSvcCtx ocild2sv
+#define OCIDefineArrayOfStruct ocidarr
+#define OCIInitialize ocipi
+#define OCIDefineObject ocidndt
+#define OCIStmtExecute ociexec
+#define OCILobAppend ocilfap
+#define OCILobOpenFile ocifopn
+#define OCILobCloseFile ocifcls
+#define OCILobLocator ocilobd
+#define OCILobGetDeduplicateRegions ocilgshr
+#define OCILobRegion ocilregd
+#define OCILobCopy ocilfcp
+#define OCILobFileCreate ocifcrt
+#define OCILobFileDelete ocifdel
+#define OCILobGetLength ocilfln
+#define OCILobWrite ocilfwr
+#define OCILobRead ocilfrd
+#define OCILobErase ocilfer
+#define OCILobTrim ocilftr
+#define OCILobSetOptions ocinglso
+#define OCILobGetOptions ocinglgo
+#define OCILobFragmentInsert ocinglfi
+#define OCILobFragmentDelete ocinglfd
+#define OCILobFragmentMove ocinglfm
+#define OCILobFragmentReplace ocinglfr
+#define OCILobSetContentType ocinglsct
+#define OCILobGetContentType ocinglgct
+
+#define OCIStmtFetch ocifch
+#define OCIStmtGetBindInfo ocigbp
+#define OCIStmtGetPieceInfo ocigpi
+#define OCIStmtPrepare ocireq
+#define OCIStmtSetPieceInfo ocispi
+#define OCISvcCtxToLda ocisv2ld
+#define OCITransCommit ocitxcm
+#define OCITransDetach ocitxdt
+#define OCITransForget ocitxfgt
+#define OCITransPrepare ocitxpre
+#define OCITransRollback ocitxrl
+#define OCIPasswordChange ocicpw
+#define OCITransStart ocitxst
+#define OCITransMultiPrepare ocitxmp
+
+#define OCIBreak ocibreak
+#define OCIParamGet ocigparm
+#define OCIParamSet ocisparm
+
+#define OCISecurityOpenWallet ocizwOpenWallet
+#define OCISecurityCloseWallet ocizwCloseWallet
+#define OCISecurityCreateWallet ocizwCreateWallet
+#define OCISecurityDestroyWallet ocizwDestroyWallet
+#define OCISecurityStorePersona ocizeStorePersona
+#define OCISecurityOpenPersona ocizeOpenPersona
+#define OCISecurityClosePersona ocizeClosePersona
+#define OCISecurityRemovePersona ocizeRemovePersona
+#define OCISecurityCreatePersona ocizeCreatePersona
+#define OCISecuritySetProtection ocizeSetProtection
+#define OCISecurityGetProtection ocizeGetProtection
+#define OCISecurityRemoveIdentity ociziRemoveIdentity
+#define OCISecurityCreateIdentity ociziCreateIdentity
+#define OCISecurityAbortIdentity ociziAbortIdentity
+#define OCISecurityFreeIdentity ociziFreeIdentity
+#define OCISecurityStoreTrustedIdentity ociziStoreTrustedIdentity
+#define OCISecuritySign ocizSign
+#define OCISecuritySignExpansion ocizxSignExpansion
+#define OCISecurityVerify ocizVerify
+#define OCISecurityValidate ocizValidate
+#define OCISecuritySignDetached ocizsd_SignDetached
+#define OCISecuritySignDetExpansion ocizxsd_SignDetachedExpansion
+#define OCISecurityVerifyDetached ocizved_VerifyDetached
+#define OCISecurity_PKEncrypt ocizkec_PKEncrypt
+#define OCISecurityPKEncryptExpansion ocizxkec_PKEncryptExpansion
+#define OCISecurityPKDecrypt ocizkdc_PKDecrypt
+#define OCISecurityEncrypt ocizEncrypt
+#define OCISecurityEncryptExpansion ocizxEncryptExpansion
+#define OCISecurityDecrypt ocizDecrypt
+#define OCISecurityEnvelope ocizEnvelope
+#define OCISecurityDeEnvelope ocizDeEnvelope
+#define OCISecurityKeyedHash ocizKeyedHash
+#define OCISecurityKeyedHashExpansion ocizxKeyedHashExpansion
+#define OCISecurityHash ocizHash
+#define OCISecurityHashExpansion ocizxHashExpansion
+#define OCISecuritySeedRandom ocizSeedRandom
+#define OCISecurityRandomBytes ocizrb_RandomBytes
+#define OCISecurityRandomNumber ocizrn_RandomNumber
+#define OCISecurityInitBlock ocizibInitBlock
+#define OCISecurityReuseBlock ocizrbReuseBlock
+#define OCISecurityPurgeBlock ocizpbPurgeBlock
+#define OCISecuritySetBlock ocizsbSetBlock
+#define OCISecurityGetIdentity ocizgi_GetIdentity
+
+#define OCIExtractInit ocixeini
+#define OCIExtractTerm ocixetrm
+#define OCIExtractReset ocixerst
+#define OCIExtractSetNumKeys ocixesnk
+#define OCIExtractSetKey ocixesk
+#define OCIExtractFromFile ocixeff
+#define OCIExtractFromStr ocixefs
+#define OCIExtractToInt ocixeti
+#define OCIExtractToBool ocixetb
+#define OCIExtractToStr ocixets
+#define OCIExtractToOCINum ocixeton
+#define OCIExtractToList ocixetl
+#define OCIExtractFromList ocixefl
+
+#define OCIDateTimeGetTime ocidt01_GetTime
+#define OCIDateTimeGetDate ocidt02_GetDate
+#define OCIDateTimeGetTimeZoneOffset ocidt03_GetTZ
+#define OCIDateTimeSysTimeStamp ocidt07_SysTS
+#define OCIDateTimeAssign ocidt08_Assign
+#define OCIDateTimeToText ocidt09_ToText
+#define OCIDateTimeFromText ocidt10_FromText
+#define OCIDateTimeCompare ocidt11_Compare
+#define OCIDateTimeCheck ocidt12_Check
+#define OCIDateTimeConvert ocidt13_Convert
+#define OCIDateTimeSubtract ocidt14_Subtract
+#define OCIDateTimeIntervalAdd ocidt15_IntervalAdd
+#define OCIDateTimeIntervalSub ocidt16_IntervalSub
+#define OCIDateTimeGetTimeZoneName ocidt17_Gettzname
+#define OCIDateTimeToArray ocidt18_ToArray
+#define OCIDateTimeFromArray ocidt19_FromArray
+
+#define OCIIntervalSubtract ociint01_Subtract
+#define OCIIntervalAdd ociint02_Add
+#define OCIIntervalMultiply ociint03_Multiply
+#define OCIIntervalDivide ociint04_Divide
+#define OCIIntervalCompare ociint05_Compare
+#define OCIIntervalFromText ociint06_FromText
+#define OCIIntervalToText ociint07_ToText
+#define OCIIntervalToNumber ociint08_ToNumber
+#define OCIIntervalCheck ociint09_Check
+#define OCIIntervalAssign ociint10_Assign
+#define OCIIntervalGetYearMonth ociint11_GetYearMonth
+#define OCIIntervalSetYearMonth ociint12_SetYearMonth
+#define OCIIntervalGetDaySecond ociint13_GetDaySecond
+#define OCIIntervalSetDaySecond ociint14_SetDaySecond
+#define OCIIntervalFromNumber ociint15_FromNumber
+#define OCIIntervalFromTZ ociint16_FromTZ
+
+#define OCIFormatInit ocixs01_Init
+#define OCIFormatString ocixs02_Format
+#define OCIFormatTerm ocixs03_Term
+#define OCIFormatTUb1 ocixs04_TUb1
+#define OCIFormatTUb2 ocixs05_TUb2
+#define OCIFormatTUb4 ocixs06_TUb4
+#define OCIFormatTUword ocixs07_TUword
+#define OCIFormatTUbig_ora ocixs08_TUbig_ora
+#define OCIFormatTSb1 ocixs09_TSb1
+#define OCIFormatTSb2 ocixs10_TSb2
+#define OCIFormatTSb4 ocixs11_TSb4
+#define OCIFormatTSword ocixs12_TSword
+#define OCIFormatTSbig_ora ocixs13_TSbig_ora
+#define OCIFormatTEb1 ocixs14_TEb1
+#define OCIFormatTEb2 ocixs15_TEb2
+#define OCIFormatTEb4 ocixs16_TEb4
+#define OCIFormatTEword ocixs17_TEword
+#define OCIFormatTChar ocixs18_TChar
+#define OCIFormatTText ocixs19_TText
+#define OCIFormatTDouble ocixs20_TDouble
+#define OCIFormatTDvoid ocixs21_TDvoid
+#define OCIFormatTEnd ocixs22_TEnd
+
+#define OCIFileInit ocifinit
+#define OCIFileTerm ocifterm
+#define OCIFileOpen ocifopen
+#define OCIFileClose ocifclose
+#define OCIFileRead ocifread
+#define OCIFileWrite ocifwrite
+#define OCIFileSeek ocifseek
+#define OCIFileExists ocifexists
+#define OCIFileGetLength ocifglen
+#define OCIFileFlush ocifflush
+
+
+/* OCIThread short name */
+#define OCIThreadProcessInit ocitt01_ProcessInit
+#define OCIThreadInit ocitt02_Init
+#define OCIThreadTerm ocitt03_Term
+#define OCIThreadIsMulti ocitt04_IsMulti
+#define OCIThreadMutexInit ocitt05_MutexInit
+#define OCIThreadMutexDestroy ocitt06_MutexDestroy
+#define OCIThreadMutexAcquire ocitt07_MutexAcquire
+#define OCIThreadMutexRelease ocitt08_MutexRelease
+#define OCIThreadKeyInit ocitt09_KeyInit
+#define OCIThreadKeyDestroy ocitt10_KeyDestroy
+#define OCIThreadKeyGet ocitt11_KeyGet
+#define OCIThreadKeySet ocitt12_KeySet
+#define OCIThreadIdInit ocitt13_IdInit
+#define OCIThreadIdDestroy ocitt14_IdDestroy
+#define OCIThreadIdSet ocitt15_IdSet
+#define OCIThreadIdSetNull ocitt16_IdSetNull
+#define OCIThreadIdGet ocitt17_IdGet
+#define OCIThreadIdSame ocitt18_IdSame
+#define OCIThreadIdNull ocitt19_IdNull
+#define OCIThreadHndInit ocitt20_HndInit
+#define OCIThreadHndDestroy ocitt21_HndDestroy
+#define OCIThreadCreate ocitt22_Create
+#define OCIThreadJoin ocitt23_Join
+#define OCIThreadClose ocitt24_Close
+#define OCIThreadHandleGet ocitt25_HandleGet
+
+/* Translation between the old and new datatypes */
+
+#define OCISession ociusrh
+#define OCIBind ocibndh
+#define OCIDescribe ocidsch
+#define OCIDefine ocidfnh
+#define OCIEnv ocienvh
+#define OCIError ocierrh
+
+#define OCICPool ocicpool
+
+#define OCISPool ocispool
+#define OCIAuthInfo ociauthinfo
+
+
+#define OCILob ocilobd
+#define OCILobLength ocillen
+#define OCILobMode ocilmo
+#define OCILobOffset ociloff
+
+#define OCILobLocator ocilobd
+#define OCIBlobLocator ociblobl
+#define OCIClobLocator ociclobl
+#define OCILobRegion ocilregd
+#define OCIBFileLocator ocibfilel
+
+#define OCIParam ocipard
+#define OCIResult ocirstd
+#define OCISnapshot ocisnad
+#define OCIServer ocisrvh
+#define OCIStmt ocistmh
+#define OCISvcCtx ocisvch
+#define OCITrans ocitxnh
+#define OCICallbackInBind ocibicfp
+#define OCICallbackOutBind ocibocfp
+#define OCICallbackDefine ocidcfp
+#define OCICallbackLobRead ocilrfp
+#define OCICallbackLobWrite ocilwfp
+#define OCICallbackLobGetDededuplicateRegions ocilgshr
+#define OCISecurity ociossh
+#define OCIComplexObject ocicorh
+#define OCIComplexObjectComp ocicord
+#define OCIRowid ociridd
+
+#define OCIAQDeq ociaqdeq
+#define OCIAQEnq ociaqenq
+#define OCIConnectionPoolCreate ociconpc
+#define OCIConnectionPoolDestroy ociconpd
+#define OCIEnvCreate ocienvct
+#define OCILobAssign ociloass
+#define OCILobCharSetForm ocilocfm
+#define OCILobCharSetId ocilocid
+#define OCILobDisableBuffering ocilodbf
+#define OCILobEnableBuffering ociloebf
+#define OCILobFileClose ocilofcl
+#define OCILobFileCloseAll ocilofca
+#define OCILobFileExists ocilofex
+#define OCILobFileGetName ocilofgn
+#define OCILobFileIsOpen ocifiopn
+#define OCILobFileOpen ocilofop
+#define OCILobFileSetName ocilofsn
+#define OCILobFlushBuffer ocilofbf
+#define OCILobIsEqual ociloieq
+#define OCILobLoadFromFile ocilolff
+#define OCILobLocatorIsInit ocilolii
+#define OCILobLocatorAssign ocilolas
+#define OCILogon ocilogon
+#define OCILogon2 ocilgon2
+#define OCILogoff ocilgoff
+#endif /* ifdef SLSHORTNAME */
+
+/*---------------------------------------------------------------------------
+ PUBLIC TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+/*-----------------------------Handle Types----------------------------------*/
+ /* handle types range from 1 - 49 */
+#define OCI_HTYPE_FIRST 1 /* start value of handle type */
+#define OCI_HTYPE_ENV 1 /* environment handle */
+#define OCI_HTYPE_ERROR 2 /* error handle */
+#define OCI_HTYPE_SVCCTX 3 /* service handle */
+#define OCI_HTYPE_STMT 4 /* statement handle */
+#define OCI_HTYPE_BIND 5 /* bind handle */
+#define OCI_HTYPE_DEFINE 6 /* define handle */
+#define OCI_HTYPE_DESCRIBE 7 /* describe handle */
+#define OCI_HTYPE_SERVER 8 /* server handle */
+#define OCI_HTYPE_SESSION 9 /* authentication handle */
+#define OCI_HTYPE_AUTHINFO OCI_HTYPE_SESSION /* SessionGet auth handle */
+#define OCI_HTYPE_TRANS 10 /* transaction handle */
+#define OCI_HTYPE_COMPLEXOBJECT 11 /* complex object retrieval handle */
+#define OCI_HTYPE_SECURITY 12 /* security handle */
+#define OCI_HTYPE_SUBSCRIPTION 13 /* subscription handle */
+#define OCI_HTYPE_DIRPATH_CTX 14 /* direct path context */
+#define OCI_HTYPE_DIRPATH_COLUMN_ARRAY 15 /* direct path column array */
+#define OCI_HTYPE_DIRPATH_STREAM 16 /* direct path stream */
+#define OCI_HTYPE_PROC 17 /* process handle */
+#define OCI_HTYPE_DIRPATH_FN_CTX 18 /* direct path function context */
+#define OCI_HTYPE_DIRPATH_FN_COL_ARRAY 19 /* dp object column array */
+#define OCI_HTYPE_XADSESSION 20 /* access driver session */
+#define OCI_HTYPE_XADTABLE 21 /* access driver table */
+#define OCI_HTYPE_XADFIELD 22 /* access driver field */
+#define OCI_HTYPE_XADGRANULE 23 /* access driver granule */
+#define OCI_HTYPE_XADRECORD 24 /* access driver record */
+#define OCI_HTYPE_XADIO 25 /* access driver I/O */
+#define OCI_HTYPE_CPOOL 26 /* connection pool handle */
+#define OCI_HTYPE_SPOOL 27 /* session pool handle */
+#define OCI_HTYPE_ADMIN 28 /* admin handle */
+#define OCI_HTYPE_EVENT 29 /* HA event handle */
+
+#define OCI_HTYPE_LAST 29 /* last value of a handle type */
+
+/*---------------------------------------------------------------------------*/
+
+
+/*-------------------------Descriptor Types----------------------------------*/
+ /* descriptor values range from 50 - 255 */
+#define OCI_DTYPE_FIRST 50 /* start value of descriptor type */
+#define OCI_DTYPE_LOB 50 /* lob locator */
+#define OCI_DTYPE_SNAP 51 /* snapshot descriptor */
+#define OCI_DTYPE_RSET 52 /* result set descriptor */
+#define OCI_DTYPE_PARAM 53 /* a parameter descriptor obtained from ocigparm */
+#define OCI_DTYPE_ROWID 54 /* rowid descriptor */
+#define OCI_DTYPE_COMPLEXOBJECTCOMP 55
+ /* complex object retrieval descriptor */
+#define OCI_DTYPE_FILE 56 /* File Lob locator */
+#define OCI_DTYPE_AQENQ_OPTIONS 57 /* enqueue options */
+#define OCI_DTYPE_AQDEQ_OPTIONS 58 /* dequeue options */
+#define OCI_DTYPE_AQMSG_PROPERTIES 59 /* message properties */
+#define OCI_DTYPE_AQAGENT 60 /* aq agent */
+#define OCI_DTYPE_LOCATOR 61 /* LOB locator */
+#define OCI_DTYPE_INTERVAL_YM 62 /* Interval year month */
+#define OCI_DTYPE_INTERVAL_DS 63 /* Interval day second */
+#define OCI_DTYPE_AQNFY_DESCRIPTOR 64 /* AQ notify descriptor */
+#define OCI_DTYPE_DATE 65 /* Date */
+#define OCI_DTYPE_TIME 66 /* Time */
+#define OCI_DTYPE_TIME_TZ 67 /* Time with timezone */
+#define OCI_DTYPE_TIMESTAMP 68 /* Timestamp */
+#define OCI_DTYPE_TIMESTAMP_TZ 69 /* Timestamp with timezone */
+#define OCI_DTYPE_TIMESTAMP_LTZ 70 /* Timestamp with local tz */
+#define OCI_DTYPE_UCB 71 /* user callback descriptor */
+#define OCI_DTYPE_SRVDN 72 /* server DN list descriptor */
+#define OCI_DTYPE_SIGNATURE 73 /* signature */
+#define OCI_DTYPE_RESERVED_1 74 /* reserved for internal use */
+#define OCI_DTYPE_AQLIS_OPTIONS 75 /* AQ listen options */
+#define OCI_DTYPE_AQLIS_MSG_PROPERTIES 76 /* AQ listen msg props */
+#define OCI_DTYPE_CHDES 77 /* Top level change notification desc */
+#define OCI_DTYPE_TABLE_CHDES 78 /* Table change descriptor */
+#define OCI_DTYPE_ROW_CHDES 79 /* Row change descriptor */
+#define OCI_DTYPE_CQDES 80 /* Query change descriptor */
+#define OCI_DTYPE_LOB_REGION 81 /* LOB Share region descriptor */
+#define OCI_DTYPE_LAST 81 /* last value of a descriptor type */
+
+/*---------------------------------------------------------------------------*/
+
+/*--------------------------------LOB types ---------------------------------*/
+#define OCI_TEMP_BLOB 1 /* LOB type - BLOB ------------------ */
+#define OCI_TEMP_CLOB 2 /* LOB type - CLOB ------------------ */
+/*---------------------------------------------------------------------------*/
+
+/*-------------------------Object Ptr Types----------------------------------*/
+#define OCI_OTYPE_NAME 1 /* object name */
+#define OCI_OTYPE_REF 2 /* REF to TDO */
+#define OCI_OTYPE_PTR 3 /* PTR to TDO */
+/*---------------------------------------------------------------------------*/
+
+/*=============================Attribute Types===============================*/
+/*
+ Note: All attributes are global. New attibutes should be added to the end
+ of the list. Before you add an attribute see if an existing one can be
+ used for your handle.
+
+ If you see any holes please use the holes first.
+
+*/
+/*===========================================================================*/
+
+
+#define OCI_ATTR_FNCODE 1 /* the OCI function code */
+#define OCI_ATTR_OBJECT 2 /* is the environment initialized in object mode */
+#define OCI_ATTR_NONBLOCKING_MODE 3 /* non blocking mode */
+#define OCI_ATTR_SQLCODE 4 /* the SQL verb */
+#define OCI_ATTR_ENV 5 /* the environment handle */
+#define OCI_ATTR_SERVER 6 /* the server handle */
+#define OCI_ATTR_SESSION 7 /* the user session handle */
+#define OCI_ATTR_TRANS 8 /* the transaction handle */
+#define OCI_ATTR_ROW_COUNT 9 /* the rows processed so far */
+#define OCI_ATTR_SQLFNCODE 10 /* the SQL verb of the statement */
+#define OCI_ATTR_PREFETCH_ROWS 11 /* sets the number of rows to prefetch */
+#define OCI_ATTR_NESTED_PREFETCH_ROWS 12 /* the prefetch rows of nested table*/
+#define OCI_ATTR_PREFETCH_MEMORY 13 /* memory limit for rows fetched */
+#define OCI_ATTR_NESTED_PREFETCH_MEMORY 14 /* memory limit for nested rows */
+#define OCI_ATTR_CHAR_COUNT 15
+ /* this specifies the bind and define size in characters */
+#define OCI_ATTR_PDSCL 16 /* packed decimal scale */
+#define OCI_ATTR_FSPRECISION OCI_ATTR_PDSCL
+ /* fs prec for datetime data types */
+#define OCI_ATTR_PDPRC 17 /* packed decimal format */
+#define OCI_ATTR_LFPRECISION OCI_ATTR_PDPRC
+ /* fs prec for datetime data types */
+#define OCI_ATTR_PARAM_COUNT 18 /* number of column in the select list */
+#define OCI_ATTR_ROWID 19 /* the rowid */
+#define OCI_ATTR_CHARSET 20 /* the character set value */
+#define OCI_ATTR_NCHAR 21 /* NCHAR type */
+#define OCI_ATTR_USERNAME 22 /* username attribute */
+#define OCI_ATTR_PASSWORD 23 /* password attribute */
+#define OCI_ATTR_STMT_TYPE 24 /* statement type */
+#define OCI_ATTR_INTERNAL_NAME 25 /* user friendly global name */
+#define OCI_ATTR_EXTERNAL_NAME 26 /* the internal name for global txn */
+#define OCI_ATTR_XID 27 /* XOPEN defined global transaction id */
+#define OCI_ATTR_TRANS_LOCK 28 /* */
+#define OCI_ATTR_TRANS_NAME 29 /* string to identify a global transaction */
+#define OCI_ATTR_HEAPALLOC 30 /* memory allocated on the heap */
+#define OCI_ATTR_CHARSET_ID 31 /* Character Set ID */
+#define OCI_ATTR_CHARSET_FORM 32 /* Character Set Form */
+#define OCI_ATTR_MAXDATA_SIZE 33 /* Maximumsize of data on the server */
+#define OCI_ATTR_CACHE_OPT_SIZE 34 /* object cache optimal size */
+#define OCI_ATTR_CACHE_MAX_SIZE 35 /* object cache maximum size percentage */
+#define OCI_ATTR_PINOPTION 36 /* object cache default pin option */
+#define OCI_ATTR_ALLOC_DURATION 37
+ /* object cache default allocation duration */
+#define OCI_ATTR_PIN_DURATION 38 /* object cache default pin duration */
+#define OCI_ATTR_FDO 39 /* Format Descriptor object attribute */
+#define OCI_ATTR_POSTPROCESSING_CALLBACK 40
+ /* Callback to process outbind data */
+#define OCI_ATTR_POSTPROCESSING_CONTEXT 41
+ /* Callback context to process outbind data */
+#define OCI_ATTR_ROWS_RETURNED 42
+ /* Number of rows returned in current iter - for Bind handles */
+#define OCI_ATTR_FOCBK 43 /* Failover Callback attribute */
+#define OCI_ATTR_IN_V8_MODE 44 /* is the server/service context in V8 mode */
+#define OCI_ATTR_LOBEMPTY 45 /* empty lob ? */
+#define OCI_ATTR_SESSLANG 46 /* session language handle */
+
+#define OCI_ATTR_VISIBILITY 47 /* visibility */
+#define OCI_ATTR_RELATIVE_MSGID 48 /* relative message id */
+#define OCI_ATTR_SEQUENCE_DEVIATION 49 /* sequence deviation */
+
+#define OCI_ATTR_CONSUMER_NAME 50 /* consumer name */
+#define OCI_ATTR_DEQ_MODE 51 /* dequeue mode */
+#define OCI_ATTR_NAVIGATION 52 /* navigation */
+#define OCI_ATTR_WAIT 53 /* wait */
+#define OCI_ATTR_DEQ_MSGID 54 /* dequeue message id */
+
+#define OCI_ATTR_PRIORITY 55 /* priority */
+#define OCI_ATTR_DELAY 56 /* delay */
+#define OCI_ATTR_EXPIRATION 57 /* expiration */
+#define OCI_ATTR_CORRELATION 58 /* correlation id */
+#define OCI_ATTR_ATTEMPTS 59 /* # of attempts */
+#define OCI_ATTR_RECIPIENT_LIST 60 /* recipient list */
+#define OCI_ATTR_EXCEPTION_QUEUE 61 /* exception queue name */
+#define OCI_ATTR_ENQ_TIME 62 /* enqueue time (only OCIAttrGet) */
+#define OCI_ATTR_MSG_STATE 63/* message state (only OCIAttrGet) */
+ /* NOTE: 64-66 used below */
+#define OCI_ATTR_AGENT_NAME 64 /* agent name */
+#define OCI_ATTR_AGENT_ADDRESS 65 /* agent address */
+#define OCI_ATTR_AGENT_PROTOCOL 66 /* agent protocol */
+#define OCI_ATTR_USER_PROPERTY 67 /* user property */
+#define OCI_ATTR_SENDER_ID 68 /* sender id */
+#define OCI_ATTR_ORIGINAL_MSGID 69 /* original message id */
+
+#define OCI_ATTR_QUEUE_NAME 70 /* queue name */
+#define OCI_ATTR_NFY_MSGID 71 /* message id */
+#define OCI_ATTR_MSG_PROP 72 /* message properties */
+
+#define OCI_ATTR_NUM_DML_ERRORS 73 /* num of errs in array DML */
+#define OCI_ATTR_DML_ROW_OFFSET 74 /* row offset in the array */
+
+ /* AQ array error handling uses DML method of accessing errors */
+#define OCI_ATTR_AQ_NUM_ERRORS OCI_ATTR_NUM_DML_ERRORS
+#define OCI_ATTR_AQ_ERROR_INDEX OCI_ATTR_DML_ROW_OFFSET
+
+#define OCI_ATTR_DATEFORMAT 75 /* default date format string */
+#define OCI_ATTR_BUF_ADDR 76 /* buffer address */
+#define OCI_ATTR_BUF_SIZE 77 /* buffer size */
+
+/* For values 78 - 80, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_NUM_ROWS 81 /* number of rows in column array */
+ /* NOTE that OCI_ATTR_NUM_COLS is a column
+ * array attribute too.
+ */
+#define OCI_ATTR_COL_COUNT 82 /* columns of column array
+ processed so far. */
+#define OCI_ATTR_STREAM_OFFSET 83 /* str off of last row processed */
+#define OCI_ATTR_SHARED_HEAPALLOC 84 /* Shared Heap Allocation Size */
+
+#define OCI_ATTR_SERVER_GROUP 85 /* server group name */
+
+#define OCI_ATTR_MIGSESSION 86 /* migratable session attribute */
+
+#define OCI_ATTR_NOCACHE 87 /* Temporary LOBs */
+
+#define OCI_ATTR_MEMPOOL_SIZE 88 /* Pool Size */
+#define OCI_ATTR_MEMPOOL_INSTNAME 89 /* Instance name */
+#define OCI_ATTR_MEMPOOL_APPNAME 90 /* Application name */
+#define OCI_ATTR_MEMPOOL_HOMENAME 91 /* Home Directory name */
+#define OCI_ATTR_MEMPOOL_MODEL 92 /* Pool Model (proc,thrd,both)*/
+#define OCI_ATTR_MODES 93 /* Modes */
+
+#define OCI_ATTR_SUBSCR_NAME 94 /* name of subscription */
+#define OCI_ATTR_SUBSCR_CALLBACK 95 /* associated callback */
+#define OCI_ATTR_SUBSCR_CTX 96 /* associated callback context */
+#define OCI_ATTR_SUBSCR_PAYLOAD 97 /* associated payload */
+#define OCI_ATTR_SUBSCR_NAMESPACE 98 /* associated namespace */
+
+#define OCI_ATTR_PROXY_CREDENTIALS 99 /* Proxy user credentials */
+#define OCI_ATTR_INITIAL_CLIENT_ROLES 100 /* Initial client role list */
+
+#define OCI_ATTR_UNK 101 /* unknown attribute */
+#define OCI_ATTR_NUM_COLS 102 /* number of columns */
+#define OCI_ATTR_LIST_COLUMNS 103 /* parameter of the column list */
+#define OCI_ATTR_RDBA 104 /* DBA of the segment header */
+#define OCI_ATTR_CLUSTERED 105 /* whether the table is clustered */
+#define OCI_ATTR_PARTITIONED 106 /* whether the table is partitioned */
+#define OCI_ATTR_INDEX_ONLY 107 /* whether the table is index only */
+#define OCI_ATTR_LIST_ARGUMENTS 108 /* parameter of the argument list */
+#define OCI_ATTR_LIST_SUBPROGRAMS 109 /* parameter of the subprogram list */
+#define OCI_ATTR_REF_TDO 110 /* REF to the type descriptor */
+#define OCI_ATTR_LINK 111 /* the database link name */
+#define OCI_ATTR_MIN 112 /* minimum value */
+#define OCI_ATTR_MAX 113 /* maximum value */
+#define OCI_ATTR_INCR 114 /* increment value */
+#define OCI_ATTR_CACHE 115 /* number of sequence numbers cached */
+#define OCI_ATTR_ORDER 116 /* whether the sequence is ordered */
+#define OCI_ATTR_HW_MARK 117 /* high-water mark */
+#define OCI_ATTR_TYPE_SCHEMA 118 /* type's schema name */
+#define OCI_ATTR_TIMESTAMP 119 /* timestamp of the object */
+#define OCI_ATTR_NUM_ATTRS 120 /* number of sttributes */
+#define OCI_ATTR_NUM_PARAMS 121 /* number of parameters */
+#define OCI_ATTR_OBJID 122 /* object id for a table or view */
+#define OCI_ATTR_PTYPE 123 /* type of info described by */
+#define OCI_ATTR_PARAM 124 /* parameter descriptor */
+#define OCI_ATTR_OVERLOAD_ID 125 /* overload ID for funcs and procs */
+#define OCI_ATTR_TABLESPACE 126 /* table name space */
+#define OCI_ATTR_TDO 127 /* TDO of a type */
+#define OCI_ATTR_LTYPE 128 /* list type */
+#define OCI_ATTR_PARSE_ERROR_OFFSET 129 /* Parse Error offset */
+#define OCI_ATTR_IS_TEMPORARY 130 /* whether table is temporary */
+#define OCI_ATTR_IS_TYPED 131 /* whether table is typed */
+#define OCI_ATTR_DURATION 132 /* duration of temporary table */
+#define OCI_ATTR_IS_INVOKER_RIGHTS 133 /* is invoker rights */
+#define OCI_ATTR_OBJ_NAME 134 /* top level schema obj name */
+#define OCI_ATTR_OBJ_SCHEMA 135 /* schema name */
+#define OCI_ATTR_OBJ_ID 136 /* top level schema object id */
+
+/* For values 137 - 141, see DirPathAPI attribute section in this file */
+
+
+#define OCI_ATTR_TRANS_TIMEOUT 142 /* transaction timeout */
+#define OCI_ATTR_SERVER_STATUS 143/* state of the server handle */
+#define OCI_ATTR_STATEMENT 144 /* statement txt in stmt hdl */
+
+/* For value 145, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_DEQCOND 146 /* dequeue condition */
+#define OCI_ATTR_RESERVED_2 147 /* reserved */
+
+
+#define OCI_ATTR_SUBSCR_RECPT 148 /* recepient of subscription */
+#define OCI_ATTR_SUBSCR_RECPTPROTO 149 /* protocol for recepient */
+
+/* For values 150 - 151, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_LDAP_HOST 153 /* LDAP host to connect to */
+#define OCI_ATTR_LDAP_PORT 154 /* LDAP port to connect to */
+#define OCI_ATTR_BIND_DN 155 /* bind DN */
+#define OCI_ATTR_LDAP_CRED 156 /* credentials to connect to LDAP */
+#define OCI_ATTR_WALL_LOC 157 /* client wallet location */
+#define OCI_ATTR_LDAP_AUTH 158 /* LDAP authentication method */
+#define OCI_ATTR_LDAP_CTX 159 /* LDAP adminstration context DN */
+#define OCI_ATTR_SERVER_DNS 160 /* list of registration server DNs */
+
+#define OCI_ATTR_DN_COUNT 161 /* the number of server DNs */
+#define OCI_ATTR_SERVER_DN 162 /* server DN attribute */
+
+#define OCI_ATTR_MAXCHAR_SIZE 163 /* max char size of data */
+
+#define OCI_ATTR_CURRENT_POSITION 164 /* for scrollable result sets*/
+
+/* Added to get attributes for ref cursor to statement handle */
+#define OCI_ATTR_RESERVED_3 165 /* reserved */
+#define OCI_ATTR_RESERVED_4 166 /* reserved */
+
+/* For value 167, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_DIGEST_ALGO 168 /* digest algorithm */
+#define OCI_ATTR_CERTIFICATE 169 /* certificate */
+#define OCI_ATTR_SIGNATURE_ALGO 170 /* signature algorithm */
+#define OCI_ATTR_CANONICAL_ALGO 171 /* canonicalization algo. */
+#define OCI_ATTR_PRIVATE_KEY 172 /* private key */
+#define OCI_ATTR_DIGEST_VALUE 173 /* digest value */
+#define OCI_ATTR_SIGNATURE_VAL 174 /* signature value */
+#define OCI_ATTR_SIGNATURE 175 /* signature */
+
+/* attributes for setting OCI stmt caching specifics in svchp */
+#define OCI_ATTR_STMTCACHESIZE 176 /* size of the stm cache */
+
+/* --------------------------- Connection Pool Attributes ------------------ */
+#define OCI_ATTR_CONN_NOWAIT 178
+#define OCI_ATTR_CONN_BUSY_COUNT 179
+#define OCI_ATTR_CONN_OPEN_COUNT 180
+#define OCI_ATTR_CONN_TIMEOUT 181
+#define OCI_ATTR_STMT_STATE 182
+#define OCI_ATTR_CONN_MIN 183
+#define OCI_ATTR_CONN_MAX 184
+#define OCI_ATTR_CONN_INCR 185
+
+/* For value 187, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_NUM_OPEN_STMTS 188 /* open stmts in session */
+#define OCI_ATTR_DESCRIBE_NATIVE 189 /* get native info via desc */
+
+#define OCI_ATTR_BIND_COUNT 190 /* number of bind postions */
+#define OCI_ATTR_HANDLE_POSITION 191 /* pos of bind/define handle */
+#define OCI_ATTR_RESERVED_5 192 /* reserverd */
+#define OCI_ATTR_SERVER_BUSY 193 /* call in progress on server*/
+
+/* For value 194, see DirPathAPI attribute section in this file */
+
+/* notification presentation for recipient */
+#define OCI_ATTR_SUBSCR_RECPTPRES 195
+#define OCI_ATTR_TRANSFORMATION 196 /* AQ message transformation */
+
+#define OCI_ATTR_ROWS_FETCHED 197 /* rows fetched in last call */
+
+/* --------------------------- Snapshot attributes ------------------------- */
+#define OCI_ATTR_SCN_BASE 198 /* snapshot base */
+#define OCI_ATTR_SCN_WRAP 199 /* snapshot wrap */
+
+/* --------------------------- Miscellanous attributes --------------------- */
+#define OCI_ATTR_RESERVED_6 200 /* reserved */
+#define OCI_ATTR_READONLY_TXN 201 /* txn is readonly */
+#define OCI_ATTR_RESERVED_7 202 /* reserved */
+#define OCI_ATTR_ERRONEOUS_COLUMN 203 /* position of erroneous col */
+#define OCI_ATTR_RESERVED_8 204 /* reserved */
+#define OCI_ATTR_ASM_VOL_SPRT 205 /* ASM volume supported? */
+
+/* For value 206, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_INST_TYPE 207 /* oracle instance type */
+/******USED attribute 208 for OCI_ATTR_SPOOL_STMTCACHESIZE*******************/
+
+#define OCI_ATTR_ENV_UTF16 209 /* is env in utf16 mode? */
+#define OCI_ATTR_RESERVED_9 210 /* reserved */
+#define OCI_ATTR_RESERVED_10 211 /* reserved */
+
+/* For values 212 and 213, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_RESERVED_12 214 /* reserved */
+#define OCI_ATTR_RESERVED_13 215 /* reserved */
+#define OCI_ATTR_IS_EXTERNAL 216 /* whether table is external */
+
+
+/* -------------------------- Statement Handle Attributes ------------------ */
+
+#define OCI_ATTR_RESERVED_15 217 /* reserved */
+#define OCI_ATTR_STMT_IS_RETURNING 218 /* stmt has returning clause */
+#define OCI_ATTR_RESERVED_16 219 /* reserved */
+#define OCI_ATTR_RESERVED_17 220 /* reserved */
+#define OCI_ATTR_RESERVED_18 221 /* reserved */
+
+/* --------------------------- session attributes ---------------------------*/
+#define OCI_ATTR_RESERVED_19 222 /* reserved */
+#define OCI_ATTR_RESERVED_20 223 /* reserved */
+#define OCI_ATTR_CURRENT_SCHEMA 224 /* Current Schema */
+#define OCI_ATTR_RESERVED_21 415 /* reserved */
+
+/* ------------------------- notification subscription ----------------------*/
+#define OCI_ATTR_SUBSCR_QOSFLAGS 225 /* QOS flags */
+#define OCI_ATTR_SUBSCR_PAYLOADCBK 226 /* Payload callback */
+#define OCI_ATTR_SUBSCR_TIMEOUT 227 /* Timeout */
+#define OCI_ATTR_SUBSCR_NAMESPACE_CTX 228 /* Namespace context */
+#define OCI_ATTR_SUBSCR_CQ_QOSFLAGS 229
+ /* change notification (CQ) specific QOS flags */
+#define OCI_ATTR_SUBSCR_CQ_REGID 230
+ /* change notification registration id */
+#define OCI_ATTR_SUBSCR_NTFN_GROUPING_CLASS 231/* ntfn grouping class */
+#define OCI_ATTR_SUBSCR_NTFN_GROUPING_VALUE 232/* ntfn grouping value */
+#define OCI_ATTR_SUBSCR_NTFN_GROUPING_TYPE 233 /* ntfn grouping type */
+#define OCI_ATTR_SUBSCR_NTFN_GROUPING_START_TIME 234/* ntfn grp start time */
+#define OCI_ATTR_SUBSCR_NTFN_GROUPING_REPEAT_COUNT 235 /* ntfn grp rep count */
+#define OCI_ATTR_AQ_NTFN_GROUPING_MSGID_ARRAY 236 /* aq grp msgid array */
+#define OCI_ATTR_AQ_NTFN_GROUPING_COUNT 237 /* ntfns recd in grp */
+
+/* ----------------------- row callback attributes ------------------------- */
+#define OCI_ATTR_BIND_ROWCBK 301 /* bind row callback */
+#define OCI_ATTR_BIND_ROWCTX 302 /* ctx for bind row callback */
+#define OCI_ATTR_SKIP_BUFFER 303 /* skip buffer in array ops */
+
+/* ----------------------- XStream API attributes -------------------------- */
+#define OCI_ATTR_XSTREAM_ACK_INTERVAL 350 /* XStream ack interval */
+#define OCI_ATTR_XSTREAM_IDLE_TIMEOUT 351 /* XStream idle timeout */
+
+/*----- Db Change Notification (CQ) statement handle attributes------------ */
+#define OCI_ATTR_CQ_QUERYID 304
+/* ------------- DB Change Notification reg handle attributes ---------------*/
+#define OCI_ATTR_CHNF_TABLENAMES 401 /* out: array of table names */
+#define OCI_ATTR_CHNF_ROWIDS 402 /* in: rowids needed */
+#define OCI_ATTR_CHNF_OPERATIONS 403
+ /* in: notification operation filter*/
+#define OCI_ATTR_CHNF_CHANGELAG 404
+ /* txn lag between notifications */
+
+/* DB Change: Notification Descriptor attributes -----------------------*/
+#define OCI_ATTR_CHDES_DBNAME 405 /* source database */
+#define OCI_ATTR_CHDES_NFYTYPE 406 /* notification type flags */
+#define OCI_ATTR_CHDES_XID 407 /* XID of the transaction */
+#define OCI_ATTR_CHDES_TABLE_CHANGES 408/* array of table chg descriptors*/
+
+#define OCI_ATTR_CHDES_TABLE_NAME 409 /* table name */
+#define OCI_ATTR_CHDES_TABLE_OPFLAGS 410 /* table operation flags */
+#define OCI_ATTR_CHDES_TABLE_ROW_CHANGES 411 /* array of changed rows */
+#define OCI_ATTR_CHDES_ROW_ROWID 412 /* rowid of changed row */
+#define OCI_ATTR_CHDES_ROW_OPFLAGS 413 /* row operation flags */
+
+/* Statement handle attribute for db change notification */
+#define OCI_ATTR_CHNF_REGHANDLE 414 /* IN: subscription handle */
+#define OCI_ATTR_NETWORK_FILE_DESC 415 /* network file descriptor */
+
+/* client name for single session proxy */
+#define OCI_ATTR_PROXY_CLIENT 416
+
+/* 415 is already taken - see OCI_ATTR_RESERVED_21 */
+
+/* TDE attributes on the Table */
+#define OCI_ATTR_TABLE_ENC 417/* does table have any encrypt columns */
+#define OCI_ATTR_TABLE_ENC_ALG 418 /* Table encryption Algorithm */
+#define OCI_ATTR_TABLE_ENC_ALG_ID 419 /* Internal Id of encryption Algorithm*/
+
+/* -------- Attributes related to Statement cache callback ----------------- */
+#define OCI_ATTR_STMTCACHE_CBKCTX 420 /* opaque context on stmt */
+#define OCI_ATTR_STMTCACHE_CBK 421 /* callback fn for stmtcache */
+
+/*---------------- Query change descriptor attributes -----------------------*/
+#define OCI_ATTR_CQDES_OPERATION 422
+#define OCI_ATTR_CQDES_TABLE_CHANGES 423
+#define OCI_ATTR_CQDES_QUERYID 424
+
+
+#define OCI_ATTR_CHDES_QUERIES 425 /* Top level change desc array of queries */
+
+/* Please use from 143 */
+
+/* -------- Internal statement attributes ------- */
+#define OCI_ATTR_RESERVED_26 422
+
+/* 424 is used by OCI_ATTR_DRIVER_NAME */
+/* --------- Attributes added to support server side session pool ---------- */
+#define OCI_ATTR_CONNECTION_CLASS 425
+#define OCI_ATTR_PURITY 426
+
+#define OCI_ATTR_PURITY_DEFAULT 0x00
+#define OCI_ATTR_PURITY_NEW 0x01
+#define OCI_ATTR_PURITY_SELF 0x02
+
+/* -------- Attributes for Times Ten --------------------------*/
+#define OCI_ATTR_RESERVED_28 426 /* reserved */
+#define OCI_ATTR_RESERVED_29 427 /* reserved */
+#define OCI_ATTR_RESERVED_30 428 /* reserved */
+#define OCI_ATTR_RESERVED_31 429 /* reserved */
+#define OCI_ATTR_RESERVED_32 430 /* reserved */
+#define OCI_ATTR_RESERVED_41 454 /* reserved */
+
+
+/* ----------- Reserve internal attributes for workload replay ------------ */
+#define OCI_ATTR_RESERVED_33 433
+#define OCI_ATTR_RESERVED_34 434
+
+/* statement attribute */
+#define OCI_ATTR_RESERVED_36 444
+
+/* -------- Attributes for Network Session Time Out--------------------------*/
+#define OCI_ATTR_SEND_TIMEOUT 435 /* NS send timeout */
+#define OCI_ATTR_RECEIVE_TIMEOUT 436 /* NS receive timeout */
+
+/*--------- Attributes related to LOB prefetch------------------------------ */
+#define OCI_ATTR_DEFAULT_LOBPREFETCH_SIZE 438 /* default prefetch size */
+#define OCI_ATTR_LOBPREFETCH_SIZE 439 /* prefetch size */
+#define OCI_ATTR_LOBPREFETCH_LENGTH 440 /* prefetch length & chunk */
+
+/*--------- Attributes related to LOB Deduplicate Regions ------------------ */
+#define OCI_ATTR_LOB_REGION_PRIMARY 442 /* Primary LOB Locator */
+#define OCI_ATTR_LOB_REGION_PRIMOFF 443 /* Offset into Primary LOB */
+#define OCI_ATTR_LOB_REGION_OFFSET 445 /* Region Offset */
+#define OCI_ATTR_LOB_REGION_LENGTH 446 /* Region Length Bytes/Chars */
+#define OCI_ATTR_LOB_REGION_MIME 447 /* Region mime type */
+
+/*--------------------Attribute to fetch ROWID ------------------------------*/
+#define OCI_ATTR_FETCH_ROWID 448
+
+/* server attribute */
+#define OCI_ATTR_RESERVED_37 449
+
+/*------------------- Client Internal Attributes -----------------------*/
+#define OCI_ATTR_RESERVED_38 450
+#define OCI_ATTR_RESERVED_39 451
+
+/* --------------- ip address attribute in environment handle -------------- */
+#define OCI_ATTR_SUBSCR_IPADDR 452 /* ip address to listen on */
+
+/* server attribute */
+#define OCI_ATTR_RESERVED_40 453
+
+/* ------------- round trip callback attributes in the process handle ----- */
+#define OCI_ATTR_RESERVED_458 458 /* reserved */
+#define OCI_ATTR_RESERVED_459 459 /* reserved */
+
+/* DB Change: Event types ---------------*/
+#define OCI_EVENT_NONE 0x0 /* None */
+#define OCI_EVENT_STARTUP 0x1 /* Startup database */
+#define OCI_EVENT_SHUTDOWN 0x2 /* Shutdown database */
+#define OCI_EVENT_SHUTDOWN_ANY 0x3 /* Startup instance */
+#define OCI_EVENT_DROP_DB 0x4 /* Drop database */
+#define OCI_EVENT_DEREG 0x5 /* Subscription deregistered */
+#define OCI_EVENT_OBJCHANGE 0x6 /* Object change notification */
+#define OCI_EVENT_QUERYCHANGE 0x7 /* query result change */
+
+/* DB Change: Operation types -----------*/
+#define OCI_OPCODE_ALLROWS 0x1 /* all rows invalidated */
+#define OCI_OPCODE_ALLOPS 0x0 /* interested in all operations */
+#define OCI_OPCODE_INSERT 0x2 /* INSERT */
+#define OCI_OPCODE_UPDATE 0x4 /* UPDATE */
+#define OCI_OPCODE_DELETE 0x8 /* DELETE */
+#define OCI_OPCODE_ALTER 0x10 /* ALTER */
+#define OCI_OPCODE_DROP 0x20 /* DROP TABLE */
+#define OCI_OPCODE_UNKNOWN 0x40 /* GENERIC/ UNKNOWN*/
+
+/* -------- client side character and national character set ids ----------- */
+#define OCI_ATTR_ENV_CHARSET_ID OCI_ATTR_CHARSET_ID /* charset id in env */
+#define OCI_ATTR_ENV_NCHARSET_ID OCI_ATTR_NCHARSET_ID /* ncharset id in env */
+
+/* ----------------------- ha event callback attributes -------------------- */
+#define OCI_ATTR_EVTCBK 304 /* ha callback */
+#define OCI_ATTR_EVTCTX 305 /* ctx for ha callback */
+
+/* ------------------ User memory attributes (all handles) ----------------- */
+#define OCI_ATTR_USER_MEMORY 306 /* pointer to user memory */
+
+/* ------- unauthorised access and user action auditing banners ------------ */
+#define OCI_ATTR_ACCESS_BANNER 307 /* access banner */
+#define OCI_ATTR_AUDIT_BANNER 308 /* audit banner */
+
+/* ----------------- port no attribute in environment handle ------------- */
+#define OCI_ATTR_SUBSCR_PORTNO 390 /* port no to listen */
+
+#define OCI_ATTR_RESERVED_35 437
+
+/*------------- Supported Values for protocol for recepient -----------------*/
+#define OCI_SUBSCR_PROTO_OCI 0 /* oci */
+#define OCI_SUBSCR_PROTO_MAIL 1 /* mail */
+#define OCI_SUBSCR_PROTO_SERVER 2 /* server */
+#define OCI_SUBSCR_PROTO_HTTP 3 /* http */
+#define OCI_SUBSCR_PROTO_MAX 4 /* max current protocols */
+
+/*------------- Supported Values for presentation for recepient -------------*/
+#define OCI_SUBSCR_PRES_DEFAULT 0 /* default */
+#define OCI_SUBSCR_PRES_XML 1 /* xml */
+#define OCI_SUBSCR_PRES_MAX 2 /* max current presentations */
+
+/*------------- Supported QOS values for notification registrations ---------*/
+#define OCI_SUBSCR_QOS_RELIABLE 0x01 /* reliable */
+#define OCI_SUBSCR_QOS_PAYLOAD 0x02 /* payload delivery */
+#define OCI_SUBSCR_QOS_REPLICATE 0x04 /* replicate to director */
+#define OCI_SUBSCR_QOS_SECURE 0x08 /* secure payload delivery */
+#define OCI_SUBSCR_QOS_PURGE_ON_NTFN 0x10 /* purge on first ntfn */
+#define OCI_SUBSCR_QOS_MULTICBK 0x20 /* multi instance callback */
+ /* 0x40 is used for a internal flag */
+#define OCI_SUBSCR_QOS_HAREG 0x80 /* HA reg */
+
+/* ----QOS flags specific to change notification/ continuous queries CQ -----*/
+#define OCI_SUBSCR_CQ_QOS_QUERY 0x01 /* query level notification */
+#define OCI_SUBSCR_CQ_QOS_BEST_EFFORT 0x02 /* best effort notification */
+#define OCI_SUBSCR_CQ_QOS_CLQRYCACHE 0x04 /* client query caching */
+
+/*------------- Supported Values for notification grouping class ------------*/
+#define OCI_SUBSCR_NTFN_GROUPING_CLASS_TIME 1 /* time */
+
+/*------------- Supported Values for notification grouping type -------------*/
+#define OCI_SUBSCR_NTFN_GROUPING_TYPE_SUMMARY 1 /* summary */
+#define OCI_SUBSCR_NTFN_GROUPING_TYPE_LAST 2 /* last */
+
+/* ----- Temporary attribute value for UCS2/UTF16 character set ID -------- */
+#define OCI_UCS2ID 1000 /* UCS2 charset ID */
+#define OCI_UTF16ID 1000 /* UTF16 charset ID */
+
+/*============================== End OCI Attribute Types ====================*/
+
+/*---------------- Server Handle Attribute Values ---------------------------*/
+
+/* OCI_ATTR_SERVER_STATUS */
+#define OCI_SERVER_NOT_CONNECTED 0x0
+#define OCI_SERVER_NORMAL 0x1
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------- Supported Namespaces ---------------------------*/
+#define OCI_SUBSCR_NAMESPACE_ANONYMOUS 0 /* Anonymous Namespace */
+#define OCI_SUBSCR_NAMESPACE_AQ 1 /* Advanced Queues */
+#define OCI_SUBSCR_NAMESPACE_DBCHANGE 2 /* change notification */
+#define OCI_SUBSCR_NAMESPACE_MAX 3 /* Max Name Space Number */
+
+
+/*-------------------------Credential Types----------------------------------*/
+#define OCI_CRED_RDBMS 1 /* database username/password */
+#define OCI_CRED_EXT 2 /* externally provided credentials */
+#define OCI_CRED_PROXY 3 /* proxy authentication */
+#define OCI_CRED_RESERVED_1 4 /* reserved */
+#define OCI_CRED_RESERVED_2 5 /* reserved */
+/*---------------------------------------------------------------------------*/
+
+/*------------------------Error Return Values--------------------------------*/
+#define OCI_SUCCESS 0 /* maps to SQL_SUCCESS of SAG CLI */
+#define OCI_SUCCESS_WITH_INFO 1 /* maps to SQL_SUCCESS_WITH_INFO */
+#define OCI_RESERVED_FOR_INT_USE 200 /* reserved */
+#define OCI_NO_DATA 100 /* maps to SQL_NO_DATA */
+#define OCI_ERROR -1 /* maps to SQL_ERROR */
+#define OCI_INVALID_HANDLE -2 /* maps to SQL_INVALID_HANDLE */
+#define OCI_NEED_DATA 99 /* maps to SQL_NEED_DATA */
+#define OCI_STILL_EXECUTING -3123 /* OCI would block error */
+/*---------------------------------------------------------------------------*/
+
+/*--------------------- User Callback Return Values -------------------------*/
+#define OCI_CONTINUE -24200 /* Continue with the body of the OCI function */
+#define OCI_ROWCBK_DONE -24201 /* done with user row callback */
+/*---------------------------------------------------------------------------*/
+
+/*------------------DateTime and Interval check Error codes------------------*/
+
+/* DateTime Error Codes used by OCIDateTimeCheck() */
+#define OCI_DT_INVALID_DAY 0x1 /* Bad day */
+#define OCI_DT_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low)*/
+#define OCI_DT_INVALID_MONTH 0x4 /* Bad MOnth */
+#define OCI_DT_MONTH_BELOW_VALID 0x8 /* Bad MOnth Low/high bit (1=low) */
+#define OCI_DT_INVALID_YEAR 0x10 /* Bad YeaR */
+#define OCI_DT_YEAR_BELOW_VALID 0x20 /* Bad YeaR Low/high bit (1=low) */
+#define OCI_DT_INVALID_HOUR 0x40 /* Bad HouR */
+#define OCI_DT_HOUR_BELOW_VALID 0x80 /* Bad HouR Low/high bit (1=low) */
+#define OCI_DT_INVALID_MINUTE 0x100 /* Bad MiNute */
+#define OCI_DT_MINUTE_BELOW_VALID 0x200 /*Bad MiNute Low/high bit (1=low) */
+#define OCI_DT_INVALID_SECOND 0x400 /* Bad SeCond */
+#define OCI_DT_SECOND_BELOW_VALID 0x800 /*bad second Low/high bit (1=low)*/
+#define OCI_DT_DAY_MISSING_FROM_1582 0x1000
+ /* Day is one of those "missing" from 1582 */
+#define OCI_DT_YEAR_ZERO 0x2000 /* Year may not equal zero */
+#define OCI_DT_INVALID_TIMEZONE 0x4000 /* Bad Timezone */
+#define OCI_DT_INVALID_FORMAT 0x8000 /* Bad date format input */
+
+
+/* Interval Error Codes used by OCIInterCheck() */
+#define OCI_INTER_INVALID_DAY 0x1 /* Bad day */
+#define OCI_INTER_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low) */
+#define OCI_INTER_INVALID_MONTH 0x4 /* Bad MOnth */
+#define OCI_INTER_MONTH_BELOW_VALID 0x8 /*Bad MOnth Low/high bit (1=low) */
+#define OCI_INTER_INVALID_YEAR 0x10 /* Bad YeaR */
+#define OCI_INTER_YEAR_BELOW_VALID 0x20 /*Bad YeaR Low/high bit (1=low) */
+#define OCI_INTER_INVALID_HOUR 0x40 /* Bad HouR */
+#define OCI_INTER_HOUR_BELOW_VALID 0x80 /*Bad HouR Low/high bit (1=low) */
+#define OCI_INTER_INVALID_MINUTE 0x100 /* Bad MiNute */
+#define OCI_INTER_MINUTE_BELOW_VALID 0x200
+ /*Bad MiNute Low/high bit(1=low) */
+#define OCI_INTER_INVALID_SECOND 0x400 /* Bad SeCond */
+#define OCI_INTER_SECOND_BELOW_VALID 0x800
+ /*bad second Low/high bit(1=low) */
+#define OCI_INTER_INVALID_FRACSEC 0x1000 /* Bad Fractional second */
+#define OCI_INTER_FRACSEC_BELOW_VALID 0x2000
+ /* Bad fractional second Low/High */
+
+
+/*------------------------Parsing Syntax Types-------------------------------*/
+#define OCI_V7_SYNTAX 2 /* V815 language - for backwards compatibility */
+#define OCI_V8_SYNTAX 3 /* V815 language - for backwards compatibility */
+#define OCI_NTV_SYNTAX 1 /* Use what so ever is the native lang of server */
+ /* these values must match the values defined in kpul.h */
+/*---------------------------------------------------------------------------*/
+
+/*------------------------(Scrollable Cursor) Fetch Options-------------------
+ * For non-scrollable cursor, the only valid (and default) orientation is
+ * OCI_FETCH_NEXT
+ */
+#define OCI_FETCH_CURRENT 0x00000001 /* refetching current position */
+#define OCI_FETCH_NEXT 0x00000002 /* next row */
+#define OCI_FETCH_FIRST 0x00000004 /* first row of the result set */
+#define OCI_FETCH_LAST 0x00000008 /* the last row of the result set */
+#define OCI_FETCH_PRIOR 0x00000010 /* previous row relative to current */
+#define OCI_FETCH_ABSOLUTE 0x00000020 /* absolute offset from first */
+#define OCI_FETCH_RELATIVE 0x00000040 /* offset relative to current */
+#define OCI_FETCH_RESERVED_1 0x00000080 /* reserved */
+#define OCI_FETCH_RESERVED_2 0x00000100 /* reserved */
+#define OCI_FETCH_RESERVED_3 0x00000200 /* reserved */
+#define OCI_FETCH_RESERVED_4 0x00000400 /* reserved */
+#define OCI_FETCH_RESERVED_5 0x00000800 /* reserved */
+#define OCI_FETCH_RESERVED_6 0x00001000 /* reserved */
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------Bind and Define Options----------------------------*/
+#define OCI_SB2_IND_PTR 0x00000001 /* unused */
+#define OCI_DATA_AT_EXEC 0x00000002 /* data at execute time */
+#define OCI_DYNAMIC_FETCH 0x00000002 /* fetch dynamically */
+#define OCI_PIECEWISE 0x00000004 /* piecewise DMLs or fetch */
+#define OCI_DEFINE_RESERVED_1 0x00000008 /* reserved */
+#define OCI_BIND_RESERVED_2 0x00000010 /* reserved */
+#define OCI_DEFINE_RESERVED_2 0x00000020 /* reserved */
+#define OCI_BIND_SOFT 0x00000040 /* soft bind or define */
+#define OCI_DEFINE_SOFT 0x00000080 /* soft bind or define */
+#define OCI_BIND_RESERVED_3 0x00000100 /* reserved */
+#define OCI_IOV 0x00000200 /* For scatter gather bind/define */
+/*---------------------------------------------------------------------------*/
+
+/*----------------------------- Various Modes ------------------------------*/
+#define OCI_DEFAULT 0x00000000
+ /* the default value for parameters and attributes */
+/*-------------OCIInitialize Modes / OCICreateEnvironment Modes -------------*/
+#define OCI_THREADED 0x00000001 /* appl. in threaded environment */
+#define OCI_OBJECT 0x00000002 /* application in object environment */
+#define OCI_EVENTS 0x00000004 /* application is enabled for events */
+#define OCI_RESERVED1 0x00000008 /* reserved */
+#define OCI_SHARED 0x00000010 /* the application is in shared mode */
+#define OCI_RESERVED2 0x00000020 /* reserved */
+/* The following *TWO* are only valid for OCICreateEnvironment call */
+#define OCI_NO_UCB 0x00000040 /* No user callback called during ini */
+#define OCI_NO_MUTEX 0x00000080 /* the environment handle will not be */
+ /* protected by a mutex internally */
+#define OCI_SHARED_EXT 0x00000100 /* Used for shared forms */
+/************************** 0x00000200 free **********************************/
+#define OCI_ALWAYS_BLOCKING 0x00000400 /* all connections always blocking */
+/************************** 0x00000800 free **********************************/
+#define OCI_USE_LDAP 0x00001000 /* allow LDAP connections */
+#define OCI_REG_LDAPONLY 0x00002000 /* only register to LDAP */
+#define OCI_UTF16 0x00004000 /* mode for all UTF16 metadata */
+#define OCI_AFC_PAD_ON 0x00008000
+ /* turn on AFC blank padding when rlenp present */
+#define OCI_ENVCR_RESERVED3 0x00010000 /* reserved */
+#define OCI_NEW_LENGTH_SEMANTICS 0x00020000 /* adopt new length semantics */
+ /* the new length semantics, always bytes, is used by OCIEnvNlsCreate */
+#define OCI_NO_MUTEX_STMT 0x00040000 /* Do not mutex stmt handle */
+#define OCI_MUTEX_ENV_ONLY 0x00080000 /* Mutex only the environment handle */
+#define OCI_SUPPRESS_NLS_VALIDATION 0x00100000 /* suppress nls validation */
+ /* nls validation suppression is on by default;
+ use OCI_ENABLE_NLS_VALIDATION to disable it */
+#define OCI_MUTEX_TRY 0x00200000 /* try and acquire mutex */
+#define OCI_NCHAR_LITERAL_REPLACE_ON 0x00400000 /* nchar literal replace on */
+#define OCI_NCHAR_LITERAL_REPLACE_OFF 0x00800000 /* nchar literal replace off*/
+#define OCI_ENABLE_NLS_VALIDATION 0x01000000 /* enable nls validation */
+#define OCI_ENVCR_RESERVED4 0x02000000 /* reserved */
+
+/*---------------------------------------------------------------------------*/
+/*------------------------OCIConnectionpoolCreate Modes----------------------*/
+
+#define OCI_CPOOL_REINITIALIZE 0x111
+
+/*---------------------------------------------------------------------------*/
+/*--------------------------------- OCILogon2 Modes -------------------------*/
+
+#define OCI_LOGON2_SPOOL 0x0001 /* Use session pool */
+#define OCI_LOGON2_CPOOL OCI_CPOOL /* Use connection pool */
+#define OCI_LOGON2_STMTCACHE 0x0004 /* Use Stmt Caching */
+#define OCI_LOGON2_PROXY 0x0008 /* Proxy authentiaction */
+
+/*---------------------------------------------------------------------------*/
+/*------------------------- OCISessionPoolCreate Modes ----------------------*/
+
+#define OCI_SPC_REINITIALIZE 0x0001 /* Reinitialize the session pool */
+#define OCI_SPC_HOMOGENEOUS 0x0002 /* Session pool is homogeneneous */
+#define OCI_SPC_STMTCACHE 0x0004 /* Session pool has stmt cache */
+#define OCI_SPC_NO_RLB 0x0008 /* Do not enable Runtime load balancing. */
+
+/*---------------------------------------------------------------------------*/
+/*--------------------------- OCISessionGet Modes ---------------------------*/
+
+#define OCI_SESSGET_SPOOL 0x0001 /* SessionGet called in SPOOL mode */
+#define OCI_SESSGET_CPOOL OCI_CPOOL /* SessionGet called in CPOOL mode */
+#define OCI_SESSGET_STMTCACHE 0x0004 /* Use statement cache */
+#define OCI_SESSGET_CREDPROXY 0x0008 /* SessionGet called in proxy mode */
+#define OCI_SESSGET_CREDEXT 0x0010
+#define OCI_SESSGET_SPOOL_MATCHANY 0x0020
+#define OCI_SESSGET_PURITY_NEW 0x0040
+#define OCI_SESSGET_PURITY_SELF 0x0080
+#define OCI_SESSGET_SYSDBA 0x0100 /* SessionGet with SYSDBA privileges */
+
+/*---------------------------------------------------------------------------*/
+/*------------------------ATTR Values for Session Pool-----------------------*/
+/* Attribute values for OCI_ATTR_SPOOL_GETMODE */
+#define OCI_SPOOL_ATTRVAL_WAIT 0 /* block till you get a session */
+#define OCI_SPOOL_ATTRVAL_NOWAIT 1 /* error out if no session avaliable */
+#define OCI_SPOOL_ATTRVAL_FORCEGET 2 /* get session even if max is exceeded */
+
+/*---------------------------------------------------------------------------*/
+/*--------------------------- OCISessionRelease Modes -----------------------*/
+
+#define OCI_SESSRLS_DROPSESS 0x0001 /* Drop the Session */
+#define OCI_SESSRLS_RETAG 0x0002 /* Retag the session */
+
+/*---------------------------------------------------------------------------*/
+/*----------------------- OCISessionPoolDestroy Modes -----------------------*/
+
+#define OCI_SPD_FORCE 0x0001 /* Force the sessions to terminate.
+ Even if there are some busy
+ sessions close them */
+
+/*---------------------------------------------------------------------------*/
+/*----------------------------- Statement States ----------------------------*/
+
+#define OCI_STMT_STATE_INITIALIZED 0x0001
+#define OCI_STMT_STATE_EXECUTED 0x0002
+#define OCI_STMT_STATE_END_OF_FETCH 0x0003
+
+/*---------------------------------------------------------------------------*/
+
+/*----------------------------- OCIMemStats Modes ---------------------------*/
+#define OCI_MEM_INIT 0x01
+#define OCI_MEM_CLN 0x02
+#define OCI_MEM_FLUSH 0x04
+#define OCI_DUMP_HEAP 0x80
+
+#define OCI_CLIENT_STATS 0x10
+#define OCI_SERVER_STATS 0x20
+
+/*----------------------------- OCIEnvInit Modes ----------------------------*/
+/* NOTE: NO NEW MODES SHOULD BE ADDED HERE BECAUSE THE RECOMMENDED METHOD
+ * IS TO USE THE NEW OCICreateEnvironment MODES.
+ */
+#define OCI_ENV_NO_UCB 0x01 /* A user callback will not be called in
+ OCIEnvInit() */
+#define OCI_ENV_NO_MUTEX 0x08 /* the environment handle will not be protected
+ by a mutex internally */
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------ Prepare Modes ------------------------------------*/
+#define OCI_NO_SHARING 0x01 /* turn off statement handle sharing */
+#define OCI_PREP_RESERVED_1 0x02 /* reserved */
+#define OCI_PREP_AFC_PAD_ON 0x04 /* turn on blank padding for AFC */
+#define OCI_PREP_AFC_PAD_OFF 0x08 /* turn off blank padding for AFC */
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------------------------------------------------------*/
+
+/*----------------------- Execution Modes -----------------------------------*/
+#define OCI_BATCH_MODE 0x00000001 /* batch the oci stmt for exec */
+#define OCI_EXACT_FETCH 0x00000002 /* fetch exact rows specified */
+/* #define 0x00000004 available */
+#define OCI_STMT_SCROLLABLE_READONLY \
+ 0x00000008 /* if result set is scrollable */
+#define OCI_DESCRIBE_ONLY 0x00000010 /* only describe the statement */
+#define OCI_COMMIT_ON_SUCCESS 0x00000020 /* commit, if successful exec */
+#define OCI_NON_BLOCKING 0x00000040 /* non-blocking */
+#define OCI_BATCH_ERRORS 0x00000080 /* batch errors in array dmls */
+#define OCI_PARSE_ONLY 0x00000100 /* only parse the statement */
+#define OCI_EXACT_FETCH_RESERVED_1 0x00000200 /* reserved */
+#define OCI_SHOW_DML_WARNINGS 0x00000400
+ /* return OCI_SUCCESS_WITH_INFO for delete/update w/no where clause */
+#define OCI_EXEC_RESERVED_2 0x00000800 /* reserved */
+#define OCI_DESC_RESERVED_1 0x00001000 /* reserved */
+#define OCI_EXEC_RESERVED_3 0x00002000 /* reserved */
+#define OCI_EXEC_RESERVED_4 0x00004000 /* reserved */
+#define OCI_EXEC_RESERVED_5 0x00008000 /* reserved */
+#define OCI_EXEC_RESERVED_6 0x00010000 /* reserved */
+#define OCI_RESULT_CACHE 0x00020000 /* hint to use query caching */
+#define OCI_NO_RESULT_CACHE 0x00040000 /*hint to bypass query caching*/
+#define OCI_EXEC_RESERVED_7 0x00080000 /* reserved */
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------Authentication Modes-------------------------------*/
+#define OCI_MIGRATE 0x00000001 /* migratable auth context */
+#define OCI_SYSDBA 0x00000002 /* for SYSDBA authorization */
+#define OCI_SYSOPER 0x00000004 /* for SYSOPER authorization */
+#define OCI_PRELIM_AUTH 0x00000008 /* for preliminary authorization */
+#define OCIP_ICACHE 0x00000010 /* Private OCI cache mode */
+#define OCI_AUTH_RESERVED_1 0x00000020 /* reserved */
+#define OCI_STMT_CACHE 0x00000040 /* enable OCI Stmt Caching */
+#define OCI_STATELESS_CALL 0x00000080 /* stateless at call boundary */
+#define OCI_STATELESS_TXN 0x00000100 /* stateless at txn boundary */
+#define OCI_STATELESS_APP 0x00000200 /* stateless at user-specified pts */
+#define OCI_AUTH_RESERVED_2 0x00000400 /* reserved */
+#define OCI_AUTH_RESERVED_3 0x00000800 /* reserved */
+#define OCI_AUTH_RESERVED_4 0x00001000 /* reserved */
+#define OCI_AUTH_RESERVED_5 0x00002000 /* reserved */
+#define OCI_SYSASM 0x00008000 /* for SYSASM authorization */
+#define OCI_AUTH_RESERVED_6 0x00010000 /* reserved */
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------Session End Modes----------------------------------*/
+#define OCI_SESSEND_RESERVED_1 0x0001 /* reserved */
+#define OCI_SESSEND_RESERVED_2 0x0002 /* reserved */
+/*---------------------------------------------------------------------------*/
+
+/*------------------------Attach Modes---------------------------------------*/
+
+/* The following attach modes are the same as the UPI modes defined in
+ * UPIDEF.H. Do not use these values externally.
+ */
+
+#define OCI_FASTPATH 0x0010 /* Attach in fast path mode */
+#define OCI_ATCH_RESERVED_1 0x0020 /* reserved */
+#define OCI_ATCH_RESERVED_2 0x0080 /* reserved */
+#define OCI_ATCH_RESERVED_3 0x0100 /* reserved */
+#define OCI_CPOOL 0x0200 /* Attach using server handle from pool */
+#define OCI_ATCH_RESERVED_4 0x0400 /* reserved */
+#define OCI_ATCH_RESERVED_5 0x2000 /* reserved */
+#define OCI_ATCH_ENABLE_BEQ 0x4000 /* Allow bequeath connect strings */
+#define OCI_ATCH_RESERVED_6 0x8000 /* reserved */
+#define OCI_ATCH_RESERVED_7 0x10000 /* reserved */
+#define OCI_ATCH_RESERVED_8 0x20000 /* reserved */
+
+#define OCI_SRVATCH_RESERVED5 0x01000000 /* reserved */
+#define OCI_SRVATCH_RESERVED6 0x02000000 /* reserved */
+
+/*---------------------OCIStmtPrepare2 Modes---------------------------------*/
+#define OCI_PREP2_CACHE_SEARCHONLY 0x0010 /* ONly Search */
+#define OCI_PREP2_GET_PLSQL_WARNINGS 0x0020 /* Get PL/SQL warnings */
+#define OCI_PREP2_RESERVED_1 0x0040 /* reserved */
+
+/*---------------------OCIStmtRelease Modes----------------------------------*/
+#define OCI_STRLS_CACHE_DELETE 0x0010 /* Delete from Cache */
+
+/*---------------------OCIHanlde Mgmt Misc Modes-----------------------------*/
+#define OCI_STM_RESERVED4 0x00100000 /* reserved */
+
+/*-----------------------------End Various Modes ----------------------------*/
+
+/*------------------------Piece Information----------------------------------*/
+#define OCI_PARAM_IN 0x01 /* in parameter */
+#define OCI_PARAM_OUT 0x02 /* out parameter */
+/*---------------------------------------------------------------------------*/
+
+/*------------------------ Transaction Start Flags --------------------------*/
+/* NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X */
+#define OCI_TRANS_NEW 0x00000001 /* start a new local or global txn */
+#define OCI_TRANS_JOIN 0x00000002 /* join an existing global txn */
+#define OCI_TRANS_RESUME 0x00000004 /* resume the global txn branch */
+#define OCI_TRANS_PROMOTE 0x00000008 /* promote the local txn to global */
+#define OCI_TRANS_STARTMASK 0x000000ff /* mask for start operation flags */
+
+#define OCI_TRANS_READONLY 0x00000100 /* start a readonly txn */
+#define OCI_TRANS_READWRITE 0x00000200 /* start a read-write txn */
+#define OCI_TRANS_SERIALIZABLE 0x00000400 /* start a serializable txn */
+#define OCI_TRANS_ISOLMASK 0x0000ff00 /* mask for start isolation flags */
+
+#define OCI_TRANS_LOOSE 0x00010000 /* a loosely coupled branch */
+#define OCI_TRANS_TIGHT 0x00020000 /* a tightly coupled branch */
+#define OCI_TRANS_TYPEMASK 0x000f0000 /* mask for branch type flags */
+
+#define OCI_TRANS_NOMIGRATE 0x00100000 /* non migratable transaction */
+#define OCI_TRANS_SEPARABLE 0x00200000 /* separable transaction (8.1.6+) */
+#define OCI_TRANS_OTSRESUME 0x00400000 /* OTS resuming a transaction */
+#define OCI_TRANS_OTHRMASK 0xfff00000 /* mask for other start flags */
+
+
+/*---------------------------------------------------------------------------*/
+
+/*------------------------ Transaction End Flags ----------------------------*/
+#define OCI_TRANS_TWOPHASE 0x01000000 /* use two phase commit */
+#define OCI_TRANS_WRITEBATCH 0x00000001 /* force cmt-redo for local txns */
+#define OCI_TRANS_WRITEIMMED 0x00000002 /* no force cmt-redo */
+#define OCI_TRANS_WRITEWAIT 0x00000004 /* no sync cmt-redo */
+#define OCI_TRANS_WRITENOWAIT 0x00000008 /* sync cmt-redo for local txns */
+/*---------------------------------------------------------------------------*/
+
+/*------------------------- AQ Constants ------------------------------------
+ * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
+ * The following constants must match the PL/SQL dbms_aq constants
+ * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
+ */
+/* ------------------------- Visibility flags -------------------------------*/
+#define OCI_ENQ_IMMEDIATE 1 /* enqueue is an independent transaction */
+#define OCI_ENQ_ON_COMMIT 2 /* enqueue is part of current transaction */
+
+/* ----------------------- Dequeue mode flags -------------------------------*/
+#define OCI_DEQ_BROWSE 1 /* read message without acquiring a lock */
+#define OCI_DEQ_LOCKED 2 /* read and obtain write lock on message */
+#define OCI_DEQ_REMOVE 3 /* read the message and delete it */
+#define OCI_DEQ_REMOVE_NODATA 4 /* delete message w'o returning payload */
+#define OCI_DEQ_GETSIG 5 /* get signature only */
+
+/* ----------------- Dequeue navigation flags -------------------------------*/
+#define OCI_DEQ_FIRST_MSG 1 /* get first message at head of queue */
+#define OCI_DEQ_NEXT_MSG 3 /* next message that is available */
+#define OCI_DEQ_NEXT_TRANSACTION 2 /* get first message of next txn group */
+#define OCI_DEQ_FIRST_MSG_MULTI_GROUP 4
+ /* start from first message and array deq across txn groups */
+#define OCI_DEQ_MULT_TRANSACTION 5 /* array dequeue across txn groups */
+#define OCI_DEQ_NEXT_MSG_MULTI_GROUP OCI_DEQ_MULT_TRANSACTION
+ /* array dequeue across txn groups */
+
+/* ----------------- Dequeue Option Reserved flags ------------------------- */
+#define OCI_DEQ_RESERVED_1 0x000001
+
+/* --------------------- Message states -------------------------------------*/
+#define OCI_MSG_WAITING 1 /* the message delay has not yet completed */
+#define OCI_MSG_READY 0 /* the message is ready to be processed */
+#define OCI_MSG_PROCESSED 2 /* the message has been processed */
+#define OCI_MSG_EXPIRED 3 /* message has moved to exception queue */
+
+/* --------------------- Sequence deviation ---------------------------------*/
+#define OCI_ENQ_BEFORE 2 /* enqueue message before another message */
+#define OCI_ENQ_TOP 3 /* enqueue message before all messages */
+
+/* ------------------------- Visibility flags -------------------------------*/
+#define OCI_DEQ_IMMEDIATE 1 /* dequeue is an independent transaction */
+#define OCI_DEQ_ON_COMMIT 2 /* dequeue is part of current transaction */
+
+/* ------------------------ Wait --------------------------------------------*/
+#define OCI_DEQ_WAIT_FOREVER -1 /* wait forever if no message available */
+#define OCI_NTFN_GROUPING_FOREVER -1 /* send grouping notifications forever */
+#define OCI_DEQ_NO_WAIT 0 /* do not wait if no message is available */
+
+#define OCI_FLOW_CONTROL_NO_TIMEOUT -1
+ /* streaming enqueue: no timeout for flow control */
+
+/* ------------------------ Delay -------------------------------------------*/
+#define OCI_MSG_NO_DELAY 0 /* message is available immediately */
+
+/* ------------------------- Expiration -------------------------------------*/
+#define OCI_MSG_NO_EXPIRATION -1 /* message will never expire */
+
+#define OCI_MSG_PERSISTENT_OR_BUFFERED 3
+#define OCI_MSG_BUFFERED 2
+#define OCI_MSG_PERSISTENT 1
+
+/* ----------------------- Reserved/AQE pisdef flags ------------------------*/
+/* see aqeflg defines in kwqp.h */
+#define OCI_AQ_RESERVED_1 0x0002
+#define OCI_AQ_RESERVED_2 0x0004
+#define OCI_AQ_RESERVED_3 0x0008
+#define OCI_AQ_RESERVED_4 0x0010
+
+#define OCI_AQ_STREAMING_FLAG 0x02000000
+
+/* ------------------------------ Replay Info -------------------------------*/
+#define OCI_AQ_LAST_ENQUEUED 0
+#define OCI_AQ_LAST_ACKNOWLEDGED 1
+
+/* -------------------------- END AQ Constants ----------------------------- */
+
+/* --------------------END DateTime and Interval Constants ------------------*/
+
+/*-----------------------Object Types----------------------------------------*/
+/*-----------Object Types **** Not to be Used **** --------------------------*/
+/* Deprecated */
+#define OCI_OTYPE_UNK 0
+#define OCI_OTYPE_TABLE 1
+#define OCI_OTYPE_VIEW 2
+#define OCI_OTYPE_SYN 3
+#define OCI_OTYPE_PROC 4
+#define OCI_OTYPE_FUNC 5
+#define OCI_OTYPE_PKG 6
+#define OCI_OTYPE_STMT 7
+/*---------------------------------------------------------------------------*/
+
+/*=======================Describe Handle Parameter Attributes ===============*/
+/*
+ These attributes are orthogonal to the other set of attributes defined
+ above. These attrubutes are to be used only for the describe handle.
+*/
+/*===========================================================================*/
+/* Attributes common to Columns and Stored Procs */
+#define OCI_ATTR_DATA_SIZE 1 /* maximum size of the data */
+#define OCI_ATTR_DATA_TYPE 2 /* the SQL type of the column/argument */
+#define OCI_ATTR_DISP_SIZE 3 /* the display size */
+#define OCI_ATTR_NAME 4 /* the name of the column/argument */
+#define OCI_ATTR_PRECISION 5 /* precision if number type */
+#define OCI_ATTR_SCALE 6 /* scale if number type */
+#define OCI_ATTR_IS_NULL 7 /* is it null ? */
+#define OCI_ATTR_TYPE_NAME 8
+ /* name of the named data type or a package name for package private types */
+#define OCI_ATTR_SCHEMA_NAME 9 /* the schema name */
+#define OCI_ATTR_SUB_NAME 10 /* type name if package private type */
+#define OCI_ATTR_POSITION 11
+ /* relative position of col/arg in the list of cols/args */
+/* complex object retrieval parameter attributes */
+#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE 50
+#define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL 51
+#define OCI_ATTR_COMPLEXOBJECT_LEVEL 52
+#define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE 53
+
+/* Only Columns */
+#define OCI_ATTR_DISP_NAME 100 /* the display name */
+#define OCI_ATTR_ENCC_SIZE 101 /* encrypted data size */
+#define OCI_ATTR_COL_ENC 102 /* column is encrypted ? */
+#define OCI_ATTR_COL_ENC_SALT 103 /* is encrypted column salted ? */
+
+/*Only Stored Procs */
+#define OCI_ATTR_OVERLOAD 210 /* is this position overloaded */
+#define OCI_ATTR_LEVEL 211 /* level for structured types */
+#define OCI_ATTR_HAS_DEFAULT 212 /* has a default value */
+#define OCI_ATTR_IOMODE 213 /* in, out inout */
+#define OCI_ATTR_RADIX 214 /* returns a radix */
+#define OCI_ATTR_NUM_ARGS 215 /* total number of arguments */
+
+/* only named type attributes */
+#define OCI_ATTR_TYPECODE 216 /* object or collection */
+#define OCI_ATTR_COLLECTION_TYPECODE 217 /* varray or nested table */
+#define OCI_ATTR_VERSION 218 /* user assigned version */
+#define OCI_ATTR_IS_INCOMPLETE_TYPE 219 /* is this an incomplete type */
+#define OCI_ATTR_IS_SYSTEM_TYPE 220 /* a system type */
+#define OCI_ATTR_IS_PREDEFINED_TYPE 221 /* a predefined type */
+#define OCI_ATTR_IS_TRANSIENT_TYPE 222 /* a transient type */
+#define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE 223 /* system generated type */
+#define OCI_ATTR_HAS_NESTED_TABLE 224 /* contains nested table attr */
+#define OCI_ATTR_HAS_LOB 225 /* has a lob attribute */
+#define OCI_ATTR_HAS_FILE 226 /* has a file attribute */
+#define OCI_ATTR_COLLECTION_ELEMENT 227 /* has a collection attribute */
+#define OCI_ATTR_NUM_TYPE_ATTRS 228 /* number of attribute types */
+#define OCI_ATTR_LIST_TYPE_ATTRS 229 /* list of type attributes */
+#define OCI_ATTR_NUM_TYPE_METHODS 230 /* number of type methods */
+#define OCI_ATTR_LIST_TYPE_METHODS 231 /* list of type methods */
+#define OCI_ATTR_MAP_METHOD 232 /* map method of type */
+#define OCI_ATTR_ORDER_METHOD 233 /* order method of type */
+
+/* only collection element */
+#define OCI_ATTR_NUM_ELEMS 234 /* number of elements */
+
+/* only type methods */
+#define OCI_ATTR_ENCAPSULATION 235 /* encapsulation level */
+#define OCI_ATTR_IS_SELFISH 236 /* method selfish */
+#define OCI_ATTR_IS_VIRTUAL 237 /* virtual */
+#define OCI_ATTR_IS_INLINE 238 /* inline */
+#define OCI_ATTR_IS_CONSTANT 239 /* constant */
+#define OCI_ATTR_HAS_RESULT 240 /* has result */
+#define OCI_ATTR_IS_CONSTRUCTOR 241 /* constructor */
+#define OCI_ATTR_IS_DESTRUCTOR 242 /* destructor */
+#define OCI_ATTR_IS_OPERATOR 243 /* operator */
+#define OCI_ATTR_IS_MAP 244 /* a map method */
+#define OCI_ATTR_IS_ORDER 245 /* order method */
+#define OCI_ATTR_IS_RNDS 246 /* read no data state method */
+#define OCI_ATTR_IS_RNPS 247 /* read no process state */
+#define OCI_ATTR_IS_WNDS 248 /* write no data state method */
+#define OCI_ATTR_IS_WNPS 249 /* write no process state */
+
+#define OCI_ATTR_DESC_PUBLIC 250 /* public object */
+
+/* Object Cache Enhancements : attributes for User Constructed Instances */
+#define OCI_ATTR_CACHE_CLIENT_CONTEXT 251
+#define OCI_ATTR_UCI_CONSTRUCT 252
+#define OCI_ATTR_UCI_DESTRUCT 253
+#define OCI_ATTR_UCI_COPY 254
+#define OCI_ATTR_UCI_PICKLE 255
+#define OCI_ATTR_UCI_UNPICKLE 256
+#define OCI_ATTR_UCI_REFRESH 257
+
+/* for type inheritance */
+#define OCI_ATTR_IS_SUBTYPE 258
+#define OCI_ATTR_SUPERTYPE_SCHEMA_NAME 259
+#define OCI_ATTR_SUPERTYPE_NAME 260
+
+/* for schemas */
+#define OCI_ATTR_LIST_OBJECTS 261 /* list of objects in schema */
+
+/* for database */
+#define OCI_ATTR_NCHARSET_ID 262 /* char set id */
+#define OCI_ATTR_LIST_SCHEMAS 263 /* list of schemas */
+#define OCI_ATTR_MAX_PROC_LEN 264 /* max procedure length */
+#define OCI_ATTR_MAX_COLUMN_LEN 265 /* max column name length */
+#define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR 266 /* cursor commit behavior */
+#define OCI_ATTR_MAX_CATALOG_NAMELEN 267 /* catalog namelength */
+#define OCI_ATTR_CATALOG_LOCATION 268 /* catalog location */
+#define OCI_ATTR_SAVEPOINT_SUPPORT 269 /* savepoint support */
+#define OCI_ATTR_NOWAIT_SUPPORT 270 /* nowait support */
+#define OCI_ATTR_AUTOCOMMIT_DDL 271 /* autocommit DDL */
+#define OCI_ATTR_LOCKING_MODE 272 /* locking mode */
+
+/* for externally initialized context */
+#define OCI_ATTR_APPCTX_SIZE 273 /* count of context to be init*/
+#define OCI_ATTR_APPCTX_LIST 274 /* count of context to be init*/
+#define OCI_ATTR_APPCTX_NAME 275 /* name of context to be init*/
+#define OCI_ATTR_APPCTX_ATTR 276 /* attr of context to be init*/
+#define OCI_ATTR_APPCTX_VALUE 277 /* value of context to be init*/
+
+/* for client id propagation */
+#define OCI_ATTR_CLIENT_IDENTIFIER 278 /* value of client id to set*/
+
+/* for inheritance - part 2 */
+#define OCI_ATTR_IS_FINAL_TYPE 279 /* is final type ? */
+#define OCI_ATTR_IS_INSTANTIABLE_TYPE 280 /* is instantiable type ? */
+#define OCI_ATTR_IS_FINAL_METHOD 281 /* is final method ? */
+#define OCI_ATTR_IS_INSTANTIABLE_METHOD 282 /* is instantiable method ? */
+#define OCI_ATTR_IS_OVERRIDING_METHOD 283 /* is overriding method ? */
+
+#define OCI_ATTR_DESC_SYNBASE 284 /* Describe the base object */
+
+
+#define OCI_ATTR_CHAR_USED 285 /* char length semantics */
+#define OCI_ATTR_CHAR_SIZE 286 /* char length */
+
+/* SQLJ support */
+#define OCI_ATTR_IS_JAVA_TYPE 287 /* is java implemented type ? */
+
+/* N-Tier support */
+#define OCI_ATTR_DISTINGUISHED_NAME 300 /* use DN as user name */
+#define OCI_ATTR_KERBEROS_TICKET 301 /* Kerberos ticket as cred. */
+
+/* for multilanguage debugging */
+#define OCI_ATTR_ORA_DEBUG_JDWP 302 /* ORA_DEBUG_JDWP attribute */
+
+#define OCI_ATTR_EDITION 288 /* ORA_EDITION */
+
+#define OCI_ATTR_RESERVED_14 303 /* reserved */
+
+
+/*---------------------------End Describe Handle Attributes -----------------*/
+
+/* For values 303 - 307, see DirPathAPI attribute section in this file */
+
+/* ----------------------- Session Pool Attributes ------------------------- */
+#define OCI_ATTR_SPOOL_TIMEOUT 308 /* session timeout */
+#define OCI_ATTR_SPOOL_GETMODE 309 /* session get mode */
+#define OCI_ATTR_SPOOL_BUSY_COUNT 310 /* busy session count */
+#define OCI_ATTR_SPOOL_OPEN_COUNT 311 /* open session count */
+#define OCI_ATTR_SPOOL_MIN 312 /* min session count */
+#define OCI_ATTR_SPOOL_MAX 313 /* max session count */
+#define OCI_ATTR_SPOOL_INCR 314 /* session increment count */
+#define OCI_ATTR_SPOOL_STMTCACHESIZE 208 /*Stmt cache size of pool */
+#define OCI_ATTR_SPOOL_AUTH 460 /* Auth handle on pool handle*/
+/*------------------------------End Session Pool Attributes -----------------*/
+/*---------------------------- For XML Types ------------------------------- */
+/* For table, view and column */
+#define OCI_ATTR_IS_XMLTYPE 315 /* Is the type an XML type? */
+#define OCI_ATTR_XMLSCHEMA_NAME 316 /* Name of XML Schema */
+#define OCI_ATTR_XMLELEMENT_NAME 317 /* Name of XML Element */
+#define OCI_ATTR_XMLSQLTYPSCH_NAME 318 /* SQL type's schema for XML Ele */
+#define OCI_ATTR_XMLSQLTYPE_NAME 319 /* Name of SQL type for XML Ele */
+#define OCI_ATTR_XMLTYPE_STORED_OBJ 320 /* XML type stored as object? */
+#define OCI_ATTR_XMLTYPE_BINARY_XML 422 /* XML type stored as binary? */
+
+/*---------------------------- For Subtypes ------------------------------- */
+/* For type */
+#define OCI_ATTR_HAS_SUBTYPES 321 /* Has subtypes? */
+#define OCI_ATTR_NUM_SUBTYPES 322 /* Number of subtypes */
+#define OCI_ATTR_LIST_SUBTYPES 323 /* List of subtypes */
+
+/* XML flag */
+#define OCI_ATTR_XML_HRCHY_ENABLED 324 /* hierarchy enabled? */
+
+/* Method flag */
+#define OCI_ATTR_IS_OVERRIDDEN_METHOD 325 /* Method is overridden? */
+
+/* For values 326 - 335, see DirPathAPI attribute section in this file */
+
+/*------------- Attributes for 10i Distributed Objects ----------------------*/
+#define OCI_ATTR_OBJ_SUBS 336 /* obj col/tab substitutable */
+
+/* For values 337 - 338, see DirPathAPI attribute section in this file */
+
+/*---------- Attributes for 10i XADFIELD (NLS language, territory -----------*/
+#define OCI_ATTR_XADFIELD_RESERVED_1 339 /* reserved */
+#define OCI_ATTR_XADFIELD_RESERVED_2 340 /* reserved */
+/*------------- Kerberos Secure Client Identifier ---------------------------*/
+#define OCI_ATTR_KERBEROS_CID 341 /* Kerberos db service ticket*/
+
+
+/*------------------------ Attributes for Rules objects ---------------------*/
+#define OCI_ATTR_CONDITION 342 /* rule condition */
+#define OCI_ATTR_COMMENT 343 /* comment */
+#define OCI_ATTR_VALUE 344 /* Anydata value */
+#define OCI_ATTR_EVAL_CONTEXT_OWNER 345 /* eval context owner */
+#define OCI_ATTR_EVAL_CONTEXT_NAME 346 /* eval context name */
+#define OCI_ATTR_EVALUATION_FUNCTION 347 /* eval function name */
+#define OCI_ATTR_VAR_TYPE 348 /* variable type */
+#define OCI_ATTR_VAR_VALUE_FUNCTION 349 /* variable value function */
+#define OCI_ATTR_VAR_METHOD_FUNCTION 350 /* variable method function */
+#define OCI_ATTR_ACTION_CONTEXT 351 /* action context */
+#define OCI_ATTR_LIST_TABLE_ALIASES 352 /* list of table aliases */
+#define OCI_ATTR_LIST_VARIABLE_TYPES 353 /* list of variable types */
+#define OCI_ATTR_TABLE_NAME 356 /* table name */
+
+/* For values 357 - 359, see DirPathAPI attribute section in this file */
+
+#define OCI_ATTR_MESSAGE_CSCN 360 /* message cscn */
+#define OCI_ATTR_MESSAGE_DSCN 361 /* message dscn */
+
+/*--------------------- Audit Session ID ------------------------------------*/
+#define OCI_ATTR_AUDIT_SESSION_ID 362 /* Audit session ID */
+
+/*--------------------- Kerberos TGT Keys -----------------------------------*/
+#define OCI_ATTR_KERBEROS_KEY 363 /* n-tier Kerberos cred key */
+#define OCI_ATTR_KERBEROS_CID_KEY 364 /* SCID Kerberos cred key */
+
+
+#define OCI_ATTR_TRANSACTION_NO 365 /* AQ enq txn number */
+
+/*----------------------- Attributes for End To End Tracing -----------------*/
+#define OCI_ATTR_MODULE 366 /* module for tracing */
+#define OCI_ATTR_ACTION 367 /* action for tracing */
+#define OCI_ATTR_CLIENT_INFO 368 /* client info */
+#define OCI_ATTR_COLLECT_CALL_TIME 369 /* collect call time */
+#define OCI_ATTR_CALL_TIME 370 /* extract call time */
+#define OCI_ATTR_ECONTEXT_ID 371 /* execution-id context */
+#define OCI_ATTR_ECONTEXT_SEQ 372 /*execution-id sequence num */
+
+
+/*------------------------------ Session attributes -------------------------*/
+#define OCI_ATTR_SESSION_STATE 373 /* session state */
+#define OCI_SESSION_STATELESS 1 /* valid states */
+#define OCI_SESSION_STATEFUL 2
+
+#define OCI_ATTR_SESSION_STATETYPE 374 /* session state type */
+#define OCI_SESSION_STATELESS_DEF 0 /* valid state types */
+#define OCI_SESSION_STATELESS_CAL 1
+#define OCI_SESSION_STATELESS_TXN 2
+#define OCI_SESSION_STATELESS_APP 3
+
+#define OCI_ATTR_SESSION_STATE_CLEARED 376 /* session state cleared */
+#define OCI_ATTR_SESSION_MIGRATED 377 /* did session migrate */
+#define OCI_ATTR_SESSION_PRESERVE_STATE 388 /* preserve session state */
+#define OCI_ATTR_DRIVER_NAME 424 /* Driver Name */
+
+/* -------------------------- Admin Handle Attributes ---------------------- */
+
+#define OCI_ATTR_ADMIN_PFILE 389 /* client-side param file */
+
+/*----------------------- Attributes for End To End Tracing -----------------*/
+/* -------------------------- HA Event Handle Attributes ------------------- */
+
+#define OCI_ATTR_HOSTNAME 390 /* SYS_CONTEXT hostname */
+#define OCI_ATTR_DBNAME 391 /* SYS_CONTEXT dbname */
+#define OCI_ATTR_INSTNAME 392 /* SYS_CONTEXT instance name */
+#define OCI_ATTR_SERVICENAME 393 /* SYS_CONTEXT service name */
+#define OCI_ATTR_INSTSTARTTIME 394 /* v$instance instance start time */
+#define OCI_ATTR_HA_TIMESTAMP 395 /* event time */
+#define OCI_ATTR_RESERVED_22 396 /* reserved */
+#define OCI_ATTR_RESERVED_23 397 /* reserved */
+#define OCI_ATTR_RESERVED_24 398 /* reserved */
+#define OCI_ATTR_DBDOMAIN 399 /* db domain */
+#define OCI_ATTR_RESERVED_27 425 /* reserved */
+
+#define OCI_ATTR_EVENTTYPE 400 /* event type */
+#define OCI_EVENTTYPE_HA 0 /* valid value for OCI_ATTR_EVENTTYPE */
+
+#define OCI_ATTR_HA_SOURCE 401
+/* valid values for OCI_ATTR_HA_SOURCE */
+#define OCI_HA_SOURCE_INSTANCE 0
+#define OCI_HA_SOURCE_DATABASE 1
+#define OCI_HA_SOURCE_NODE 2
+#define OCI_HA_SOURCE_SERVICE 3
+#define OCI_HA_SOURCE_SERVICE_MEMBER 4
+#define OCI_HA_SOURCE_ASM_INSTANCE 5
+#define OCI_HA_SOURCE_SERVICE_PRECONNECT 6
+
+#define OCI_ATTR_HA_STATUS 402
+#define OCI_HA_STATUS_DOWN 0 /* valid values for OCI_ATTR_HA_STATUS */
+#define OCI_HA_STATUS_UP 1
+
+#define OCI_ATTR_HA_SRVFIRST 403
+
+#define OCI_ATTR_HA_SRVNEXT 404
+/* ------------------------- Server Handle Attributes -----------------------*/
+
+#define OCI_ATTR_TAF_ENABLED 405
+
+/* Extra notification attributes */
+#define OCI_ATTR_NFY_FLAGS 406
+
+#define OCI_ATTR_MSG_DELIVERY_MODE 407 /* msg delivery mode */
+#define OCI_ATTR_DB_CHARSET_ID 416 /* database charset ID */
+#define OCI_ATTR_DB_NCHARSET_ID 417 /* database ncharset ID */
+#define OCI_ATTR_RESERVED_25 418 /* reserved */
+
+#define OCI_ATTR_FLOW_CONTROL_TIMEOUT 423 /* AQ: flow control timeout */
+/*---------------------------------------------------------------------------*/
+/* ------------------DirPathAPI attribute Section----------------------------*/
+/* All DirPathAPI attributes are in this section of the file. Existing */
+/* attributes prior to this section being created are assigned values < 2000 */
+/* Add new DirPathAPI attributes to this section and their assigned value */
+/* should be whatever the last entry is + 1. */
+
+/*------------- Supported Values for Direct Path Stream Version -------------*/
+#define OCI_DIRPATH_STREAM_VERSION_1 100
+#define OCI_DIRPATH_STREAM_VERSION_2 200
+#define OCI_DIRPATH_STREAM_VERSION_3 300 /* default */
+
+
+#define OCI_ATTR_DIRPATH_MODE 78 /* mode of direct path operation */
+#define OCI_ATTR_DIRPATH_NOLOG 79 /* nologging option */
+#define OCI_ATTR_DIRPATH_PARALLEL 80 /* parallel (temp seg) option */
+
+#define OCI_ATTR_DIRPATH_SORTED_INDEX 137 /* index that data is sorted on */
+
+ /* direct path index maint method (see oci8dp.h) */
+#define OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD 138
+
+ /* parallel load: db file, initial and next extent sizes */
+
+#define OCI_ATTR_DIRPATH_FILE 139 /* DB file to load into */
+#define OCI_ATTR_DIRPATH_STORAGE_INITIAL 140 /* initial extent size */
+#define OCI_ATTR_DIRPATH_STORAGE_NEXT 141 /* next extent size */
+ /* direct path index maint method (see oci8dp.h) */
+#define OCI_ATTR_DIRPATH_SKIPINDEX_METHOD 145
+
+ /* 8.2 dpapi support of ADTs */
+#define OCI_ATTR_DIRPATH_EXPR_TYPE 150 /* expr type of OCI_ATTR_NAME */
+
+/* For the direct path API there are three data formats:
+ * TEXT - used mainly by SQL*Loader, data is in textual form
+ * STREAM - used by datapump, data is in stream loadable form
+ * OCI - used by OCI programs utilizing the DpApi, data is in binary form
+ */
+#define OCI_ATTR_DIRPATH_INPUT 151
+#define OCI_DIRPATH_INPUT_TEXT 0x01 /* text */
+#define OCI_DIRPATH_INPUT_STREAM 0x02 /* stream (datapump) */
+#define OCI_DIRPATH_INPUT_OCI 0x04 /* binary (oci) */
+#define OCI_DIRPATH_INPUT_UNKNOWN 0x08
+
+#define OCI_ATTR_DIRPATH_FN_CTX 167 /* fn ctx ADT attrs or args */
+
+#define OCI_ATTR_DIRPATH_OID 187 /* loading into an OID col */
+#define OCI_ATTR_DIRPATH_SID 194 /* loading into an SID col */
+#define OCI_ATTR_DIRPATH_OBJ_CONSTR 206 /* obj type of subst obj tbl */
+
+/* Attr to allow setting of the stream version PRIOR to calling Prepare */
+#define OCI_ATTR_DIRPATH_STREAM_VERSION 212 /* version of the stream*/
+
+#define OCIP_ATTR_DIRPATH_VARRAY_INDEX 213 /* varray index column */
+
+/*------------- Supported Values for Direct Path Date cache -----------------*/
+#define OCI_ATTR_DIRPATH_DCACHE_NUM 303 /* date cache entries */
+#define OCI_ATTR_DIRPATH_DCACHE_SIZE 304 /* date cache limit */
+#define OCI_ATTR_DIRPATH_DCACHE_MISSES 305 /* date cache misses */
+#define OCI_ATTR_DIRPATH_DCACHE_HITS 306 /* date cache hits */
+#define OCI_ATTR_DIRPATH_DCACHE_DISABLE 307 /* on set: disable datecache
+ * on overflow.
+ * on get: datecache disabled?
+ * could be due to overflow
+ * or others */
+
+/*------------- Attributes for 10i Updates to the DirPath API ---------------*/
+#define OCI_ATTR_DIRPATH_RESERVED_7 326 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_8 327 /* reserved */
+#define OCI_ATTR_DIRPATH_CONVERT 328 /* stream conversion needed? */
+#define OCI_ATTR_DIRPATH_BADROW 329 /* info about bad row */
+#define OCI_ATTR_DIRPATH_BADROW_LENGTH 330 /* length of bad row info */
+#define OCI_ATTR_DIRPATH_WRITE_ORDER 331 /* column fill order */
+#define OCI_ATTR_DIRPATH_GRANULE_SIZE 332 /* granule size for unload */
+#define OCI_ATTR_DIRPATH_GRANULE_OFFSET 333 /* offset to last granule */
+#define OCI_ATTR_DIRPATH_RESERVED_1 334 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_2 335 /* reserved */
+
+/*------ Attributes for 10i DirPathAPI conversion (NLS lang, terr, cs) ------*/
+#define OCI_ATTR_DIRPATH_RESERVED_3 337 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_4 338 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_5 357 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_6 358 /* reserved */
+
+#define OCI_ATTR_DIRPATH_LOCK_WAIT 359 /* wait for lock in dpapi */
+
+#define OCI_ATTR_DIRPATH_RESERVED_9 2000 /* reserved */
+
+/*------ Attribute for 10iR2 for column encryption for Direct Path API ------*/
+#define OCI_ATTR_DIRPATH_RESERVED_10 2001 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_11 2002 /* reserved */
+
+/*------ Attribute to determine last column successfully converted ----------*/
+#define OCI_ATTR_CURRENT_ERRCOL 2003 /* current error column */
+
+ /*--Attributes for 11gR1 for multiple subtype support in Direct Path API - */
+#define OCI_ATTR_DIRPATH_SUBTYPE_INDEX 2004 /* sbtyp indx for attribute */
+
+#define OCI_ATTR_DIRPATH_RESERVED_12 2005 /* reserved */
+#define OCI_ATTR_DIRPATH_RESERVED_13 2006 /* reserver */
+
+ /*--Attribute for partitioning constraint optimization in Direct Path API */
+#define OCI_ATTR_DIRPATH_RESERVED_14 2007 /* reserved */
+
+ /*--Attribute for interval partitioning in Direct Path API */
+#define OCI_ATTR_DIRPATH_RESERVED_15 2008 /* reserved */
+
+ /*--Attribute for interval partitioning in Direct Path API */
+#define OCI_ATTR_DIRPATH_RESERVED_16 2009 /* reserved */
+
+/*--Attribute for allowing parallel lob loads in Direct Path API */
+#define OCI_ATTR_DIRPATH_RESERVED_17 2010 /* reserved */
+
+/*--Attribute for process order number of table being loaded/unloaded */
+#define OCI_ATTR_DIRPATH_RESERVED_18 2011 /* reserved */
+
+#define OCI_ATTR_DIRPATH_RESERVED_19 2012 /* reserved */
+
+#define OCI_ATTR_DIRPATH_NO_INDEX_ERRORS 2013 /* reserved */
+
+/*--Attribute for private sqlldr no index errors */
+#define OCI_ATTR_DIRPATH_RESERVED_20 2014 /* reserved */
+
+/*--Attribute for private sqlldr partition memory limit */
+#define OCI_ATTR_DIRPATH_RESERVED_21 2015 /* reserved */
+
+#define OCI_ATTR_DIRPATH_RESERVED_22 2016 /* reserved */
+
+/*--Attribute to use caller's transaction rather than starting on in kpodpp */
+#define OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS 2017 /* reserved */
+
+/*--Attribute for recnum column */
+#define OCI_ATTR_DIRPATH_RESERVED_23 2018 /* reserved */
+
+/* Add DirPathAPI attributes above. Next value to be assigned is 2019 */
+
+
+
+/* ------------------End of DirPathAPI attribute Section --------------------*/
+/*---------------------------------------------------------------------------*/
+
+
+/*---------------- Describe Handle Parameter Attribute Values ---------------*/
+
+/* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
+#define OCI_CURSOR_OPEN 0
+#define OCI_CURSOR_CLOSED 1
+
+/* OCI_ATTR_CATALOG_LOCATION */
+#define OCI_CL_START 0
+#define OCI_CL_END 1
+
+/* OCI_ATTR_SAVEPOINT_SUPPORT */
+#define OCI_SP_SUPPORTED 0
+#define OCI_SP_UNSUPPORTED 1
+
+/* OCI_ATTR_NOWAIT_SUPPORT */
+#define OCI_NW_SUPPORTED 0
+#define OCI_NW_UNSUPPORTED 1
+
+/* OCI_ATTR_AUTOCOMMIT_DDL */
+#define OCI_AC_DDL 0
+#define OCI_NO_AC_DDL 1
+
+/* OCI_ATTR_LOCKING_MODE */
+#define OCI_LOCK_IMMEDIATE 0
+#define OCI_LOCK_DELAYED 1
+
+/* ------------------- Instance type attribute values -----------------------*/
+#define OCI_INSTANCE_TYPE_UNKNOWN 0
+#define OCI_INSTANCE_TYPE_RDBMS 1
+#define OCI_INSTANCE_TYPE_OSM 2
+
+/* ---------------- ASM Volume Device Support attribute values --------------*/
+#define OCI_ASM_VOLUME_UNSUPPORTED 0
+#define OCI_ASM_VOLUME_SUPPORTED 1
+
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------OCIPasswordChange-------------------------------*/
+#define OCI_AUTH 0x08 /* Change the password but do not login */
+
+
+/*------------------------Other Constants------------------------------------*/
+#define OCI_MAX_FNS 100 /* max number of OCI Functions */
+#define OCI_SQLSTATE_SIZE 5
+#define OCI_ERROR_MAXMSG_SIZE 1024 /* max size of an error message */
+#define OCI_ERROR_MAXMSG_SIZE2 3072 /* new len max size of an error message */
+#define OCI_LOBMAXSIZE MINUB4MAXVAL /* maximum lob data size */
+#define OCI_ROWID_LEN 23
+#define OCI_LOB_CONTENTTYPE_MAXSIZE 128 /* max size of securefile contenttype */
+#define OCI_LOB_CONTENTTYPE_MAXBYTESIZE OCI_LOB_CONTENTTYPE_MAXSIZE
+/*---------------------------------------------------------------------------*/
+
+/*------------------------ Fail Over Events ---------------------------------*/
+#define OCI_FO_END 0x00000001
+#define OCI_FO_ABORT 0x00000002
+#define OCI_FO_REAUTH 0x00000004
+#define OCI_FO_BEGIN 0x00000008
+#define OCI_FO_ERROR 0x00000010
+/*---------------------------------------------------------------------------*/
+
+/*------------------------ Fail Over Callback Return Codes ------------------*/
+#define OCI_FO_RETRY 25410
+/*---------------------------------------------------------------------------*/
+
+/*------------------------- Fail Over Types ---------------------------------*/
+#define OCI_FO_NONE 0x00000001
+#define OCI_FO_SESSION 0x00000002
+#define OCI_FO_SELECT 0x00000004
+#define OCI_FO_TXNAL 0x00000008
+/*---------------------------------------------------------------------------*/
+
+/*-----------------------Function Codes--------------------------------------*/
+#define OCI_FNCODE_INITIALIZE 1 /* OCIInitialize */
+#define OCI_FNCODE_HANDLEALLOC 2 /* OCIHandleAlloc */
+#define OCI_FNCODE_HANDLEFREE 3 /* OCIHandleFree */
+#define OCI_FNCODE_DESCRIPTORALLOC 4 /* OCIDescriptorAlloc */
+#define OCI_FNCODE_DESCRIPTORFREE 5 /* OCIDescriptorFree */
+#define OCI_FNCODE_ENVINIT 6 /* OCIEnvInit */
+#define OCI_FNCODE_SERVERATTACH 7 /* OCIServerAttach */
+#define OCI_FNCODE_SERVERDETACH 8 /* OCIServerDetach */
+/* unused 9 */
+#define OCI_FNCODE_SESSIONBEGIN 10 /* OCISessionBegin */
+#define OCI_FNCODE_SESSIONEND 11 /* OCISessionEnd */
+#define OCI_FNCODE_PASSWORDCHANGE 12 /* OCIPasswordChange */
+#define OCI_FNCODE_STMTPREPARE 13 /* OCIStmtPrepare */
+ /* unused 14- 16 */
+#define OCI_FNCODE_BINDDYNAMIC 17 /* OCIBindDynamic */
+#define OCI_FNCODE_BINDOBJECT 18 /* OCIBindObject */
+ /* 19 unused */
+#define OCI_FNCODE_BINDARRAYOFSTRUCT 20 /* OCIBindArrayOfStruct */
+#define OCI_FNCODE_STMTEXECUTE 21 /* OCIStmtExecute */
+ /* unused 22-24 */
+#define OCI_FNCODE_DEFINEOBJECT 25 /* OCIDefineObject */
+#define OCI_FNCODE_DEFINEDYNAMIC 26 /* OCIDefineDynamic */
+#define OCI_FNCODE_DEFINEARRAYOFSTRUCT 27 /* OCIDefineArrayOfStruct */
+#define OCI_FNCODE_STMTFETCH 28 /* OCIStmtFetch */
+#define OCI_FNCODE_STMTGETBIND 29 /* OCIStmtGetBindInfo */
+ /* 30, 31 unused */
+#define OCI_FNCODE_DESCRIBEANY 32 /* OCIDescribeAny */
+#define OCI_FNCODE_TRANSSTART 33 /* OCITransStart */
+#define OCI_FNCODE_TRANSDETACH 34 /* OCITransDetach */
+#define OCI_FNCODE_TRANSCOMMIT 35 /* OCITransCommit */
+ /* 36 unused */
+#define OCI_FNCODE_ERRORGET 37 /* OCIErrorGet */
+#define OCI_FNCODE_LOBOPENFILE 38 /* OCILobFileOpen */
+#define OCI_FNCODE_LOBCLOSEFILE 39 /* OCILobFileClose */
+ /* 40 was LOBCREATEFILE, unused */
+ /* 41 was OCILobFileDelete, unused */
+#define OCI_FNCODE_LOBCOPY 42 /* OCILobCopy */
+#define OCI_FNCODE_LOBAPPEND 43 /* OCILobAppend */
+#define OCI_FNCODE_LOBERASE 44 /* OCILobErase */
+#define OCI_FNCODE_LOBLENGTH 45 /* OCILobGetLength */
+#define OCI_FNCODE_LOBTRIM 46 /* OCILobTrim */
+#define OCI_FNCODE_LOBREAD 47 /* OCILobRead */
+#define OCI_FNCODE_LOBWRITE 48 /* OCILobWrite */
+ /* 49 unused */
+#define OCI_FNCODE_SVCCTXBREAK 50 /* OCIBreak */
+#define OCI_FNCODE_SERVERVERSION 51 /* OCIServerVersion */
+
+#define OCI_FNCODE_KERBATTRSET 52 /* OCIKerbAttrSet */
+
+/* unused 53 */
+
+#define OCI_FNCODE_ATTRGET 54 /* OCIAttrGet */
+#define OCI_FNCODE_ATTRSET 55 /* OCIAttrSet */
+#define OCI_FNCODE_PARAMSET 56 /* OCIParamSet */
+#define OCI_FNCODE_PARAMGET 57 /* OCIParamGet */
+#define OCI_FNCODE_STMTGETPIECEINFO 58 /* OCIStmtGetPieceInfo */
+#define OCI_FNCODE_LDATOSVCCTX 59 /* OCILdaToSvcCtx */
+ /* 60 unused */
+#define OCI_FNCODE_STMTSETPIECEINFO 61 /* OCIStmtSetPieceInfo */
+#define OCI_FNCODE_TRANSFORGET 62 /* OCITransForget */
+#define OCI_FNCODE_TRANSPREPARE 63 /* OCITransPrepare */
+#define OCI_FNCODE_TRANSROLLBACK 64 /* OCITransRollback */
+#define OCI_FNCODE_DEFINEBYPOS 65 /* OCIDefineByPos */
+#define OCI_FNCODE_BINDBYPOS 66 /* OCIBindByPos */
+#define OCI_FNCODE_BINDBYNAME 67 /* OCIBindByName */
+#define OCI_FNCODE_LOBASSIGN 68 /* OCILobAssign */
+#define OCI_FNCODE_LOBISEQUAL 69 /* OCILobIsEqual */
+#define OCI_FNCODE_LOBISINIT 70 /* OCILobLocatorIsInit */
+
+#define OCI_FNCODE_LOBENABLEBUFFERING 71 /* OCILobEnableBuffering */
+#define OCI_FNCODE_LOBCHARSETID 72 /* OCILobCharSetID */
+#define OCI_FNCODE_LOBCHARSETFORM 73 /* OCILobCharSetForm */
+#define OCI_FNCODE_LOBFILESETNAME 74 /* OCILobFileSetName */
+#define OCI_FNCODE_LOBFILEGETNAME 75 /* OCILobFileGetName */
+#define OCI_FNCODE_LOGON 76 /* OCILogon */
+#define OCI_FNCODE_LOGOFF 77 /* OCILogoff */
+#define OCI_FNCODE_LOBDISABLEBUFFERING 78 /* OCILobDisableBuffering */
+#define OCI_FNCODE_LOBFLUSHBUFFER 79 /* OCILobFlushBuffer */
+#define OCI_FNCODE_LOBLOADFROMFILE 80 /* OCILobLoadFromFile */
+
+#define OCI_FNCODE_LOBOPEN 81 /* OCILobOpen */
+#define OCI_FNCODE_LOBCLOSE 82 /* OCILobClose */
+#define OCI_FNCODE_LOBISOPEN 83 /* OCILobIsOpen */
+#define OCI_FNCODE_LOBFILEISOPEN 84 /* OCILobFileIsOpen */
+#define OCI_FNCODE_LOBFILEEXISTS 85 /* OCILobFileExists */
+#define OCI_FNCODE_LOBFILECLOSEALL 86 /* OCILobFileCloseAll */
+#define OCI_FNCODE_LOBCREATETEMP 87 /* OCILobCreateTemporary */
+#define OCI_FNCODE_LOBFREETEMP 88 /* OCILobFreeTemporary */
+#define OCI_FNCODE_LOBISTEMP 89 /* OCILobIsTemporary */
+
+#define OCI_FNCODE_AQENQ 90 /* OCIAQEnq */
+#define OCI_FNCODE_AQDEQ 91 /* OCIAQDeq */
+#define OCI_FNCODE_RESET 92 /* OCIReset */
+#define OCI_FNCODE_SVCCTXTOLDA 93 /* OCISvcCtxToLda */
+#define OCI_FNCODE_LOBLOCATORASSIGN 94 /* OCILobLocatorAssign */
+
+#define OCI_FNCODE_UBINDBYNAME 95
+
+#define OCI_FNCODE_AQLISTEN 96 /* OCIAQListen */
+
+#define OCI_FNCODE_SVC2HST 97 /* reserved */
+#define OCI_FNCODE_SVCRH 98 /* reserved */
+ /* 97 and 98 are reserved for Oracle internal use */
+
+#define OCI_FNCODE_TRANSMULTIPREPARE 99 /* OCITransMultiPrepare */
+
+#define OCI_FNCODE_CPOOLCREATE 100 /* OCIConnectionPoolCreate */
+#define OCI_FNCODE_CPOOLDESTROY 101 /* OCIConnectionPoolDestroy */
+#define OCI_FNCODE_LOGON2 102 /* OCILogon2 */
+#define OCI_FNCODE_ROWIDTOCHAR 103 /* OCIRowidToChar */
+
+#define OCI_FNCODE_SPOOLCREATE 104 /* OCISessionPoolCreate */
+#define OCI_FNCODE_SPOOLDESTROY 105 /* OCISessionPoolDestroy */
+#define OCI_FNCODE_SESSIONGET 106 /* OCISessionGet */
+#define OCI_FNCODE_SESSIONRELEASE 107 /* OCISessionRelease */
+#define OCI_FNCODE_STMTPREPARE2 108 /* OCIStmtPrepare2 */
+#define OCI_FNCODE_STMTRELEASE 109 /* OCIStmtRelease */
+#define OCI_FNCODE_AQENQARRAY 110 /* OCIAQEnqArray */
+#define OCI_FNCODE_AQDEQARRAY 111 /* OCIAQDeqArray */
+#define OCI_FNCODE_LOBCOPY2 112 /* OCILobCopy2 */
+#define OCI_FNCODE_LOBERASE2 113 /* OCILobErase2 */
+#define OCI_FNCODE_LOBLENGTH2 114 /* OCILobGetLength2 */
+#define OCI_FNCODE_LOBLOADFROMFILE2 115 /* OCILobLoadFromFile2 */
+#define OCI_FNCODE_LOBREAD2 116 /* OCILobRead2 */
+#define OCI_FNCODE_LOBTRIM2 117 /* OCILobTrim2 */
+#define OCI_FNCODE_LOBWRITE2 118 /* OCILobWrite2 */
+#define OCI_FNCODE_LOBGETSTORAGELIMIT 119 /* OCILobGetStorageLimit */
+#define OCI_FNCODE_DBSTARTUP 120 /* OCIDBStartup */
+#define OCI_FNCODE_DBSHUTDOWN 121 /* OCIDBShutdown */
+#define OCI_FNCODE_LOBARRAYREAD 122 /* OCILobArrayRead */
+#define OCI_FNCODE_LOBARRAYWRITE 123 /* OCILobArrayWrite */
+#define OCI_FNCODE_AQENQSTREAM 124 /* OCIAQEnqStreaming */
+#define OCI_FNCODE_AQGETREPLAY 125 /* OCIAQGetReplayInfo */
+#define OCI_FNCODE_AQRESETREPLAY 126 /* OCIAQResetReplayInfo */
+#define OCI_FNCODE_ARRAYDESCRIPTORALLOC 127 /*OCIArrayDescriptorAlloc */
+#define OCI_FNCODE_ARRAYDESCRIPTORFREE 128 /* OCIArrayDescriptorFree */
+#define OCI_FNCODE_LOBGETOPT 129 /* OCILobGetCptions */
+#define OCI_FNCODE_LOBSETOPT 130 /* OCILobSetCptions */
+#define OCI_FNCODE_LOBFRAGINS 131 /* OCILobFragementInsert */
+#define OCI_FNCODE_LOBFRAGDEL 132 /* OCILobFragementDelete */
+#define OCI_FNCODE_LOBFRAGMOV 133 /* OCILobFragementMove */
+#define OCI_FNCODE_LOBFRAGREP 134 /* OCILobFragementReplace */
+#define OCI_FNCODE_LOBGETDEDUPLICATEREGIONS 135/* OCILobGetDeduplicateRegions */
+#define OCI_FNCODE_APPCTXSET 136 /* OCIAppCtxSet */
+#define OCI_FNCODE_APPCTXCLEARALL 137 /* OCIAppCtxClearAll */
+
+#define OCI_FNCODE_LOBGETCONTENTTYPE 138 /* OCILobGetContentType */
+#define OCI_FNCODE_LOBSETCONTENTTYPE 139 /* OCILobSetContentType */
+#define OCI_FNCODE_MAXFCN 139 /* maximum OCI function code */
+
+/*---------------Statement Cache callback modes-----------------------------*/
+#define OCI_CBK_STMTCACHE_STMTPURGE 0x01
+
+/*---------------------------------------------------------------------------*/
+
+/*-----------------------Handle Definitions----------------------------------*/
+typedef struct OCIEnv OCIEnv; /* OCI environment handle */
+typedef struct OCIError OCIError; /* OCI error handle */
+typedef struct OCISvcCtx OCISvcCtx; /* OCI service handle */
+typedef struct OCIStmt OCIStmt; /* OCI statement handle */
+typedef struct OCIBind OCIBind; /* OCI bind handle */
+typedef struct OCIDefine OCIDefine; /* OCI Define handle */
+typedef struct OCIDescribe OCIDescribe; /* OCI Describe handle */
+typedef struct OCIServer OCIServer; /* OCI Server handle */
+typedef struct OCISession OCISession; /* OCI Authentication handle */
+typedef struct OCIComplexObject OCIComplexObject; /* OCI COR handle */
+typedef struct OCITrans OCITrans; /* OCI Transaction handle */
+typedef struct OCISecurity OCISecurity; /* OCI Security handle */
+typedef struct OCISubscription OCISubscription; /* subscription handle */
+
+typedef struct OCICPool OCICPool; /* connection pool handle */
+typedef struct OCISPool OCISPool; /* session pool handle */
+typedef struct OCIAuthInfo OCIAuthInfo; /* auth handle */
+typedef struct OCIAdmin OCIAdmin; /* admin handle */
+typedef struct OCIEvent OCIEvent; /* HA event handle */
+
+/*-----------------------Descriptor Definitions------------------------------*/
+typedef struct OCISnapshot OCISnapshot; /* OCI snapshot descriptor */
+typedef struct OCIResult OCIResult; /* OCI Result Set Descriptor */
+typedef struct OCILobLocator OCILobLocator; /* OCI Lob Locator descriptor */
+typedef struct OCILobRegion OCILobRegion; /* OCI Lob Regions descriptor */
+typedef struct OCIParam OCIParam; /* OCI PARameter descriptor */
+typedef struct OCIComplexObjectComp OCIComplexObjectComp;
+ /* OCI COR descriptor */
+typedef struct OCIRowid OCIRowid; /* OCI ROWID descriptor */
+
+typedef struct OCIDateTime OCIDateTime; /* OCI DateTime descriptor */
+typedef struct OCIInterval OCIInterval; /* OCI Interval descriptor */
+
+typedef struct OCIUcb OCIUcb; /* OCI User Callback descriptor */
+typedef struct OCIServerDNs OCIServerDNs; /* OCI server DN descriptor */
+
+/*-------------------------- AQ Descriptors ---------------------------------*/
+typedef struct OCIAQEnqOptions OCIAQEnqOptions; /* AQ Enqueue Options hdl */
+typedef struct OCIAQDeqOptions OCIAQDeqOptions; /* AQ Dequeue Options hdl */
+typedef struct OCIAQMsgProperties OCIAQMsgProperties; /* AQ Mesg Properties */
+typedef struct OCIAQAgent OCIAQAgent; /* AQ Agent descriptor */
+typedef struct OCIAQNfyDescriptor OCIAQNfyDescriptor; /* AQ Nfy descriptor */
+typedef struct OCIAQSignature OCIAQSignature; /* AQ Siganture */
+typedef struct OCIAQListenOpts OCIAQListenOpts; /* AQ listen options */
+typedef struct OCIAQLisMsgProps OCIAQLisMsgProps; /* AQ listen msg props */
+
+/*---------------------------------------------------------------------------*/
+
+/* Lob typedefs for Pro*C */
+typedef struct OCILobLocator OCIClobLocator; /* OCI Character LOB Locator */
+typedef struct OCILobLocator OCIBlobLocator; /* OCI Binary LOB Locator */
+typedef struct OCILobLocator OCIBFileLocator; /* OCI Binary LOB File Locator */
+/*---------------------------------------------------------------------------*/
+
+/* Undefined value for tz in interval types*/
+#define OCI_INTHR_UNK 24
+
+ /* These defined adjustment values */
+#define OCI_ADJUST_UNK 10
+#define OCI_ORACLE_DATE 0
+#define OCI_ANSI_DATE 1
+
+/*------------------------ Lob-specific Definitions -------------------------*/
+
+/*
+ * ociloff - OCI Lob OFFset
+ *
+ * The offset in the lob data. The offset is specified in terms of bytes for
+ * BLOBs and BFILes. Character offsets are used for CLOBs, NCLOBs.
+ * The maximum size of internal lob data is 4 gigabytes. FILE LOB
+ * size is limited by the operating system.
+ */
+typedef ub4 OCILobOffset;
+
+/*
+ * ocillen - OCI Lob LENgth (of lob data)
+ *
+ * Specifies the length of lob data in bytes for BLOBs and BFILes and in
+ * characters for CLOBs, NCLOBs. The maximum length of internal lob
+ * data is 4 gigabytes. The length of FILE LOBs is limited only by the
+ * operating system.
+ */
+typedef ub4 OCILobLength;
+/*
+ * ocilmo - OCI Lob open MOdes
+ *
+ * The mode specifies the planned operations that will be performed on the
+ * FILE lob data. The FILE lob can be opened in read-only mode only.
+ *
+ * In the future, we may include read/write, append and truncate modes. Append
+ * is equivalent to read/write mode except that the FILE is positioned for
+ * writing to the end. Truncate is equivalent to read/write mode except that
+ * the FILE LOB data is first truncated to a length of 0 before use.
+ */
+enum OCILobMode
+{
+ OCI_LOBMODE_READONLY = 1, /* read-only */
+ OCI_LOBMODE_READWRITE = 2 /* read_write for internal lobs only */
+};
+typedef enum OCILobMode OCILobMode;
+
+/*---------------------------------------------------------------------------*/
+
+
+/*----------------------------Piece Definitions------------------------------*/
+
+/* if ocidef.h is being included in the app, ocidef.h should precede oci.h */
+
+/*
+ * since clients may use oci.h, ocidef.h and ocidfn.h the following defines
+ * need to be guarded, usually internal clients
+ */
+
+#ifndef OCI_FLAGS
+#define OCI_FLAGS
+#define OCI_ONE_PIECE 0 /* one piece */
+#define OCI_FIRST_PIECE 1 /* the first piece */
+#define OCI_NEXT_PIECE 2 /* the next of many pieces */
+#define OCI_LAST_PIECE 3 /* the last piece */
+#endif
+/*---------------------------------------------------------------------------*/
+
+/*--------------------------- FILE open modes -------------------------------*/
+#define OCI_FILE_READONLY 1 /* readonly mode open for FILE types */
+/*---------------------------------------------------------------------------*/
+/*--------------------------- LOB open modes --------------------------------*/
+#define OCI_LOB_READONLY 1 /* readonly mode open for ILOB types */
+#define OCI_LOB_READWRITE 2 /* read write mode open for ILOBs */
+#define OCI_LOB_WRITEONLY 3 /* Writeonly mode open for ILOB types*/
+#define OCI_LOB_APPENDONLY 4 /* Appendonly mode open for ILOB types */
+#define OCI_LOB_FULLOVERWRITE 5 /* Completely overwrite ILOB */
+#define OCI_LOB_FULLREAD 6 /* Doing a Full Read of ILOB */
+
+/*----------------------- LOB Buffering Flush Flags -------------------------*/
+#define OCI_LOB_BUFFER_FREE 1
+#define OCI_LOB_BUFFER_NOFREE 2
+/*---------------------------------------------------------------------------*/
+
+/*---------------------------LOB Option Types -------------------------------*/
+#define OCI_LOB_OPT_COMPRESS 1 /* SECUREFILE Compress */
+#define OCI_LOB_OPT_ENCRYPT 2 /* SECUREFILE Encrypt */
+#define OCI_LOB_OPT_DEDUPLICATE 4 /* SECUREFILE Deduplicate */
+#define OCI_LOB_OPT_ALLOCSIZE 8 /* SECUREFILE Allocation Size */
+#define OCI_LOB_OPT_CONTENTTYPE 16 /* SECUREFILE Content Type */
+#define OCI_LOB_OPT_MODTIME 32 /* SECUREFILE Modification Time */
+
+/*------------------------ LOB Option Values ------------------------------*/
+/* Compression */
+#define OCI_LOB_COMPRESS_OFF 0 /* Compression off */
+#define OCI_LOB_COMPRESS_ON 1 /* Compression on */
+/* Encryption */
+#define OCI_LOB_ENCRYPT_OFF 0 /* Encryption Off */
+#define OCI_LOB_ENCRYPT_ON 2 /* Encryption On */
+/* Deduplciate */
+#define OCI_LOB_DEDUPLICATE_OFF 0 /* Deduplicate Off */
+#define OCI_LOB_DEDUPLICATE_ON 4 /* Deduplicate Lobs */
+
+/*--------------------------- OCI Statement Types ---------------------------*/
+
+#define OCI_STMT_UNKNOWN 0 /* Unknown statement */
+#define OCI_STMT_SELECT 1 /* select statement */
+#define OCI_STMT_UPDATE 2 /* update statement */
+#define OCI_STMT_DELETE 3 /* delete statement */
+#define OCI_STMT_INSERT 4 /* Insert Statement */
+#define OCI_STMT_CREATE 5 /* create statement */
+#define OCI_STMT_DROP 6 /* drop statement */
+#define OCI_STMT_ALTER 7 /* alter statement */
+#define OCI_STMT_BEGIN 8 /* begin ... (pl/sql statement)*/
+#define OCI_STMT_DECLARE 9 /* declare .. (pl/sql statement ) */
+#define OCI_STMT_CALL 10 /* corresponds to kpu call */
+/*---------------------------------------------------------------------------*/
+
+/*--------------------------- OCI Parameter Types ---------------------------*/
+#define OCI_PTYPE_UNK 0 /* unknown */
+#define OCI_PTYPE_TABLE 1 /* table */
+#define OCI_PTYPE_VIEW 2 /* view */
+#define OCI_PTYPE_PROC 3 /* procedure */
+#define OCI_PTYPE_FUNC 4 /* function */
+#define OCI_PTYPE_PKG 5 /* package */
+#define OCI_PTYPE_TYPE 6 /* user-defined type */
+#define OCI_PTYPE_SYN 7 /* synonym */
+#define OCI_PTYPE_SEQ 8 /* sequence */
+#define OCI_PTYPE_COL 9 /* column */
+#define OCI_PTYPE_ARG 10 /* argument */
+#define OCI_PTYPE_LIST 11 /* list */
+#define OCI_PTYPE_TYPE_ATTR 12 /* user-defined type's attribute */
+#define OCI_PTYPE_TYPE_COLL 13 /* collection type's element */
+#define OCI_PTYPE_TYPE_METHOD 14 /* user-defined type's method */
+#define OCI_PTYPE_TYPE_ARG 15 /* user-defined type method's arg */
+#define OCI_PTYPE_TYPE_RESULT 16/* user-defined type method's result */
+#define OCI_PTYPE_SCHEMA 17 /* schema */
+#define OCI_PTYPE_DATABASE 18 /* database */
+#define OCI_PTYPE_RULE 19 /* rule */
+#define OCI_PTYPE_RULE_SET 20 /* rule set */
+#define OCI_PTYPE_EVALUATION_CONTEXT 21 /* evaluation context */
+#define OCI_PTYPE_TABLE_ALIAS 22 /* table alias */
+#define OCI_PTYPE_VARIABLE_TYPE 23 /* variable type */
+#define OCI_PTYPE_NAME_VALUE 24 /* name value pair */
+
+/*---------------------------------------------------------------------------*/
+
+/*----------------------------- OCI List Types ------------------------------*/
+#define OCI_LTYPE_UNK 0 /* unknown */
+#define OCI_LTYPE_COLUMN 1 /* column list */
+#define OCI_LTYPE_ARG_PROC 2 /* procedure argument list */
+#define OCI_LTYPE_ARG_FUNC 3 /* function argument list */
+#define OCI_LTYPE_SUBPRG 4 /* subprogram list */
+#define OCI_LTYPE_TYPE_ATTR 5 /* type attribute */
+#define OCI_LTYPE_TYPE_METHOD 6 /* type method */
+#define OCI_LTYPE_TYPE_ARG_PROC 7 /* type method w/o result argument list */
+#define OCI_LTYPE_TYPE_ARG_FUNC 8 /* type method w/result argument list */
+#define OCI_LTYPE_SCH_OBJ 9 /* schema object list */
+#define OCI_LTYPE_DB_SCH 10 /* database schema list */
+#define OCI_LTYPE_TYPE_SUBTYPE 11 /* subtype list */
+#define OCI_LTYPE_TABLE_ALIAS 12 /* table alias list */
+#define OCI_LTYPE_VARIABLE_TYPE 13 /* variable type list */
+#define OCI_LTYPE_NAME_VALUE 14 /* name value list */
+
+/*---------------------------------------------------------------------------*/
+
+/*-------------------------- Memory Cartridge Services ---------------------*/
+#define OCI_MEMORY_CLEARED 1
+
+/*-------------------------- Pickler Cartridge Services ---------------------*/
+typedef struct OCIPicklerTdsCtx OCIPicklerTdsCtx;
+typedef struct OCIPicklerTds OCIPicklerTds;
+typedef struct OCIPicklerImage OCIPicklerImage;
+typedef struct OCIPicklerFdo OCIPicklerFdo;
+typedef ub4 OCIPicklerTdsElement;
+
+typedef struct OCIAnyData OCIAnyData;
+
+typedef struct OCIAnyDataSet OCIAnyDataSet;
+typedef struct OCIAnyDataCtx OCIAnyDataCtx;
+
+/*---------------------------------------------------------------------------*/
+
+/*--------------------------- User Callback Constants -----------------------*/
+#define OCI_UCBTYPE_ENTRY 1 /* entry callback */
+#define OCI_UCBTYPE_EXIT 2 /* exit callback */
+#define OCI_UCBTYPE_REPLACE 3 /* replacement callback */
+
+/*---------------------------------------------------------------------------*/
+
+/*--------------------- NLS service type and constance ----------------------*/
+#define OCI_NLS_DAYNAME1 1 /* Native name for Monday */
+#define OCI_NLS_DAYNAME2 2 /* Native name for Tuesday */
+#define OCI_NLS_DAYNAME3 3 /* Native name for Wednesday */
+#define OCI_NLS_DAYNAME4 4 /* Native name for Thursday */
+#define OCI_NLS_DAYNAME5 5 /* Native name for Friday */
+#define OCI_NLS_DAYNAME6 6 /* Native name for for Saturday */
+#define OCI_NLS_DAYNAME7 7 /* Native name for for Sunday */
+#define OCI_NLS_ABDAYNAME1 8 /* Native abbreviated name for Monday */
+#define OCI_NLS_ABDAYNAME2 9 /* Native abbreviated name for Tuesday */
+#define OCI_NLS_ABDAYNAME3 10 /* Native abbreviated name for Wednesday */
+#define OCI_NLS_ABDAYNAME4 11 /* Native abbreviated name for Thursday */
+#define OCI_NLS_ABDAYNAME5 12 /* Native abbreviated name for Friday */
+#define OCI_NLS_ABDAYNAME6 13 /* Native abbreviated name for for Saturday */
+#define OCI_NLS_ABDAYNAME7 14 /* Native abbreviated name for for Sunday */
+#define OCI_NLS_MONTHNAME1 15 /* Native name for January */
+#define OCI_NLS_MONTHNAME2 16 /* Native name for February */
+#define OCI_NLS_MONTHNAME3 17 /* Native name for March */
+#define OCI_NLS_MONTHNAME4 18 /* Native name for April */
+#define OCI_NLS_MONTHNAME5 19 /* Native name for May */
+#define OCI_NLS_MONTHNAME6 20 /* Native name for June */
+#define OCI_NLS_MONTHNAME7 21 /* Native name for July */
+#define OCI_NLS_MONTHNAME8 22 /* Native name for August */
+#define OCI_NLS_MONTHNAME9 23 /* Native name for September */
+#define OCI_NLS_MONTHNAME10 24 /* Native name for October */
+#define OCI_NLS_MONTHNAME11 25 /* Native name for November */
+#define OCI_NLS_MONTHNAME12 26 /* Native name for December */
+#define OCI_NLS_ABMONTHNAME1 27 /* Native abbreviated name for January */
+#define OCI_NLS_ABMONTHNAME2 28 /* Native abbreviated name for February */
+#define OCI_NLS_ABMONTHNAME3 29 /* Native abbreviated name for March */
+#define OCI_NLS_ABMONTHNAME4 30 /* Native abbreviated name for April */
+#define OCI_NLS_ABMONTHNAME5 31 /* Native abbreviated name for May */
+#define OCI_NLS_ABMONTHNAME6 32 /* Native abbreviated name for June */
+#define OCI_NLS_ABMONTHNAME7 33 /* Native abbreviated name for July */
+#define OCI_NLS_ABMONTHNAME8 34 /* Native abbreviated name for August */
+#define OCI_NLS_ABMONTHNAME9 35 /* Native abbreviated name for September */
+#define OCI_NLS_ABMONTHNAME10 36 /* Native abbreviated name for October */
+#define OCI_NLS_ABMONTHNAME11 37 /* Native abbreviated name for November */
+#define OCI_NLS_ABMONTHNAME12 38 /* Native abbreviated name for December */
+#define OCI_NLS_YES 39 /* Native string for affirmative response */
+#define OCI_NLS_NO 40 /* Native negative response */
+#define OCI_NLS_AM 41 /* Native equivalent string of AM */
+#define OCI_NLS_PM 42 /* Native equivalent string of PM */
+#define OCI_NLS_AD 43 /* Native equivalent string of AD */
+#define OCI_NLS_BC 44 /* Native equivalent string of BC */
+#define OCI_NLS_DECIMAL 45 /* decimal character */
+#define OCI_NLS_GROUP 46 /* group separator */
+#define OCI_NLS_DEBIT 47 /* Native symbol of debit */
+#define OCI_NLS_CREDIT 48 /* Native sumbol of credit */
+#define OCI_NLS_DATEFORMAT 49 /* Oracle date format */
+#define OCI_NLS_INT_CURRENCY 50 /* International currency symbol */
+#define OCI_NLS_LOC_CURRENCY 51 /* Locale currency symbol */
+#define OCI_NLS_LANGUAGE 52 /* Language name */
+#define OCI_NLS_ABLANGUAGE 53 /* Abbreviation for language name */
+#define OCI_NLS_TERRITORY 54 /* Territory name */
+#define OCI_NLS_CHARACTER_SET 55 /* Character set name */
+#define OCI_NLS_LINGUISTIC_NAME 56 /* Linguistic name */
+#define OCI_NLS_CALENDAR 57 /* Calendar name */
+#define OCI_NLS_DUAL_CURRENCY 78 /* Dual currency symbol */
+#define OCI_NLS_WRITINGDIR 79 /* Language writing direction */
+#define OCI_NLS_ABTERRITORY 80 /* Territory Abbreviation */
+#define OCI_NLS_DDATEFORMAT 81 /* Oracle default date format */
+#define OCI_NLS_DTIMEFORMAT 82 /* Oracle default time format */
+#define OCI_NLS_SFDATEFORMAT 83 /* Local string formatted date format */
+#define OCI_NLS_SFTIMEFORMAT 84 /* Local string formatted time format */
+#define OCI_NLS_NUMGROUPING 85 /* Number grouping fields */
+#define OCI_NLS_LISTSEP 86 /* List separator */
+#define OCI_NLS_MONDECIMAL 87 /* Monetary decimal character */
+#define OCI_NLS_MONGROUP 88 /* Monetary group separator */
+#define OCI_NLS_MONGROUPING 89 /* Monetary grouping fields */
+#define OCI_NLS_INT_CURRENCYSEP 90 /* International currency separator */
+#define OCI_NLS_CHARSET_MAXBYTESZ 91 /* Maximum character byte size */
+#define OCI_NLS_CHARSET_FIXEDWIDTH 92 /* Fixed-width charset byte size */
+#define OCI_NLS_CHARSET_ID 93 /* Character set id */
+#define OCI_NLS_NCHARSET_ID 94 /* NCharacter set id */
+
+#define OCI_NLS_MAXBUFSZ 100 /* Max buffer size may need for OCINlsGetInfo */
+
+#define OCI_NLS_BINARY 0x1 /* for the binary comparison */
+#define OCI_NLS_LINGUISTIC 0x2 /* for linguistic comparison */
+#define OCI_NLS_CASE_INSENSITIVE 0x10 /* for case-insensitive comparison */
+
+#define OCI_NLS_UPPERCASE 0x20 /* convert to uppercase */
+#define OCI_NLS_LOWERCASE 0x40 /* convert to lowercase */
+
+#define OCI_NLS_CS_IANA_TO_ORA 0 /* Map charset name from IANA to Oracle */
+#define OCI_NLS_CS_ORA_TO_IANA 1 /* Map charset name from Oracle to IANA */
+#define OCI_NLS_LANG_ISO_TO_ORA 2 /* Map language name from ISO to Oracle */
+#define OCI_NLS_LANG_ORA_TO_ISO 3 /* Map language name from Oracle to ISO */
+#define OCI_NLS_TERR_ISO_TO_ORA 4 /* Map territory name from ISO to Oracle*/
+#define OCI_NLS_TERR_ORA_TO_ISO 5 /* Map territory name from Oracle to ISO*/
+#define OCI_NLS_TERR_ISO3_TO_ORA 6 /* Map territory name from 3-letter ISO */
+ /* abbreviation to Oracle */
+#define OCI_NLS_TERR_ORA_TO_ISO3 7 /* Map territory name from Oracle to */
+ /* 3-letter ISO abbreviation */
+#define OCI_NLS_LOCALE_A2_ISO_TO_ORA 8
+ /*Map locale name from A2 ISO to oracle*/
+#define OCI_NLS_LOCALE_A2_ORA_TO_ISO 9
+ /*Map locale name from oracle to A2 ISO*/
+
+typedef struct OCIMsg OCIMsg;
+typedef ub4 OCIWchar;
+
+#define OCI_XMLTYPE_CREATE_OCISTRING 1
+#define OCI_XMLTYPE_CREATE_CLOB 2
+#define OCI_XMLTYPE_CREATE_BLOB 3
+
+/*------------------------- Kerber Authentication Modes ---------------------*/
+#define OCI_KERBCRED_PROXY 1 /* Apply Kerberos Creds for Proxy */
+#define OCI_KERBCRED_CLIENT_IDENTIFIER 2/*Apply Creds for Secure Client ID */
+
+/*------------------------- Database Startup Flags --------------------------*/
+#define OCI_DBSTARTUPFLAG_FORCE 0x00000001 /* Abort running instance, start */
+#define OCI_DBSTARTUPFLAG_RESTRICT 0x00000002 /* Restrict access to DBA */
+
+/*------------------------- Database Shutdown Modes -------------------------*/
+#define OCI_DBSHUTDOWN_TRANSACTIONAL 1 /* Wait for all the transactions */
+#define OCI_DBSHUTDOWN_TRANSACTIONAL_LOCAL 2 /* Wait for local transactions */
+#define OCI_DBSHUTDOWN_IMMEDIATE 3 /* Terminate and roll back */
+#define OCI_DBSHUTDOWN_ABORT 4 /* Terminate and don't roll back */
+#define OCI_DBSHUTDOWN_FINAL 5 /* Orderly shutdown */
+
+/*------------------------- Version information -----------------------------*/
+#define OCI_MAJOR_VERSION 11 /* Major release version */
+#define OCI_MINOR_VERSION 2 /* Minor release version */
+
+/*---------------------- OCIIOV structure definitions -----------------------*/
+struct OCIIOV
+{
+ void *bfp; /* The Pointer to the data buffer */
+ ub4 bfl; /* Length of the Data Buffer */
+};
+typedef struct OCIIOV OCIIOV;
+
+/*---------------------------------------------------------------------------
+ PRIVATE TYPES AND CONSTANTS
+ ---------------------------------------------------------------------------*/
+
+/* None */
+
+/*---------------------------------------------------------------------------
+ PUBLIC FUNCTIONS
+ ---------------------------------------------------------------------------*/
+
+/* see ociap.h or ocikp.h */
+
+/*---------------------------------------------------------------------------
+ PRIVATE FUNCTIONS
+ ---------------------------------------------------------------------------*/
+
+/* None */
+
+
+#endif /* OCI_ORACLE */
+
+
+/* more includes */
+
+#ifndef OCI1_ORACLE
+#include <oci1.h>
+#endif
+
+#ifndef ORO_ORACLE
+#include <oro.h>
+#endif
+
+#ifndef ORI_ORACLE
+#include <ori.h>
+#endif
+
+#ifndef ORL_ORACLE
+#include <orl.h>
+#endif
+
+#ifndef ORT_ORACLE
+#include <ort.h>
+#endif
+
+#ifndef OCIEXTP_ORACLE
+#include <ociextp.h>
+#endif
+
+#include <ociapr.h>
+#include <ociap.h>
+
+#ifndef OCIXMLDB_ORACLE
+#include <ocixmldb.h>
+#endif
+
+#ifndef OCI8DP_ORACLE
+#include <oci8dp.h> /* interface definitions for the direct path api */
+#endif
+
+#ifndef OCIEXTP_ORACLE
+#include <ociextp.h>
+#endif
+
+#ifndef OCIXSTREAM_ORACLE
+#include <ocixstream.h>
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+