| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/Oracle/OCI/include/oci.h
Go to the documentation of this file.

    00001 /*
    00002  * $Header$
    00003  */
    00004
    00005 /* Copyright (c) 1995, 2003, Oracle Corporation.  All rights reserved.  */
    00006
    00007 /*
    00008    NAME
    00009      oci.h - V8 Oracle Call Interface public definitions
    00010
    00011    DESCRIPTION
    00012      This file defines all the constants and structures required by a V8
    00013      OCI programmer.
    00014
    00015    RELATED DOCUMENTS
    00016      V8 OCI Functional Specification
    00017      Oracle Call Interface Programmer's Guide Vol 1 and 2
    00018
    00019    INSPECTION STATUS
    00020      Inspection date:
    00021      Inspection status:
    00022      Estimated increasing cost defects per page:
    00023      Rule sets:
    00024
    00025    ACCEPTANCE REVIEW STATUS
    00026      Review date:
    00027      Review status:
    00028      Reviewers:
    00029
    00030    PUBLIC FUNCTION(S)
    00031      None
    00032
    00033    PRIVATE FUNCTION(S)
    00034      None
    00035
    00036    EXAMPLES
    00037
    00038    NOTES
    00039
    00040
    00041    MODIFIED   (MM/DD/YY)
    00042    chliang     11/26/03 - add OCI_ATTR_RESERVED_19
    00043    preilly     10/23/03 - Make OCI_ATTR_DIRPATH_METADATA_BUF private
    00044    chliang     08/07/03 - add OCI_ATTR_SKIP_BUFFER
    00045    srseshad    03/12/03 - convert public oci api to ansi
    00046    weiwang     05/14/03 - remove iot creation for rule sets
    00047    rkoti       04/15/03 - [2746515] add fntcodes for Unlimited size LOB 6003
    00048    tcruanes    05/13/03 - add slave SQL OCI execution mode
    00049    rkoti       02/21/03 - [2761455] add OCI_FNCODE_AQENQARRAY,
    00050                           OCI_FNCODE_AQDEQARRAY and update OCI_FNCODE_MAXFCN
    00051    tkeefe      01/29/03 - bug-2773794: Add new interface for setting Kerb attrs
    00052    aahluwal    02/06/03 - add OCI_ATTR_TRANSFORMATION_NO
    00053    weiwang     12/05/02 - add OCI_ATTR_USER_PROPERTY
    00054    ataracha    01/03/03 - include ocixmldb.h
    00055    preilly     12/05/02 - Add wait attribute for locking when using dir path
    00056    tkeefe      01/03/03 - bug-2623771: Added OCI_ATTR_KERBEROS_KEY
    00057    lchidamb    12/13/02 - end-to-end tracing attributes
    00058    msakayed    10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
    00059    rphillip    11/13/02 - Add OCIP_ATTR_DIRPATH_INDEX
    00060    sagrawal    10/13/02 - liniting
    00061    sagrawal    10/03/02 - PL/SQL Compiler warnings
    00062    jstenois    11/07/02 - remove ocixad.h
    00063    chliang     10/21/02 - add OCI_ATTR_RESERVED_16,17
    00064    hsbedi      10/30/02 - grabtrans 'jstenois_fix_xt_convert'
    00065    aahluwal    10/12/02 - add OCI_ATTR_AQ_NUM_E_ERRORS/OCI_ATTR_AQ_ERROR_INDEX
    00066    bdagevil    10/21/02 - add SQL analyze internal exec mode
    00067    csteinba    10/11/02 - add OCI_ATTR_RESERVED_16
    00068    chliang     10/12/02 - add bind row callback attributes
    00069    preilly     10/25/02 - Add new reserved parameters
    00070    tkeefe      10/31/02 - bug-2623771: Added OCI_ATTR_AUDIT_SESSION_ID
    00071    csteinba    10/04/02 - Add OCI_ATTR_RESERVED_15
    00072    mhho        10/11/02 - add new credential constant
    00073    thoang      09/25/02 - Add OCI_XMLTYPE_CREATE_CLOB
    00074    skaluska    10/07/02 - describe rules objects
    00075    csteinba    09/16/02 - Remove OCI_CACHE
    00076    gtarora     10/03/02 - OCI_ATTR_COL_SUBS => OCI_ATTR_OBJ_SUBS
    00077    msakayed    09/09/02 - Bug #2482469: add OCI_ATTR_DIRPATH_RESERVED_[3-6]
    00078    aahluwal    08/30/02 - adding dequeue across txn group
    00079    srseshad    04/24/02 - Add attribute OCI_ATTR_SPOOL_STMTCACHESIZE.
    00080    ebatbout    07/22/02 - Remove OCI_ATTR_RESERVED_11.
    00081    abande      01/17/02 - Bug 1788921; Add external attribute.
    00082    aahluwal    06/04/02 - bug 2360115
    00083    pbagal      05/24/02 - Incorporate review comments
    00084    pbagal      05/22/02 - Introduce instance type attribute.
    00085    whe         07/01/02 - add OCI_BIND_DEFINE_SOFT flags
    00086    gtarora     07/01/02 - Add OCI_ATTR_COL_SUBS
    00087    tkeefe      05/30/02 - Add support for new proxy authentication credentials
    00088    dgprice     12/18/01 - bug 2102779 add reserved force describe
    00089    schandir    11/19/01 - add/modify modes.
    00090    schandir    11/15/01 - add OCI_SPC_STMTCACHE.
    00091    schandir    12/06/01 - change mode value of OCI_SPOOL.
    00092    msakayed    11/02/01 - Bug #2094292: add OCI_ATTR_DIRPATH_INPUT
    00093    dsaha       11/09/01 - add OCI_DTYPE_RESERVED1
    00094    skabraha    11/05/01 - new method flag
    00095    skabraha    10/25/01 - another flag for XML
    00096    skabraha    10/11/01 - describe flags for subtypes
    00097    nbhatt      09/18/01 - new reserved AQ flags
    00098    celsbern    10/19/01 - merge LOG to MAIN
    00099    ksurlake    10/12/01 - add OCI_ATTR_RESERVED_13
    00100    ksurlake    08/13/01 - add OCI_ATTR_RESERVED_12
    00101    schandir    09/24/01 - Adding stmt caching
    00102    abande      09/04/01 - Adding session pooling
    00103    sagrawal    10/23/01 - add new bit for OCIPHandleFree
    00104    preilly     10/25/01 - Add support for specifying metadata on DirPathCtx
    00105    skabraha    09/24/01 - describe flags for XML type
    00106    schandir    09/24/01 - Adding stmt caching
    00107    abande      09/04/01 - Adding session pooling
    00108    stakeda     09/17/01 - add OCI_NLS_CHARSET_ID
    00109    whe         09/19/01 - add OCIXMLType create options
    00110    rpingte     09/11/01 - add OCI_MUTEX_ENV_ONLY and OCI_NO_MUTEX_STMT
    00111    cmlim       08/28/01 - mod datecache attrs to use same naming as dpapi attrs
    00112    wzhang      08/24/01 - Add new keywords for OCINlsNameMap.
    00113    rphillip    05/02/01 - Add date cache attributes
    00114    rphillip    08/22/01 - Add new stream version
    00115    ebatbout    04/13/01 - add definition, OCI_ATTR_RESERVED_11
    00116    chliang     04/12/01 - add shortnames for newer oci funcation
    00117    wzhang      04/11/01 - Add new OCI NLS constants.
    00118    cmlim       04/13/01 - remove attrs not used by dpapi (151 & 152 avail)
    00119    rkambo      03/23/01 - bugfix 1421793
    00120    cmlim       04/02/01 - remove OCI_ATTR_DIRPATH_{NESTED_TBL, SUBST_OBJ_TBL}
    00121                         - note: attribute #s 186 & 205 available
    00122    whe         03/28/01 - add OCI_AFC_PAD_ON/OFF mode
    00123    preilly     03/05/01 - Add stream versioning support to DirPath context
    00124    schandir    12/18/00 - remove attr CONN_INCR_DELAY.
    00125    schandir    12/12/00 - change mode from OCI_POOL to OCI_CPOOL.
    00126    cbarclay    01/12/01 - add atribute for OCIP_ATTR_TMZ
    00127    whe         01/07/01 - add attributes related to UTF16 env mode
    00128    slari       12/29/00 - add blank line
    00129    slari       12/28/00 - OCI_ATTR_RESERVED_10
    00130    whe         12/19/00 - add OCI_ENVCR_RESERVED3
    00131    rpang       11/29/00 - Added OCI_ATTR_ORA_DEBUG_JDWP attribute
    00132    cmlim       11/28/00 - support substitutable object tables in dpapi
    00133    akatti      10/09/00 - [198379]:add OCIRowidToChar
    00134    sgollapu    10/11/00 - Add OCI_PREP_RESERVED_1
    00135    sgollapu    08/27/00 - add attribute to get erroneous column
    00136    sgollapu    07/29/00 - Add snapshot attributes
    00137    kmohan      09/18/00 - add OCI_FNCODE_LOGON2
    00138    abrumm      10/08/00 - include ocixad.h
    00139    mbastawa    10/04/00 - add OCI_ATTR_ROWS_FETCHED
    00140    nbhatt      08/24/00 - add transformation attribute
    00141    dmwong      08/22/00 - OCI_ATTR_CID_VALUE -> OCI_ATTR_CLIENT_IDENTIFIER.
    00142    cmlim       08/30/00 - add OCI_ATTR_DIRPATH_SID
    00143    dsaha       08/18/00 - add OCI_ATTR_RESERVED_5
    00144    amangal     08/17/00 - Merge into 8.2 : 1194361
    00145    slari       08/03/00 - add OCI_ATTR_HANDLE_POSITION
    00146    dsaha       07/20/00 - 2rt exec
    00147    sgollapu    07/04/00 - Add virtual session flag
    00148    cmlim       07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
    00149    etucker     07/28/00 - add OCIIntervalFromTZ
    00150    rwessman    06/26/00 - N-tier: added new credential attributes
    00151    whe         07/27/00 - add OCI_UTF16 mode
    00152    vjayaram    07/18/00 - add connection pooling changes
    00153    etucker     07/12/00 - add dls apis
    00154    cmlim       07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
    00155    sgollapu    07/04/00 - Add virtual session flag
    00156    najain      05/01/00 - AQ Signature support
    00157    sgollapu    06/14/00 - Add reserved OCI mode
    00158    rkambo      06/08/00 - notification presentation support
    00159    sagrawal    06/04/00 - ref cursor to c
    00160    ksurlake    06/07/00 - define OCI_POOL
    00161    mbastawa    06/05/00 - added scrollable cursor attributes
    00162    weiwang     03/31/00 - add LDAP support
    00163    whe         05/30/00 - add OCI_ATTR_MAXCHAR_SIZE
    00164    whe         05/23/00 - validate OCI_NO_CACHE mode
    00165    dsaha       02/02/00 - Add no-cache attr in statement handle
    00166    whe         05/23/00 - add OCIP_ICACHE
    00167    allee       05/17/00 - describe support for JAVA implmented TYPE
    00168    preilly     05/30/00 - Continue adding support for objects in direct path lo
    00169    cmlim       05/16/00 - 8.2 dpapi support of ADTs
    00170    rxgovind    05/04/00 - OCIAnyDataSet changes
    00171    rkasamse    05/25/00 - add OCIAnyDataCtx
    00172    rmurthy     04/26/00 - describe support for inheritance
    00173    ksurlake    04/18/00 - Add credential type
    00174    whe         05/24/00 - add OCI_ATTR_CHAR_ attrs
    00175    rkambo      04/19/00 - subscription enhancement
    00176    rmurthy     04/26/00 - describe support for inheritance
    00177    delson      03/28/00 - add OCI_ATTR_RESERVED_2
    00178    abrumm      03/31/00 - external table support
    00179    rkasamse    03/13/00 - add declarations for OCIAnyData
    00180    najain      02/24/00 - support for dequeue as select
    00181    dsaha       03/10/00 - Add OCI_ALWAYS_BLOCKING
    00182    esoyleme    04/25/00 - separated transactions
    00183    sgollapu    12/23/99 - OCIServerAttach extensions
    00184    slari       08/23/99 - add OCI_DTYPE_UCB
    00185    slari       08/20/99 - add OCI_UCBTYPE_REPLACE
    00186    hsbedi      08/31/99 - Memory Stats .
    00187    sgollapu    08/02/99 - oci sql routing
    00188    slari       08/06/99 - rename values for OCI_SERVER_STATUS
    00189    slari       08/02/99 - add OCI_ATTR_SERVER_STATUS
    00190    tnbui       07/28/99 - Remove OCI_DTYPE_TIMESTAMP_ITZ
    00191    amangal     07/19/99 - Merge into 8.1.6 : bug 785797
    00192    tnbui       07/07/99 - Change ADJUSTMENT modes
    00193    dsaha       07/07/99 - OCI_SAHRED_EXT
    00194    dmwong      06/08/99 - add OCI_ATTR_APPCTX_*
    00195    vyanaman    06/23/99 -
    00196    vyanaman    06/21/99 - Add new OCI Datetime and Interval descriptors
    00197    esoyleme    06/29/99 - expose MTS performance enhancements
    00198    rshaikh     04/23/99 - add OCI_SQL_VERSION_*
    00199    tnbui       05/24/99 - Remove OCIAdjStr
    00200    dsaha       05/21/99 - Add OCI_ADJUST_UNK
    00201    mluong      05/17/99 - fix merge
    00202    tnbui       04/05/99 - ADJUSTMENT values
    00203    abrumm      04/16/99 - dpapi: more attributes
    00204    dsaha       02/24/99 - Add OCI_SHOW_DML_WARNINGS
    00205    jiyang      12/07/98 - Add OCI_NLS_DUAL_CURRENCY
    00206    slari       12/07/98 - change OCI_NOMUTEX to OCI_NO_MUTEX
    00207    aroy        11/30/98 - change OCI_NOCALLBACK to OCI_NO_UCB
    00208    aroy        11/13/98 - add env modes to process modes
    00209    slari       09/08/98 - add OCI_FNCODE_SVC2HST and _SVCRH
    00210    aroy        09/04/98 - Add OCI_ATTR_MIGSESSION
    00211    skray       08/14/98 - server groups for session switching
    00212    mluong      08/11/98 - add back OCI_HTYPE_LAST.
    00213    aroy        05/25/98 - add process handle type
    00214    aroy        04/06/98 - add shared mode
    00215    slari       07/13/98 -  merge forward to 8.1.4
    00216    slari       07/09/98 -  add OCI_BIND_RESERVED_2
    00217    slari       07/08/98 -  add OCI_EXACT_FETCH_RESERVED_1
    00218    dsaha       07/07/98 -  Add OCI_PARSE_ONLY
    00219    dsaha       06/29/98 -  Add OCI_PARSE_ONLY
    00220    slari       07/01/98 -  add OCI_BIND_RESERVED_2
    00221    sgollapu    06/25/98 -  Fix bug 683565
    00222    slari       06/17/98 -  remove OC_FETCH_RESERVED_2
    00223    slari       06/11/98 -  add OCI_FETCH_RESERVED_1 and 2
    00224    jhasenbe    05/27/98 -  Remove definitions for U-Calls (Unicode)
    00225    jiyang      05/18/98 - remove OCI_ATTR_CARTLANG
    00226    nbhatt      05/20/98 -  OCI_DEQ_REMOVE_NODATA
    00227    nbhatt      05/19/98 - correct AQ opcode
    00228    skmishra    05/06/98 - Add precision attribute to Attributes list
    00229    aroy        04/20/98 - merge forward 8.0.5 -> 8.1.3
    00230    schandra    05/01/98 - OCI sender id
    00231    sgollapu    02/19/98 - enhanced array DML
    00232    nbhatt      05/15/98 -  AQ listen call
    00233    sgollapu    04/27/98 - more attributes
    00234    skaluska    04/06/98 - Add OCI_PTYPE_SCHEMA, OCI_PTYPE_DATABASE
    00235    slari       04/28/98 - add OCI_ATTR_PDPRC
    00236    lchidamb    05/05/98 - change OCI_NAMESPACE_AQ to 1
    00237    nbhatt      04/27/98 - AQ Notification Descriptor
    00238    abrumm      06/24/98 - more direct path attributes
    00239    abrumm      05/27/98 - OCI direct path interface support
    00240    abrumm      05/08/98 - OCI direct path interface support
    00241    lchidamb    03/02/98 - client notification additions
    00242    kkarun      04/17/98 - Add more Interval functions
    00243    vyanaman    04/16/98 - Add get/set TZ
    00244    kkarun      04/14/98 - Add OCI Datetime shortnames
    00245    vyanaman    04/13/98 - Add OCI DateTime and Interval check error codes
    00246    kkarun      04/07/98 - Add OCI_DTYPE_DATETIME and OCI_DTYPE_INTERVAL
    00247    esoyleme    12/15/97 - support failover callback retry
    00248    esoyleme    04/22/98 - merge support for failover callback retry
    00249    mluong      04/16/98 - add OCI_FNCODE_LOBLOCATORASSIGN
    00250    rkasamse    04/17/98 - add short names for OCIPickler(Memory/Ctx) cart servi
    00251    slari       04/10/98 - add OCI_FNCODE_SVCCTXTOLDA
    00252    slari       04/09/98 - add OCI_FNCODE_RESET
    00253    slari       04/07/98 - add OCI_FNCODE_LOBFILEISOPEN
    00254    slari       04/06/98 - add OCI_FNCODE_LOBOPEN
    00255    slari       03/20/98 - change OCI_CBTYPE_xxx to OCI_UCBTYPE_xxx
    00256    slari       03/18/98 - add OCI_FNCODE_MAXFCN
    00257    slari       02/12/98 - add OCI_ENV_NO_USRCB
    00258    skabraha    04/09/98 - adding shortnames for OCIFile
    00259    rhwu        04/03/98 - Add short names for the OCIThread package
    00260    tanguyen    04/03/98 - add OCI_ATTR_xxxx for type inheritance
    00261    rkasamse    04/02/98 - add OCI_ATTR_UCI_REFRESH
    00262    nramakri    04/01/98 - Add short names for the OCIExtract package
    00263    ewaugh      03/31/98 - Add short names for the OCIFormat package.
    00264    jhasenbe    04/06/98 - Add definitions for U-Calls (Unicode)
    00265                           (OCI_TEXT, OCI_UTEXT, OCI_UTEXT4)
    00266    skmishra    03/03/98 - Add OCI_ATTR_PARSE_ERROR_OFFSET
    00267    rwessman    03/11/98 - Added OCI_CRED_PROXY for proxy authentication
    00268    abrumm      03/31/98 - OCI direct path interface support
    00269    nmallava    03/03/98 - add constants for temp lob apis
    00270    skotsovo    03/05/98 - resolve merge conflicts
    00271    skotsovo    02/24/98 - add OCI_DTYPE_LOC
    00272    skaluska    01/21/98 - Add OCI_ATTR_LTYPE
    00273    rkasamse    01/06/98 - add OCI_ATTR* for obj cache enhancements
    00274    dchatter    01/08/98 - more comments
    00275    skabraha    12/02/97 - moved oci1.h to the front of include files.
    00276    jiyang      12/18/97 - Add OCI_NLS_MAX_BUFSZ
    00277    rhwu        12/02/97 - move oci1.h up
    00278    ewaugh      12/15/97 - Add short names for the OCIFormat package.
    00279    rkasamse    12/02/97 - Add a constant for memory cartridge services -- OCI_M
    00280    nmallava    12/31/97 - open/close for internal lobs
    00281    khnguyen    11/27/97 - add OCI_ATTR_LFPRECISION, OCI_ATTR_FSPRECISION
    00282    rkasamse    11/03/97 - add types for pickler cartridge services
    00283    mluong      11/20/97 - changed ubig_ora to ub4 per skotsovo
    00284    ssamu       11/14/97 - add oci1.h
    00285    jiyang      11/13/97 - Add NLS service for cartridge
    00286    esoyleme    12/15/97 - support failover callback retry
    00287    jwijaya     10/21/97 - change OCILobOffset/Length from ubig_ora to ub4
    00288    cxcheng     07/28/97 - fix compile with SLSHORTNAME
    00289    schandra    06/25/97 - AQ OCI interface
    00290    sgollapu    07/25/97 - Add OCI_ATTR_DESC_PUBLIC
    00291    cxcheng     06/16/97 - add OCI_ATTR_TDO
    00292    skotsovo    06/05/97 - add fntcodes for lob buffering subsystem
    00293    esoyleme    05/13/97 - move failover callback prototype
    00294    skmishra    05/06/97 - stdc compiler fixes
    00295    skmishra    04/22/97 - Provide C++ compatibility
    00296    lchidamb    04/19/97 - add OCI_ATTR_SESSLANG
    00297    ramkrish    04/15/97 - Add OCI_LOB_BUFFER_(NO)FREE
    00298    sgollapu    04/18/97 - Add OCI_ATTR_TABLESPACE
    00299    skaluska    04/17/97 - Add OCI_ATTR_SUB_NAME
    00300    schandra    04/10/97 - Use long OCI names
    00301    aroy        03/27/97 - add OCI_DTYPE_FILE
    00302    sgollapu    03/26/97 - Add OCI_OTYPEs
    00303    skmishra    04/09/97 - Added constant OCI_ROWID_LEN
    00304    dchatter    03/21/97 - add attr OCI_ATTR_IN_V8_MODE
    00305    lchidamb    03/21/97 - add OCI_COMMIT_ON_SUCCESS execution mode
    00306    skmishra    03/20/97 - Added OCI_ATTR_LOBEMPTY
    00307    sgollapu    03/19/97 - Add OCI_ATTR_OVRLD_ID
    00308    aroy        03/17/97 - add postprocessing callback
    00309    sgollapu    03/15/97 - Add OCI_ATTR_PARAM
    00310    cxcheng     02/07/97 - change OCI_PTYPE codes for type method for consistenc
    00311    cxcheng     02/05/97 - add OCI_PTYPE_TYPE_RESULT
    00312    cxcheng     02/04/97 - rename OCI_PTYPE constants to be more consistent
    00313    cxcheng     02/03/97 - add OCI_ATTR, OCI_PTYPE contants for describe type
    00314    esoyleme    01/23/97 - merge neerja callback
    00315    sgollapu    12/30/96 - Remove OCI_DTYPE_SECURITY
    00316    asurpur     12/26/96 - CHanging OCI_NO_AUTH to OCI_AUTH
    00317    sgollapu    12/23/96 - Add more attrs to COL, ARG, and SEQ
    00318    sgollapu    12/12/96 - Add OCI_DESCRIBE_ONLY
    00319    slari       12/11/96 - change prototype of OCICallbackInBind
    00320    nbhatt      12/05/96 - "callback"
    00321    lchidamb    11/19/96 - handle subclassing
    00322    sgollapu    11/09/96 - OCI_PATTR_*
    00323    dchatter    11/04/96 - add attr OCI_ATTR_CHRCNT
    00324    mluong      11/01/96 - test
    00325    cxcheng     10/31/96 - add #defines for OCILobLength etc
    00326    dchatter    10/31/96 - add lob read write call back fp defs
    00327    dchatter    10/30/96 - more changes
    00328    rhari       10/30/96 - Include ociextp.h at the very end
    00329    lchidamb    10/22/96 - add fdo attribute for bind/server handle
    00330    dchatter    10/22/96 - change attr defn for prefetch parameters & lobs/file
    00331                           calls
    00332    slari       10/21/96 - add OCI_ENV_NO_MUTEX
    00333    rhari       10/25/96 - Include ociextp.h
    00334    rxgovind    10/25/96 - add OCI_LOBMAXSIZE, remove OCI_FILE_READWRITE
    00335    sgollapu    10/24/96 - Correct OCILogon and OCILogoff
    00336    sgollapu    10/24/96 - Correct to OCILogon and OCILogoff
    00337    sgollapu    10/21/96 - Add ocilon and ociloff
    00338    skaluska    10/31/96 - Add OCI_PTYPE values
    00339    sgollapu    10/17/96 - correct OCI_ATTR_SVCCTX to OCI_ATTR_SERVER
    00340    rwessman    10/16/96 - Added security functions and fixed olint errors.
    00341    sthakur     10/14/96 - add more COR attributes
    00342    cxcheng     10/14/96 - re-enable LOB functions
    00343    sgollapu    10/10/96 - Add ocibdp and ocibdn
    00344    slari       10/07/96 - add back OCIRowid
    00345    aroy        10/08/96 -  add typedef ocibfill for PRO*C
    00346    mluong      10/11/96 - replace OCI_ATTR_CHARSET* with OCI_ATTR_CHARSET_*
    00347    cxcheng     10/10/96 - temporarily take out #define for lob functions
    00348    sgollapu    10/02/96 - Rename OCI functions and datatypes
    00349    skotsovo    10/01/96 - move orl lob fnts to oci
    00350    aroy        09/10/96 - fix merge errors
    00351    aroy        08/19/96 - NCHAR support
    00352    jboonleu    09/05/96 - add OCI attributes for object cache
    00353    dchatter    08/20/96 - HTYPE ranges from 1-50; DTYPE from 50-255
    00354    slari       08/06/96 - define OCI_DTYPE_ROWID
    00355    sthakur     08/14/96 - complex object support
    00356    schandra    06/17/96 - Convert XA to use new OCI
    00357    abrik       08/15/96 - OCI_ATTR_HEAPALLOC added
    00358    aroy        07/17/96 - terminology change: ocilobd => ocilobl
    00359    aroy        07/03/96 - add lob typedefs for Pro*C
    00360    slari       06/28/96 - add OCI_ATTR_STMT_TYPE
    00361    lchidamb    06/26/96 - reorg #ifndef
    00362    schandra    05/31/96 - attribute types for internal and external client name
    00363    asurpur     05/30/96 - Changing the value of mode
    00364    schandra    05/18/96 - OCI_TRANS_TWOPHASE -> 0x00000001 to 0x00100000
    00365    slari       05/30/96 - add callback function prototypes
    00366    jbellemo    05/23/96 - remove ociisc
    00367    schandra    04/23/96 - loosely-coupled branches
    00368    asurpur     05/15/96 - New mode for ocicpw
    00369    aroy        04/24/96 - making ocihandles opaque
    00370    slari       04/18/96 - add missing defines
    00371    schandra    03/27/96 - V8OCI - add transaction related calls
    00372    dchatter    04/01/96 - add OCI_FILE options
    00373    dchatter    03/21/96 - add oci2lda conversion routines
    00374    dchatter    03/07/96 - add OCI piece definition
    00375    slari       03/12/96 - add describe attributes
    00376    slari       03/12/96 - add OCI_OTYPE_QUERY
    00377    aroy        02/28/96 - Add column attributes
    00378    slari       02/09/96 - add OCI_OBJECT
    00379    slari       02/07/96 - add OCI_HYTPE_DSC
    00380    aroy        01/10/96 - adding function code defines...
    00381    dchatter    01/03/96 - define OCI_NON_BLOCKING
    00382    dchatter    01/02/96 - Add Any descriptor
    00383    dchatter    01/02/96 - Add Select List descriptor
    00384    dchatter    12/29/95 - V8 OCI definitions
    00385    dchatter    12/29/95 - Creation
    00386
    00387 */
    00388
    00389 #ifdef __cplusplus
    00390 extern "C" {
    00391 #endif
    00392
    00393 #ifndef ORATYPES
    00394 #include <oratypes.h>
    00395 #endif
    00396
    00397 #ifndef OCIDFN
    00398 #include <ocidfn.h>
    00399 #endif
    00400
    00401 #ifndef OCI_ORACLE
    00402 # define OCI_ORACLE
    00403
    00404
    00405 /*---------------------------------------------------------------------------
    00406  Short names provided for platforms which do not allow extended symbolic names
    00407   ---------------------------------------------------------------------------*/
    00408
    00409 #ifdef SLSHORTNAME
    00410 /* Translation of the long function/type names to short names for IBM only */
    00411 /* maybe lint will use this too */
    00412 #define OCISessionEnd              ocitac
    00413 #define OCIResultSetToStmt         ocirs2sh
    00414 #define OCISessionBegin            ociauth
    00415 #define OCIServerAttach            ociatch
    00416 #define OCIDescriptorAlloc         ocigdesc
    00417 #define OCIServerDetach            ocidtch
    00418 #define OCIDescriptorFree          ocifdesc
    00419 #define OCIServerVersion           ocivers
    00420 #define OCIDescribeAny             ocidsca
    00421 #define OCIBindDynamic             ocibda
    00422 #define OCIBindByName              ocibdn
    00423 #define OCIBindByPos               ocibdp
    00424 #define OCIErrorGet                ocigdr
    00425 #define OCIBindArrayOfStruct       ocibsa
    00426 #define OCIEnvInit                 ociinit
    00427 #define OCIBindObject              ocibndt
    00428 #define OCIHandleAlloc             ocighndl
    00429 #define OCIHandleFree              ocifhndl
    00430 #define OCIRowidToChar             ociri2c
    00431 #ifdef NEVER
    00432 #define OCIStmtBindByPos           ocibndp
    00433 #define OCIStmtBindByName          ocibndn
    00434 #endif
    00435 #define OCIAttrGet                 ocigattr
    00436 #define OCIDefineByPos             ocidfne
    00437 #define OCIAttrSet                 ocisattr
    00438 #define OCIDefineDynamic           ociddf
    00439 #define OCILdaToSvcCtx             ocild2sv
    00440 #define OCIDefineArrayOfStruct     ocidarr
    00441 #define OCIInitialize              ocipi
    00442 #define OCIDefineObject            ocidndt
    00443 #define OCIStmtExecute             ociexec
    00444 #define OCILobAppend               ocilfap
    00445 #define OCILobOpenFile             ocifopn
    00446 #define OCILobCloseFile            ocifcls
    00447 #define OCILobLocator              ocilobd
    00448 #define OCILobCopy                 ocilfcp
    00449 #define OCILobFileCreate           ocifcrt
    00450 #define OCILobFileDelete           ocifdel
    00451 #define OCILobGetLength            ocilfln
    00452 #define OCILobWrite                ocilfwr
    00453 #define OCILobRead                 ocilfrd
    00454 #define OCILobErase                ocilfer
    00455 #define OCILobTrim                 ocilftr
    00456
    00457 #define OCIStmtFetch               ocifch
    00458 #define OCIStmtGetBindInfo         ocigbp
    00459 #define OCIStmtGetPieceInfo        ocigpi
    00460 #define OCIStmtPrepare             ocireq
    00461 #define OCIStmtSetPieceInfo        ocispi
    00462 #define OCISvcCtxToLda             ocisv2ld
    00463 #define OCITransCommit             ocitxcm
    00464 #define OCITransDetach             ocitxdt
    00465 #define OCITransForget             ocitxfgt
    00466 #define OCITransPrepare            ocitxpre
    00467 #define OCITransRollback           ocitxrl
    00468 #define OCIPasswordChange          ocicpw
    00469 #define OCITransStart              ocitxst
    00470 #define OCITransMultiPrepare       ocitxmp
    00471
    00472 #define OCIBreak                   ocibreak
    00473 #define OCIParamGet                ocigparm
    00474 #define OCIParamSet                ocisparm
    00475
    00476 #define OCISecurityOpenWallet           ocizwOpenWallet
    00477 #define OCISecurityCloseWallet          ocizwCloseWallet
    00478 #define OCISecurityCreateWallet         ocizwCreateWallet
    00479 #define OCISecurityDestroyWallet        ocizwDestroyWallet
    00480 #define OCISecurityStorePersona         ocizeStorePersona
    00481 #define OCISecurityOpenPersona          ocizeOpenPersona
    00482 #define OCISecurityClosePersona         ocizeClosePersona
    00483 #define OCISecurityRemovePersona        ocizeRemovePersona
    00484 #define OCISecurityCreatePersona        ocizeCreatePersona
    00485 #define OCISecuritySetProtection        ocizeSetProtection
    00486 #define OCISecurityGetProtection        ocizeGetProtection
    00487 #define OCISecurityRemoveIdentity       ociziRemoveIdentity
    00488 #define OCISecurityCreateIdentity       ociziCreateIdentity
    00489 #define OCISecurityAbortIdentity        ociziAbortIdentity
    00490 #define OCISecurityFreeIdentity         ociziFreeIdentity
    00491 #define OCISecurityStoreTrustedIdentity ociziStoreTrustedIdentity
    00492 #define OCISecuritySign                 ocizSign
    00493 #define OCISecuritySignExpansion        ocizxSignExpansion
    00494 #define OCISecurityVerify               ocizVerify
    00495 #define OCISecurityValidate             ocizValidate
    00496 #define OCISecuritySignDetached         ocizsd_SignDetached
    00497 #define OCISecuritySignDetExpansion     ocizxsd_SignDetachedExpansion
    00498 #define OCISecurityVerifyDetached       ocizved_VerifyDetached
    00499 #define OCISecurity_PKEncrypt           ocizkec_PKEncrypt
    00500 #define OCISecurityPKEncryptExpansion   ocizxkec_PKEncryptExpansion
    00501 #define OCISecurityPKDecrypt            ocizkdc_PKDecrypt
    00502 #define OCISecurityEncrypt              ocizEncrypt
    00503 #define OCISecurityEncryptExpansion     ocizxEncryptExpansion
    00504 #define OCISecurityDecrypt              ocizDecrypt
    00505 #define OCISecurityEnvelope             ocizEnvelope
    00506 #define OCISecurityDeEnvelope           ocizDeEnvelope
    00507 #define OCISecurityKeyedHash            ocizKeyedHash
    00508 #define OCISecurityKeyedHashExpansion   ocizxKeyedHashExpansion
    00509 #define OCISecurityHash                 ocizHash
    00510 #define OCISecurityHashExpansion        ocizxHashExpansion
    00511 #define OCISecuritySeedRandom           ocizSeedRandom
    00512 #define OCISecurityRandomBytes          ocizrb_RandomBytes
    00513 #define OCISecurityRandomNumber         ocizrn_RandomNumber
    00514 #define OCISecurityInitBlock            ocizibInitBlock
    00515 #define OCISecurityReuseBlock           ocizrbReuseBlock
    00516 #define OCISecurityPurgeBlock           ocizpbPurgeBlock
    00517 #define OCISecuritySetBlock             ocizsbSetBlock
    00518 #define OCISecurityGetIdentity          ocizgi_GetIdentity
    00519
    00520 #define OCIExtractInit             ocixeini
    00521 #define OCIExtractTerm             ocixetrm
    00522 #define OCIExtractReset            ocixerst
    00523 #define OCIExtractSetNumKeys       ocixesnk
    00524 #define OCIExtractSetKey           ocixesk
    00525 #define OCIExtractFromFile         ocixeff
    00526 #define OCIExtractFromStr          ocixefs
    00527 #define OCIExtractToInt            ocixeti
    00528 #define OCIExtractToBool           ocixetb
    00529 #define OCIExtractToStr            ocixets
    00530 #define OCIExtractToOCINum         ocixeton
    00531 #define OCIExtractToList           ocixetl
    00532 #define OCIExtractFromList         ocixefl
    00533
    00534 #define OCIDateTimeGetTime         ocidt01_GetTime
    00535 #define OCIDateTimeGetDate         ocidt02_GetDate
    00536 #define OCIDateTimeGetTimeZoneOffset     ocidt03_GetTZ
    00537 #define OCIDateTimeSysTimeStamp    ocidt07_SysTS
    00538 #define OCIDateTimeAssign          ocidt08_Assign
    00539 #define OCIDateTimeToText          ocidt09_ToText
    00540 #define OCIDateTimeFromText        ocidt10_FromText
    00541 #define OCIDateTimeCompare         ocidt11_Compare
    00542 #define OCIDateTimeCheck           ocidt12_Check
    00543 #define OCIDateTimeConvert         ocidt13_Convert
    00544 #define OCIDateTimeSubtract        ocidt14_Subtract
    00545 #define OCIDateTimeIntervalAdd     ocidt15_IntervalAdd
    00546 #define OCIDateTimeIntervalSub     ocidt16_IntervalSub
    00547 #define OCIDateTimeGetTimeZoneName ocidt17_Gettzname
    00548 #define OCIDateTimeToArray         ocidt18_ToArray
    00549 #define OCIDateTimeFromArray       ocidt19_FromArray
    00550
    00551 #define OCIIntervalSubtract        ociint01_Subtract
    00552 #define OCIIntervalAdd             ociint02_Add
    00553 #define OCIIntervalMultiply        ociint03_Multiply
    00554 #define OCIIntervalDivide          ociint04_Divide
    00555 #define OCIIntervalCompare         ociint05_Compare
    00556 #define OCIIntervalFromText        ociint06_FromText
    00557 #define OCIIntervalToText          ociint07_ToText
    00558 #define OCIIntervalToNumber        ociint08_ToNumber
    00559 #define OCIIntervalCheck           ociint09_Check
    00560 #define OCIIntervalAssign          ociint10_Assign
    00561 #define OCIIntervalGetYearMonth    ociint11_GetYearMonth
    00562 #define OCIIntervalSetYearMonth    ociint12_SetYearMonth
    00563 #define OCIIntervalGetDaySecond    ociint13_GetDaySecond
    00564 #define OCIIntervalSetDaySecond    ociint14_SetDaySecond
    00565 #define OCIIntervalFromNumber      ociint15_FromNumber
    00566 #define OCIIntervalFromTZ          ociint16_FromTZ
    00567
    00568 #define OCIFormatInit              ocixs01_Init
    00569 #define OCIFormatString            ocixs02_Format
    00570 #define OCIFormatTerm              ocixs03_Term
    00571 #define OCIFormatTUb1              ocixs04_TUb1
    00572 #define OCIFormatTUb2              ocixs05_TUb2
    00573 #define OCIFormatTUb4              ocixs06_TUb4
    00574 #define OCIFormatTUword            ocixs07_TUword
    00575 #define OCIFormatTUbig_ora         ocixs08_TUbig_ora
    00576 #define OCIFormatTSb1              ocixs09_TSb1
    00577 #define OCIFormatTSb2              ocixs10_TSb2
    00578 #define OCIFormatTSb4              ocixs11_TSb4
    00579 #define OCIFormatTSword            ocixs12_TSword
    00580 #define OCIFormatTSbig_ora         ocixs13_TSbig_ora
    00581 #define OCIFormatTEb1              ocixs14_TEb1
    00582 #define OCIFormatTEb2              ocixs15_TEb2
    00583 #define OCIFormatTEb4              ocixs16_TEb4
    00584 #define OCIFormatTEword            ocixs17_TEword
    00585 #define OCIFormatTChar             ocixs18_TChar
    00586 #define OCIFormatTText             ocixs19_TText
    00587 #define OCIFormatTDouble           ocixs20_TDouble
    00588 #define OCIFormatTDvoid            ocixs21_TDvoid
    00589 #define OCIFormatTEnd              ocixs22_TEnd
    00590
    00591 #define OCIFileInit                ocifinit
    00592 #define OCIFileTerm                ocifterm
    00593 #define OCIFileOpen                ocifopen
    00594 #define OCIFileClose               ocifclose
    00595 #define OCIFileRead                ocifread
    00596 #define OCIFileWrite               ocifwrite
    00597 #define OCIFileSeek                ocifseek
    00598 #define OCIFileExists              ocifexists
    00599 #define OCIFileGetLength           ocifglen
    00600 #define OCIFileFlush               ocifflush
    00601
    00602
    00603 /* OCIThread short name */
    00604 #define OCIThreadProcessInit       ocitt01_ProcessInit
    00605 #define OCIThreadInit              ocitt02_Init
    00606 #define OCIThreadTerm              ocitt03_Term
    00607 #define OCIThreadIsMulti           ocitt04_IsMulti
    00608 #define OCIThreadMutexInit         ocitt05_MutexInit
    00609 #define OCIThreadMutexDestroy      ocitt06_MutexDestroy
    00610 #define OCIThreadMutexAcquire      ocitt07_MutexAcquire
    00611 #define OCIThreadMutexRelease      ocitt08_MutexRelease
    00612 #define OCIThreadKeyInit           ocitt09_KeyInit
    00613 #define OCIThreadKeyDestroy        ocitt10_KeyDestroy
    00614 #define OCIThreadKeyGet            ocitt11_KeyGet
    00615 #define OCIThreadKeySet            ocitt12_KeySet
    00616 #define OCIThreadIdInit            ocitt13_IdInit
    00617 #define OCIThreadIdDestroy         ocitt14_IdDestroy
    00618 #define OCIThreadIdSet             ocitt15_IdSet
    00619 #define OCIThreadIdSetNull         ocitt16_IdSetNull
    00620 #define OCIThreadIdGet             ocitt17_IdGet
    00621 #define OCIThreadIdSame            ocitt18_IdSame
    00622 #define OCIThreadIdNull            ocitt19_IdNull
    00623 #define OCIThreadHndInit           ocitt20_HndInit
    00624 #define OCIThreadHndDestroy        ocitt21_HndDestroy
    00625 #define OCIThreadCreate            ocitt22_Create
    00626 #define OCIThreadJoin              ocitt23_Join
    00627 #define OCIThreadClose             ocitt24_Close
    00628 #define OCIThreadHandleGet         ocitt25_HandleGet
    00629
    00630 /* Translation between the old and new datatypes */
    00631
    00632 #define OCISession                 ociusrh
    00633 #define OCIBind                    ocibndh
    00634 #define OCIDescribe                ocidsch
    00635 #define OCIDefine                  ocidfnh
    00636 #define OCIEnv                     ocienvh
    00637 #define OCIError                   ocierrh
    00638
    00639 #define OCICPool                   ocicpool
    00640
    00641 #define OCISPool                   ocispool
    00642 #define OCIAuthInfo                ociauthinfo
    00643
    00644
    00645 #define OCILob                     ocilobd
    00646 #define OCILobLength               ocillen
    00647 #define OCILobMode                 ocilmo
    00648 #define OCILobOffset               ociloff
    00649
    00650 #define OCILobLocator              ocilobd
    00651 #define OCIBlobLocator             ociblobl
    00652 #define OCIClobLocator             ociclobl
    00653 #define OCIBFileLocator            ocibfilel
    00654
    00655 #define OCIParam                   ocipard
    00656 #define OCIResult                  ocirstd
    00657 #define OCISnapshot                ocisnad
    00658 #define OCIServer                  ocisrvh
    00659 #define OCIStmt                    ocistmh
    00660 #define OCISvcCtx                  ocisvch
    00661 #define OCITrans                   ocitxnh
    00662 #define OCICallbackInBind          ocibicfp
    00663 #define OCICallbackOutBind         ocibocfp
    00664 #define OCICallbackDefine          ocidcfp
    00665 #define OCICallbackLobRead         ocilrfp
    00666 #define OCICallbackLobWrite        ocilwfp
    00667 #define OCISecurity                ociossh
    00668 #define OCIComplexObject           ocicorh
    00669 #define OCIComplexObjectComp       ocicord
    00670 #define OCIRowid                   ociridd
    00671
    00672 #define OCIAQDeq                   ociaqdeq
    00673 #define OCIAQEnq                   ociaqenq
    00674 #define OCIConnectionPoolCreate    ociconpc
    00675 #define OCIConnectionPoolDestroy   ociconpd
    00676 #define OCIEnvCreate               ocienvct
    00677 #define OCILobAssign               ociloass
    00678 #define OCILobCharSetForm          ocilocfm
    00679 #define OCILobCharSetId            ocilocid
    00680 #define OCILobDisableBuffering     ocilodbf
    00681 #define OCILobEnableBuffering      ociloebf
    00682 #define OCILobFileClose            ocilofcl
    00683 #define OCILobFileCloseAll         ocilofca
    00684 #define OCILobFileExists           ocilofex
    00685 #define OCILobFileGetName          ocilofgn
    00686 #define OCILobFileIsOpen           ocifiopn
    00687 #define OCILobFileOpen             ocilofop
    00688 #define OCILobFileSetName          ocilofsn
    00689 #define OCILobFlushBuffer          ocilofbf
    00690 #define OCILobIsEqual              ociloieq
    00691 #define OCILobLoadFromFile         ocilolff
    00692 #define OCILobLocatorIsInit        ocilolii
    00693 #define OCILobLocatorAssign        ocilolas
    00694 #define OCILogon                   ocilogon
    00695 #define OCILogon2                  ocilgon2
    00696 #define OCILogoff                  ocilgoff
    00697 #endif /* ifdef SLSHORTNAME */
    00698
    00699 /*---------------------------------------------------------------------------
    00700                      PUBLIC TYPES AND CONSTANTS
    00701   ---------------------------------------------------------------------------*/
    00702
    00703 /*-----------------------------Handle Types----------------------------------*/
    00704                                            /* handle types range from 1 - 49 */
    00705 #define OCI_HTYPE_FIRST          1             /* start value of handle type */
    00706 #define OCI_HTYPE_ENV            1                     /* environment handle */
    00707 #define OCI_HTYPE_ERROR          2                           /* error handle */
    00708 #define OCI_HTYPE_SVCCTX         3                         /* service handle */
    00709 #define OCI_HTYPE_STMT           4                       /* statement handle */
    00710 #define OCI_HTYPE_BIND           5                            /* bind handle */
    00711 #define OCI_HTYPE_DEFINE         6                          /* define handle */
    00712 #define OCI_HTYPE_DESCRIBE       7                        /* describe handle */
    00713 #define OCI_HTYPE_SERVER         8                          /* server handle */
    00714 #define OCI_HTYPE_SESSION        9                  /* authentication handle */
    00715 #define OCI_HTYPE_AUTHINFO      OCI_HTYPE_SESSION  /* SessionGet auth handle */
    00716 #define OCI_HTYPE_TRANS         10                     /* transaction handle */
    00717 #define OCI_HTYPE_COMPLEXOBJECT 11        /* complex object retrieval handle */
    00718 #define OCI_HTYPE_SECURITY      12                        /* security handle */
    00719 #define OCI_HTYPE_SUBSCRIPTION  13                    /* subscription handle */
    00720 #define OCI_HTYPE_DIRPATH_CTX   14                    /* direct path context */
    00721 #define OCI_HTYPE_DIRPATH_COLUMN_ARRAY 15        /* direct path column array */
    00722 #define OCI_HTYPE_DIRPATH_STREAM       16              /* direct path stream */
    00723 #define OCI_HTYPE_PROC                 17                  /* process handle */
    00724 #define OCI_HTYPE_DIRPATH_FN_CTX       18    /* direct path function context */
    00725 #define OCI_HTYPE_DIRPATH_FN_COL_ARRAY 19          /* dp object column array */
    00726 #define OCI_HTYPE_XADSESSION    20                  /* access driver session */
    00727 #define OCI_HTYPE_XADTABLE      21                    /* access driver table */
    00728 #define OCI_HTYPE_XADFIELD      22                    /* access driver field */
    00729 #define OCI_HTYPE_XADGRANULE    23                  /* access driver granule */
    00730 #define OCI_HTYPE_XADRECORD     24                   /* access driver record */
    00731 #define OCI_HTYPE_XADIO         25                      /* access driver I/O */
    00732 #define OCI_HTYPE_CPOOL         26                 /* connection pool handle */
    00733 #define OCI_HTYPE_SPOOL         27                    /* session pool handle */
    00734
    00735 #define OCI_HTYPE_LAST          27            /* last value of a handle type */
    00736
    00737 /*---------------------------------------------------------------------------*/
    00738
    00739
    00740 /*-------------------------Descriptor Types----------------------------------*/
    00741                                     /* descriptor values range from 50 - 255 */
    00742 #define OCI_DTYPE_FIRST 50                 /* start value of descriptor type */
    00743 #define OCI_DTYPE_LOB 50                                     /* lob  locator */
    00744 #define OCI_DTYPE_SNAP 51                             /* snapshot descriptor */
    00745 #define OCI_DTYPE_RSET 52                           /* result set descriptor */
    00746 #define OCI_DTYPE_PARAM 53  /* a parameter descriptor obtained from ocigparm */
    00747 #define OCI_DTYPE_ROWID  54                              /* rowid descriptor */
    00748 #define OCI_DTYPE_COMPLEXOBJECTCOMP  55
    00749                                       /* complex object retrieval descriptor */
    00750 #define OCI_DTYPE_FILE 56                                /* File Lob locator */
    00751 #define OCI_DTYPE_AQENQ_OPTIONS 57                        /* enqueue options */
    00752 #define OCI_DTYPE_AQDEQ_OPTIONS 58                        /* dequeue options */
    00753 #define OCI_DTYPE_AQMSG_PROPERTIES 59                  /* message properties */
    00754 #define OCI_DTYPE_AQAGENT 60                                     /* aq agent */
    00755 #define OCI_DTYPE_LOCATOR 61                                  /* LOB locator */
    00756 #define OCI_DTYPE_INTERVAL_YM 62                      /* Interval year month */
    00757 #define OCI_DTYPE_INTERVAL_DS 63                      /* Interval day second */
    00758 #define OCI_DTYPE_AQNFY_DESCRIPTOR  64               /* AQ notify descriptor */
    00759 #define OCI_DTYPE_DATE 65                            /* Date */
    00760 #define OCI_DTYPE_TIME 66                            /* Time */
    00761 #define OCI_DTYPE_TIME_TZ 67                         /* Time with timezone */
    00762 #define OCI_DTYPE_TIMESTAMP 68                       /* Timestamp */
    00763 #define OCI_DTYPE_TIMESTAMP_TZ 69                /* Timestamp with timezone */
    00764 #define OCI_DTYPE_TIMESTAMP_LTZ 70             /* Timestamp with local tz */
    00765 #define OCI_DTYPE_UCB           71               /* user callback descriptor */
    00766 #define OCI_DTYPE_SRVDN         72              /* server DN list descriptor */
    00767 #define OCI_DTYPE_SIGNATURE     73                              /* signature */
    00768 #define OCI_DTYPE_RESERVED_1    74              /* reserved for internal use */
    00769 #define OCI_DTYPE_LAST          74        /* last value of a descriptor type */
    00770
    00771 /*---------------------------------------------------------------------------*/
    00772
    00773 /*--------------------------------LOB types ---------------------------------*/
    00774 #define OCI_TEMP_BLOB 1                /* LOB type - BLOB ------------------ */
    00775 #define OCI_TEMP_CLOB 2                /* LOB type - CLOB ------------------ */
    00776 /*---------------------------------------------------------------------------*/
    00777
    00778 /*-------------------------Object Ptr Types----------------------------------*/
    00779 #define OCI_OTYPE_NAME 1                                      /* object name */
    00780 #define OCI_OTYPE_REF  2                                       /* REF to TDO */
    00781 #define OCI_OTYPE_PTR  3                                       /* PTR to TDO */
    00782 /*---------------------------------------------------------------------------*/
    00783
    00784 /*=============================Attribute Types===============================*/
    00785 /*
    00786    Note: All attributes are global.  New attibutes should be added to the end
    00787    of the list. Before you add an attribute see if an existing one can be
    00788    used for your handle.
    00789
    00790    If you see any holes please use the holes first.
    00791
    00792 */
    00793 /*===========================================================================*/
    00794
    00795
    00796 #define OCI_ATTR_FNCODE  1                          /* the OCI function code */
    00797 #define OCI_ATTR_OBJECT   2 /* is the environment initialized in object mode */
    00798 #define OCI_ATTR_NONBLOCKING_MODE  3                    /* non blocking mode */
    00799 #define OCI_ATTR_SQLCODE  4                                  /* the SQL verb */
    00800 #define OCI_ATTR_ENV  5                            /* the environment handle */
    00801 #define OCI_ATTR_SERVER 6                               /* the server handle */
    00802 #define OCI_ATTR_SESSION 7                        /* the user session handle */
    00803 #define OCI_ATTR_TRANS   8                         /* the transaction handle */
    00804 #define OCI_ATTR_ROW_COUNT   9                  /* the rows processed so far */
    00805 #define OCI_ATTR_SQLFNCODE 10               /* the SQL verb of the statement */
    00806 #define OCI_ATTR_PREFETCH_ROWS  11    /* sets the number of rows to prefetch */
    00807 #define OCI_ATTR_NESTED_PREFETCH_ROWS 12 /* the prefetch rows of nested table*/
    00808 #define OCI_ATTR_PREFETCH_MEMORY 13         /* memory limit for rows fetched */
    00809 #define OCI_ATTR_NESTED_PREFETCH_MEMORY 14   /* memory limit for nested rows */
    00810 #define OCI_ATTR_CHAR_COUNT  15
    00811                     /* this specifies the bind and define size in characters */
    00812 #define OCI_ATTR_PDSCL   16                          /* packed decimal scale */
    00813 #define OCI_ATTR_FSPRECISION OCI_ATTR_PDSCL
    00814                                           /* fs prec for datetime data types */
    00815 #define OCI_ATTR_PDPRC   17                         /* packed decimal format */
    00816 #define OCI_ATTR_LFPRECISION OCI_ATTR_PDPRC
    00817                                           /* fs prec for datetime data types */
    00818 #define OCI_ATTR_PARAM_COUNT 18       /* number of column in the select list */
    00819 #define OCI_ATTR_ROWID   19                                     /* the rowid */
    00820 #define OCI_ATTR_CHARSET  20                      /* the character set value */
    00821 #define OCI_ATTR_NCHAR   21                                    /* NCHAR type */
    00822 #define OCI_ATTR_USERNAME 22                           /* username attribute */
    00823 #define OCI_ATTR_PASSWORD 23                           /* password attribute */
    00824 #define OCI_ATTR_STMT_TYPE   24                            /* statement type */
    00825 #define OCI_ATTR_INTERNAL_NAME   25             /* user friendly global name */
    00826 #define OCI_ATTR_EXTERNAL_NAME   26      /* the internal name for global txn */
    00827 #define OCI_ATTR_XID     27           /* XOPEN defined global transaction id */
    00828 #define OCI_ATTR_TRANS_LOCK 28                                            /* */
    00829 #define OCI_ATTR_TRANS_NAME 29    /* string to identify a global transaction */
    00830 #define OCI_ATTR_HEAPALLOC 30                /* memory allocated on the heap */
    00831 #define OCI_ATTR_CHARSET_ID 31                           /* Character Set ID */
    00832 #define OCI_ATTR_CHARSET_FORM 32                       /* Character Set Form */
    00833 #define OCI_ATTR_MAXDATA_SIZE 33       /* Maximumsize of data on the server  */
    00834 #define OCI_ATTR_CACHE_OPT_SIZE 34              /* object cache optimal size */
    00835 #define OCI_ATTR_CACHE_MAX_SIZE 35   /* object cache maximum size percentage */
    00836 #define OCI_ATTR_PINOPTION 36             /* object cache default pin option */
    00837 #define OCI_ATTR_ALLOC_DURATION 37
    00838                                  /* object cache default allocation duration */
    00839 #define OCI_ATTR_PIN_DURATION 38        /* object cache default pin duration */
    00840 #define OCI_ATTR_FDO          39       /* Format Descriptor object attribute */
    00841 #define OCI_ATTR_POSTPROCESSING_CALLBACK 40
    00842                                          /* Callback to process outbind data */
    00843 #define OCI_ATTR_POSTPROCESSING_CONTEXT 41
    00844                                  /* Callback context to process outbind data */
    00845 #define OCI_ATTR_ROWS_RETURNED 42
    00846                /* Number of rows returned in current iter - for Bind handles */
    00847 #define OCI_ATTR_FOCBK        43              /* Failover Callback attribute */
    00848 #define OCI_ATTR_IN_V8_MODE   44 /* is the server/service context in V8 mode */
    00849 #define OCI_ATTR_LOBEMPTY     45                              /* empty lob ? */
    00850 #define OCI_ATTR_SESSLANG     46                  /* session language handle */
    00851
    00852 #define OCI_ATTR_VISIBILITY             47                     /* visibility */
    00853 #define OCI_ATTR_RELATIVE_MSGID         48            /* relative message id */
    00854 #define OCI_ATTR_SEQUENCE_DEVIATION     49             /* sequence deviation */
    00855
    00856 #define OCI_ATTR_CONSUMER_NAME          50                  /* consumer name */
    00857 #define OCI_ATTR_DEQ_MODE               51                   /* dequeue mode */
    00858 #define OCI_ATTR_NAVIGATION             52                     /* navigation */
    00859 #define OCI_ATTR_WAIT                   53                           /* wait */
    00860 #define OCI_ATTR_DEQ_MSGID              54             /* dequeue message id */
    00861
    00862 #define OCI_ATTR_PRIORITY               55                       /* priority */
    00863 #define OCI_ATTR_DELAY                  56                          /* delay */
    00864 #define OCI_ATTR_EXPIRATION             57                     /* expiration */
    00865 #define OCI_ATTR_CORRELATION            58                 /* correlation id */
    00866 #define OCI_ATTR_ATTEMPTS               59                  /* # of attempts */
    00867 #define OCI_ATTR_RECIPIENT_LIST         60                 /* recipient list */
    00868 #define OCI_ATTR_EXCEPTION_QUEUE        61           /* exception queue name */
    00869 #define OCI_ATTR_ENQ_TIME               62 /* enqueue time (only OCIAttrGet) */
    00870 #define OCI_ATTR_MSG_STATE              63/* message state (only OCIAttrGet) */
    00871                                                    /* NOTE: 64-66 used below */
    00872 #define OCI_ATTR_AGENT_NAME             64                     /* agent name */
    00873 #define OCI_ATTR_AGENT_ADDRESS          65                  /* agent address */
    00874 #define OCI_ATTR_AGENT_PROTOCOL         66                 /* agent protocol */
    00875 #define OCI_ATTR_USER_PROPERTY          67                  /* user property */
    00876 #define OCI_ATTR_SENDER_ID              68                      /* sender id */
    00877 #define OCI_ATTR_ORIGINAL_MSGID         69            /* original message id */
    00878
    00879 #define OCI_ATTR_QUEUE_NAME             70                     /* queue name */
    00880 #define OCI_ATTR_NFY_MSGID              71                     /* message id */
    00881 #define OCI_ATTR_MSG_PROP               72             /* message properties */
    00882
    00883 #define OCI_ATTR_NUM_DML_ERRORS         73       /* num of errs in array DML */
    00884 #define OCI_ATTR_DML_ROW_OFFSET         74        /* row offset in the array */
    00885
    00886               /* AQ array error handling uses DML method of accessing errors */
    00887 #define OCI_ATTR_AQ_NUM_ERRORS          OCI_ATTR_NUM_DML_ERRORS
    00888 #define OCI_ATTR_AQ_ERROR_INDEX         OCI_ATTR_DML_ROW_OFFSET
    00889
    00890 #define OCI_ATTR_DATEFORMAT             75     /* default date format string */
    00891 #define OCI_ATTR_BUF_ADDR               76                 /* buffer address */
    00892 #define OCI_ATTR_BUF_SIZE               77                    /* buffer size */
    00893 #define OCI_ATTR_DIRPATH_MODE           78  /* mode of direct path operation */
    00894 #define OCI_ATTR_DIRPATH_NOLOG          79               /* nologging option */
    00895 #define OCI_ATTR_DIRPATH_PARALLEL       80     /* parallel (temp seg) option */
    00896 #define OCI_ATTR_NUM_ROWS               81 /* number of rows in column array */
    00897                                   /* NOTE that OCI_ATTR_NUM_COLS is a column
    00898                                    * array attribute too.
    00899                                    */
    00900 #define OCI_ATTR_COL_COUNT              82        /* columns of column array
    00901                                                      processed so far.       */
    00902 #define OCI_ATTR_STREAM_OFFSET          83  /* str off of last row processed */
    00903 #define OCI_ATTR_SHARED_HEAPALLOC       84    /* Shared Heap Allocation Size */
    00904
    00905 #define OCI_ATTR_SERVER_GROUP           85              /* server group name */
    00906
    00907 #define OCI_ATTR_MIGSESSION             86   /* migratable session attribute */
    00908
    00909 #define OCI_ATTR_NOCACHE                87                 /* Temporary LOBs */
    00910
    00911 #define OCI_ATTR_MEMPOOL_SIZE           88                      /* Pool Size */
    00912 #define OCI_ATTR_MEMPOOL_INSTNAME       89                  /* Instance name */
    00913 #define OCI_ATTR_MEMPOOL_APPNAME        90               /* Application name */
    00914 #define OCI_ATTR_MEMPOOL_HOMENAME       91            /* Home Directory name */
    00915 #define OCI_ATTR_MEMPOOL_MODEL          92     /* Pool Model (proc,thrd,both)*/
    00916 #define OCI_ATTR_MODES                  93                          /* Modes */
    00917
    00918 #define OCI_ATTR_SUBSCR_NAME            94           /* name of subscription */
    00919 #define OCI_ATTR_SUBSCR_CALLBACK        95            /* associated callback */
    00920 #define OCI_ATTR_SUBSCR_CTX             96    /* associated callback context */
    00921 #define OCI_ATTR_SUBSCR_PAYLOAD         97             /* associated payload */
    00922 #define OCI_ATTR_SUBSCR_NAMESPACE       98           /* associated namespace */
    00923
    00924 #define OCI_ATTR_PROXY_CREDENTIALS      99         /* Proxy user credentials */
    00925 #define OCI_ATTR_INITIAL_CLIENT_ROLES  100       /* Initial client role list */
    00926
    00927 #define OCI_ATTR_UNK              101                   /* unknown attribute */
    00928 #define OCI_ATTR_NUM_COLS         102                   /* number of columns */
    00929 #define OCI_ATTR_LIST_COLUMNS     103        /* parameter of the column list */
    00930 #define OCI_ATTR_RDBA             104           /* DBA of the segment header */
    00931 #define OCI_ATTR_CLUSTERED        105      /* whether the table is clustered */
    00932 #define OCI_ATTR_PARTITIONED      106    /* whether the table is partitioned */
    00933 #define OCI_ATTR_INDEX_ONLY       107     /* whether the table is index only */
    00934 #define OCI_ATTR_LIST_ARGUMENTS   108      /* parameter of the argument list */
    00935 #define OCI_ATTR_LIST_SUBPROGRAMS 109    /* parameter of the subprogram list */
    00936 #define OCI_ATTR_REF_TDO          110          /* REF to the type descriptor */
    00937 #define OCI_ATTR_LINK             111              /* the database link name */
    00938 #define OCI_ATTR_MIN              112                       /* minimum value */
    00939 #define OCI_ATTR_MAX              113                       /* maximum value */
    00940 #define OCI_ATTR_INCR             114                     /* increment value */
    00941 #define OCI_ATTR_CACHE            115   /* number of sequence numbers cached */
    00942 #define OCI_ATTR_ORDER            116     /* whether the sequence is ordered */
    00943 #define OCI_ATTR_HW_MARK          117                     /* high-water mark */
    00944 #define OCI_ATTR_TYPE_SCHEMA      118                  /* type's schema name */
    00945 #define OCI_ATTR_TIMESTAMP        119             /* timestamp of the object */
    00946 #define OCI_ATTR_NUM_ATTRS        120                /* number of sttributes */
    00947 #define OCI_ATTR_NUM_PARAMS       121                /* number of parameters */
    00948 #define OCI_ATTR_OBJID            122       /* object id for a table or view */
    00949 #define OCI_ATTR_PTYPE            123           /* type of info described by */
    00950 #define OCI_ATTR_PARAM            124                /* parameter descriptor */
    00951 #define OCI_ATTR_OVERLOAD_ID      125     /* overload ID for funcs and procs */
    00952 #define OCI_ATTR_TABLESPACE       126                    /* table name space */
    00953 #define OCI_ATTR_TDO              127                       /* TDO of a type */
    00954 #define OCI_ATTR_LTYPE            128                           /* list type */
    00955 #define OCI_ATTR_PARSE_ERROR_OFFSET 129                /* Parse Error offset */
    00956 #define OCI_ATTR_IS_TEMPORARY     130          /* whether table is temporary */
    00957 #define OCI_ATTR_IS_TYPED         131              /* whether table is typed */
    00958 #define OCI_ATTR_DURATION         132         /* duration of temporary table */
    00959 #define OCI_ATTR_IS_INVOKER_RIGHTS 133                  /* is invoker rights */
    00960 #define OCI_ATTR_OBJ_NAME         134           /* top level schema obj name */
    00961 #define OCI_ATTR_OBJ_SCHEMA       135                         /* schema name */
    00962 #define OCI_ATTR_OBJ_ID           136          /* top level schema object id */
    00963
    00964 #define OCI_ATTR_DIRPATH_SORTED_INDEX    137 /* index that data is sorted on */
    00965
    00966             /* direct path index maint method (see oci8dp.h) */
    00967 #define OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD 138
    00968
    00969     /* parallel load: db file, initial and next extent sizes */
    00970
    00971 #define OCI_ATTR_DIRPATH_FILE               139      /* DB file to load into */
    00972 #define OCI_ATTR_DIRPATH_STORAGE_INITIAL    140       /* initial extent size */
    00973 #define OCI_ATTR_DIRPATH_STORAGE_NEXT       141          /* next extent size */
    00974
    00975
    00976 #define OCI_ATTR_TRANS_TIMEOUT              142       /* transaction timeout */
    00977 #define OCI_ATTR_SERVER_STATUS              143/* state of the server handle */
    00978 #define OCI_ATTR_STATEMENT                  144 /* statement txt in stmt hdl */
    00979
    00980             /* direct path index maint method (see oci8dp.h) */
    00981 #define OCI_ATTR_DIRPATH_SKIPINDEX_METHOD   145
    00982
    00983 #define OCI_ATTR_DEQCOND                    146         /* dequeue condition */
    00984 #define OCI_ATTR_RESERVED_2                 147                  /* reserved */
    00985
    00986
    00987 #define OCI_ATTR_SUBSCR_RECPT               148 /* recepient of subscription */
    00988 #define OCI_ATTR_SUBSCR_RECPTPROTO          149    /* protocol for recepient */
    00989
    00990     /* 8.2 dpapi support of ADTs */
    00991 #define OCI_ATTR_DIRPATH_EXPR_TYPE  150        /* expr type of OCI_ATTR_NAME */
    00992
    00993 #define OCI_ATTR_DIRPATH_INPUT      151    /* input in text or stream format */
    00994 #define OCI_DIRPATH_INPUT_TEXT     0x01
    00995 #define OCI_DIRPATH_INPUT_STREAM   0x02
    00996 #define OCI_DIRPATH_INPUT_UNKNOWN  0x04
    00997
    00998 #define OCI_ATTR_LDAP_HOST       153              /* LDAP host to connect to */
    00999 #define OCI_ATTR_LDAP_PORT       154              /* LDAP port to connect to */
    01000 #define OCI_ATTR_BIND_DN         155                              /* bind DN */
    01001 #define OCI_ATTR_LDAP_CRED       156       /* credentials to connect to LDAP */
    01002 #define OCI_ATTR_WALL_LOC        157               /* client wallet location */
    01003 #define OCI_ATTR_LDAP_AUTH       158           /* LDAP authentication method */
    01004 #define OCI_ATTR_LDAP_CTX        159        /* LDAP adminstration context DN */
    01005 #define OCI_ATTR_SERVER_DNS      160      /* list of registration server DNs */
    01006
    01007 #define OCI_ATTR_DN_COUNT        161             /* the number of server DNs */
    01008 #define OCI_ATTR_SERVER_DN       162                  /* server DN attribute */
    01009
    01010 #define OCI_ATTR_MAXCHAR_SIZE               163     /* max char size of data */
    01011
    01012 #define OCI_ATTR_CURRENT_POSITION           164 /* for scrollable result sets*/
    01013
    01014 /* Added to get attributes for ref cursor to statement handle */
    01015 #define OCI_ATTR_RESERVED_3                 165                  /* reserved */
    01016 #define OCI_ATTR_RESERVED_4                 166                  /* reserved */
    01017 #define OCI_ATTR_DIRPATH_FN_CTX             167  /* fn ctx ADT attrs or args */
    01018 #define OCI_ATTR_DIGEST_ALGO                168          /* digest algorithm */
    01019 #define OCI_ATTR_CERTIFICATE                169               /* certificate */
    01020 #define OCI_ATTR_SIGNATURE_ALGO             170       /* signature algorithm */
    01021 #define OCI_ATTR_CANONICAL_ALGO             171    /* canonicalization algo. */
    01022 #define OCI_ATTR_PRIVATE_KEY                172               /* private key */
    01023 #define OCI_ATTR_DIGEST_VALUE               173              /* digest value */
    01024 #define OCI_ATTR_SIGNATURE_VAL              174           /* signature value */
    01025 #define OCI_ATTR_SIGNATURE                  175                 /* signature */
    01026
    01027 /* attributes for setting OCI stmt caching specifics in svchp */
    01028 #define OCI_ATTR_STMTCACHESIZE              176     /* size of the stm cache */
    01029
    01030 /* --------------------------- Connection Pool Attributes ------------------ */
    01031 #define OCI_ATTR_CONN_NOWAIT               178
    01032 #define OCI_ATTR_CONN_BUSY_COUNT            179
    01033 #define OCI_ATTR_CONN_OPEN_COUNT            180
    01034 #define OCI_ATTR_CONN_TIMEOUT               181
    01035 #define OCI_ATTR_STMT_STATE                 182
    01036 #define OCI_ATTR_CONN_MIN                   183
    01037 #define OCI_ATTR_CONN_MAX                   184
    01038 #define OCI_ATTR_CONN_INCR                  185
    01039
    01040 #define OCI_ATTR_DIRPATH_OID                187   /* loading into an OID col */
    01041
    01042 #define OCI_ATTR_NUM_OPEN_STMTS             188     /* open stmts in session */
    01043 #define OCI_ATTR_DESCRIBE_NATIVE            189  /* get native info via desc */
    01044
    01045 #define OCI_ATTR_BIND_COUNT                 190   /* number of bind postions */
    01046 #define OCI_ATTR_HANDLE_POSITION            191 /* pos of bind/define handle */
    01047 #define OCI_ATTR_RESERVED_5                 192                 /* reserverd */
    01048 #define OCI_ATTR_SERVER_BUSY                193 /* call in progress on server*/
    01049
    01050 #define OCI_ATTR_DIRPATH_SID                194   /* loading into an SID col */
    01051 /* notification presentation for recipient */
    01052 #define OCI_ATTR_SUBSCR_RECPTPRES           195
    01053 #define OCI_ATTR_TRANSFORMATION             196 /* AQ message transformation */
    01054
    01055 #define OCI_ATTR_ROWS_FETCHED               197 /* rows fetched in last call */
    01056
    01057 /* --------------------------- Snapshot attributes ------------------------- */
    01058 #define OCI_ATTR_SCN_BASE                   198             /* snapshot base */
    01059 #define OCI_ATTR_SCN_WRAP                   199             /* snapshot wrap */
    01060
    01061 /* --------------------------- Miscellanous attributes --------------------- */
    01062 #define OCI_ATTR_RESERVED_6                 200                  /* reserved */
    01063 #define OCI_ATTR_READONLY_TXN               201           /* txn is readonly */
    01064 #define OCI_ATTR_RESERVED_7                 202                  /* reserved */
    01065 #define OCI_ATTR_ERRONEOUS_COLUMN           203 /* position of erroneous col */
    01066 #define OCI_ATTR_RESERVED_8                 204                  /* reserved */
    01067
    01068 /* -------------------- 8.2 dpapi support of ADTs continued ---------------- */
    01069 #define OCI_ATTR_DIRPATH_OBJ_CONSTR         206 /* obj type of subst obj tbl */
    01070 #define OCI_ATTR_INST_TYPE                  207      /* oracle instance type */
    01071 /******USED attribute 208 for  OCI_ATTR_SPOOL_STMTCACHESIZE*******************/
    01072
    01073 #define OCI_ATTR_ENV_UTF16                  209     /* is env in utf16 mode? */
    01074 #define OCI_ATTR_RESERVED_9                 210          /* reserved for TMZ */
    01075 #define OCI_ATTR_RESERVED_10                211                  /* reserved */
    01076
    01077 /* Attr to allow setting of the stream version PRIOR to calling Prepare */
    01078 #define OCI_ATTR_DIRPATH_STREAM_VERSION     212      /* version of the stream*/
    01079
    01080 #define OCIP_ATTR_DIRPATH_VARRAY_INDEX      213       /* varray index column */
    01081
    01082 #define OCI_ATTR_RESERVED_12                214                  /* reserved */
    01083 #define OCI_ATTR_RESERVED_13                215                  /* reserved */
    01084 #define OCI_ATTR_IS_EXTERNAL                216 /* whether table is external */
    01085
    01086
    01087 /* -------------------------- Statement Handle Attributes ------------------ */
    01088
    01089 #define OCI_ATTR_RESERVED_15                217                  /* reserved */
    01090 #define OCI_ATTR_STMT_IS_RETURNING          218 /* stmt has returning clause */
    01091 #define OCI_ATTR_RESERVED_16                219                  /* reserved */
    01092 #define OCI_ATTR_RESERVED_17                220                  /* reserved */
    01093 #define OCI_ATTR_RESERVED_18                221                  /* reserved */
    01094
    01095 /* --------------------------- session attributes ---------------------------*/
    01096 #define OCI_ATTR_RESERVED_19                222                  /* reserved */
    01097
    01098 /*------------- Supported Values for Direct Path Stream Version -------------*/
    01099 #define OCI_DIRPATH_STREAM_VERSION_1        100
    01100 #define OCI_DIRPATH_STREAM_VERSION_2        200
    01101 #define OCI_DIRPATH_STREAM_VERSION_3        300                   /* default */
    01102
    01103 /* ----------------------- row callback attributes ------------------------- */
    01104 #define OCI_ATTR_BIND_ROWCBK                301         /* bind row callback */
    01105 #define OCI_ATTR_BIND_ROWCTX                302 /* ctx for bind row callback */
    01106 #define OCI_ATTR_SKIP_BUFFER                303  /* skip buffer in array ops */
    01107
    01108 /* -------- client side character and national character set ids ----------- */
    01109 #define OCI_ATTR_ENV_CHARSET_ID   OCI_ATTR_CHARSET_ID   /* charset id in env */
    01110 #define OCI_ATTR_ENV_NCHARSET_ID  OCI_ATTR_NCHARSET_ID /* ncharset id in env */
    01111
    01112
    01113 /*------------- Supported Values for protocol for recepient -----------------*/
    01114 #define OCI_SUBSCR_PROTO_OCI                0                         /* oci */
    01115 #define OCI_SUBSCR_PROTO_MAIL               1                        /* mail */
    01116 #define OCI_SUBSCR_PROTO_SERVER             2                      /* server */
    01117 #define OCI_SUBSCR_PROTO_HTTP               3                        /* http */
    01118 #define OCI_SUBSCR_PROTO_MAX                4       /* max current protocols */
    01119
    01120 /*------------- Supported Values for presentation for recepient -------------*/
    01121 #define OCI_SUBSCR_PRES_DEFAULT             0                     /* default */
    01122 #define OCI_SUBSCR_PRES_XML                 1                         /* xml */
    01123 #define OCI_SUBSCR_PRES_MAX                 2   /* max current presentations */
    01124
    01125
    01126 /* ----- Temporary attribute value for UCS2/UTF16 character set ID -------- */
    01127 #define OCI_UCS2ID            1000                        /* UCS2 charset ID */
    01128 #define OCI_UTF16ID           1000                       /* UTF16 charset ID */
    01129
    01130 /*============================== End OCI Attribute Types ====================*/
    01131
    01132 /*---------------- Server Handle Attribute Values ---------------------------*/
    01133
    01134 /* OCI_ATTR_SERVER_STATUS */
    01135 #define OCI_SERVER_NOT_CONNECTED        0x0
    01136 #define OCI_SERVER_NORMAL               0x1
    01137
    01138 /*---------------------------------------------------------------------------*/
    01139
    01140 /*------------------------- Supported Namespaces  ---------------------------*/
    01141 #define OCI_SUBSCR_NAMESPACE_ANONYMOUS   0            /* Anonymous Namespace */
    01142 #define OCI_SUBSCR_NAMESPACE_AQ          1                /* Advanced Queues */
    01143 #define OCI_SUBSCR_NAMESPACE_MAX         2          /* Max Name Space Number */
    01144
    01145
    01146 /*-------------------------Credential Types----------------------------------*/
    01147 #define OCI_CRED_RDBMS      1                  /* database username/password */
    01148 #define OCI_CRED_EXT        2             /* externally provided credentials */
    01149 #define OCI_CRED_PROXY      3                        /* proxy authentication */
    01150 #define OCI_CRED_RESERVED_1 4                                    /* reserved */
    01151 #define OCI_CRED_RESERVED_2 5                                    /* reserved */
    01152 /*---------------------------------------------------------------------------*/
    01153
    01154 /*------------------------Error Return Values--------------------------------*/
    01155 #define OCI_SUCCESS 0                      /* maps to SQL_SUCCESS of SAG CLI */
    01156 #define OCI_SUCCESS_WITH_INFO 1             /* maps to SQL_SUCCESS_WITH_INFO */
    01157 #define OCI_RESERVED_FOR_INT_USE 200                            /* reserved */
    01158 #define OCI_NO_DATA 100                               /* maps to SQL_NO_DATA */
    01159 #define OCI_ERROR -1                                    /* maps to SQL_ERROR */
    01160 #define OCI_INVALID_HANDLE -2                  /* maps to SQL_INVALID_HANDLE */
    01161 #define OCI_NEED_DATA 99                            /* maps to SQL_NEED_DATA */
    01162 #define OCI_STILL_EXECUTING -3123                   /* OCI would block error */
    01163 /*---------------------------------------------------------------------------*/
    01164
    01165 /*--------------------- User Callback Return Values -------------------------*/
    01166 #define OCI_CONTINUE -24200    /* Continue with the body of the OCI function */
    01167 #define OCI_ROWCBK_DONE   -24201              /* done with user row callback */
    01168 /*---------------------------------------------------------------------------*/
    01169
    01170 /*------------------DateTime and Interval check Error codes------------------*/
    01171
    01172 /* DateTime Error Codes used by OCIDateTimeCheck() */
    01173 #define   OCI_DT_INVALID_DAY         0x1                          /* Bad day */
    01174 #define   OCI_DT_DAY_BELOW_VALID     0x2      /* Bad DAy Low/high bit (1=low)*/
    01175 #define   OCI_DT_INVALID_MONTH       0x4                       /*  Bad MOnth */
    01176 #define   OCI_DT_MONTH_BELOW_VALID   0x8   /* Bad MOnth Low/high bit (1=low) */
    01177 #define   OCI_DT_INVALID_YEAR        0x10                        /* Bad YeaR */
    01178 #define   OCI_DT_YEAR_BELOW_VALID    0x20  /*  Bad YeaR Low/high bit (1=low) */
    01179 #define   OCI_DT_INVALID_HOUR        0x40                       /*  Bad HouR */
    01180 #define   OCI_DT_HOUR_BELOW_VALID    0x80   /* Bad HouR Low/high bit (1=low) */
    01181 #define   OCI_DT_INVALID_MINUTE      0x100                     /* Bad MiNute */
    01182 #define   OCI_DT_MINUTE_BELOW_VALID  0x200 /*Bad MiNute Low/high bit (1=low) */
    01183 #define   OCI_DT_INVALID_SECOND      0x400                    /*  Bad SeCond */
    01184 #define   OCI_DT_SECOND_BELOW_VALID  0x800  /*bad second Low/high bit (1=low)*/
    01185 #define   OCI_DT_DAY_MISSING_FROM_1582 0x1000
    01186                                  /*  Day is one of those "missing" from 1582 */
    01187 #define   OCI_DT_YEAR_ZERO           0x2000       /* Year may not equal zero */
    01188 #define   OCI_DT_INVALID_TIMEZONE    0x4000                 /*  Bad Timezone */
    01189 #define   OCI_DT_INVALID_FORMAT      0x8000         /* Bad date format input */
    01190
    01191
    01192 /* Interval Error Codes used by OCIInterCheck() */
    01193 #define   OCI_INTER_INVALID_DAY         0x1                       /* Bad day */
    01194 #define   OCI_INTER_DAY_BELOW_VALID     0x2  /* Bad DAy Low/high bit (1=low) */
    01195 #define   OCI_INTER_INVALID_MONTH       0x4                     /* Bad MOnth */
    01196 #define   OCI_INTER_MONTH_BELOW_VALID   0x8 /*Bad MOnth Low/high bit (1=low) */
    01197 #define   OCI_INTER_INVALID_YEAR        0x10                     /* Bad YeaR */
    01198 #define   OCI_INTER_YEAR_BELOW_VALID    0x20 /*Bad YeaR Low/high bit (1=low) */
    01199 #define   OCI_INTER_INVALID_HOUR        0x40                     /* Bad HouR */
    01200 #define   OCI_INTER_HOUR_BELOW_VALID    0x80 /*Bad HouR Low/high bit (1=low) */
    01201 #define   OCI_INTER_INVALID_MINUTE      0x100                  /* Bad MiNute */
    01202 #define   OCI_INTER_MINUTE_BELOW_VALID  0x200
    01203                                             /*Bad MiNute Low/high bit(1=low) */
    01204 #define   OCI_INTER_INVALID_SECOND      0x400                  /* Bad SeCond */
    01205 #define   OCI_INTER_SECOND_BELOW_VALID  0x800
    01206                                             /*bad second Low/high bit(1=low) */
    01207 #define   OCI_INTER_INVALID_FRACSEC     0x1000      /* Bad Fractional second */
    01208 #define   OCI_INTER_FRACSEC_BELOW_VALID 0x2000
    01209                                            /* Bad fractional second Low/High */
    01210
    01211
    01212 /*------------------------Parsing Syntax Types-------------------------------*/
    01213 #define OCI_V7_SYNTAX 2       /* V815 language - for backwards compatibility */
    01214 #define OCI_V8_SYNTAX 3       /* V815 language - for backwards compatibility */
    01215 #define OCI_NTV_SYNTAX 1    /* Use what so ever is the native lang of server */
    01216                      /* these values must match the values defined in kpul.h */
    01217 /*---------------------------------------------------------------------------*/
    01218
    01219 /*------------------------Scrollable Cursor Fetch Options-------------------
    01220  * For non-scrollable cursor, the only valid (and default) orientation is
    01221  * OCI_FETCH_NEXT
    01222  */
    01223 #define OCI_FETCH_CURRENT 0x01               /* refetching current position  */
    01224 #define OCI_FETCH_NEXT 0x02                                      /* next row */
    01225 #define OCI_FETCH_FIRST 0x04                  /* first row of the result set */
    01226 #define OCI_FETCH_LAST 0x08                /* the last row of the result set */
    01227 #define OCI_FETCH_PRIOR 0x10         /* the previous row relative to current */
    01228 #define OCI_FETCH_ABSOLUTE 0x20                /* absolute offset from first */
    01229 #define OCI_FETCH_RELATIVE 0x40                /* offset relative to current */
    01230 #define OCI_FETCH_RESERVED_1 0x80                                /* reserved */
    01231
    01232 /*---------------------------------------------------------------------------*/
    01233
    01234 /*------------------------Bind and Define Options----------------------------*/
    01235 #define OCI_SB2_IND_PTR       0x00000001                           /* unused */
    01236 #define OCI_DATA_AT_EXEC      0x00000002             /* data at execute time */
    01237 #define OCI_DYNAMIC_FETCH     0x00000002                /* fetch dynamically */
    01238 #define OCI_PIECEWISE         0x00000004          /* piecewise DMLs or fetch */
    01239 #define OCI_DEFINE_RESERVED_1 0x00000008                         /* reserved */
    01240 #define OCI_BIND_RESERVED_2   0x00000010                         /* reserved */
    01241 #define OCI_DEFINE_RESERVED_2 0x00000020                         /* reserved */
    01242 #define OCI_BIND_SOFT         0x00000040              /* soft bind or define */
    01243 #define OCI_DEFINE_SOFT       0x00000080              /* soft bind or define */
    01244 /*---------------------------------------------------------------------------*/
    01245
    01246 /*-----------------------------  Various Modes ------------------------------*/
    01247 #define OCI_DEFAULT         0x00000000
    01248                           /* the default value for parameters and attributes */
    01249 /*-------------OCIInitialize Modes / OCICreateEnvironment Modes -------------*/
    01250 #define OCI_THREADED        0x00000001      /* appl. in threaded environment */
    01251 #define OCI_OBJECT          0x00000002  /* application in object environment */
    01252 #define OCI_EVENTS          0x00000004  /* application is enabled for events */
    01253 #define OCI_RESERVED1       0x00000008                           /* reserved */
    01254 #define OCI_SHARED          0x00000010  /* the application is in shared mode */
    01255 #define OCI_RESERVED2       0x00000020                           /* reserved */
    01256 /* The following *TWO* are only valid for OCICreateEnvironment call */
    01257 #define OCI_NO_UCB          0x00000040 /* No user callback called during ini */
    01258 #define OCI_NO_MUTEX        0x00000080 /* the environment handle will not be */
    01259                                          /*  protected by a mutex internally */
    01260 #define OCI_SHARED_EXT      0x00000100              /* Used for shared forms */
    01261 /************************** 0x00000200 free **********************************/
    01262 #define OCI_ALWAYS_BLOCKING 0x00000400    /* all connections always blocking */
    01263 /************************** 0x00000800 free **********************************/
    01264 #define OCI_USE_LDAP        0x00001000            /* allow  LDAP connections */
    01265 #define OCI_REG_LDAPONLY    0x00002000              /* only register to LDAP */
    01266 #define OCI_UTF16           0x00004000        /* mode for all UTF16 metadata */
    01267 #define OCI_AFC_PAD_ON      0x00008000
    01268                              /* turn on AFC blank padding when rlenp present */
    01269 #define OCI_ENVCR_RESERVED3 0x00010000                           /* reserved */
    01270 #define OCI_NEW_LENGTH_SEMANTICS  0x00020000   /* adopt new length semantics */
    01271        /* the new length semantics, always bytes, is used by OCIEnvNlsCreate */
    01272 #define OCI_NO_MUTEX_STMT   0x00040000           /* Do not mutex stmt handle */
    01273 #define OCI_MUTEX_ENV_ONLY  0x00080000  /* Mutex only the environment handle */
    01274 #define OCI_STM_RESERVED4   0x00100000                           /* reserved */
    01275
    01276 /*---------------------------------------------------------------------------*/
    01277 /*------------------------OCIConnectionpoolCreate Modes----------------------*/
    01278
    01279 #define OCI_CPOOL_REINITIALIZE 0x111
    01280
    01281 /*---------------------------------------------------------------------------*/
    01282 /*--------------------------------- OCILogon2 Modes -------------------------*/
    01283
    01284 #define OCI_LOGON2_SPOOL       0x0001     /* Use session pool */
    01285 #define OCI_LOGON2_CPOOL       OCI_CPOOL  /* Use connection pool */
    01286 #define OCI_LOGON2_STMTCACHE   0x0004     /* Use Stmt Caching */
    01287 #define OCI_LOGON2_PROXY       0x0008     /* Proxy authentiaction */
    01288
    01289 /*---------------------------------------------------------------------------*/
    01290 /*------------------------- OCISessionPoolCreate Modes ----------------------*/
    01291
    01292 #define OCI_SPC_REINITIALIZE 0x0001   /* Reinitialize the session pool */
    01293 #define OCI_SPC_HOMOGENEOUS  0x0002   /* Session pool is homogeneneous */
    01294 #define OCI_SPC_STMTCACHE    0x0004   /* Session pool has stmt cache */
    01295
    01296 /*---------------------------------------------------------------------------*/
    01297 /*--------------------------- OCISessionGet Modes ---------------------------*/
    01298
    01299 #define OCI_SESSGET_SPOOL      0x0001     /* SessionGet called in SPOOL mode */
    01300 #define OCI_SESSGET_CPOOL      OCI_CPOOL  /* SessionGet called in CPOOL mode */
    01301 #define OCI_SESSGET_STMTCACHE  0x0004                 /* Use statement cache */
    01302 #define OCI_SESSGET_CREDPROXY  0x0008     /* SessionGet called in proxy mode */
    01303 #define OCI_SESSGET_CREDEXT    0x0010
    01304 #define OCI_SESSGET_SPOOL_MATCHANY 0x0020
    01305 /*---------------------------------------------------------------------------*/
    01306 /*------------------------ATTR Values for Session Pool-----------------------*/
    01307 /* Attribute values for OCI_ATTR_SPOOL_GETMODE */
    01308 #define OCI_SPOOL_ATTRVAL_WAIT     0         /* block till you get a session */
    01309 #define OCI_SPOOL_ATTRVAL_NOWAIT   1    /* error out if no session avaliable */
    01310 #define OCI_SPOOL_ATTRVAL_FORCEGET 2  /* get session even if max is exceeded */
    01311
    01312 /*---------------------------------------------------------------------------*/
    01313 /*--------------------------- OCISessionRelease Modes -----------------------*/
    01314
    01315 #define OCI_SESSRLS_DROPSESS 0x0001                    /* Drop the Session */
    01316 #define OCI_SESSRLS_RETAG    0x0002                   /* Retag the session */
    01317
    01318 /*---------------------------------------------------------------------------*/
    01319 /*----------------------- OCISessionPoolDestroy Modes -----------------------*/
    01320
    01321 #define OCI_SPD_FORCE        0x0001       /* Force the sessions to terminate.
    01322                                              Even if there are some busy
    01323                                              sessions close them */
    01324
    01325 /*---------------------------------------------------------------------------*/
    01326 /*----------------------------- Statement States ----------------------------*/
    01327
    01328 #define OCI_STMT_STATE_INITIALIZED  0x0001
    01329 #define OCI_STMT_STATE_EXECUTED     0x0002
    01330 #define OCI_STMT_STATE_END_OF_FETCH 0x0003
    01331
    01332 /*---------------------------------------------------------------------------*/
    01333
    01334 /*----------------------------- OCIMemStats Modes ---------------------------*/
    01335 #define OCI_MEM_INIT        0x01
    01336 #define OCI_MEM_CLN         0x02
    01337 #define OCI_MEM_FLUSH       0x04
    01338 #define OCI_DUMP_HEAP       0x80
    01339
    01340 #define OCI_CLIENT_STATS    0x10
    01341 #define OCI_SERVER_STATS    0x20
    01342
    01343 /*----------------------------- OCIEnvInit Modes ----------------------------*/
    01344 /* NOTE: NO NEW MODES SHOULD BE ADDED HERE BECAUSE THE RECOMMENDED METHOD
    01345  * IS TO USE THE NEW OCICreateEnvironment MODES.
    01346  */
    01347 #define OCI_ENV_NO_UCB 0x01         /* A user callback will not be called in
    01348                                        OCIEnvInit() */
    01349 #define OCI_ENV_NO_MUTEX 0x08 /* the environment handle will not be protected
    01350                                  by a mutex internally */
    01351
    01352 /*---------------------------------------------------------------------------*/
    01353
    01354 /*------------------------ Prepare Modes ------------------------------------*/
    01355 #define OCI_NO_SHARING        0x01      /* turn off statement handle sharing */
    01356 #define OCI_PREP_RESERVED_1   0x02                               /* reserved */
    01357 #define OCI_PREP_AFC_PAD_ON   0x04          /* turn on blank padding for AFC */
    01358 #define OCI_PREP_AFC_PAD_OFF  0x08         /* turn off blank padding for AFC */
    01359 /*---------------------------------------------------------------------------*/
    01360
    01361 /*---------------------------------------------------------------------------*/
    01362
    01363 /*----------------------- Execution Modes -----------------------------------*/
    01364 #define OCI_BATCH_MODE        0x01  /* batch the oci statement for execution */
    01365 #define OCI_EXACT_FETCH       0x02         /* fetch the exact rows specified */
    01366 #define OCI_KEEP_FETCH_STATE  0x04                                 /* unused */
    01367 #define OCI_STMT_SCROLLABLE_READONLY 0x08     /* if result set is scrollable */
    01368 #define OCI_DESCRIBE_ONLY     0x10            /* only describe the statement */
    01369 #define OCI_COMMIT_ON_SUCCESS 0x20        /* commit, if successful execution */
    01370 #define OCI_NON_BLOCKING      0x40                           /* non-blocking */
    01371 #define OCI_BATCH_ERRORS      0x80             /* batch errors in array dmls */
    01372 #define OCI_PARSE_ONLY        0x100              /* only parse the statement */
    01373 #define OCI_EXACT_FETCH_RESERVED_1 0x200                         /* reserved */
    01374 #define OCI_SHOW_DML_WARNINGS 0x400
    01375          /* return OCI_SUCCESS_WITH_INFO for delete/update w/no where clause */
    01376 #define OCI_EXEC_RESERVED_2   0x800                              /* reserved */
    01377 #define OCI_DESC_RESERVED_1   0x1000                             /* reserved */
    01378 #define OCI_EXEC_RESERVED_3   0x2000                             /* reserved */
    01379 #define OCI_EXEC_RESERVED_4   0x4000                             /* reserved */
    01380
    01381 /*---------------------------------------------------------------------------*/
    01382
    01383 /*------------------------Authentication Modes-------------------------------*/
    01384 #define OCI_MIGRATE         0x0001                /* migratable auth context */
    01385 #define OCI_SYSDBA          0x0002               /* for SYSDBA authorization */
    01386 #define OCI_SYSOPER         0x0004              /* for SYSOPER authorization */
    01387 #define OCI_PRELIM_AUTH     0x0008          /* for preliminary authorization */
    01388 #define OCIP_ICACHE         0x0010 /* Private OCI cache mode to notify cache */
    01389 #define OCI_AUTH_RESERVED_1 0x0020                               /* reserved */
    01390 #define OCI_STMT_CACHE      0x0040                /* enable OCI Stmt Caching */
    01391
    01392 /*---------------------------------------------------------------------------*/
    01393
    01394 /*------------------------Session End Modes----------------------------------*/
    01395 #define OCI_SESSEND_RESERVED_1 0x0001                            /* reserved */
    01396 /*---------------------------------------------------------------------------*/
    01397
    01398 /*------------------------Attach Modes---------------------------------------*/
    01399
    01400 /* The following attach modes are the same as the UPI modes defined in
    01401  * UPIDEF.H.  Do not use these values externally.
    01402  */
    01403
    01404 #define OCI_FASTPATH         0x0010              /* Attach in fast path mode */
    01405 #define OCI_ATCH_RESERVED_1  0x0020                              /* reserved */
    01406 #define OCI_ATCH_RESERVED_2  0x0080                              /* reserved */
    01407 #define OCI_ATCH_RESERVED_3  0x0100                              /* reserved */
    01408 #define OCI_CPOOL            0x0200  /* Attach using server handle from pool */
    01409 #define OCI_ATCH_RESERVED_4  0x0400                              /* reserved */
    01410
    01411 /*---------------------OCIStmtPrepare2 Modes---------------------------------*/
    01412 #define OCI_PREP2_CACHE_SEARCHONLY    0x0010                  /* ONly Search */
    01413 #define OCI_PREP2_GET_PLSQL_WARNINGS  0x0020         /* Get PL/SQL warnings  */
    01414
    01415 /*---------------------OCIStmtRelease Modes----------------------------------*/
    01416 #define OCI_STRLS_CACHE_DELETE      0x0010              /* Delete from Cache */
    01417
    01418 /*-----------------------------End Various Modes ----------------------------*/
    01419
    01420 /*------------------------Piece Information----------------------------------*/
    01421 #define OCI_PARAM_IN 0x01                                    /* in parameter */
    01422 #define OCI_PARAM_OUT 0x02                                  /* out parameter */
    01423 /*---------------------------------------------------------------------------*/
    01424
    01425 /*------------------------ Transaction Start Flags --------------------------*/
    01426 /* NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X       */
    01427 #define OCI_TRANS_NEW          0x00000001 /* starts a new transaction branch */
    01428 #define OCI_TRANS_JOIN         0x00000002    /* join an existing transaction */
    01429 #define OCI_TRANS_RESUME       0x00000004         /* resume this transaction */
    01430 #define OCI_TRANS_STARTMASK    0x000000ff
    01431
    01432 #define OCI_TRANS_READONLY     0x00000100   /* starts a readonly transaction */
    01433 #define OCI_TRANS_READWRITE    0x00000200 /* starts a read-write transaction */
    01434 #define OCI_TRANS_SERIALIZABLE 0x00000400
    01435                                         /* starts a serializable transaction */
    01436 #define OCI_TRANS_ISOLMASK     0x0000ff00
    01437
    01438 #define OCI_TRANS_LOOSE        0x00010000        /* a loosely coupled branch */
    01439 #define OCI_TRANS_TIGHT        0x00020000        /* a tightly coupled branch */
    01440 #define OCI_TRANS_TYPEMASK     0x000f0000
    01441
    01442 #define OCI_TRANS_NOMIGRATE    0x00100000      /* non migratable transaction */
    01443 #define OCI_TRANS_SEPARABLE    0x00200000  /* separable transaction (8.1.6+) */
    01444
    01445
    01446 /*---------------------------------------------------------------------------*/
    01447
    01448 /*------------------------ Transaction End Flags ----------------------------*/
    01449 #define OCI_TRANS_TWOPHASE      0x01000000           /* use two phase commit */
    01450 /*---------------------------------------------------------------------------*/
    01451
    01452 /*------------------------- AQ Constants ------------------------------------
    01453  * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
    01454  * The following constants must match the PL/SQL dbms_aq constants
    01455  * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
    01456  */
    01457 /* ------------------------- Visibility flags -------------------------------*/
    01458 #define OCI_ENQ_IMMEDIATE       1   /* enqueue is an independent transaction */
    01459 #define OCI_ENQ_ON_COMMIT       2  /* enqueue is part of current transaction */
    01460
    01461 /* ----------------------- Dequeue mode flags -------------------------------*/
    01462 #define OCI_DEQ_BROWSE          1   /* read message without acquiring a lock */
    01463 #define OCI_DEQ_LOCKED          2   /* read and obtain write lock on message */
    01464 #define OCI_DEQ_REMOVE          3          /* read the message and delete it */
    01465 #define OCI_DEQ_REMOVE_NODATA   4    /* delete message w'o returning payload */
    01466 #define OCI_DEQ_GETSIG          5                      /* get signature only */
    01467
    01468 /* ----------------- Dequeue navigation flags -------------------------------*/
    01469 #define OCI_DEQ_FIRST_MSG        1     /* get first message at head of queue */
    01470 #define OCI_DEQ_NEXT_MSG         3         /* next message that is available */
    01471 #define OCI_DEQ_NEXT_TRANSACTION 2    /* get first message of next txn group */
    01472 #define OCI_DEQ_MULT_TRANSACTION 5        /* array dequeue across txn groups */
    01473
    01474 /* ----------------- Dequeue Option Reserved flags ------------------------- */
    01475 #define OCI_DEQ_RESERVED_1      0x000001
    01476
    01477 /* --------------------- Message states -------------------------------------*/
    01478 #define OCI_MSG_WAITING         1 /* the message delay has not yet completed */
    01479 #define OCI_MSG_READY           0    /* the message is ready to be processed */
    01480 #define OCI_MSG_PROCESSED       2          /* the message has been processed */
    01481 #define OCI_MSG_EXPIRED         3    /* message has moved to exception queue */
    01482
    01483 /* --------------------- Sequence deviation ---------------------------------*/
    01484 #define OCI_ENQ_BEFORE          2  /* enqueue message before another message */
    01485 #define OCI_ENQ_TOP             3     /* enqueue message before all messages */
    01486
    01487 /* ------------------------- Visibility flags -------------------------------*/
    01488 #define OCI_DEQ_IMMEDIATE       1   /* dequeue is an independent transaction */
    01489 #define OCI_DEQ_ON_COMMIT       2  /* dequeue is part of current transaction */
    01490
    01491 /* ------------------------ Wait --------------------------------------------*/
    01492 #define OCI_DEQ_WAIT_FOREVER    -1   /* wait forever if no message available */
    01493 #define OCI_DEQ_NO_WAIT         0  /* do not wait if no message is available */
    01494
    01495 /* ------------------------ Delay -------------------------------------------*/
    01496 #define OCI_MSG_NO_DELAY        0        /* message is available immediately */
    01497
    01498 /* ------------------------- Expiration -------------------------------------*/
    01499 #define OCI_MSG_NO_EXPIRATION -1                /* message will never expire */
    01500
    01501 /* ------------------------- Reserved ---------------------------------------*/
    01502 #define OCI_AQ_RESERVED_1      0x0002
    01503 #define OCI_AQ_RESERVED_2      0x0004
    01504 #define OCI_AQ_RESERVED_3      0x0008
    01505
    01506 /* -------------------------- END AQ Constants ----------------------------- */
    01507
    01508 /* --------------------END DateTime and Interval Constants ------------------*/
    01509
    01510 /*-----------------------Object Types----------------------------------------*/
    01511 /*-----------Object Types **** Not to be Used **** --------------------------*/
    01512 /* Deprecated */
    01513 #define OCI_OTYPE_UNK           0
    01514 #define OCI_OTYPE_TABLE         1
    01515 #define OCI_OTYPE_VIEW          2
    01516 #define OCI_OTYPE_SYN           3
    01517 #define OCI_OTYPE_PROC          4
    01518 #define OCI_OTYPE_FUNC          5
    01519 #define OCI_OTYPE_PKG           6
    01520 #define OCI_OTYPE_STMT          7
    01521 /*---------------------------------------------------------------------------*/
    01522
    01523 /*=======================Describe Handle Parameter Attributes ===============*/
    01524 /*
    01525    These attributes are orthogonal to the other set of attributes defined
    01526    above.  These attrubutes are tobe used only for the desscribe handle
    01527 */
    01528 /*===========================================================================*/
    01529 /* Attributes common to Columns and Stored Procs */
    01530 #define OCI_ATTR_DATA_SIZE      1                /* maximum size of the data */
    01531 #define OCI_ATTR_DATA_TYPE      2     /* the SQL type of the column/argument */
    01532 #define OCI_ATTR_DISP_SIZE      3                        /* the display size */
    01533 #define OCI_ATTR_NAME           4         /* the name of the column/argument */
    01534 #define OCI_ATTR_PRECISION      5                /* precision if number type */
    01535 #define OCI_ATTR_SCALE          6                    /* scale if number type */
    01536 #define OCI_ATTR_IS_NULL        7                            /* is it null ? */
    01537 #define OCI_ATTR_TYPE_NAME      8
    01538   /* name of the named data type or a package name for package private types */
    01539 #define OCI_ATTR_SCHEMA_NAME    9             /* the schema name */
    01540 #define OCI_ATTR_SUB_NAME       10      /* type name if package private type */
    01541 #define OCI_ATTR_POSITION       11
    01542                     /* relative position of col/arg in the list of cols/args */
    01543 /* complex object retrieval parameter attributes */
    01544 #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE         50
    01545 #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL   51
    01546 #define OCI_ATTR_COMPLEXOBJECT_LEVEL            52
    01547 #define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE   53
    01548
    01549 /* Only Columns */
    01550 #define OCI_ATTR_DISP_NAME      100                      /* the display name */
    01551
    01552 /*Only Stored Procs */
    01553 #define OCI_ATTR_OVERLOAD       210           /* is this position overloaded */
    01554 #define OCI_ATTR_LEVEL          211            /* level for structured types */
    01555 #define OCI_ATTR_HAS_DEFAULT    212                   /* has a default value */
    01556 #define OCI_ATTR_IOMODE         213                         /* in, out inout */
    01557 #define OCI_ATTR_RADIX          214                       /* returns a radix */
    01558 #define OCI_ATTR_NUM_ARGS       215             /* total number of arguments */
    01559
    01560 /* only named type attributes */
    01561 #define OCI_ATTR_TYPECODE                  216       /* object or collection */
    01562 #define OCI_ATTR_COLLECTION_TYPECODE       217     /* varray or nested table */
    01563 #define OCI_ATTR_VERSION                   218      /* user assigned version */
    01564 #define OCI_ATTR_IS_INCOMPLETE_TYPE        219 /* is this an incomplete type */
    01565 #define OCI_ATTR_IS_SYSTEM_TYPE            220              /* a system type */
    01566 #define OCI_ATTR_IS_PREDEFINED_TYPE        221          /* a predefined type */
    01567 #define OCI_ATTR_IS_TRANSIENT_TYPE         222           /* a transient type */
    01568 #define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE  223      /* system generated type */
    01569 #define OCI_ATTR_HAS_NESTED_TABLE          224 /* contains nested table attr */
    01570 #define OCI_ATTR_HAS_LOB                   225        /* has a lob attribute */
    01571 #define OCI_ATTR_HAS_FILE                  226       /* has a file attribute */
    01572 #define OCI_ATTR_COLLECTION_ELEMENT        227 /* has a collection attribute */
    01573 #define OCI_ATTR_NUM_TYPE_ATTRS            228  /* number of attribute types */
    01574 #define OCI_ATTR_LIST_TYPE_ATTRS           229    /* list of type attributes */
    01575 #define OCI_ATTR_NUM_TYPE_METHODS          230     /* number of type methods */
    01576 #define OCI_ATTR_LIST_TYPE_METHODS         231       /* list of type methods */
    01577 #define OCI_ATTR_MAP_METHOD                232         /* map method of type */
    01578 #define OCI_ATTR_ORDER_METHOD              233       /* order method of type */
    01579
    01580 /* only collection element */
    01581 #define OCI_ATTR_NUM_ELEMS                 234         /* number of elements */
    01582
    01583 /* only type methods */
    01584 #define OCI_ATTR_ENCAPSULATION             235        /* encapsulation level */
    01585 #define OCI_ATTR_IS_SELFISH                236             /* method selfish */
    01586 #define OCI_ATTR_IS_VIRTUAL                237                    /* virtual */
    01587 #define OCI_ATTR_IS_INLINE                 238                     /* inline */
    01588 #define OCI_ATTR_IS_CONSTANT               239                   /* constant */
    01589 #define OCI_ATTR_HAS_RESULT                240                 /* has result */
    01590 #define OCI_ATTR_IS_CONSTRUCTOR            241                /* constructor */
    01591 #define OCI_ATTR_IS_DESTRUCTOR             242                 /* destructor */
    01592 #define OCI_ATTR_IS_OPERATOR               243                   /* operator */
    01593 #define OCI_ATTR_IS_MAP                    244               /* a map method */
    01594 #define OCI_ATTR_IS_ORDER                  245               /* order method */
    01595 #define OCI_ATTR_IS_RNDS                   246  /* read no data state method */
    01596 #define OCI_ATTR_IS_RNPS                   247      /* read no process state */
    01597 #define OCI_ATTR_IS_WNDS                   248 /* write no data state method */
    01598 #define OCI_ATTR_IS_WNPS                   249     /* write no process state */
    01599
    01600 #define OCI_ATTR_DESC_PUBLIC               250              /* public object */
    01601
    01602 /* Object Cache Enhancements : attributes for User Constructed Instances     */
    01603 #define OCI_ATTR_CACHE_CLIENT_CONTEXT      251
    01604 #define OCI_ATTR_UCI_CONSTRUCT             252
    01605 #define OCI_ATTR_UCI_DESTRUCT              253
    01606 #define OCI_ATTR_UCI_COPY                  254
    01607 #define OCI_ATTR_UCI_PICKLE                255
    01608 #define OCI_ATTR_UCI_UNPICKLE              256
    01609 #define OCI_ATTR_UCI_REFRESH               257
    01610
    01611 /* for type inheritance */
    01612 #define OCI_ATTR_IS_SUBTYPE                258
    01613 #define OCI_ATTR_SUPERTYPE_SCHEMA_NAME     259
    01614 #define OCI_ATTR_SUPERTYPE_NAME            260
    01615
    01616 /* for schemas */
    01617 #define OCI_ATTR_LIST_OBJECTS              261  /* list of objects in schema */
    01618
    01619 /* for database */
    01620 #define OCI_ATTR_NCHARSET_ID               262                /* char set id */
    01621 #define OCI_ATTR_LIST_SCHEMAS              263            /* list of schemas */
    01622 #define OCI_ATTR_MAX_PROC_LEN              264       /* max procedure length */
    01623 #define OCI_ATTR_MAX_COLUMN_LEN            265     /* max column name length */
    01624 #define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR    266     /* cursor commit behavior */
    01625 #define OCI_ATTR_MAX_CATALOG_NAMELEN       267         /* catalog namelength */
    01626 #define OCI_ATTR_CATALOG_LOCATION          268           /* catalog location */
    01627 #define OCI_ATTR_SAVEPOINT_SUPPORT         269          /* savepoint support */
    01628 #define OCI_ATTR_NOWAIT_SUPPORT            270             /* nowait support */
    01629 #define OCI_ATTR_AUTOCOMMIT_DDL            271             /* autocommit DDL */
    01630 #define OCI_ATTR_LOCKING_MODE              272               /* locking mode */
    01631
    01632 /* for externally initialized context */
    01633 #define OCI_ATTR_APPCTX_SIZE               273 /* count of context to be init*/
    01634 #define OCI_ATTR_APPCTX_LIST               274 /* count of context to be init*/
    01635 #define OCI_ATTR_APPCTX_NAME               275 /* name  of context to be init*/
    01636 #define OCI_ATTR_APPCTX_ATTR               276 /* attr  of context to be init*/
    01637 #define OCI_ATTR_APPCTX_VALUE              277 /* value of context to be init*/
    01638
    01639 /* for client id propagation */
    01640 #define OCI_ATTR_CLIENT_IDENTIFIER         278   /* value of client id to set*/
    01641
    01642 /* for inheritance - part 2 */
    01643 #define OCI_ATTR_IS_FINAL_TYPE             279            /* is final type ? */
    01644 #define OCI_ATTR_IS_INSTANTIABLE_TYPE      280     /* is instantiable type ? */
    01645 #define OCI_ATTR_IS_FINAL_METHOD           281          /* is final method ? */
    01646 #define OCI_ATTR_IS_INSTANTIABLE_METHOD    282   /* is instantiable method ? */
    01647 #define OCI_ATTR_IS_OVERRIDING_METHOD      283     /* is overriding method ? */
    01648
    01649 /* slot 284 available */
    01650
    01651 #define OCI_ATTR_CHAR_USED                 285      /* char length semantics */
    01652 #define OCI_ATTR_CHAR_SIZE                 286                /* char length */
    01653
    01654 /* SQLJ support */
    01655 #define OCI_ATTR_IS_JAVA_TYPE              287 /* is java implemented type ? */
    01656
    01657 /* N-Tier support */
    01658 #define OCI_ATTR_DISTINGUISHED_NAME        300        /* use DN as user name */
    01659 #define OCI_ATTR_KERBEROS_TICKET           301   /* Kerberos ticket as cred. */
    01660
    01661 /* for multilanguage debugging */
    01662 #define OCI_ATTR_ORA_DEBUG_JDWP            302   /* ORA_DEBUG_JDWP attribute */
    01663
    01664 #define OCI_ATTR_RESERVED_14               303                   /* reserved */
    01665
    01666
    01667 /*---------------------------End Describe Handle Attributes -----------------*/
    01668
    01669 /*------------- Supported Values for Direct Path Date cache -----------------*/
    01670 #define OCI_ATTR_DIRPATH_DCACHE_NUM        303         /* date cache entries */
    01671 #define OCI_ATTR_DIRPATH_DCACHE_SIZE       304           /* date cache limit */
    01672 #define OCI_ATTR_DIRPATH_DCACHE_MISSES     305          /* date cache misses */
    01673 #define OCI_ATTR_DIRPATH_DCACHE_HITS       306            /* date cache hits */
    01674 #define OCI_ATTR_DIRPATH_DCACHE_DISABLE    307 /* on set: disable datecache
    01675                                                 * on overflow.
    01676                                                 * on get: datecache disabled?
    01677                                                 * could be due to overflow
    01678                                                 * or others                  */
    01679
    01680 /* ----------------------- Session Pool Attributes ------------------------- */
    01681 #define OCI_ATTR_SPOOL_TIMEOUT              308           /* session timeout */
    01682 #define OCI_ATTR_SPOOL_GETMODE              309          /* session get mode */
    01683 #define OCI_ATTR_SPOOL_BUSY_COUNT           310        /* busy session count */
    01684 #define OCI_ATTR_SPOOL_OPEN_COUNT           311        /* open session count */
    01685 #define OCI_ATTR_SPOOL_MIN                  312         /* min session count */
    01686 #define OCI_ATTR_SPOOL_MAX                  313         /* max session count */
    01687 #define OCI_ATTR_SPOOL_INCR                 314   /* session increment count */
    01688 #define OCI_ATTR_SPOOL_STMTCACHESIZE        208   /*Stmt cache size of pool  */
    01689 /*------------------------------End Session Pool Attributes -----------------*/
    01690 /*---------------------------- For XML Types ------------------------------- */
    01691 /* For table, view and column */
    01692 #define OCI_ATTR_IS_XMLTYPE          315         /* Is the type an XML type? */
    01693 #define OCI_ATTR_XMLSCHEMA_NAME      316               /* Name of XML Schema */
    01694 #define OCI_ATTR_XMLELEMENT_NAME     317              /* Name of XML Element */
    01695 #define OCI_ATTR_XMLSQLTYPSCH_NAME   318    /* SQL type's schema for XML Ele */
    01696 #define OCI_ATTR_XMLSQLTYPE_NAME     319     /* Name of SQL type for XML Ele */
    01697 #define OCI_ATTR_XMLTYPE_STORED_OBJ  320       /* XML type stored as object? */
    01698
    01699 /*---------------------------- For Subtypes ------------------------------- */
    01700 /* For type */
    01701 #define OCI_ATTR_HAS_SUBTYPES        321                    /* Has subtypes? */
    01702 #define OCI_ATTR_NUM_SUBTYPES        322               /* Number of subtypes */
    01703 #define OCI_ATTR_LIST_SUBTYPES       323                 /* List of subtypes */
    01704
    01705 /* XML flag */
    01706 #define OCI_ATTR_XML_HRCHY_ENABLED   324               /* hierarchy enabled? */
    01707
    01708 /* Method flag */
    01709 #define OCI_ATTR_IS_OVERRIDDEN_METHOD 325           /* Method is overridden? */
    01710
    01711 /*------------- Attributes for 10i Updates to the DirPath API ---------------*/
    01712 #define OCI_ATTR_DIRPATH_RESERVED_7         326                 /* reserved */
    01713 #define OCI_ATTR_DIRPATH_RESERVED_8         327                 /* reserved */
    01714 #define OCI_ATTR_DIRPATH_CONVERT            328 /* stream conversion needed? */
    01715 #define OCI_ATTR_DIRPATH_BADROW             329        /* info about bad row */
    01716 #define OCI_ATTR_DIRPATH_BADROW_LENGTH      330    /* length of bad row info */
    01717 #define OCI_ATTR_DIRPATH_WRITE_ORDER        331         /* column fill order */
    01718 #define OCI_ATTR_DIRPATH_GRANULE_SIZE       332   /* granule size for unload */
    01719 #define OCI_ATTR_DIRPATH_GRANULE_OFFSET     333    /* offset to last granule */
    01720 #define OCI_ATTR_DIRPATH_RESERVED_1         334                  /* reserved */
    01721 #define OCI_ATTR_DIRPATH_RESERVED_2         335                  /* reserved */
    01722
    01723 /*------------- Attributes for 10i Distributed Objects ----------------------*/
    01724 #define OCI_ATTR_OBJ_SUBS                   336 /* obj col/tab substitutable */
    01725
    01726 /*------ Attributes for 10i DirPathAPI conversion (NLS lang, terr, cs) ------*/
    01727 #define OCI_ATTR_DIRPATH_RESERVED_3         337                  /* reserved */
    01728 #define OCI_ATTR_DIRPATH_RESERVED_4         338                  /* reserved */
    01729
    01730
    01731 /*---------- Attributes for 10i XADFIELD (NLS language, territory -----------*/
    01732 #define OCI_ATTR_XADFIELD_RESERVED_1        339                  /* reserved */
    01733 #define OCI_ATTR_XADFIELD_RESERVED_2        340                  /* reserved */
    01734 /*------------- Kerberos Secure Client Identifier ---------------------------*/
    01735 #define OCI_ATTR_KERBEROS_CID               341 /* Kerberos db service ticket*/
    01736
    01737
    01738 /*------------------------ Attributes for Rules objects ---------------------*/
    01739 #define OCI_ATTR_CONDITION                  342            /* rule condition */
    01740 #define OCI_ATTR_COMMENT                    343                   /* comment */
    01741 #define OCI_ATTR_VALUE                      344             /* Anydata value */
    01742 #define OCI_ATTR_EVAL_CONTEXT_OWNER         345        /* eval context owner */
    01743 #define OCI_ATTR_EVAL_CONTEXT_NAME          346         /* eval context name */
    01744 #define OCI_ATTR_EVALUATION_FUNCTION        347        /* eval function name */
    01745 #define OCI_ATTR_VAR_TYPE                   348             /* variable type */
    01746 #define OCI_ATTR_VAR_VALUE_FUNCTION         349   /* variable value function */
    01747 #define OCI_ATTR_VAR_METHOD_FUNCTION        350  /* variable method function */
    01748 #define OCI_ATTR_ACTION_CONTEXT             351            /* action context */
    01749 #define OCI_ATTR_LIST_TABLE_ALIASES         352     /* list of table aliases */
    01750 #define OCI_ATTR_LIST_VARIABLE_TYPES        353    /* list of variable types */
    01751 #define OCI_ATTR_TABLE_NAME                 356                /* table name */
    01752
    01753 #define OCI_ATTR_DIRPATH_RESERVED_5         357                  /* reserved */
    01754 #define OCI_ATTR_DIRPATH_RESERVED_6         358                  /* reserved */
    01755
    01756 #define OCI_ATTR_DIRPATH_LOCK_WAIT          359    /* wait for lock in dpapi */
    01757
    01758 #define OCI_ATTR_MESSAGE_CSCN               360              /* message cscn */
    01759 #define OCI_ATTR_MESSAGE_DSCN               361              /* message dscn */
    01760
    01761 /*--------------------- Audit Session ID ------------------------------------*/
    01762 #define OCI_ATTR_AUDIT_SESSION_ID           362          /* Audit session ID */
    01763
    01764 /*--------------------- Kerberos TGT Keys -----------------------------------*/
    01765 #define OCI_ATTR_KERBEROS_KEY               363  /* n-tier Kerberos cred key */
    01766 #define OCI_ATTR_KERBEROS_CID_KEY           364    /* SCID Kerberos cred key */
    01767
    01768
    01769 #define OCI_ATTR_TRANSACTION_NO             365         /* AQ enq txn number */
    01770
    01771 /*----------------------- Attributes for End To End Tracing -----------------*/
    01772 #define OCI_ATTR_MODULE                     366        /* module for tracing */
    01773 #define OCI_ATTR_ACTION                     367        /* action for tracing */
    01774 #define OCI_ATTR_CLIENT_INFO                368               /* client info */
    01775 #define OCI_ATTR_COLLECT_CALL_TIME          369         /* collect call time */
    01776 #define OCI_ATTR_CALL_TIME                  370         /* extract call time */
    01777 #define OCI_ATTR_ECONTEXT_ID                371      /* execution-id context */
    01778 #define OCI_ATTR_ECONTEXT_SEQ               372  /*execution-id sequence num */
    01779
    01780
    01781 /*---------------- Describe Handle Parameter Attribute Values ---------------*/
    01782
    01783 /* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
    01784 #define OCI_CURSOR_OPEN   0
    01785 #define OCI_CURSOR_CLOSED 1
    01786
    01787 /* OCI_ATTR_CATALOG_LOCATION */
    01788 #define OCI_CL_START 0
    01789 #define OCI_CL_END   1
    01790
    01791 /* OCI_ATTR_SAVEPOINT_SUPPORT */
    01792 #define OCI_SP_SUPPORTED   0
    01793 #define OCI_SP_UNSUPPORTED 1
    01794
    01795 /* OCI_ATTR_NOWAIT_SUPPORT */
    01796 #define OCI_NW_SUPPORTED   0
    01797 #define OCI_NW_UNSUPPORTED 1
    01798
    01799 /* OCI_ATTR_AUTOCOMMIT_DDL */
    01800 #define OCI_AC_DDL    0
    01801 #define OCI_NO_AC_DDL 1
    01802
    01803 /* OCI_ATTR_LOCKING_MODE */
    01804 #define OCI_LOCK_IMMEDIATE 0
    01805 #define OCI_LOCK_DELAYED   1
    01806
    01807 /* ------------------- Instance type attribute values -----------------------*/
    01808 #define OCI_INSTANCE_TYPE_UNKNOWN  0
    01809 #define OCI_INSTANCE_TYPE_RDBMS    1
    01810 #define OCI_INSTANCE_TYPE_OSM      2
    01811
    01812 /*---------------------------------------------------------------------------*/
    01813
    01814 /*---------------------------OCIPasswordChange-------------------------------*/
    01815 #define OCI_AUTH         0x08        /* Change the password but do not login */
    01816
    01817
    01818 /*------------------------Other Constants------------------------------------*/
    01819 #define OCI_MAX_FNS   100                     /* max number of OCI Functions */
    01820 #define OCI_SQLSTATE_SIZE 5
    01821 #define OCI_ERROR_MAXMSG_SIZE   1024         /* max size of an error message */
    01822 #define OCI_LOBMAXSIZE MINUB4MAXVAL                 /* maximum lob data size */
    01823 #define OCI_ROWID_LEN             23
    01824 /*---------------------------------------------------------------------------*/
    01825
    01826 /*------------------------ Fail Over Events ---------------------------------*/
    01827 #define OCI_FO_END          0x00000001
    01828 #define OCI_FO_ABORT        0x00000002
    01829 #define OCI_FO_REAUTH       0x00000004
    01830 #define OCI_FO_BEGIN        0x00000008
    01831 #define OCI_FO_ERROR        0x00000010
    01832 /*---------------------------------------------------------------------------*/
    01833
    01834 /*------------------------ Fail Over Callback Return Codes ------------------*/
    01835 #define OCI_FO_RETRY        25410
    01836 /*---------------------------------------------------------------------------*/
    01837
    01838 /*------------------------- Fail Over Types ---------------------------------*/
    01839 #define OCI_FO_NONE           0x00000001
    01840 #define OCI_FO_SESSION        0x00000002
    01841 #define OCI_FO_SELECT         0x00000004
    01842 #define OCI_FO_TXNAL          0x00000008
    01843 /*---------------------------------------------------------------------------*/
    01844
    01845 /*-----------------------Function Codes--------------------------------------*/
    01846 #define OCI_FNCODE_INITIALIZE     1                         /* OCIInitialize */
    01847 #define OCI_FNCODE_HANDLEALLOC  2                          /* OCIHandleAlloc */
    01848 #define OCI_FNCODE_HANDLEFREE  3                            /* OCIHandleFree */
    01849 #define OCI_FNCODE_DESCRIPTORALLOC  4                  /* OCIDescriptorAlloc */
    01850 #define OCI_FNCODE_DESCRIPTORFREE  5                    /* OCIDescriptorFree */
    01851 #define OCI_FNCODE_ENVINIT   6                                 /* OCIEnvInit */
    01852 #define OCI_FNCODE_SERVERATTACH   7                       /* OCIServerAttach */
    01853 #define OCI_FNCODE_SERVERDETACH   8                       /* OCIServerDetach */
    01854 /* unused         9 */
    01855 #define OCI_FNCODE_SESSIONBEGIN  10                       /* OCISessionBegin */
    01856 #define OCI_FNCODE_SESSIONEND   11                          /* OCISessionEnd */
    01857 #define OCI_FNCODE_PASSWORDCHANGE   12                  /* OCIPasswordChange */
    01858 #define OCI_FNCODE_STMTPREPARE   13                        /* OCIStmtPrepare */
    01859                                                       /* unused       14- 16 */
    01860 #define OCI_FNCODE_BINDDYNAMIC   17                        /* OCIBindDynamic */
    01861 #define OCI_FNCODE_BINDOBJECT  18                           /* OCIBindObject */
    01862                                                                 /* 19 unused */
    01863 #define OCI_FNCODE_BINDARRAYOFSTRUCT   20            /* OCIBindArrayOfStruct */
    01864 #define OCI_FNCODE_STMTEXECUTE  21                         /* OCIStmtExecute */
    01865                                                              /* unused 22-24 */
    01866 #define OCI_FNCODE_DEFINEOBJECT  25                       /* OCIDefineObject */
    01867 #define OCI_FNCODE_DEFINEDYNAMIC   26                    /* OCIDefineDynamic */
    01868 #define OCI_FNCODE_DEFINEARRAYOFSTRUCT  27         /* OCIDefineArrayOfStruct */
    01869 #define OCI_FNCODE_STMTFETCH   28                            /* OCIStmtFetch */
    01870 #define OCI_FNCODE_STMTGETBIND   29                    /* OCIStmtGetBindInfo */
    01871                                                             /* 30, 31 unused */
    01872 #define OCI_FNCODE_DESCRIBEANY  32                         /* OCIDescribeAny */
    01873 #define OCI_FNCODE_TRANSSTART  33                           /* OCITransStart */
    01874 #define OCI_FNCODE_TRANSDETACH  34                         /* OCITransDetach */
    01875 #define OCI_FNCODE_TRANSCOMMIT  35                         /* OCITransCommit */
    01876                                                                 /* 36 unused */
    01877 #define OCI_FNCODE_ERRORGET   37                              /* OCIErrorGet */
    01878 #define OCI_FNCODE_LOBOPENFILE  38                         /* OCILobFileOpen */
    01879 #define OCI_FNCODE_LOBCLOSEFILE  39                       /* OCILobFileClose */
    01880                                              /* 40 was LOBCREATEFILE, unused */
    01881                                          /* 41 was OCILobFileDelete, unused  */
    01882 #define OCI_FNCODE_LOBCOPY  42                                 /* OCILobCopy */
    01883 #define OCI_FNCODE_LOBAPPEND  43                             /* OCILobAppend */
    01884 #define OCI_FNCODE_LOBERASE  44                               /* OCILobErase */
    01885 #define OCI_FNCODE_LOBLENGTH  45                          /* OCILobGetLength */
    01886 #define OCI_FNCODE_LOBTRIM  46                                 /* OCILobTrim */
    01887 #define OCI_FNCODE_LOBREAD  47                                 /* OCILobRead */
    01888 #define OCI_FNCODE_LOBWRITE  48                               /* OCILobWrite */
    01889                                                                 /* 49 unused */
    01890 #define OCI_FNCODE_SVCCTXBREAK 50                                /* OCIBreak */
    01891 #define OCI_FNCODE_SERVERVERSION  51                     /* OCIServerVersion */
    01892
    01893 #define OCI_FNCODE_KERBATTRSET 52                          /* OCIKerbAttrSet */
    01894
    01895 /* unused 53 */
    01896
    01897 #define OCI_FNCODE_ATTRGET 54                                  /* OCIAttrGet */
    01898 #define OCI_FNCODE_ATTRSET 55                                  /* OCIAttrSet */
    01899 #define OCI_FNCODE_PARAMSET 56                                /* OCIParamSet */
    01900 #define OCI_FNCODE_PARAMGET 57                                /* OCIParamGet */
    01901 #define OCI_FNCODE_STMTGETPIECEINFO   58              /* OCIStmtGetPieceInfo */
    01902 #define OCI_FNCODE_LDATOSVCCTX 59                          /* OCILdaToSvcCtx */
    01903                                                                 /* 60 unused */
    01904 #define OCI_FNCODE_STMTSETPIECEINFO   61              /* OCIStmtSetPieceInfo */
    01905 #define OCI_FNCODE_TRANSFORGET 62                          /* OCITransForget */
    01906 #define OCI_FNCODE_TRANSPREPARE 63                        /* OCITransPrepare */
    01907 #define OCI_FNCODE_TRANSROLLBACK  64                     /* OCITransRollback */
    01908 #define OCI_FNCODE_DEFINEBYPOS 65                          /* OCIDefineByPos */
    01909 #define OCI_FNCODE_BINDBYPOS 66                              /* OCIBindByPos */
    01910 #define OCI_FNCODE_BINDBYNAME 67                            /* OCIBindByName */
    01911 #define OCI_FNCODE_LOBASSIGN  68                             /* OCILobAssign */
    01912 #define OCI_FNCODE_LOBISEQUAL  69                           /* OCILobIsEqual */
    01913 #define OCI_FNCODE_LOBISINIT  70                      /* OCILobLocatorIsInit */
    01914
    01915 #define OCI_FNCODE_LOBENABLEBUFFERING  71           /* OCILobEnableBuffering */
    01916 #define OCI_FNCODE_LOBCHARSETID  72                       /* OCILobCharSetID */
    01917 #define OCI_FNCODE_LOBCHARSETFORM  73                   /* OCILobCharSetForm */
    01918 #define OCI_FNCODE_LOBFILESETNAME  74                   /* OCILobFileSetName */
    01919 #define OCI_FNCODE_LOBFILEGETNAME  75                   /* OCILobFileGetName */
    01920 #define OCI_FNCODE_LOGON 76                                      /* OCILogon */
    01921 #define OCI_FNCODE_LOGOFF 77                                    /* OCILogoff */
    01922 #define OCI_FNCODE_LOBDISABLEBUFFERING 78          /* OCILobDisableBuffering */
    01923 #define OCI_FNCODE_LOBFLUSHBUFFER 79                    /* OCILobFlushBuffer */
    01924 #define OCI_FNCODE_LOBLOADFROMFILE 80                  /* OCILobLoadFromFile */
    01925
    01926 #define OCI_FNCODE_LOBOPEN  81                                 /* OCILobOpen */
    01927 #define OCI_FNCODE_LOBCLOSE  82                               /* OCILobClose */
    01928 #define OCI_FNCODE_LOBISOPEN  83                             /* OCILobIsOpen */
    01929 #define OCI_FNCODE_LOBFILEISOPEN  84                     /* OCILobFileIsOpen */
    01930 #define OCI_FNCODE_LOBFILEEXISTS  85                     /* OCILobFileExists */
    01931 #define OCI_FNCODE_LOBFILECLOSEALL  86                 /* OCILobFileCloseAll */
    01932 #define OCI_FNCODE_LOBCREATETEMP  87                /* OCILobCreateTemporary */
    01933 #define OCI_FNCODE_LOBFREETEMP  88                    /* OCILobFreeTemporary */
    01934 #define OCI_FNCODE_LOBISTEMP  89                        /* OCILobIsTemporary */
    01935
    01936 #define OCI_FNCODE_AQENQ  90                                     /* OCIAQEnq */
    01937 #define OCI_FNCODE_AQDEQ  91                                     /* OCIAQDeq */
    01938 #define OCI_FNCODE_RESET  92                                     /* OCIReset */
    01939 #define OCI_FNCODE_SVCCTXTOLDA  93                         /* OCISvcCtxToLda */
    01940 #define OCI_FNCODE_LOBLOCATORASSIGN 94                /* OCILobLocatorAssign */
    01941
    01942 #define OCI_FNCODE_UBINDBYNAME 95
    01943
    01944 #define OCI_FNCODE_AQLISTEN  96                               /* OCIAQListen */
    01945
    01946 #define OCI_FNCODE_SVC2HST 97                                    /* reserved */
    01947 #define OCI_FNCODE_SVCRH   98                                    /* reserved */
    01948                            /* 97 and 98 are reserved for Oracle internal use */
    01949
    01950 #define OCI_FNCODE_TRANSMULTIPREPARE   99            /* OCITransMultiPrepare */
    01951
    01952 #define OCI_FNCODE_CPOOLCREATE  100               /* OCIConnectionPoolCreate */
    01953 #define OCI_FNCODE_CPOOLDESTROY 101              /* OCIConnectionPoolDestroy */
    01954 #define OCI_FNCODE_LOGON2 102                                   /* OCILogon2 */
    01955 #define OCI_FNCODE_ROWIDTOCHAR  103                        /* OCIRowidToChar */
    01956
    01957 #define OCI_FNCODE_SPOOLCREATE  104                  /* OCISessionPoolCreate */
    01958 #define OCI_FNCODE_SPOOLDESTROY 105                 /* OCISessionPoolDestroy */
    01959 #define OCI_FNCODE_SESSIONGET   106                         /* OCISessionGet */
    01960 #define OCI_FNCODE_SESSIONRELEASE 107                   /* OCISessionRelease */
    01961 #define OCI_FNCODE_STMTPREPARE2 108                       /* OCIStmtPrepare2 */
    01962 #define OCI_FNCODE_STMTRELEASE 109                         /* OCIStmtRelease */
    01963 #define OCI_FNCODE_AQENQARRAY  110                          /* OCIAQEnqArray */
    01964 #define OCI_FNCODE_AQDEQARRAY  111                          /* OCIAQDeqArray */
    01965 #define OCI_FNCODE_LOBCOPY2    112                            /* OCILobCopy2 */
    01966 #define OCI_FNCODE_LOBERASE2   113                           /* OCILobErase2 */
    01967 #define OCI_FNCODE_LOBLENGTH2  114                       /* OCILobGetLength2 */
    01968 #define OCI_FNCODE_LOBLOADFROMFILE2  115              /* OCILobLoadFromFile2 */
    01969 #define OCI_FNCODE_LOBREAD2    116                            /* OCILobRead2 */
    01970 #define OCI_FNCODE_LOBTRIM2    117                            /* OCILobTrim2 */
    01971 #define OCI_FNCODE_LOBWRITE2   118                           /* OCILobWrite2 */
    01972 #define OCI_FNCODE_LOBGETSTORAGELIMIT 119           /* OCILobGetStorageLimit */
    01973
    01974 #define OCI_FNCODE_MAXFCN 119                   /* maximum OCI function code */
    01975
    01976
    01977 /*---------------------------------------------------------------------------*/
    01978
    01979 /*-----------------------Handle Definitions----------------------------------*/
    01980 typedef struct OCIEnv           OCIEnv;            /* OCI environment handle */
    01981 typedef struct OCIError         OCIError;                /* OCI error handle */
    01982 typedef struct OCISvcCtx        OCISvcCtx;             /* OCI service handle */
    01983 typedef struct OCIStmt          OCIStmt;             /* OCI statement handle */
    01984 typedef struct OCIBind          OCIBind;                  /* OCI bind handle */
    01985 typedef struct OCIDefine        OCIDefine;              /* OCI Define handle */
    01986 typedef struct OCIDescribe      OCIDescribe;          /* OCI Describe handle */
    01987 typedef struct OCIServer        OCIServer;              /* OCI Server handle */
    01988 typedef struct OCISession       OCISession;     /* OCI Authentication handle */
    01989 typedef struct OCIComplexObject OCIComplexObject;          /* OCI COR handle */
    01990 typedef struct OCITrans         OCITrans;          /* OCI Transaction handle */
    01991 typedef struct OCISecurity      OCISecurity;          /* OCI Security handle */
    01992 typedef struct OCISubscription  OCISubscription;      /* subscription handle */
    01993
    01994 typedef struct OCICPool         OCICPool;          /* connection pool handle */
    01995 typedef struct OCISPool         OCISPool;             /* session pool handle */
    01996 typedef struct OCIAuthInfo      OCIAuthInfo;                  /* auth handle */
    01997
    01998 /*-----------------------Descriptor Definitions------------------------------*/
    01999 typedef struct OCISnapshot      OCISnapshot;      /* OCI snapshot descriptor */
    02000 typedef struct OCIResult        OCIResult;      /* OCI Result Set Descriptor */
    02001 typedef struct OCILobLocator    OCILobLocator; /* OCI Lob Locator descriptor */
    02002 typedef struct OCIParam         OCIParam;        /* OCI PARameter descriptor */
    02003 typedef struct OCIComplexObjectComp OCIComplexObjectComp;
    02004                                                        /* OCI COR descriptor */
    02005 typedef struct OCIRowid OCIRowid;                    /* OCI ROWID descriptor */
    02006
    02007 typedef struct OCIDateTime OCIDateTime;           /* OCI DateTime descriptor */
    02008 typedef struct OCIInterval OCIInterval;           /* OCI Interval descriptor */
    02009
    02010 typedef struct OCIUcb           OCIUcb;      /* OCI User Callback descriptor */
    02011 typedef struct OCIServerDNs     OCIServerDNs;    /* OCI server DN descriptor */
    02012
    02013 /*-------------------------- AQ Descriptors ---------------------------------*/
    02014 typedef struct OCIAQEnqOptions    OCIAQEnqOptions; /* AQ Enqueue Options hdl */
    02015 typedef struct OCIAQDeqOptions    OCIAQDeqOptions; /* AQ Dequeue Options hdl */
    02016 typedef struct OCIAQMsgProperties OCIAQMsgProperties;  /* AQ Mesg Properties */
    02017 typedef struct OCIAQAgent         OCIAQAgent;         /* AQ Agent descriptor */
    02018 typedef struct OCIAQNfyDescriptor OCIAQNfyDescriptor;   /* AQ Nfy descriptor */
    02019 typedef struct OCIAQSignature     OCIAQSignature;            /* AQ Siganture */
    02020 /*---------------------------------------------------------------------------*/
    02021
    02022 /* Lob typedefs for Pro*C */
    02023 typedef struct OCILobLocator OCIClobLocator;    /* OCI Character LOB Locator */
    02024 typedef struct OCILobLocator OCIBlobLocator;       /* OCI Binary LOB Locator */
    02025 typedef struct OCILobLocator OCIBFileLocator; /* OCI Binary LOB File Locator */
    02026 /*---------------------------------------------------------------------------*/
    02027
    02028 /* Undefined value for tz in interval types*/
    02029 #define OCI_INTHR_UNK 24
    02030
    02031   /* These defined adjustment values */
    02032 #define OCI_ADJUST_UNK            10
    02033 #define OCI_ORACLE_DATE           0
    02034 #define OCI_ANSI_DATE             1
    02035
    02036 /*------------------------ Lob-specific Definitions -------------------------*/
    02037
    02038 /*
    02039  * ociloff - OCI Lob OFFset
    02040  *
    02041  * The offset in the lob data.  The offset is specified in terms of bytes for
    02042  * BLOBs and BFILes.  Character offsets are used for CLOBs, NCLOBs.
    02043  * The maximum size of internal lob data is 4 gigabytes.  FILE LOB
    02044  * size is limited by the operating system.
    02045  */
    02046 typedef ub4 OCILobOffset;
    02047
    02048 /*
    02049  * ocillen - OCI Lob LENgth (of lob data)
    02050  *
    02051  * Specifies the length of lob data in bytes for BLOBs and BFILes and in
    02052  * characters for CLOBs, NCLOBs.  The maximum length of internal lob
    02053  * data is 4 gigabytes.  The length of FILE LOBs is limited only by the
    02054  * operating system.
    02055  */
    02056 typedef ub4 OCILobLength;
    02057 /*
    02058  * ocilmo - OCI Lob open MOdes
    02059  *
    02060  * The mode specifies the planned operations that will be performed on the
    02061  * FILE lob data.  The FILE lob can be opened in read-only mode only.
    02062  *
    02063  * In the future, we may include read/write, append and truncate modes.  Append
    02064  * is equivalent to read/write mode except that the FILE is positioned for
    02065  * writing to the end.  Truncate is equivalent to read/write mode except that
    02066  * the FILE LOB data is first truncated to a length of 0 before use.
    02067  */
    02068 enum OCILobMode
    02069 {
    02070   OCI_LOBMODE_READONLY = 1,                                     /* read-only */
    02071   OCI_LOBMODE_READWRITE = 2             /* read_write for internal lobs only */
    02072 };
    02073 typedef enum OCILobMode OCILobMode;
    02074
    02075 /*---------------------------------------------------------------------------*/
    02076
    02077
    02078 /*----------------------------Piece Definitions------------------------------*/
    02079
    02080 /* if ocidef.h is being included in the app, ocidef.h should precede oci.h */
    02081
    02082 /*
    02083  * since clients may  use oci.h, ocidef.h and ocidfn.h the following defines
    02084  * need to be guarded, usually internal clients
    02085  */
    02086
    02087 #ifndef OCI_FLAGS
    02088 #define OCI_FLAGS
    02089 #define OCI_ONE_PIECE 0                                         /* one piece */
    02090 #define OCI_FIRST_PIECE 1                                 /* the first piece */
    02091 #define OCI_NEXT_PIECE 2                          /* the next of many pieces */
    02092 #define OCI_LAST_PIECE 3                                   /* the last piece */
    02093 #endif
    02094 /*---------------------------------------------------------------------------*/
    02095
    02096 /*--------------------------- FILE open modes -------------------------------*/
    02097 #define OCI_FILE_READONLY 1             /* readonly mode open for FILE types */
    02098 /*---------------------------------------------------------------------------*/
    02099 /*--------------------------- LOB open modes --------------------------------*/
    02100 #define OCI_LOB_READONLY 1              /* readonly mode open for ILOB types */
    02101 #define OCI_LOB_READWRITE 2                /* read write mode open for ILOBs */
    02102
    02103 /*----------------------- LOB Buffering Flush Flags -------------------------*/
    02104 #define OCI_LOB_BUFFER_FREE   1
    02105 #define OCI_LOB_BUFFER_NOFREE 2
    02106 /*---------------------------------------------------------------------------*/
    02107
    02108 /*--------------------------- OCI Statement Types ---------------------------*/
    02109
    02110 #define  OCI_STMT_SELECT  1                              /* select statement */
    02111 #define  OCI_STMT_UPDATE  2                              /* update statement */
    02112 #define  OCI_STMT_DELETE  3                              /* delete statement */
    02113 #define  OCI_STMT_INSERT  4                              /* Insert Statement */
    02114 #define  OCI_STMT_CREATE  5                              /* create statement */
    02115 #define  OCI_STMT_DROP    6                                /* drop statement */
    02116 #define  OCI_STMT_ALTER   7                               /* alter statement */
    02117 #define  OCI_STMT_BEGIN   8                   /* begin ... (pl/sql statement)*/
    02118 #define  OCI_STMT_DECLARE 9                /* declare .. (pl/sql statement ) */
    02119 /*---------------------------------------------------------------------------*/
    02120
    02121 /*--------------------------- OCI Parameter Types ---------------------------*/
    02122 #define OCI_PTYPE_UNK                 0                         /* unknown   */
    02123 #define OCI_PTYPE_TABLE               1                         /* table     */
    02124 #define OCI_PTYPE_VIEW                2                         /* view      */
    02125 #define OCI_PTYPE_PROC                3                         /* procedure */
    02126 #define OCI_PTYPE_FUNC                4                         /* function  */
    02127 #define OCI_PTYPE_PKG                 5                         /* package   */
    02128 #define OCI_PTYPE_TYPE                6                 /* user-defined type */
    02129 #define OCI_PTYPE_SYN                 7                         /* synonym   */
    02130 #define OCI_PTYPE_SEQ                 8                         /* sequence  */
    02131 #define OCI_PTYPE_COL                 9                         /* column    */
    02132 #define OCI_PTYPE_ARG                 10                        /* argument  */
    02133 #define OCI_PTYPE_LIST                11                        /* list      */
    02134 #define OCI_PTYPE_TYPE_ATTR           12    /* user-defined type's attribute */
    02135 #define OCI_PTYPE_TYPE_COLL           13        /* collection type's element */
    02136 #define OCI_PTYPE_TYPE_METHOD         14       /* user-defined type's method */
    02137 #define OCI_PTYPE_TYPE_ARG            15   /* user-defined type method's arg */
    02138 #define OCI_PTYPE_TYPE_RESULT         16/* user-defined type method's result */
    02139 #define OCI_PTYPE_SCHEMA              17                           /* schema */
    02140 #define OCI_PTYPE_DATABASE            18                         /* database */
    02141 #define OCI_PTYPE_RULE                19                             /* rule */
    02142 #define OCI_PTYPE_RULE_SET            20                         /* rule set */
    02143 #define OCI_PTYPE_EVALUATION_CONTEXT  21               /* evaluation context */
    02144 #define OCI_PTYPE_TABLE_ALIAS         22                      /* table alias */
    02145 #define OCI_PTYPE_VARIABLE_TYPE       23                    /* variable type */
    02146 #define OCI_PTYPE_NAME_VALUE          24                  /* name value pair */
    02147
    02148 /*---------------------------------------------------------------------------*/
    02149
    02150 /*----------------------------- OCI List Types ------------------------------*/
    02151 #define OCI_LTYPE_UNK           0                               /* unknown   */
    02152 #define OCI_LTYPE_COLUMN        1                             /* column list */
    02153 #define OCI_LTYPE_ARG_PROC      2                 /* procedure argument list */
    02154 #define OCI_LTYPE_ARG_FUNC      3                  /* function argument list */
    02155 #define OCI_LTYPE_SUBPRG        4                         /* subprogram list */
    02156 #define OCI_LTYPE_TYPE_ATTR     5                          /* type attribute */
    02157 #define OCI_LTYPE_TYPE_METHOD   6                             /* type method */
    02158 #define OCI_LTYPE_TYPE_ARG_PROC 7    /* type method w/o result argument list */
    02159 #define OCI_LTYPE_TYPE_ARG_FUNC 8      /* type method w/result argument list */
    02160 #define OCI_LTYPE_SCH_OBJ       9                      /* schema object list */
    02161 #define OCI_LTYPE_DB_SCH        10                   /* database schema list */
    02162 #define OCI_LTYPE_TYPE_SUBTYPE  11                           /* subtype list */
    02163 #define OCI_LTYPE_TABLE_ALIAS   12                       /* table alias list */
    02164 #define OCI_LTYPE_VARIABLE_TYPE 13                     /* variable type list */
    02165 #define OCI_LTYPE_NAME_VALUE    14                        /* name value list */
    02166
    02167 /*---------------------------------------------------------------------------*/
    02168
    02169 /*-------------------------- Memory Cartridge Services ---------------------*/
    02170 #define OCI_MEMORY_CLEARED  1
    02171
    02172 /*-------------------------- Pickler Cartridge Services ---------------------*/
    02173 typedef struct OCIPicklerTdsCtx OCIPicklerTdsCtx;
    02174 typedef struct OCIPicklerTds OCIPicklerTds;
    02175 typedef struct OCIPicklerImage OCIPicklerImage;
    02176 typedef struct OCIPicklerFdo OCIPicklerFdo;
    02177 typedef ub4 OCIPicklerTdsElement;
    02178
    02179 typedef struct OCIAnyData OCIAnyData;
    02180
    02181 typedef struct OCIAnyDataSet OCIAnyDataSet;
    02182 typedef struct OCIAnyDataCtx OCIAnyDataCtx;
    02183
    02184 /*---------------------------------------------------------------------------*/
    02185
    02186 /*--------------------------- User Callback Constants -----------------------*/
    02187 #define OCI_UCBTYPE_ENTRY       1                          /* entry callback */
    02188 #define OCI_UCBTYPE_EXIT        2                           /* exit callback */
    02189 #define OCI_UCBTYPE_REPLACE     3                    /* replacement callback */
    02190
    02191 /*---------------------------------------------------------------------------*/
    02192
    02193 /*--------------------- NLS service type and constance ----------------------*/
    02194 #define OCI_NLS_DAYNAME1      1                    /* Native name for Monday */
    02195 #define OCI_NLS_DAYNAME2      2                   /* Native name for Tuesday */
    02196 #define OCI_NLS_DAYNAME3      3                 /* Native name for Wednesday */
    02197 #define OCI_NLS_DAYNAME4      4                  /* Native name for Thursday */
    02198 #define OCI_NLS_DAYNAME5      5                    /* Native name for Friday */
    02199 #define OCI_NLS_DAYNAME6      6              /* Native name for for Saturday */
    02200 #define OCI_NLS_DAYNAME7      7                /* Native name for for Sunday */
    02201 #define OCI_NLS_ABDAYNAME1    8        /* Native abbreviated name for Monday */
    02202 #define OCI_NLS_ABDAYNAME2    9       /* Native abbreviated name for Tuesday */
    02203 #define OCI_NLS_ABDAYNAME3    10    /* Native abbreviated name for Wednesday */
    02204 #define OCI_NLS_ABDAYNAME4    11     /* Native abbreviated name for Thursday */
    02205 #define OCI_NLS_ABDAYNAME5    12       /* Native abbreviated name for Friday */
    02206 #define OCI_NLS_ABDAYNAME6    13 /* Native abbreviated name for for Saturday */
    02207 #define OCI_NLS_ABDAYNAME7    14   /* Native abbreviated name for for Sunday */
    02208 #define OCI_NLS_MONTHNAME1    15                  /* Native name for January */
    02209 #define OCI_NLS_MONTHNAME2    16                 /* Native name for February */
    02210 #define OCI_NLS_MONTHNAME3    17                    /* Native name for March */
    02211 #define OCI_NLS_MONTHNAME4    18                    /* Native name for April */
    02212 #define OCI_NLS_MONTHNAME5    19                      /* Native name for May */
    02213 #define OCI_NLS_MONTHNAME6    20                     /* Native name for June */
    02214 #define OCI_NLS_MONTHNAME7    21                     /* Native name for July */
    02215 #define OCI_NLS_MONTHNAME8    22                   /* Native name for August */
    02216 #define OCI_NLS_MONTHNAME9    23                /* Native name for September */
    02217 #define OCI_NLS_MONTHNAME10   24                  /* Native name for October */
    02218 #define OCI_NLS_MONTHNAME11   25                 /* Native name for November */
    02219 #define OCI_NLS_MONTHNAME12   26                 /* Native name for December */
    02220 #define OCI_NLS_ABMONTHNAME1  27      /* Native abbreviated name for January */
    02221 #define OCI_NLS_ABMONTHNAME2  28     /* Native abbreviated name for February */
    02222 #define OCI_NLS_ABMONTHNAME3  29        /* Native abbreviated name for March */
    02223 #define OCI_NLS_ABMONTHNAME4  30        /* Native abbreviated name for April */
    02224 #define OCI_NLS_ABMONTHNAME5  31          /* Native abbreviated name for May */
    02225 #define OCI_NLS_ABMONTHNAME6  32         /* Native abbreviated name for June */
    02226 #define OCI_NLS_ABMONTHNAME7  33         /* Native abbreviated name for July */
    02227 #define OCI_NLS_ABMONTHNAME8  34       /* Native abbreviated name for August */
    02228 #define OCI_NLS_ABMONTHNAME9  35    /* Native abbreviated name for September */
    02229 #define OCI_NLS_ABMONTHNAME10 36      /* Native abbreviated name for October */
    02230 #define OCI_NLS_ABMONTHNAME11 37     /* Native abbreviated name for November */
    02231 #define OCI_NLS_ABMONTHNAME12 38     /* Native abbreviated name for December */
    02232 #define OCI_NLS_YES           39   /* Native string for affirmative response */
    02233 #define OCI_NLS_NO            40                 /* Native negative response */
    02234 #define OCI_NLS_AM            41           /* Native equivalent string of AM */
    02235 #define OCI_NLS_PM            42           /* Native equivalent string of PM */
    02236 #define OCI_NLS_AD            43           /* Native equivalent string of AD */
    02237 #define OCI_NLS_BC            44           /* Native equivalent string of BC */
    02238 #define OCI_NLS_DECIMAL       45                        /* decimal character */
    02239 #define OCI_NLS_GROUP         46                          /* group separator */
    02240 #define OCI_NLS_DEBIT         47                   /* Native symbol of debit */
    02241 #define OCI_NLS_CREDIT        48                  /* Native sumbol of credit */
    02242 #define OCI_NLS_DATEFORMAT    49                       /* Oracle date format */
    02243 #define OCI_NLS_INT_CURRENCY  50            /* International currency symbol */
    02244 #define OCI_NLS_LOC_CURRENCY  51                   /* Locale currency symbol */
    02245 #define OCI_NLS_LANGUAGE      52                            /* Language name */
    02246 #define OCI_NLS_ABLANGUAGE    53           /* Abbreviation for language name */
    02247 #define OCI_NLS_TERRITORY     54                           /* Territory name */
    02248 #define OCI_NLS_CHARACTER_SET 55                       /* Character set name */
    02249 #define OCI_NLS_LINGUISTIC_NAME    56                     /* Linguistic name */
    02250 #define OCI_NLS_CALENDAR      57                            /* Calendar name */
    02251 #define OCI_NLS_DUAL_CURRENCY 78                     /* Dual currency symbol */
    02252 #define OCI_NLS_WRITINGDIR    79               /* Language writing direction */
    02253 #define OCI_NLS_ABTERRITORY   80                   /* Territory Abbreviation */
    02254 #define OCI_NLS_DDATEFORMAT   81               /* Oracle default date format */
    02255 #define OCI_NLS_DTIMEFORMAT   82               /* Oracle default time format */
    02256 #define OCI_NLS_SFDATEFORMAT  83       /* Local string formatted date format */
    02257 #define OCI_NLS_SFTIMEFORMAT  84       /* Local string formatted time format */
    02258 #define OCI_NLS_NUMGROUPING   85                   /* Number grouping fields */
    02259 #define OCI_NLS_LISTSEP       86                           /* List separator */
    02260 #define OCI_NLS_MONDECIMAL    87               /* Monetary decimal character */
    02261 #define OCI_NLS_MONGROUP      88                 /* Monetary group separator */
    02262 #define OCI_NLS_MONGROUPING   89                 /* Monetary grouping fields */
    02263 #define OCI_NLS_INT_CURRENCYSEP 90       /* International currency separator */
    02264 #define OCI_NLS_CHARSET_MAXBYTESZ 91     /* Maximum character byte size      */
    02265 #define OCI_NLS_CHARSET_FIXEDWIDTH 92    /* Fixed-width charset byte size    */
    02266 #define OCI_NLS_CHARSET_ID    93                         /* Character set id */
    02267 #define OCI_NLS_NCHARSET_ID   94                        /* NCharacter set id */
    02268
    02269 #define OCI_NLS_MAXBUFSZ   100 /* Max buffer size may need for OCINlsGetInfo */
    02270
    02271 #define OCI_NLS_BINARY            0x1           /* for the binary comparison */
    02272 #define OCI_NLS_LINGUISTIC        0x2           /* for linguistic comparison */
    02273 #define OCI_NLS_CASE_INSENSITIVE  0x10    /* for case-insensitive comparison */
    02274
    02275 #define OCI_NLS_UPPERCASE         0x20               /* convert to uppercase */
    02276 #define OCI_NLS_LOWERCASE         0x40               /* convert to lowercase */
    02277
    02278 #define OCI_NLS_CS_IANA_TO_ORA   0   /* Map charset name from IANA to Oracle */
    02279 #define OCI_NLS_CS_ORA_TO_IANA   1   /* Map charset name from Oracle to IANA */
    02280 #define OCI_NLS_LANG_ISO_TO_ORA  2   /* Map language name from ISO to Oracle */
    02281 #define OCI_NLS_LANG_ORA_TO_ISO  3   /* Map language name from Oracle to ISO */
    02282 #define OCI_NLS_TERR_ISO_TO_ORA  4   /* Map territory name from ISO to Oracle*/
    02283 #define OCI_NLS_TERR_ORA_TO_ISO  5   /* Map territory name from Oracle to ISO*/
    02284 #define OCI_NLS_TERR_ISO3_TO_ORA 6   /* Map territory name from 3-letter ISO */
    02285                                      /* abbreviation to Oracle               */
    02286 #define OCI_NLS_TERR_ORA_TO_ISO3 7   /* Map territory name from Oracle to    */
    02287                                      /* 3-letter ISO abbreviation            */
    02288
    02289 typedef struct OCIMsg  OCIMsg;
    02290 typedef ub4            OCIWchar;
    02291
    02292 #define OCI_XMLTYPE_CREATE_OCISTRING 1
    02293 #define OCI_XMLTYPE_CREATE_CLOB      2
    02294 #define OCI_XMLTYPE_CREATE_BLOB      3
    02295
    02296 /*------------------------- Kerber Authentication Modes ---------------------*/
    02297 #define OCI_KERBCRED_PROXY               1 /* Apply Kerberos Creds for Proxy */
    02298 #define OCI_KERBCRED_CLIENT_IDENTIFIER   2/*Apply Creds for Secure Client ID */
    02299
    02300 /*---------------------------------------------------------------------------
    02301                      PRIVATE TYPES AND CONSTANTS
    02302   ---------------------------------------------------------------------------*/
    02303
    02304 /* None */
    02305
    02306 /*---------------------------------------------------------------------------
    02307                            PUBLIC FUNCTIONS
    02308   ---------------------------------------------------------------------------*/
    02309
    02310 /* see ociap.h or ocikp.h */
    02311
    02312 /*---------------------------------------------------------------------------
    02313                           PRIVATE FUNCTIONS
    02314   ---------------------------------------------------------------------------*/
    02315
    02316 /* None */
    02317
    02318
    02319 #endif                                              /* OCI_ORACLE */
    02320
    02321
    02322 /* more includes */
    02323
    02324 #ifndef OCI1_ORACLE
    02325 #include <oci1.h>
    02326 #endif
    02327
    02328 #ifndef ORO_ORACLE
    02329 #include <oro.h>
    02330 #endif
    02331
    02332 #ifndef ORI_ORACLE
    02333 #include <ori.h>
    02334 #endif
    02335
    02336 #ifndef ORL_ORACLE
    02337 #include <orl.h>
    02338 #endif
    02339
    02340 #ifndef ORT_ORACLE
    02341 #include <ort.h>
    02342 #endif
    02343
    02344 #ifndef OCIEXTP_ORACLE
    02345 #include <ociextp.h>
    02346 #endif
    02347
    02348 #include <ociapr.h>
    02349 #include <ociap.h>
    02350
    02351 #ifndef OCIXMLDB_ORACLE
    02352 #include <ocixmldb.h>
    02353 #endif
    02354
    02355 #ifndef OCI8DP_ORACLE
    02356 #include <oci8dp.h>         /* interface definitions for the direct path api */
    02357 #endif
    02358
    02359 #ifndef OCIEXTP_ORACLE
    02360 #include <ociextp.h>
    02361 #endif
    02362
    02363 #ifdef __cplusplus
    02364 }
    02365 #endif /* __cplusplus */
    02366

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines