Annotation of win32/sql/oracle/include/oci/oci.h, revision 1.1
1.1 ! parser 1: /*
! 2: * $Header: /var/lib/cvsroot/parser3/parser3/src/sql/oracle/oracle32/include/oci/oci.h,v 1.1 2001/08/22 14:02:18 parser Exp $
! 3: */
! 4:
! 5: /* Copyright (c) Oracle Corporation 1995, 1996, 1997, 1998, 1999.
! 6: All Rights Reserved. */
! 7:
! 8: /*
! 9: NAME
! 10: oci.h - V8 Oracle Call Interface public definitions
! 11:
! 12: DESCRIPTION
! 13: This file defines all the constants and structures required by a V8
! 14: OCI programmer.
! 15:
! 16: RELATED DOCUMENTS
! 17: V8 OCI Functional Specification
! 18: V8 OCI Design Specification
! 19: Oracle Call Interface Programmer's Guide Vol 1 and 2
! 20:
! 21: INSPECTION STATUS
! 22: Inspection date:
! 23: Inspection status:
! 24: Estimated increasing cost defects per page:
! 25: Rule sets:
! 26:
! 27: ACCEPTANCE REVIEW STATUS
! 28: Review date:
! 29: Review status:
! 30: Reviewers:
! 31:
! 32: PUBLIC FUNCTION(S)
! 33: None
! 34:
! 35: PRIVATE FUNCTION(S)
! 36: None
! 37:
! 38: EXAMPLES
! 39:
! 40: NOTES
! 41:
! 42:
! 43: MODIFIED (MM/DD/YY)
! 44: porangas 09/21/99 - Correct lines to 80 characters wide: 974710
! 45: slari 08/23/99 - add OCI_DTYPE_UCB
! 46: slari 08/20/99 - add OCI_UCBTYPE_REPLACE
! 47: sgollapu 08/02/99 - oci sql routing
! 48: slari 08/06/99 - rename values for OCI_SERVER_STATUS
! 49: slari 08/02/99 - add OCI_ATTR_SERVER_STATUS
! 50: tnbui 07/28/99 - Remove OCI_DTYPE_TIMESTAMP_ITZ
! 51: amangal 07/19/99 - Merge into 8.1.6 : bug 785797
! 52: tnbui 07/07/99 - Change ADJUSTMENT modes
! 53: dsaha 07/07/99 - OCI_SAHRED_EXT
! 54: dmwong 06/08/99 - add OCI_ATTR_APPCTX_*
! 55: vyanaman 06/23/99 -
! 56: vyanaman 06/21/99 - Add new OCI Datetime and Interval descriptors
! 57: esoyleme 06/29/99 - expose MTS performance enhancements
! 58: rshaikh 04/23/99 - add OCI_SQL_VERSION_*
! 59: tnbui 05/24/99 - Remove OCIAdjStr
! 60: dsaha 05/21/99 - Add OCI_ADJUST_UNK
! 61: mluong 05/17/99 - fix merge
! 62: tnbui 04/05/99 - ADJUSTMENT values
! 63: abrumm 04/16/99 - dpapi: more attributes
! 64: dsaha 02/24/99 - Add OCI_SHOW_DML_WARNINGS
! 65: jiyang 12/07/98 - Add OCI_NLS_DUAL_CURRENCY
! 66: slari 12/07/98 - change OCI_NOMUTEX to OCI_NO_MUTEX
! 67: aroy 11/30/98 - change OCI_NOCALLBACK to OCI_NO_UCB
! 68: aroy 11/13/98 - add env modes to process modes
! 69: slari 09/08/98 - add OCI_FNCODE_SVC2HST and _SVCRH
! 70: aroy 09/04/98 - Add OCI_ATTR_MIGSESSION
! 71: skray 08/14/98 - server groups for session switching
! 72: mluong 08/11/98 - add back OCI_HTYPE_LAST.
! 73: aroy 05/25/98 - add process handle type
! 74: aroy 04/06/98 - add shared mode
! 75: slari 07/13/98 - merge forward to 8.1.4
! 76: slari 07/09/98 - add OCI_BIND_RESERVED_2
! 77: slari 07/08/98 - add OCI_EXACT_FETCH_RESERVED_1
! 78: dsaha 07/07/98 - Add OCI_PARSE_ONLY
! 79: dsaha 06/29/98 - Add OCI_PARSE_ONLY
! 80: slari 07/01/98 - add OCI_BIND_RESERVED_2
! 81: sgollapu 06/25/98 - Fix bug 683565
! 82: slari 06/17/98 - remove OC_FETCH_RESERVED_2
! 83: slari 06/11/98 - add OCI_FETCH_RESERVED_1 and 2
! 84: jhasenbe 05/27/98 - Remove definitions for U-Calls (Unicode)
! 85: jiyang 05/18/98 - remove OCI_ATTR_CARTLANG
! 86: nbhatt 05/20/98 - OCI_DEQ_REMOVE_NODATA
! 87: nbhatt 05/19/98 - correct AQ opcode
! 88: skmishra 05/06/98 - Add precision attribute to Attributes list
! 89: aroy 04/20/98 - merge forward 8.0.5 -> 8.1.3
! 90: schandra 05/01/98 - OCI sender id
! 91: sgollapu 02/19/98 - enhanced array DML
! 92: nbhatt 05/15/98 - AQ listen call
! 93: sgollapu 04/27/98 - more attributes
! 94: skaluska 04/06/98 - Add OCI_PTYPE_SCHEMA, OCI_PTYPE_DATABASE
! 95: slari 04/28/98 - add OCI_ATTR_PDPRC
! 96: lchidamb 05/05/98 - change OCI_NAMESPACE_AQ to 1
! 97: nbhatt 04/27/98 - AQ Notification Descriptor
! 98: abrumm 06/24/98 - more direct path attributes
! 99: abrumm 05/27/98 - OCI direct path interface support
! 100: abrumm 05/08/98 - OCI direct path interface support
! 101: lchidamb 03/02/98 - client notification additions
! 102: kkarun 04/17/98 - Add more Interval functions
! 103: vyanaman 04/16/98 - Add get/set TZ
! 104: kkarun 04/14/98 - Add OCI Datetime shortnames
! 105: vyanaman 04/13/98 - Add OCI DateTime and Interval check error codes
! 106: kkarun 04/07/98 - Add OCI_DTYPE_DATETIME and OCI_DTYPE_INTERVAL
! 107: esoyleme 12/15/97 - support failover callback retry
! 108: esoyleme 04/22/98 - merge support for failover callback retry
! 109: mluong 04/16/98 - add OCI_FNCODE_LOBLOCATORASSIGN
! 110: rkasamse 04/17/98 - add short names for OCIPickler(Memory/Ctx) cart servi
! 111: slari 04/10/98 - add OCI_FNCODE_SVCCTXTOLDA
! 112: slari 04/09/98 - add OCI_FNCODE_RESET
! 113: slari 04/07/98 - add OCI_FNCODE_LOBFILEISOPEN
! 114: slari 04/06/98 - add OCI_FNCODE_LOBOPEN
! 115: slari 03/20/98 - change OCI_CBTYPE_xxx to OCI_UCBTYPE_xxx
! 116: slari 03/18/98 - add OCI_FNCODE_MAXFCN
! 117: slari 02/12/98 - add OCI_ENV_NO_USRCB
! 118: skabraha 04/09/98 - adding shortnames for OCIFile
! 119: rhwu 04/03/98 - Add short names for the OCIThread package
! 120: tanguyen 04/03/98 - add OCI_ATTR_xxxx for type inheritance
! 121: rkasamse 04/02/98 - add OCI_ATTR_UCI_REFRESH
! 122: nramakri 04/01/98 - Add short names for the OCIExtract package
! 123: ewaugh 03/31/98 - Add short names for the OCIFormat package.
! 124: jhasenbe 04/06/98 - Add definitions for U-Calls (Unicode)
! 125: (OCI_TEXT, OCI_UTEXT, OCI_UTEXT4)
! 126: skmishra 03/03/98 - Add OCI_ATTR_PARSE_ERROR_OFFSET
! 127: rwessman 03/11/98 - Added OCI_CRED_PROXY for proxy authentication
! 128: abrumm 03/31/98 - OCI direct path interface support
! 129: nmallava 03/03/98 - add constants for temp lob apis
! 130: skotsovo 03/05/98 - resolve merge conflicts
! 131: skotsovo 02/24/98 - add OCI_DTYPE_LOC
! 132: skaluska 01/21/98 - Add OCI_ATTR_LTYPE
! 133: rkasamse 01/06/98 - add OCI_ATTR* for obj cache enhancements
! 134: dchatter 01/08/98 - more comments
! 135: skabraha 12/02/97 - moved oci1.h to the front of include files.
! 136: jiyang 12/18/97 - Add OCI_NLS_MAX_BUFSZ
! 137: rhwu 12/02/97 - move oci1.h up
! 138: ewaugh 12/15/97 - Add short names for the OCIFormat package.
! 139: rkasamse 12/02/97 - Add a constant for memory cartridge services -- OCI_M
! 140: nmallava 12/31/97 - open/close for internal lobs
! 141: khnguyen 11/27/97 - add OCI_ATTR_LFPRECISION, OCI_ATTR_FSPRECISION
! 142: rkasamse 11/03/97 - add types for pickler cartridge services
! 143: mluong 11/20/97 - changed ubig_ora to ub4 per skotsovo
! 144: ssamu 11/14/97 - add oci1.h
! 145: jiyang 11/13/97 - Add NLS service for cartridge
! 146: esoyleme 12/15/97 - support failover callback retry
! 147: jwijaya 10/21/97 - change OCILobOffset/Length from ubig_ora to ub4
! 148: cxcheng 07/28/97 - fix compile with SLSHORTNAME
! 149: schandra 06/25/97 - AQ OCI interface
! 150: sgollapu 07/25/97 - Add OCI_ATTR_DESC_PUBLIC
! 151: cxcheng 06/16/97 - add OCI_ATTR_TDO
! 152: skotsovo 06/05/97 - add fntcodes for lob buffering subsystem
! 153: esoyleme 05/13/97 - move failover callback prototype
! 154: skmishra 05/06/97 - stdc compiler fixes
! 155: skmishra 04/22/97 - Provide C++ compatibility
! 156: lchidamb 04/19/97 - add OCI_ATTR_SESSLANG
! 157: ramkrish 04/15/97 - Add OCI_LOB_BUFFER_(NO)FREE
! 158: sgollapu 04/18/97 - Add OCI_ATTR_TABLESPACE
! 159: skaluska 04/17/97 - Add OCI_ATTR_SUB_NAME
! 160: schandra 04/10/97 - Use long OCI names
! 161: aroy 03/27/97 - add OCI_DTYPE_FILE
! 162: sgollapu 03/26/97 - Add OCI_OTYPEs
! 163: skmishra 04/09/97 - Added constant OCI_ROWID_LEN
! 164: dchatter 03/21/97 - add attr OCI_ATTR_IN_V8_MODE
! 165: lchidamb 03/21/97 - add OCI_COMMIT_ON_SUCCESS execution mode
! 166: skmishra 03/20/97 - Added OCI_ATTR_LOBEMPTY
! 167: sgollapu 03/19/97 - Add OCI_ATTR_OVRLD_ID
! 168: aroy 03/17/97 - add postprocessing callback
! 169: sgollapu 03/15/97 - Add OCI_ATTR_PARAM
! 170: cxcheng 02/07/97 - change OCI_PTYPE codes for type method for consistenc
! 171: cxcheng 02/05/97 - add OCI_PTYPE_TYPE_RESULT
! 172: cxcheng 02/04/97 - rename OCI_PTYPE constants to be more consistent
! 173: cxcheng 02/03/97 - add OCI_ATTR, OCI_PTYPE contants for describe type
! 174: esoyleme 01/23/97 - merge neerja callback
! 175: sgollapu 12/30/96 - Remove OCI_DTYPE_SECURITY
! 176: asurpur 12/26/96 - CHanging OCI_NO_AUTH to OCI_AUTH
! 177: sgollapu 12/23/96 - Add more attrs to COL, ARG, and SEQ
! 178: sgollapu 12/12/96 - Add OCI_DESCRIBE_ONLY
! 179: slari 12/11/96 - change prototype of OCICallbackInBind
! 180: nbhatt 12/05/96 - "callback"
! 181: lchidamb 11/19/96 - handle subclassing
! 182: sgollapu 11/09/96 - OCI_PATTR_*
! 183: dchatter 11/04/96 - add attr OCI_ATTR_CHRCNT
! 184: mluong 11/01/96 - test
! 185: cxcheng 10/31/96 - add #defines for OCILobLength etc
! 186: dchatter 10/31/96 - add lob read write call back fp defs
! 187: dchatter 10/30/96 - more changes
! 188: rhari 10/30/96 - Include ociextp.h at the very end
! 189: lchidamb 10/22/96 - add fdo attribute for bind/server handle
! 190: dchatter 10/22/96 - change attr defn for prefetch parameters & lobs/file
! 191: calls
! 192: slari 10/21/96 - add OCI_ENV_NO_MUTEX
! 193: rhari 10/25/96 - Include ociextp.h
! 194: rxgovind 10/25/96 - add OCI_LOBMAXSIZE, remove OCI_FILE_READWRITE
! 195: sgollapu 10/24/96 - Correct OCILogon and OCILogoff
! 196: sgollapu 10/24/96 - Correct to OCILogon and OCILogoff
! 197: sgollapu 10/21/96 - Add ocilon and ociloff
! 198: skaluska 10/31/96 - Add OCI_PTYPE values
! 199: sgollapu 10/17/96 - correct OCI_ATTR_SVCCTX to OCI_ATTR_SERVER
! 200: rwessman 10/16/96 - Added security functions and fixed olint errors.
! 201: sthakur 10/14/96 - add more COR attributes
! 202: cxcheng 10/14/96 - re-enable LOB functions
! 203: sgollapu 10/10/96 - Add ocibdp and ocibdn
! 204: slari 10/07/96 - add back OCIRowid
! 205: aroy 10/08/96 - add typedef ocibfill for PRO*C
! 206: mluong 10/11/96 - replace OCI_ATTR_CHARSET* with OCI_ATTR_CHARSET_*
! 207: cxcheng 10/10/96 - temporarily take out #define for lob functions
! 208: sgollapu 10/02/96 - Rename OCI functions and datatypes
! 209: skotsovo 10/01/96 - move orl lob fnts to oci
! 210: aroy 09/10/96 - fix merge errors
! 211: aroy 08/19/96 - NCHAR support
! 212: jboonleu 09/05/96 - add OCI attributes for object cache
! 213: dchatter 08/20/96 - HTYPE ranges from 1-50; DTYPE from 50-255
! 214: slari 08/06/96 - define OCI_DTYPE_ROWID
! 215: sthakur 08/14/96 - complex object support
! 216: schandra 06/17/96 - Convert XA to use new OCI
! 217: abrik 08/15/96 - OCI_ATTR_HEAPALLOC added
! 218: aroy 07/17/96 - terminology change: ocilobd => ocilobl
! 219: aroy 07/03/96 - add lob typedefs for Pro*C
! 220: slari 06/28/96 - add OCI_ATTR_STMT_TYPE
! 221: lchidamb 06/26/96 - reorg #ifndef
! 222: schandra 05/31/96 - attribute types for internal and external client name
! 223: asurpur 05/30/96 - Changing the value of mode
! 224: schandra 05/18/96 - OCI_TRANS_TWOPHASE -> 0x00000001 to 0x00100000
! 225: slari 05/30/96 - add callback function prototypes
! 226: jbellemo 05/23/96 - remove ociisc
! 227: schandra 04/23/96 - loosely-coupled branches
! 228: asurpur 05/15/96 - New mode for ocicpw
! 229: aroy 04/24/96 - making ocihandles opaque
! 230: slari 04/18/96 - add missing defines
! 231: schandra 03/27/96 - V8OCI - add transaction related calls
! 232: dchatter 04/01/96 - add OCI_FILE options
! 233: dchatter 03/21/96 - add oci2lda conversion routines
! 234: dchatter 03/07/96 - add OCI piece definition
! 235: slari 03/12/96 - add describe attributes
! 236: slari 03/12/96 - add OCI_OTYPE_QUERY
! 237: aroy 02/28/96 - Add column attributes
! 238: slari 02/09/96 - add OCI_OBJECT
! 239: slari 02/07/96 - add OCI_HYTPE_DSC
! 240: aroy 01/10/96 - adding function code defines...
! 241: dchatter 01/03/96 - define OCI_NON_BLOCKING
! 242: dchatter 01/02/96 - Add Any descriptor
! 243: dchatter 01/02/96 - Add Select List descriptor
! 244: dchatter 12/29/95 - V8 OCI definitions
! 245: dchatter 12/29/95 - Creation
! 246:
! 247: */
! 248:
! 249: #ifdef __cplusplus
! 250: extern "C" {
! 251: #endif
! 252:
! 253: #ifndef ORATYPES
! 254: #include <oratypes.h>
! 255: #endif
! 256:
! 257: #ifndef OCIDFN
! 258: #include <ocidfn.h>
! 259: #endif
! 260:
! 261: #ifndef OCI_ORACLE
! 262: # define OCI_ORACLE
! 263:
! 264:
! 265: /*---------------------------------------------------------------------------
! 266: Short names provided for platforms which do not allow extended symbolic names
! 267: ---------------------------------------------------------------------------*/
! 268:
! 269: #ifdef SLSHORTNAME
! 270: /* Translation of the long function/type names to short names for IBM only */
! 271: /* maybe lint will use this too */
! 272: #define OCISessionEnd ocitac
! 273: #define OCIResultSetToStmt ocirs2sh
! 274: #define OCISessionBegin ociauth
! 275: #define OCIServerAttach ociatch
! 276: #define OCIDescriptorAlloc ocigdesc
! 277: #define OCIServerDetach ocidtch
! 278: #define OCIDescriptorFree ocifdesc
! 279: #define OCIServerVersion ocivers
! 280: #define OCIDescribeAny ocidsca
! 281: #define OCIBindDynamic ocibda
! 282: #define OCIBindByName ocibdn
! 283: #define OCIBindByPos ocibdp
! 284: #define OCIErrorGet ocigdr
! 285: #define OCIBindArrayOfStruct ocibsa
! 286: #define OCIEnvInit ociinit
! 287: #define OCIBindObject ocibndt
! 288: #define OCIHandleAlloc ocighndl
! 289: #define OCIHandleFree ocifhndl
! 290: #ifdef NEVER
! 291: #define OCIStmtBindByPos ocibndp
! 292: #define OCIStmtBindByName ocibndn
! 293: #endif
! 294: #define OCIAttrGet ocigattr
! 295: #define OCIDefineByPos ocidfne
! 296: #define OCIAttrSet ocisattr
! 297: #define OCIDefineDynamic ociddf
! 298: #define OCILdaToSvcCtx ocild2sv
! 299: #define OCIDefineArrayOfStruct ocidarr
! 300: #define OCIInitialize ocipi
! 301: #define OCIDefineObject ocidndt
! 302: #define OCIStmtExecute ociexec
! 303: #define OCILobAppend ocilfap
! 304: #define OCILobOpenFile ocifopn
! 305: #define OCILobCloseFile ocifcls
! 306: #define OCILobLocator ocilobd
! 307: #define OCILobCopy ocilfcp
! 308: #define OCILobFileCreate ocifcrt
! 309: #define OCILobFileDelete ocifdel
! 310: #define OCILobGetLength ocilfln
! 311: #define OCILobWrite ocilfwr
! 312: #define OCILobRead ocilfrd
! 313: #define OCILobErase ocilfer
! 314: #define OCILobTrim ocilftr
! 315:
! 316: #define OCIStmtFetch ocifch
! 317: #define OCIStmtGetBindInfo ocigbp
! 318: #define OCIStmtGetPieceInfo ocigpi
! 319: #define OCIStmtPrepare ocireq
! 320: #define OCIStmtSetPieceInfo ocispi
! 321: #define OCISvcCtxToLda ocisv2ld
! 322: #define OCITransCommit ocitxcm
! 323: #define OCITransDetach ocitxdt
! 324: #define OCITransForget ocitxfgt
! 325: #define OCITransPrepare ocitxpre
! 326: #define OCITransRollback ocitxrl
! 327: #define OCIPasswordChange ocicpw
! 328: #define OCITransStart ocitxst
! 329: #define OCITransMultiPrepare ocitxmp
! 330:
! 331: #define OCIBreak ocibreak
! 332: #define OCIParamGet ocigparm
! 333: #define OCIParamSet ocisparm
! 334:
! 335: #define OCISecurityOpenWallet ocizwOpenWallet
! 336: #define OCISecurityCloseWallet ocizwCloseWallet
! 337: #define OCISecurityCreateWallet ocizwCreateWallet
! 338: #define OCISecurityDestroyWallet ocizwDestroyWallet
! 339: #define OCISecurityStorePersona ocizeStorePersona
! 340: #define OCISecurityOpenPersona ocizeOpenPersona
! 341: #define OCISecurityClosePersona ocizeClosePersona
! 342: #define OCISecurityRemovePersona ocizeRemovePersona
! 343: #define OCISecurityCreatePersona ocizeCreatePersona
! 344: #define OCISecuritySetProtection ocizeSetProtection
! 345: #define OCISecurityGetProtection ocizeGetProtection
! 346: #define OCISecurityRemoveIdentity ociziRemoveIdentity
! 347: #define OCISecurityCreateIdentity ociziCreateIdentity
! 348: #define OCISecurityAbortIdentity ociziAbortIdentity
! 349: #define OCISecurityFreeIdentity ociziFreeIdentity
! 350: #define OCISecurityStoreTrustedIdentity ociziStoreTrustedIdentity
! 351: #define OCISecuritySign ocizSign
! 352: #define OCISecuritySignExpansion ocizxSignExpansion
! 353: #define OCISecurityVerify ocizVerify
! 354: #define OCISecurityValidate ocizValidate
! 355: #define OCISecuritySignDetached ocizsd_SignDetached
! 356: #define OCISecuritySignDetExpansion ocizxsd_SignDetachedExpansion
! 357: #define OCISecurityVerifyDetached ocizved_VerifyDetached
! 358: #define OCISecurity_PKEncrypt ocizkec_PKEncrypt
! 359: #define OCISecurityPKEncryptExpansion ocizxkec_PKEncryptExpansion
! 360: #define OCISecurityPKDecrypt ocizkdc_PKDecrypt
! 361: #define OCISecurityEncrypt ocizEncrypt
! 362: #define OCISecurityEncryptExpansion ocizxEncryptExpansion
! 363: #define OCISecurityDecrypt ocizDecrypt
! 364: #define OCISecurityEnvelope ocizEnvelope
! 365: #define OCISecurityDeEnvelope ocizDeEnvelope
! 366: #define OCISecurityKeyedHash ocizKeyedHash
! 367: #define OCISecurityKeyedHashExpansion ocizxKeyedHashExpansion
! 368: #define OCISecurityHash ocizHash
! 369: #define OCISecurityHashExpansion ocizxHashExpansion
! 370: #define OCISecuritySeedRandom ocizSeedRandom
! 371: #define OCISecurityRandomBytes ocizrb_RandomBytes
! 372: #define OCISecurityRandomNumber ocizrn_RandomNumber
! 373: #define OCISecurityInitBlock ocizibInitBlock
! 374: #define OCISecurityReuseBlock ocizrbReuseBlock
! 375: #define OCISecurityPurgeBlock ocizpbPurgeBlock
! 376: #define OCISecuritySetBlock ocizsbSetBlock
! 377: #define OCISecurityGetIdentity ocizgi_GetIdentity
! 378:
! 379: #define OCIExtractInit ocixeini
! 380: #define OCIExtractTerm ocixetrm
! 381: #define OCIExtractReset ocixerst
! 382: #define OCIExtractSetNumKeys ocixesnk
! 383: #define OCIExtractSetKey ocixesk
! 384: #define OCIExtractFromFile ocixeff
! 385: #define OCIExtractFromStr ocixefs
! 386: #define OCIExtractToInt ocixeti
! 387: #define OCIExtractToBool ocixetb
! 388: #define OCIExtractToStr ocixets
! 389: #define OCIExtractToOCINum ocixeton
! 390: #define OCIExtractToList ocixetl
! 391: #define OCIExtractFromList ocixefl
! 392:
! 393: #define OCIDateTimeGetTime ocidt01_GetTime
! 394: #define OCIDateTimeGetDate ocidt02_GetDate
! 395: #define OCIDateTimeGetTimeZoneOffset ocidt03_GetTZ
! 396: #define OCIDateTimeSysTimeStamp ocidt07_SysTS
! 397: #define OCIDateTimeAssign ocidt08_Assign
! 398: #define OCIDateTimeToText ocidt09_ToText
! 399: #define OCIDateTimeFromText ocidt10_FromText
! 400: #define OCIDateTimeCompare ocidt11_Compare
! 401: #define OCIDateTimeCheck ocidt12_Check
! 402: #define OCIDateTimeConvert ocidt13_Convert
! 403: #define OCIDateTimeSubtract ocidt14_Subtract
! 404: #define OCIDateTimeIntervalAdd ocidt15_IntervalAdd
! 405: #define OCIDateTimeIntervalSub ocidt16_IntervalSub
! 406:
! 407: #define OCIIntervalSubtract ociint01_Subtract
! 408: #define OCIIntervalAdd ociint02_Add
! 409: #define OCIIntervalMultiply ociint03_Multiply
! 410: #define OCIIntervalDivide ociint04_Divide
! 411: #define OCIIntervalCompare ociint05_Compare
! 412: #define OCIIntervalFromText ociint06_FromText
! 413: #define OCIIntervalToText ociint07_ToText
! 414: #define OCIIntervalToNumber ociint08_ToNumber
! 415: #define OCIIntervalCheck ociint09_Check
! 416: #define OCIIntervalAssign ociint10_Assign
! 417: #define OCIIntervalGetYearMonth ociint11_GetYearMonth
! 418: #define OCIIntervalSetYearMonth ociint12_SetYearMonth
! 419: #define OCIIntervalGetDaySecond ociint13_GetDaySecond
! 420: #define OCIIntervalSetDaySecond ociint14_SetDaySecond
! 421: #define OCIIntervalFromNumber ociint15_FromNumber
! 422:
! 423: #define OCIFormatInit ocixs01_Init
! 424: #define OCIFormatString ocixs02_Format
! 425: #define OCIFormatTerm ocixs03_Term
! 426: #define OCIFormatTUb1 ocixs04_TUb1
! 427: #define OCIFormatTUb2 ocixs05_TUb2
! 428: #define OCIFormatTUb4 ocixs06_TUb4
! 429: #define OCIFormatTUword ocixs07_TUword
! 430: #define OCIFormatTUbig_ora ocixs08_TUbig_ora
! 431: #define OCIFormatTSb1 ocixs09_TSb1
! 432: #define OCIFormatTSb2 ocixs10_TSb2
! 433: #define OCIFormatTSb4 ocixs11_TSb4
! 434: #define OCIFormatTSword ocixs12_TSword
! 435: #define OCIFormatTSbig_ora ocixs13_TSbig_ora
! 436: #define OCIFormatTEb1 ocixs14_TEb1
! 437: #define OCIFormatTEb2 ocixs15_TEb2
! 438: #define OCIFormatTEb4 ocixs16_TEb4
! 439: #define OCIFormatTEword ocixs17_TEword
! 440: #define OCIFormatTChar ocixs18_TChar
! 441: #define OCIFormatTText ocixs19_TText
! 442: #define OCIFormatTDouble ocixs20_TDouble
! 443: #define OCIFormatTDvoid ocixs21_TDvoid
! 444: #define OCIFormatTEnd ocixs22_TEnd
! 445:
! 446: #define OCIFileInit ocifinit
! 447: #define OCIFileTerm ocifterm
! 448: #define OCIFileOpen ocifopen
! 449: #define OCIFileClose ocifclose
! 450: #define OCIFileRead ocifread
! 451: #define OCIFileWrite ocifwrite
! 452: #define OCIFileSeek ocifseek
! 453: #define OCIFileExists ocifexists
! 454: #define OCIFileGetLength ocifglen
! 455: #define OCIFileFlush ocifflush
! 456:
! 457:
! 458: /* OCIThread short name */
! 459: #define OCIThreadProcessInit ocitt01_ProcessInit
! 460: #define OCIThreadInit ocitt02_Init
! 461: #define OCIThreadTerm ocitt03_Term
! 462: #define OCIThreadIsMulti ocitt04_IsMulti
! 463: #define OCIThreadMutexInit ocitt05_MutexInit
! 464: #define OCIThreadMutexDestroy ocitt06_MutexDestroy
! 465: #define OCIThreadMutexAcquire ocitt07_MutexAcquire
! 466: #define OCIThreadMutexRelease ocitt08_MutexRelease
! 467: #define OCIThreadKeyInit ocitt09_KeyInit
! 468: #define OCIThreadKeyDestroy ocitt10_KeyDestroy
! 469: #define OCIThreadKeyGet ocitt11_KeyGet
! 470: #define OCIThreadKeySet ocitt12_KeySet
! 471: #define OCIThreadIdInit ocitt13_IdInit
! 472: #define OCIThreadIdDestroy ocitt14_IdDestroy
! 473: #define OCIThreadIdSet ocitt15_IdSet
! 474: #define OCIThreadIdSetNull ocitt16_IdSetNull
! 475: #define OCIThreadIdGet ocitt17_IdGet
! 476: #define OCIThreadIdSame ocitt18_IdSame
! 477: #define OCIThreadIdNull ocitt19_IdNull
! 478: #define OCIThreadHndInit ocitt20_HndInit
! 479: #define OCIThreadHndDestroy ocitt21_HndDestroy
! 480: #define OCIThreadCreate ocitt22_Create
! 481: #define OCIThreadJoin ocitt23_Join
! 482: #define OCIThreadClose ocitt24_Close
! 483: #define OCIThreadHandleGet ocitt25_HandleGet
! 484:
! 485: /* Translation between the old and new datatypes */
! 486:
! 487: #define OCISession ociusrh
! 488: #define OCIBind ocibndh
! 489: #define OCIDescribe ocidsch
! 490: #define OCIDefine ocidfnh
! 491: #define OCIEnv ocienvh
! 492: #define OCIError ocierrh
! 493:
! 494: #define OCILob ocilobd
! 495: #define OCILobLength ocillen
! 496: #define OCILobMode ocilmo
! 497: #define OCILobOffset ociloff
! 498:
! 499: #define OCILobLocator ocilobd
! 500: #define OCIBlobLocator ociblobl
! 501: #define OCIClobLocator ociclobl
! 502: #define OCIBFileLocator ocibfilel
! 503:
! 504: #define OCIParam ocipard
! 505: #define OCIResult ocirstd
! 506: #define OCISnapshot ocisnad
! 507: #define OCIServer ocisrvh
! 508: #define OCIStmt ocistmh
! 509: #define OCISvcCtx ocisvch
! 510: #define OCITrans ocitxnh
! 511: #define OCICallbackInBind ocibicfp
! 512: #define OCICallbackOutBind ocibocfp
! 513: #define OCICallbackDefine ocidcfp
! 514: #define OCICallbackLobRead ocilrfp
! 515: #define OCICallbackLobWrite ocilwfp
! 516: #define OCISecurity ociossh
! 517: #define OCIComplexObject ocicorh
! 518: #define OCIComplexObjectComp ocicord
! 519: #define OCIRowid ociridd
! 520:
! 521: #endif /* ifdef SLSHORTNAME */
! 522:
! 523: /*---------------------------------------------------------------------------
! 524: PUBLIC TYPES AND CONSTANTS
! 525: ---------------------------------------------------------------------------*/
! 526:
! 527: /*-----------------------------Handle Types----------------------------------*/
! 528: /* handle types range from 1 - 49 */
! 529: #define OCI_HTYPE_FIRST 1 /* start value of handle type */
! 530: #define OCI_HTYPE_ENV 1 /* environment handle */
! 531: #define OCI_HTYPE_ERROR 2 /* error handle */
! 532: #define OCI_HTYPE_SVCCTX 3 /* service handle */
! 533: #define OCI_HTYPE_STMT 4 /* statement handle */
! 534: #define OCI_HTYPE_BIND 5 /* bind handle */
! 535: #define OCI_HTYPE_DEFINE 6 /* define handle */
! 536: #define OCI_HTYPE_DESCRIBE 7 /* describe handle */
! 537: #define OCI_HTYPE_SERVER 8 /* server handle */
! 538: #define OCI_HTYPE_SESSION 9 /* authentication handle */
! 539: #define OCI_HTYPE_TRANS 10 /* transaction handle */
! 540: #define OCI_HTYPE_COMPLEXOBJECT 11 /* complex object retrieval handle */
! 541: #define OCI_HTYPE_SECURITY 12 /* security handle */
! 542: #define OCI_HTYPE_SUBSCRIPTION 13 /* subscription handle */
! 543: #define OCI_HTYPE_DIRPATH_CTX 14 /* direct path context */
! 544: #define OCI_HTYPE_DIRPATH_COLUMN_ARRAY 15 /* direct path column array */
! 545: #define OCI_HTYPE_DIRPATH_STREAM 16 /* direct path stream */
! 546: #define OCI_HTYPE_PROC 17 /* process handle */
! 547: #define OCI_HTYPE_LAST 17 /* last value of a handle type */
! 548:
! 549: /*---------------------------------------------------------------------------*/
! 550:
! 551:
! 552: /*-------------------------Descriptor Types----------------------------------*/
! 553: /* descriptor values range from 50 - 255 */
! 554: #define OCI_DTYPE_FIRST 50 /* start value of descriptor type */
! 555: #define OCI_DTYPE_LOB 50 /* lob locator */
! 556: #define OCI_DTYPE_SNAP 51 /* snapshot descriptor */
! 557: #define OCI_DTYPE_RSET 52 /* result set descriptor */
! 558: #define OCI_DTYPE_PARAM 53 /* a parameter descriptor obtained from ocigparm */
! 559: #define OCI_DTYPE_ROWID 54 /* rowid descriptor */
! 560: #define OCI_DTYPE_COMPLEXOBJECTCOMP 55
! 561: /* complex object retrieval descriptor */
! 562: #define OCI_DTYPE_FILE 56 /* File Lob locator */
! 563: #define OCI_DTYPE_AQENQ_OPTIONS 57 /* enqueue options */
! 564: #define OCI_DTYPE_AQDEQ_OPTIONS 58 /* dequeue options */
! 565: #define OCI_DTYPE_AQMSG_PROPERTIES 59 /* message properties */
! 566: #define OCI_DTYPE_AQAGENT 60 /* aq agent */
! 567: #define OCI_DTYPE_LOCATOR 61 /* LOB locator */
! 568: #define OCI_DTYPE_INTERVAL_YM 62 /* Interval year month */
! 569: #define OCI_DTYPE_INTERVAL_DS 63 /* Interval day second */
! 570: #define OCI_DTYPE_AQNFY_DESCRIPTOR 64 /* AQ notify descriptor */
! 571: #define OCI_DTYPE_DATE 65 /* Date */
! 572: #define OCI_DTYPE_TIME 66 /* Time */
! 573: #define OCI_DTYPE_TIME_TZ 67 /* Time with timezone */
! 574: #define OCI_DTYPE_TIMESTAMP 68 /* Timestamp */
! 575: #define OCI_DTYPE_TIMESTAMP_TZ 69 /* Timestamp with timezone */
! 576: #define OCI_DTYPE_TIMESTAMP_LTZ 70 /* Timestamp with local tz */
! 577: #define OCI_DTYPE_UCB 71 /* user callback descriptor */
! 578: #define OCI_DTYPE_LAST 71 /* last value of a descriptor type */
! 579: /*---------------------------------------------------------------------------*/
! 580:
! 581: /*--------------------------------LOB types ---------------------------------*/
! 582: #define OCI_TEMP_BLOB 1 /* LOB type - BLOB ------------------ */
! 583: #define OCI_TEMP_CLOB 2 /* LOB type - CLOB ------------------ */
! 584: /*---------------------------------------------------------------------------*/
! 585:
! 586: /*-------------------------Object Ptr Types----------------------------------*/
! 587: #define OCI_OTYPE_NAME 1 /* object name */
! 588: #define OCI_OTYPE_REF 2 /* REF to TDO */
! 589: #define OCI_OTYPE_PTR 3 /* PTR to TDO */
! 590: /*---------------------------------------------------------------------------*/
! 591:
! 592: /*=============================Attribute Types===============================*/
! 593: /*
! 594: Note: All attributes are global. New attibutes should be added to the end
! 595: of the list. Before you add an attribute see if an existing one can be
! 596: used for your handle.
! 597:
! 598: If you see any holes please use the holes first.
! 599:
! 600: */
! 601: /*===========================================================================*/
! 602:
! 603:
! 604: #define OCI_ATTR_FNCODE 1 /* the OCI function code */
! 605: #define OCI_ATTR_OBJECT 2 /* is the environment initialized in object mode */
! 606: #define OCI_ATTR_NONBLOCKING_MODE 3 /* non blocking mode */
! 607: #define OCI_ATTR_SQLCODE 4 /* the SQL verb */
! 608: #define OCI_ATTR_ENV 5 /* the environment handle */
! 609: #define OCI_ATTR_SERVER 6 /* the server handle */
! 610: #define OCI_ATTR_SESSION 7 /* the user session handle */
! 611: #define OCI_ATTR_TRANS 8 /* the transaction handle */
! 612: #define OCI_ATTR_ROW_COUNT 9 /* the rows processed so far */
! 613: #define OCI_ATTR_SQLFNCODE 10 /* the SQL verb of the statement */
! 614: #define OCI_ATTR_PREFETCH_ROWS 11 /* sets the number of rows to prefetch */
! 615: #define OCI_ATTR_NESTED_PREFETCH_ROWS 12 /* the prefetch rows of nested table*/
! 616: #define OCI_ATTR_PREFETCH_MEMORY 13 /* memory limit for rows fetched */
! 617: #define OCI_ATTR_NESTED_PREFETCH_MEMORY 14 /* memory limit for nested rows */
! 618: #define OCI_ATTR_CHAR_COUNT 15
! 619: /* this specifies the bind and define size in characters */
! 620: #define OCI_ATTR_PDSCL 16 /* packed decimal scale */
! 621: #define OCI_ATTR_FSPRECISION OCI_ATTR_PDSCL
! 622: /* fs prec for datetime data types */
! 623: #define OCI_ATTR_PDPRC 17 /* packed decimal format */
! 624: #define OCI_ATTR_LFPRECISION OCI_ATTR_PDPRC
! 625: /* fs prec for datetime data types */
! 626: #define OCI_ATTR_PARAM_COUNT 18 /* number of column in the select list */
! 627: #define OCI_ATTR_ROWID 19 /* the rowid */
! 628: #define OCI_ATTR_CHARSET 20 /* the character set value */
! 629: #define OCI_ATTR_NCHAR 21 /* NCHAR type */
! 630: #define OCI_ATTR_USERNAME 22 /* username attribute */
! 631: #define OCI_ATTR_PASSWORD 23 /* password attribute */
! 632: #define OCI_ATTR_STMT_TYPE 24 /* statement type */
! 633: #define OCI_ATTR_INTERNAL_NAME 25 /* user friendly global name */
! 634: #define OCI_ATTR_EXTERNAL_NAME 26 /* the internal name for global txn */
! 635: #define OCI_ATTR_XID 27 /* XOPEN defined global transaction id */
! 636: #define OCI_ATTR_TRANS_LOCK 28 /* */
! 637: #define OCI_ATTR_TRANS_NAME 29 /* string to identify a global transaction */
! 638: #define OCI_ATTR_HEAPALLOC 30 /* memory allocated on the heap */
! 639: #define OCI_ATTR_CHARSET_ID 31 /* Character Set ID */
! 640: #define OCI_ATTR_CHARSET_FORM 32 /* Character Set Form */
! 641: #define OCI_ATTR_MAXDATA_SIZE 33 /* Maximumsize of data on the server */
! 642: #define OCI_ATTR_CACHE_OPT_SIZE 34 /* object cache optimal size */
! 643: #define OCI_ATTR_CACHE_MAX_SIZE 35 /* object cache maximum size percentage */
! 644: #define OCI_ATTR_PINOPTION 36 /* object cache default pin option */
! 645: #define OCI_ATTR_ALLOC_DURATION 37
! 646: /* object cache default allocation duration */
! 647: #define OCI_ATTR_PIN_DURATION 38 /* object cache default pin duration */
! 648: #define OCI_ATTR_FDO 39 /* Format Descriptor object attribute */
! 649: #define OCI_ATTR_POSTPROCESSING_CALLBACK 40
! 650: /* Callback to process outbind data */
! 651: #define OCI_ATTR_POSTPROCESSING_CONTEXT 41
! 652: /* Callback context to process outbind data */
! 653: #define OCI_ATTR_ROWS_RETURNED 42
! 654: /* Number of rows returned in current iter - for Bind handles */
! 655: #define OCI_ATTR_FOCBK 43 /* Failover Callback attribute */
! 656: #define OCI_ATTR_IN_V8_MODE 44 /* is the server/service context in V8 mode */
! 657: #define OCI_ATTR_LOBEMPTY 45 /* empty lob ? */
! 658: #define OCI_ATTR_SESSLANG 46 /* session language handle */
! 659:
! 660: #define OCI_ATTR_VISIBILITY 47 /* visibility */
! 661: #define OCI_ATTR_RELATIVE_MSGID 48 /* relative message id */
! 662: #define OCI_ATTR_SEQUENCE_DEVIATION 49 /* sequence deviation */
! 663:
! 664: #define OCI_ATTR_CONSUMER_NAME 50 /* consumer name */
! 665: #define OCI_ATTR_DEQ_MODE 51 /* dequeue mode */
! 666: #define OCI_ATTR_NAVIGATION 52 /* navigation */
! 667: #define OCI_ATTR_WAIT 53 /* wait */
! 668: #define OCI_ATTR_DEQ_MSGID 54 /* dequeue message id */
! 669:
! 670: #define OCI_ATTR_PRIORITY 55 /* priority */
! 671: #define OCI_ATTR_DELAY 56 /* delay */
! 672: #define OCI_ATTR_EXPIRATION 57 /* expiration */
! 673: #define OCI_ATTR_CORRELATION 58 /* correlation id */
! 674: #define OCI_ATTR_ATTEMPTS 59 /* # of attempts */
! 675: #define OCI_ATTR_RECIPIENT_LIST 60 /* recipient list */
! 676: #define OCI_ATTR_EXCEPTION_QUEUE 61 /* exception queue name */
! 677: #define OCI_ATTR_ENQ_TIME 62 /* enqueue time (only OCIAttrGet) */
! 678: #define OCI_ATTR_MSG_STATE 63/* message state (only OCIAttrGet) */
! 679: /* NOTE: 64-66 used below */
! 680: #define OCI_ATTR_AGENT_NAME 64 /* agent name */
! 681: #define OCI_ATTR_AGENT_ADDRESS 65 /* agent address */
! 682: #define OCI_ATTR_AGENT_PROTOCOL 66 /* agent protocol */
! 683:
! 684: #define OCI_ATTR_SENDER_ID 68 /* sender id */
! 685: #define OCI_ATTR_ORIGINAL_MSGID 69 /* original message id */
! 686:
! 687: #define OCI_ATTR_QUEUE_NAME 70 /* queue name */
! 688: #define OCI_ATTR_NFY_MSGID 71 /* message id */
! 689: #define OCI_ATTR_MSG_PROP 72 /* message properties */
! 690:
! 691: #define OCI_ATTR_NUM_DML_ERRORS 73 /* num of errs in array DML */
! 692: #define OCI_ATTR_DML_ROW_OFFSET 74 /* row offset in the array */
! 693:
! 694: #define OCI_ATTR_DATEFORMAT 75 /* default date format string */
! 695: #define OCI_ATTR_BUF_ADDR 76 /* buffer address */
! 696: #define OCI_ATTR_BUF_SIZE 77 /* buffer size */
! 697: #define OCI_ATTR_DIRPATH_MODE 78 /* mode of direct path operation */
! 698: #define OCI_ATTR_DIRPATH_NOLOG 79 /* nologging option */
! 699: #define OCI_ATTR_DIRPATH_PARALLEL 80 /* parallel (temp seg) option */
! 700: #define OCI_ATTR_NUM_ROWS 81 /* number of rows in column array */
! 701: /* NOTE that OCI_ATTR_NUM_COLS is a column
! 702: * array attribute too.
! 703: */
! 704: #define OCI_ATTR_COL_COUNT 82 /* columns of column array
! 705: processed so far. */
! 706: #define OCI_ATTR_STREAM_OFFSET 83 /* str off of last row processed */
! 707: #define OCI_ATTR_SHARED_HEAPALLOC 84 /* Shared Heap Allocation Size */
! 708:
! 709: #define OCI_ATTR_SERVER_GROUP 85 /* server group name */
! 710:
! 711: #define OCI_ATTR_MIGSESSION 86 /* migratable session attribute */
! 712:
! 713: #define OCI_ATTR_NOCACHE 87 /* Temporary LOBs */
! 714:
! 715: #define OCI_ATTR_MEMPOOL_SIZE 88 /* Pool Size */
! 716: #define OCI_ATTR_MEMPOOL_INSTNAME 89 /* Instance name */
! 717: #define OCI_ATTR_MEMPOOL_APPNAME 90 /* Application name */
! 718: #define OCI_ATTR_MEMPOOL_HOMENAME 91 /* Home Directory name */
! 719: #define OCI_ATTR_MEMPOOL_MODEL 92 /* Pool Model (proc,thrd,both)*/
! 720: #define OCI_ATTR_MODES 93 /* Modes */
! 721:
! 722: #define OCI_ATTR_SUBSCR_NAME 94 /* name of subscription */
! 723: #define OCI_ATTR_SUBSCR_CALLBACK 95 /* associated callback */
! 724: #define OCI_ATTR_SUBSCR_CTX 96 /* associated callback context */
! 725: #define OCI_ATTR_SUBSCR_PAYLOAD 97 /* associated payload */
! 726: #define OCI_ATTR_SUBSCR_NAMESPACE 98 /* associated namespace */
! 727:
! 728: #define OCI_ATTR_PROXY_CREDENTIALS 99 /* Proxy user credentials */
! 729: #define OCI_ATTR_INITIAL_CLIENT_ROLES 100 /* Initial client role list */
! 730:
! 731: #define OCI_ATTR_UNK 101 /* unknown attribute */
! 732: #define OCI_ATTR_NUM_COLS 102 /* number of columns */
! 733: #define OCI_ATTR_LIST_COLUMNS 103 /* parameter of the column list */
! 734: #define OCI_ATTR_RDBA 104 /* DBA of the segment header */
! 735: #define OCI_ATTR_CLUSTERED 105 /* whether the table is clustered */
! 736: #define OCI_ATTR_PARTITIONED 106 /* whether the table is partitioned */
! 737: #define OCI_ATTR_INDEX_ONLY 107 /* whether the table is index only */
! 738: #define OCI_ATTR_LIST_ARGUMENTS 108 /* parameter of the argument list */
! 739: #define OCI_ATTR_LIST_SUBPROGRAMS 109 /* parameter of the subprogram list */
! 740: #define OCI_ATTR_REF_TDO 110 /* REF to the type descriptor */
! 741: #define OCI_ATTR_LINK 111 /* the database link name */
! 742: #define OCI_ATTR_MIN 112 /* minimum value */
! 743: #define OCI_ATTR_MAX 113 /* maximum value */
! 744: #define OCI_ATTR_INCR 114 /* increment value */
! 745: #define OCI_ATTR_CACHE 115 /* number of sequence numbers cached */
! 746: #define OCI_ATTR_ORDER 116 /* whether the sequence is ordered */
! 747: #define OCI_ATTR_HW_MARK 117 /* high-water mark */
! 748: #define OCI_ATTR_TYPE_SCHEMA 118 /* type's schema name */
! 749: #define OCI_ATTR_TIMESTAMP 119 /* timestamp of the object */
! 750: #define OCI_ATTR_NUM_ATTRS 120 /* number of sttributes */
! 751: #define OCI_ATTR_NUM_PARAMS 121 /* number of parameters */
! 752: #define OCI_ATTR_OBJID 122 /* object id for a table or view */
! 753: #define OCI_ATTR_PTYPE 123 /* type of info described by */
! 754: #define OCI_ATTR_PARAM 124 /* parameter descriptor */
! 755: #define OCI_ATTR_OVERLOAD_ID 125 /* overload ID for funcs and procs */
! 756: #define OCI_ATTR_TABLESPACE 126 /* table name space */
! 757: #define OCI_ATTR_TDO 127 /* TDO of a type */
! 758: #define OCI_ATTR_LTYPE 128 /* list type */
! 759: #define OCI_ATTR_PARSE_ERROR_OFFSET 129 /* Parse Error offset */
! 760: #define OCI_ATTR_IS_TEMPORARY 130 /* whether table is temporary */
! 761: #define OCI_ATTR_IS_TYPED 131 /* whether table is typed */
! 762: #define OCI_ATTR_DURATION 132 /* duration of temporary table */
! 763: #define OCI_ATTR_IS_INVOKER_RIGHTS 133 /* is invoker rights */
! 764: #define OCI_ATTR_OBJ_NAME 134 /* top level schema obj name */
! 765: #define OCI_ATTR_OBJ_SCHEMA 135 /* schema name */
! 766: #define OCI_ATTR_OBJ_ID 136 /* top level schema object id */
! 767:
! 768: #define OCI_ATTR_DIRPATH_SORTED_INDEX 137 /* index that data is sorted on */
! 769:
! 770: /* direct path index maint method (see oci8dp.h) */
! 771: #define OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD 138
! 772:
! 773: /* parallel load: db file, initial and next extent sizes */
! 774:
! 775: #define OCI_ATTR_DIRPATH_FILE 139 /* DB file to load into */
! 776: #define OCI_ATTR_DIRPATH_STORAGE_INITIAL 140 /* initial extent size */
! 777: #define OCI_ATTR_DIRPATH_STORAGE_NEXT 141 /* next extent size */
! 778:
! 779:
! 780: #define OCI_ATTR_TRANS_TIMEOUT 142 /* transaction timeout */
! 781: #define OCI_ATTR_SERVER_STATUS 143 /* state of the server handle */
! 782: #define OCI_ATTR_STATEMENT 144 /* statement txt in stmt hdl */
! 783:
! 784:
! 785: /* ----- Temporary attribute value for UCS2 character set ID -------- */
! 786: #define OCI_UCS2ID 1000 /* UCS2 charset ID */
! 787:
! 788: /*============================== End OCI Attribute Types ====================*/
! 789:
! 790: /*---------------- Server Handle Attribute Values ---------------------------*/
! 791:
! 792: /* OCI_ATTR_SERVER_STATUS */
! 793: #define OCI_SERVER_NOT_CONNECTED 0x0
! 794: #define OCI_SERVER_NORMAL 0x1
! 795:
! 796: /*---------------------------------------------------------------------------*/
! 797:
! 798: /*------------------------- Supported Namespaces ---------------------------*/
! 799: #define OCI_SUBSCR_NAMESPACE_ANONYMOUS 0 /* Anonymous Namespace */
! 800: #define OCI_SUBSCR_NAMESPACE_AQ 1 /* Advanced Queues */
! 801: #define OCI_SUBSCR_NAMESPACE_MAX 2 /* Max Name Space Number */
! 802:
! 803:
! 804: /*-------------------------Credential Types----------------------------------*/
! 805: #define OCI_CRED_RDBMS 1 /* database username/password */
! 806: #define OCI_CRED_EXT 2 /* externally provided credentials */
! 807: #define OCI_CRED_PROXY 3 /* proxy authentication */
! 808: /*---------------------------------------------------------------------------*/
! 809:
! 810: /*------------------------Error Return Values--------------------------------*/
! 811: #define OCI_SUCCESS 0 /* maps to SQL_SUCCESS of SAG CLI */
! 812: #define OCI_SUCCESS_WITH_INFO 1 /* maps to SQL_SUCCESS_WITH_INFO */
! 813: #define OCI_RESERVED_FOR_INT_USE 200 /* reserved for internal use */
! 814: #define OCI_NO_DATA 100 /* maps to SQL_NO_DATA */
! 815: #define OCI_ERROR -1 /* maps to SQL_ERROR */
! 816: #define OCI_INVALID_HANDLE -2 /* maps to SQL_INVALID_HANDLE */
! 817: #define OCI_NEED_DATA 99 /* maps to SQL_NEED_DATA */
! 818: #define OCI_STILL_EXECUTING -3123 /* OCI would block error */
! 819: #define OCI_CONTINUE -24200 /* Continue with the body of the OCI function */
! 820: /*---------------------------------------------------------------------------*/
! 821:
! 822: /*------------------DateTime and Interval check Error codes------------------*/
! 823:
! 824: /* DateTime Error Codes used by OCIDateTimeCheck() */
! 825: #define OCI_DT_INVALID_DAY 0x1 /* Bad day */
! 826: #define OCI_DT_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low)*/
! 827: #define OCI_DT_INVALID_MONTH 0x4 /* Bad MOnth */
! 828: #define OCI_DT_MONTH_BELOW_VALID 0x8 /* Bad MOnth Low/high bit (1=low) */
! 829: #define OCI_DT_INVALID_YEAR 0x10 /* Bad YeaR */
! 830: #define OCI_DT_YEAR_BELOW_VALID 0x20 /* Bad YeaR Low/high bit (1=low) */
! 831: #define OCI_DT_INVALID_HOUR 0x40 /* Bad HouR */
! 832: #define OCI_DT_HOUR_BELOW_VALID 0x80 /* Bad HouR Low/high bit (1=low) */
! 833: #define OCI_DT_INVALID_MINUTE 0x100 /* Bad MiNute */
! 834: #define OCI_DT_MINUTE_BELOW_VALID 0x200 /*Bad MiNute Low/high bit (1=low) */
! 835: #define OCI_DT_INVALID_SECOND 0x400 /* Bad SeCond */
! 836: #define OCI_DT_SECOND_BELOW_VALID 0x800 /*bad second Low/high bit (1=low)*/
! 837: #define OCI_DT_DAY_MISSING_FROM_1582 0x1000
! 838: /* Day is one of those "missing" from 1582 */
! 839: #define OCI_DT_YEAR_ZERO 0x2000 /* Year may not equal zero */
! 840: #define OCI_DT_INVALID_TIMEZONE 0x4000 /* Bad Timezone */
! 841: #define OCI_DT_INVALID_FORMAT 0x8000 /* Bad date format input */
! 842:
! 843:
! 844: /* Interval Error Codes used by OCIInterCheck() */
! 845: #define OCI_INTER_INVALID_DAY 0x1 /* Bad day */
! 846: #define OCI_INTER_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low) */
! 847: #define OCI_INTER_INVALID_MONTH 0x4 /* Bad MOnth */
! 848: #define OCI_INTER_MONTH_BELOW_VALID 0x8 /*Bad MOnth Low/high bit (1=low) */
! 849: #define OCI_INTER_INVALID_YEAR 0x10 /* Bad YeaR */
! 850: #define OCI_INTER_YEAR_BELOW_VALID 0x20 /*Bad YeaR Low/high bit (1=low) */
! 851: #define OCI_INTER_INVALID_HOUR 0x40 /* Bad HouR */
! 852: #define OCI_INTER_HOUR_BELOW_VALID 0x80 /*Bad HouR Low/high bit (1=low) */
! 853: #define OCI_INTER_INVALID_MINUTE 0x100 /* Bad MiNute */
! 854: #define OCI_INTER_MINUTE_BELOW_VALID 0x200
! 855: /*Bad MiNute Low/high bit(1=low) */
! 856: #define OCI_INTER_INVALID_SECOND 0x400 /* Bad SeCond */
! 857: #define OCI_INTER_SECOND_BELOW_VALID 0x800
! 858: /*bad second Low/high bit(1=low) */
! 859: #define OCI_INTER_INVALID_FRACSEC 0x1000 /* Bad Fractional second */
! 860: #define OCI_INTER_FRACSEC_BELOW_VALID 0x2000
! 861: /* Bad fractional second Low/High */
! 862:
! 863:
! 864: /*------------------------Parsing Syntax Types-------------------------------*/
! 865: #define OCI_V7_SYNTAX 2 /* V815 language - for backwards compatibility */
! 866: #define OCI_V8_SYNTAX 3 /* V815 language - for backwards compatibility */
! 867: #define OCI_NTV_SYNTAX 1 /* Use what so ever is the native lang of server */
! 868: /* these values must match the values defined in kpul.h */
! 869: /*---------------------------------------------------------------------------*/
! 870:
! 871: /*------------------------Scrollable Cursor Options--------------------------*/
! 872: #define OCI_FETCH_NEXT 0x02 /* next row */
! 873: #define OCI_FETCH_FIRST 0x04 /* first row of the result set */
! 874: #define OCI_FETCH_LAST 0x08 /* the last row of the result set */
! 875: #define OCI_FETCH_PRIOR 0x10 /* the previous row relative to current */
! 876: #define OCI_FETCH_ABSOLUTE 0x20 /* absolute offset from first */
! 877: #define OCI_FETCH_RELATIVE 0x40 /* offset relative to current */
! 878: #define OCI_FETCH_RESERVED_1 0x80 /* reserved for internal use */
! 879:
! 880: /*---------------------------------------------------------------------------*/
! 881:
! 882: /*------------------------Bind and Define Options----------------------------*/
! 883: #define OCI_SB2_IND_PTR 0x01 /* unused */
! 884: #define OCI_DATA_AT_EXEC 0x02 /* data at execute time */
! 885: #define OCI_DYNAMIC_FETCH 0x02 /* fetch dynamically */
! 886: #define OCI_PIECEWISE 0x04 /* piecewise DMLs or fetch */
! 887: #define OCI_DEFINE_RESERVED_1 0x08 /* reserved for internal use */
! 888: #define OCI_BIND_RESERVED_2 0x10 /* reserved for internal use */
! 889: #define OCI_DEFINE_RESERVED_2 0x20 /* reserved for internal use */
! 890: /*---------------------------------------------------------------------------*/
! 891:
! 892: /*----------------------------- Various Modes ------------------------------*/
! 893: #define OCI_DEFAULT 0x00 /* the default value for parameters and attributes */
! 894:
! 895: /*-------------OCIInitialize Modes / OCICreateEnvironment Modes -------------*/
! 896: #define OCI_THREADED 0x01 /* the application is in threaded environment */
! 897: #define OCI_OBJECT 0x02 /* the application is in object environment */
! 898: #define OCI_EVENTS 0x04 /* the application is enabled for events */
! 899: #define OCI_RESERVED1 0x08 /* Reserved for internal use */
! 900: #define OCI_SHARED 0x10 /* the application is in shared mode */
! 901: #define OCI_RESERVED2 0x20 /* Reserved for internal use */
! 902: /* The following *TWO* are only valid for OCICreateEnvironment call */
! 903: #define OCI_NO_UCB 0x40 /* No user callback called during init */
! 904: #define OCI_NO_MUTEX 0x80 /* the environment handle will not be */
! 905: /* protected by a mutex internally */
! 906: #define OCI_SHARED_EXT 0x100 /* Used for shared forms */
! 907: #define OCI_CACHE 0x200 /* used by iCache */
! 908:
! 909: /*---------------------------------------------------------------------------*/
! 910:
! 911: /*----------------------------- OCIEnvInit Modes ----------------------------*/
! 912: /* NOTE: NO NEW MODES SHOULD BE ADDED HERE BECAUSE THE RECOMMENDED METHOD
! 913: * IS TO USE THE NEW OCICreateEnvironment MODES.
! 914: */
! 915: #define OCI_ENV_NO_UCB 0x01 /* A user callback will not be called in
! 916: OCIEnvInit() */
! 917: #define OCI_ENV_NO_MUTEX 0x08 /* the environment handle will not be protected
! 918: by a mutex internally */
! 919: /*---------------------------------------------------------------------------*/
! 920:
! 921: /*------------------------ Parse Modes --------------------------------------*/
! 922: #define OCI_NO_SHARING 0x01 /* turn off statement handle sharing */
! 923: /* This flag is only valid when process is in sharing mode */
! 924: /*---------------------------------------------------------------------------*/
! 925:
! 926: /*----------------------- Execution Modes -----------------------------------*/
! 927: #define OCI_BATCH_MODE 0x01 /* batch the oci statement for execution */
! 928: #define OCI_EXACT_FETCH 0x02 /* fetch the exact rows specified */
! 929: #define OCI_KEEP_FETCH_STATE 0x04 /* unused */
! 930: #define OCI_SCROLLABLE_CURSOR 0x08 /* cursor scrollable */
! 931: #define OCI_DESCRIBE_ONLY 0x10 /* only describe the statement */
! 932: #define OCI_COMMIT_ON_SUCCESS 0x20 /* commit, if successful execution */
! 933: #define OCI_NON_BLOCKING 0x40 /* non-blocking */
! 934: #define OCI_BATCH_ERRORS 0x80 /* batch errors in array dmls */
! 935: #define OCI_PARSE_ONLY 0x100 /* only parse the statement */
! 936: #define OCI_EXACT_FETCH_RESERVED_1 0x200 /* reserved for internal use */
! 937: #define OCI_SHOW_DML_WARNINGS 0x400
! 938: /* return OCI_SUCCESS_WITH_INFO for del/upd with no where clause */
! 939:
! 940: /*---------------------------------------------------------------------------*/
! 941:
! 942: /*------------------------Authentication Modes-------------------------------*/
! 943: #define OCI_MIGRATE 0x0001 /* migratable auth context */
! 944: #define OCI_SYSDBA 0x0002 /* for SYSDBA authorization */
! 945: #define OCI_SYSOPER 0x0004 /* for SYSOPER authorization */
! 946: #define OCI_PRELIM_AUTH 0x0008 /* for preliminary authorization */
! 947: /*---------------------------------------------------------------------------*/
! 948: /*-----------------------------End Various Modes ----------------------------*/
! 949:
! 950: /*------------------------Piece Information----------------------------------*/
! 951: #define OCI_PARAM_IN 0x01 /* in parameter */
! 952: #define OCI_PARAM_OUT 0x02 /* out parameter */
! 953: /*---------------------------------------------------------------------------*/
! 954:
! 955: /*------------------------ Transaction Start Flags --------------------------*/
! 956: /* NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X */
! 957: #define OCI_TRANS_NEW 0x00000001 /* starts a new transaction branch */
! 958: #define OCI_TRANS_JOIN 0x00000002 /* join an existing transaction */
! 959: #define OCI_TRANS_RESUME 0x00000004 /* resume this transaction */
! 960: #define OCI_TRANS_STARTMASK 0x000000ff
! 961:
! 962: #define OCI_TRANS_READONLY 0x00000100 /* starts a readonly transaction */
! 963: #define OCI_TRANS_READWRITE 0x00000200 /* starts a read-write transaction */
! 964: #define OCI_TRANS_SERIALIZABLE 0x00000400
! 965: /* starts a serializable transaction */
! 966: #define OCI_TRANS_ISOLMASK 0x0000ff00
! 967:
! 968: #define OCI_TRANS_LOOSE 0x00010000 /* a loosely coupled branch */
! 969: #define OCI_TRANS_TIGHT 0x00020000 /* a tightly coupled branch */
! 970: #define OCI_TRANS_TYPEMASK 0x000f0000
! 971:
! 972: #define OCI_TRANS_NOMIGRATE 0x00100000 /* non migratable transaction */
! 973:
! 974: /*---------------------------------------------------------------------------*/
! 975:
! 976: /*------------------------ Transaction End Flags ----------------------------*/
! 977: #define OCI_TRANS_TWOPHASE 0x01000000 /* use two phase commit */
! 978: /*---------------------------------------------------------------------------*/
! 979:
! 980: /*------------------------- AQ Constants ------------------------------------
! 981: * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
! 982: * The following constants must match the PL/SQL dbms_aq constants
! 983: * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
! 984: */
! 985: /* ------------------------- Visibility flags -------------------------------*/
! 986: #define OCI_ENQ_IMMEDIATE 1 /* enqueue is an independent transaction */
! 987: #define OCI_ENQ_ON_COMMIT 2 /* enqueue is part of current transaction */
! 988:
! 989: /* ----------------------- Dequeue mode flags -------------------------------*/
! 990: #define OCI_DEQ_BROWSE 1 /* read message without acquiring a lock */
! 991: #define OCI_DEQ_LOCKED 2 /* read and obtain write lock on message */
! 992: #define OCI_DEQ_REMOVE 3 /* read the message and delete it */
! 993: #define OCI_DEQ_REMOVE_NODATA 4 /* delete message w'o returning payload */
! 994:
! 995: /* ----------------- Dequeue navigation flags -------------------------------*/
! 996: #define OCI_DEQ_FIRST_MSG 1 /* get first message at head of queue */
! 997: #define OCI_DEQ_NEXT_MSG 3 /* next message that is available */
! 998: #define OCI_DEQ_NEXT_TRANSACTION 2 /* get first message of next txn group */
! 999:
! 1000: /* --------------------- Message states -------------------------------------*/
! 1001: #define OCI_MSG_WAITING 1 /* the message delay has not yet completed */
! 1002: #define OCI_MSG_READY 0 /* the message is ready to be processed */
! 1003: #define OCI_MSG_PROCESSED 2 /* the message has been processed */
! 1004: #define OCI_MSG_EXPIRED 3 /* message has moved to exception queue */
! 1005:
! 1006: /* --------------------- Sequence deviation ---------------------------------*/
! 1007: #define OCI_ENQ_BEFORE 2 /* enqueue message before another message */
! 1008: #define OCI_ENQ_TOP 3 /* enqueue message before all messages */
! 1009:
! 1010: /* ------------------------- Visibility flags -------------------------------*/
! 1011: #define OCI_DEQ_IMMEDIATE 1 /* dequeue is an independent transaction */
! 1012: #define OCI_DEQ_ON_COMMIT 2 /* dequeue is part of current transaction */
! 1013:
! 1014: /* ------------------------ Wait --------------------------------------------*/
! 1015: #define OCI_DEQ_WAIT_FOREVER -1 /* wait forever if no message available */
! 1016: #define OCI_DEQ_NO_WAIT 0 /* do not wait if no message is available */
! 1017:
! 1018: /* ------------------------ Delay -------------------------------------------*/
! 1019: #define OCI_MSG_NO_DELAY 0 /* message is available immediately */
! 1020:
! 1021: /* ------------------------- Expiration -------------------------------------*/
! 1022: #define OCI_MSG_NO_EXPIRATION -1 /* message will never expire */
! 1023:
! 1024: /* -------------------------- END AQ Constants ----------------------------- */
! 1025:
! 1026: /* --------------------END DateTime and Interval Constants ------------------*/
! 1027:
! 1028: /*-----------------------Object Types----------------------------------------*/
! 1029: /*-----------Object Types **** Not to be Used **** --------------------------*/
! 1030: /* Deprecated */
! 1031: #define OCI_OTYPE_UNK 0
! 1032: #define OCI_OTYPE_TABLE 1
! 1033: #define OCI_OTYPE_VIEW 2
! 1034: #define OCI_OTYPE_SYN 3
! 1035: #define OCI_OTYPE_PROC 4
! 1036: #define OCI_OTYPE_FUNC 5
! 1037: #define OCI_OTYPE_PKG 6
! 1038: #define OCI_OTYPE_STMT 7
! 1039: /*---------------------------------------------------------------------------*/
! 1040:
! 1041: /*=======================Describe Handle Parameter Attributes ===============*/
! 1042: /*
! 1043: These attributes are orthogonal to the other set of attributes defined
! 1044: above. These attrubutes are tobe used only for the desscribe handle
! 1045: */
! 1046: /*===========================================================================*/
! 1047: /* Attributes common to Columns and Stored Procs */
! 1048: #define OCI_ATTR_DATA_SIZE 1 /* maximum size of the data */
! 1049: #define OCI_ATTR_DATA_TYPE 2 /* the SQL type of the column/argument */
! 1050: #define OCI_ATTR_DISP_SIZE 3 /* the display size */
! 1051: #define OCI_ATTR_NAME 4 /* the name of the column/argument */
! 1052: #define OCI_ATTR_PRECISION 5 /* precision if number type */
! 1053: #define OCI_ATTR_SCALE 6 /* scale if number type */
! 1054: #define OCI_ATTR_IS_NULL 7 /* is it null ? */
! 1055: #define OCI_ATTR_TYPE_NAME 8
! 1056: /* name of the named data type or a package name for package private types */
! 1057: #define OCI_ATTR_SCHEMA_NAME 9 /* the schema name */
! 1058: #define OCI_ATTR_SUB_NAME 10 /* type name if package private type */
! 1059: #define OCI_ATTR_POSITION 11
! 1060: /* relative position of col/arg in the list of cols/args */
! 1061: /* complex object retrieval parameter attributes */
! 1062: #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE 50
! 1063: #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL 51
! 1064: #define OCI_ATTR_COMPLEXOBJECT_LEVEL 52
! 1065: #define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE 53
! 1066:
! 1067: /* Only Columns */
! 1068: #define OCI_ATTR_DISP_NAME 100 /* the display name */
! 1069:
! 1070: /*Only Stored Procs */
! 1071: #define OCI_ATTR_OVERLOAD 210 /* is this position overloaded */
! 1072: #define OCI_ATTR_LEVEL 211 /* level for structured types */
! 1073: #define OCI_ATTR_HAS_DEFAULT 212 /* has a default value */
! 1074: #define OCI_ATTR_IOMODE 213 /* in, out inout */
! 1075: #define OCI_ATTR_RADIX 214 /* returns a radix */
! 1076: #define OCI_ATTR_NUM_ARGS 215 /* total number of arguments */
! 1077:
! 1078: /* only named type attributes */
! 1079: #define OCI_ATTR_TYPECODE 216 /* object or collection */
! 1080: #define OCI_ATTR_COLLECTION_TYPECODE 217 /* varray or nested table */
! 1081: #define OCI_ATTR_VERSION 218 /* user assigned version */
! 1082: #define OCI_ATTR_IS_INCOMPLETE_TYPE 219 /* is this an incomplete type */
! 1083: #define OCI_ATTR_IS_SYSTEM_TYPE 220 /* a system type */
! 1084: #define OCI_ATTR_IS_PREDEFINED_TYPE 221 /* a predefined type */
! 1085: #define OCI_ATTR_IS_TRANSIENT_TYPE 222 /* a transient type */
! 1086: #define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE 223 /* system generated type */
! 1087: #define OCI_ATTR_HAS_NESTED_TABLE 224 /* contains nested table attr */
! 1088: #define OCI_ATTR_HAS_LOB 225 /* has a lob attribute */
! 1089: #define OCI_ATTR_HAS_FILE 226 /* has a file attribute */
! 1090: #define OCI_ATTR_COLLECTION_ELEMENT 227 /* has a collection attribute */
! 1091: #define OCI_ATTR_NUM_TYPE_ATTRS 228 /* number of attribute types */
! 1092: #define OCI_ATTR_LIST_TYPE_ATTRS 229 /* list of type attributes */
! 1093: #define OCI_ATTR_NUM_TYPE_METHODS 230 /* number of type methods */
! 1094: #define OCI_ATTR_LIST_TYPE_METHODS 231 /* list of type methods */
! 1095: #define OCI_ATTR_MAP_METHOD 232 /* map method of type */
! 1096: #define OCI_ATTR_ORDER_METHOD 233 /* order method of type */
! 1097:
! 1098: /* only collection element */
! 1099: #define OCI_ATTR_NUM_ELEMS 234 /* number of elements */
! 1100:
! 1101: /* only type methods */
! 1102: #define OCI_ATTR_ENCAPSULATION 235 /* encapsulation level */
! 1103: #define OCI_ATTR_IS_SELFISH 236 /* method selfish */
! 1104: #define OCI_ATTR_IS_VIRTUAL 237 /* virtual */
! 1105: #define OCI_ATTR_IS_INLINE 238 /* inline */
! 1106: #define OCI_ATTR_IS_CONSTANT 239 /* constant */
! 1107: #define OCI_ATTR_HAS_RESULT 240 /* has result */
! 1108: #define OCI_ATTR_IS_CONSTRUCTOR 241 /* constructor */
! 1109: #define OCI_ATTR_IS_DESTRUCTOR 242 /* destructor */
! 1110: #define OCI_ATTR_IS_OPERATOR 243 /* operator */
! 1111: #define OCI_ATTR_IS_MAP 244 /* a map method */
! 1112: #define OCI_ATTR_IS_ORDER 245 /* order method */
! 1113: #define OCI_ATTR_IS_RNDS 246 /* read no data state method */
! 1114: #define OCI_ATTR_IS_RNPS 247 /* read no process state */
! 1115: #define OCI_ATTR_IS_WNDS 248 /* write no data state method */
! 1116: #define OCI_ATTR_IS_WNPS 249 /* write no process state */
! 1117:
! 1118: #define OCI_ATTR_DESC_PUBLIC 250 /* public object */
! 1119:
! 1120: /* Object Cache Enhancements : attributes for User Constructed Instances */
! 1121: #define OCI_ATTR_CACHE_CLIENT_CONTEXT 251
! 1122: #define OCI_ATTR_UCI_CONSTRUCT 252
! 1123: #define OCI_ATTR_UCI_DESTRUCT 253
! 1124: #define OCI_ATTR_UCI_COPY 254
! 1125: #define OCI_ATTR_UCI_PICKLE 255
! 1126: #define OCI_ATTR_UCI_UNPICKLE 256
! 1127: #define OCI_ATTR_UCI_REFRESH 257
! 1128:
! 1129: /* for type inheritance */
! 1130: #define OCI_ATTR_IS_SUBTYPE 258
! 1131: #define OCI_ATTR_SUPERTYPE_SCHEMA_NAME 259
! 1132: #define OCI_ATTR_SUPERTYPE_NAME 260
! 1133:
! 1134: /* for schemas */
! 1135: #define OCI_ATTR_LIST_OBJECTS 261 /* list of objects in schema */
! 1136:
! 1137: /* for database */
! 1138: #define OCI_ATTR_NCHARSET_ID 262 /* char set id */
! 1139: #define OCI_ATTR_LIST_SCHEMAS 263 /* list of schemas */
! 1140: #define OCI_ATTR_MAX_PROC_LEN 264 /* max procedure length */
! 1141: #define OCI_ATTR_MAX_COLUMN_LEN 265 /* max column name length */
! 1142: #define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR 266 /* cursor commit behavior */
! 1143: #define OCI_ATTR_MAX_CATALOG_NAMELEN 267 /* catalog namelength */
! 1144: #define OCI_ATTR_CATALOG_LOCATION 268 /* catalog location */
! 1145: #define OCI_ATTR_SAVEPOINT_SUPPORT 269 /* savepoint support */
! 1146: #define OCI_ATTR_NOWAIT_SUPPORT 270 /* nowait support */
! 1147: #define OCI_ATTR_AUTOCOMMIT_DDL 271 /* autocommit DDL */
! 1148: #define OCI_ATTR_LOCKING_MODE 272 /* locking mode */
! 1149:
! 1150: /* for externally initialized context */
! 1151: #define OCI_ATTR_APPCTX_SIZE 273 /* count of context to be init*/
! 1152: #define OCI_ATTR_APPCTX_LIST 274 /* count of context to be init*/
! 1153: #define OCI_ATTR_APPCTX_NAME 275 /* name of context to be init*/
! 1154: #define OCI_ATTR_APPCTX_ATTR 276 /* attr of context to be init*/
! 1155: #define OCI_ATTR_APPCTX_VALUE 277 /* value of context to be init*/
! 1156:
! 1157: /*---------------------------End Describe Handle Attributes -----------------*/
! 1158:
! 1159: /*---------------- Describe Handle Parameter Attribute Values ---------------*/
! 1160:
! 1161: /* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
! 1162: #define OCI_CURSOR_OPEN 0
! 1163: #define OCI_CURSOR_CLOSED 1
! 1164:
! 1165: /* OCI_ATTR_CATALOG_LOCATION */
! 1166: #define OCI_CL_START 0
! 1167: #define OCI_CL_END 1
! 1168:
! 1169: /* OCI_ATTR_SAVEPOINT_SUPPORT */
! 1170: #define OCI_SP_SUPPORTED 0
! 1171: #define OCI_SP_UNSUPPORTED 1
! 1172:
! 1173: /* OCI_ATTR_NOWAIT_SUPPORT */
! 1174: #define OCI_NW_SUPPORTED 0
! 1175: #define OCI_NW_UNSUPPORTED 1
! 1176:
! 1177: /* OCI_ATTR_AUTOCOMMIT_DDL */
! 1178: #define OCI_AC_DDL 0
! 1179: #define OCI_NO_AC_DDL 1
! 1180:
! 1181: /* OCI_ATTR_LOCKING_MODE */
! 1182: #define OCI_LOCK_IMMEDIATE 0
! 1183: #define OCI_LOCK_DELAYED 1
! 1184:
! 1185: /*---------------------------------------------------------------------------*/
! 1186:
! 1187: /*---------------------------OCIPasswordChange-------------------------------*/
! 1188: #define OCI_AUTH 0x08 /* Change the password but do not login */
! 1189:
! 1190:
! 1191: /*------------------------Other Constants------------------------------------*/
! 1192: #define OCI_MAX_FNS 100 /* max number of OCI Functions */
! 1193: #define OCI_SQLSTATE_SIZE 5
! 1194: #define OCI_ERROR_MAXMSG_SIZE 1024 /* max size of an error message */
! 1195: #define OCI_LOBMAXSIZE MINUB4MAXVAL /* maximum lob data size */
! 1196: #define OCI_ROWID_LEN 23
! 1197: /*---------------------------------------------------------------------------*/
! 1198:
! 1199: /*------------------------ Fail Over Events ---------------------------------*/
! 1200: #define OCI_FO_END 0x00000001
! 1201: #define OCI_FO_ABORT 0x00000002
! 1202: #define OCI_FO_REAUTH 0x00000004
! 1203: #define OCI_FO_BEGIN 0x00000008
! 1204: #define OCI_FO_ERROR 0x00000010
! 1205: /*---------------------------------------------------------------------------*/
! 1206:
! 1207: /*------------------------ Fail Over Callback Return Codes ------------------*/
! 1208: #define OCI_FO_RETRY 25410
! 1209: /*---------------------------------------------------------------------------*/
! 1210:
! 1211: /*------------------------- Fail Over Types ---------------------------------*/
! 1212: #define OCI_FO_NONE 0x00000001
! 1213: #define OCI_FO_SESSION 0x00000002
! 1214: #define OCI_FO_SELECT 0x00000004
! 1215: #define OCI_FO_TXNAL 0x00000008
! 1216: /*---------------------------------------------------------------------------*/
! 1217:
! 1218: /*-----------------------Function Codes--------------------------------------*/
! 1219: #define OCI_FNCODE_INITIALIZE 1 /* OCIInitialize */
! 1220: #define OCI_FNCODE_HANDLEALLOC 2 /* OCIHandleAlloc */
! 1221: #define OCI_FNCODE_HANDLEFREE 3 /* OCIHandleFree */
! 1222: #define OCI_FNCODE_DESCRIPTORALLOC 4 /* OCIDescriptorAlloc */
! 1223: #define OCI_FNCODE_DESCRIPTORFREE 5 /* OCIDescriptorFree */
! 1224: #define OCI_FNCODE_ENVINIT 6 /* OCIEnvInit */
! 1225: #define OCI_FNCODE_SERVERATTACH 7 /* OCIServerAttach */
! 1226: #define OCI_FNCODE_SERVERDETACH 8 /* OCIServerDetach */
! 1227: /* unused 9 */
! 1228: #define OCI_FNCODE_SESSIONBEGIN 10 /* OCISessionBegin */
! 1229: #define OCI_FNCODE_SESSIONEND 11 /* OCISessionEnd */
! 1230: #define OCI_FNCODE_PASSWORDCHANGE 12 /* OCIPasswordChange */
! 1231: #define OCI_FNCODE_STMTPREPARE 13 /* OCIStmtPrepare */
! 1232: /* unused 14- 16 */
! 1233: #define OCI_FNCODE_BINDDYNAMIC 17 /* OCIBindDynamic */
! 1234: #define OCI_FNCODE_BINDOBJECT 18 /* OCIBindObject */
! 1235: /* 19 unused */
! 1236: #define OCI_FNCODE_BINDARRAYOFSTRUCT 20 /* OCIBindArrayOfStruct */
! 1237: #define OCI_FNCODE_STMTEXECUTE 21 /* OCIStmtExecute */
! 1238: /* unused 22-24 */
! 1239: #define OCI_FNCODE_DEFINEOBJECT 25 /* OCIDefineObject */
! 1240: #define OCI_FNCODE_DEFINEDYNAMIC 26 /* OCIDefineDynamic */
! 1241: #define OCI_FNCODE_DEFINEARRAYOFSTRUCT 27 /* OCIDefineArrayOfStruct */
! 1242: #define OCI_FNCODE_STMTFETCH 28 /* OCIStmtFetch */
! 1243: #define OCI_FNCODE_STMTGETBIND 29 /* OCIStmtGetBindInfo */
! 1244: /* 30, 31 unused */
! 1245: #define OCI_FNCODE_DESCRIBEANY 32 /* OCIDescribeAny */
! 1246: #define OCI_FNCODE_TRANSSTART 33 /* OCITransStart */
! 1247: #define OCI_FNCODE_TRANSDETACH 34 /* OCITransDetach */
! 1248: #define OCI_FNCODE_TRANSCOMMIT 35 /* OCITransCommit */
! 1249: /* 36 unused */
! 1250: #define OCI_FNCODE_ERRORGET 37 /* OCIErrorGet */
! 1251: #define OCI_FNCODE_LOBOPENFILE 38 /* OCILobFileOpen */
! 1252: #define OCI_FNCODE_LOBCLOSEFILE 39 /* OCILobFileClose */
! 1253: /* 40 was LOBCREATEFILE, unused */
! 1254: /* 41 was OCILobFileDelete, unused */
! 1255: #define OCI_FNCODE_LOBCOPY 42 /* OCILobCopy */
! 1256: #define OCI_FNCODE_LOBAPPEND 43 /* OCILobAppend */
! 1257: #define OCI_FNCODE_LOBERASE 44 /* OCILobErase */
! 1258: #define OCI_FNCODE_LOBLENGTH 45 /* OCILobGetLength */
! 1259: #define OCI_FNCODE_LOBTRIM 46 /* OCILobTrim */
! 1260: #define OCI_FNCODE_LOBREAD 47 /* OCILobRead */
! 1261: #define OCI_FNCODE_LOBWRITE 48 /* OCILobWrite */
! 1262: /* 49 unused */
! 1263: #define OCI_FNCODE_SVCCTXBREAK 50 /* OCIBreak */
! 1264: #define OCI_FNCODE_SERVERVERSION 51 /* OCIServerVersion */
! 1265: /* unused 52, 53 */
! 1266: #define OCI_FNCODE_ATTRGET 54 /* OCIAttrGet */
! 1267: #define OCI_FNCODE_ATTRSET 55 /* OCIAttrSet */
! 1268: #define OCI_FNCODE_PARAMSET 56 /* OCIParamSet */
! 1269: #define OCI_FNCODE_PARAMGET 57 /* OCIParamGet */
! 1270: #define OCI_FNCODE_STMTGETPIECEINFO 58 /* OCIStmtGetPieceInfo */
! 1271: #define OCI_FNCODE_LDATOSVCCTX 59 /* OCILdaToSvcCtx */
! 1272: /* 60 unused */
! 1273: #define OCI_FNCODE_STMTSETPIECEINFO 61 /* OCIStmtSetPieceInfo */
! 1274: #define OCI_FNCODE_TRANSFORGET 62 /* OCITransForget */
! 1275: #define OCI_FNCODE_TRANSPREPARE 63 /* OCITransPrepare */
! 1276: #define OCI_FNCODE_TRANSROLLBACK 64 /* OCITransRollback */
! 1277: #define OCI_FNCODE_DEFINEBYPOS 65 /* OCIDefineByPos */
! 1278: #define OCI_FNCODE_BINDBYPOS 66 /* OCIBindByPos */
! 1279: #define OCI_FNCODE_BINDBYNAME 67 /* OCIBindByName */
! 1280: #define OCI_FNCODE_LOBASSIGN 68 /* OCILobAssign */
! 1281: #define OCI_FNCODE_LOBISEQUAL 69 /* OCILobIsEqual */
! 1282: #define OCI_FNCODE_LOBISINIT 70 /* OCILobLocatorIsInit */
! 1283: /* 71 was lob locator size in beta2 */
! 1284: #define OCI_FNCODE_LOBENABLEBUFFERING 71 /* OCILobEnableBuffering */
! 1285: #define OCI_FNCODE_LOBCHARSETID 72 /* OCILobCharSetID */
! 1286: #define OCI_FNCODE_LOBCHARSETFORM 73 /* OCILobCharSetForm */
! 1287: #define OCI_FNCODE_LOBFILESETNAME 74 /* OCILobFileSetName */
! 1288: #define OCI_FNCODE_LOBFILEGETNAME 75 /* OCILobFileGetName */
! 1289: #define OCI_FNCODE_LOGON 76 /* OCILogon */
! 1290: #define OCI_FNCODE_LOGOFF 77 /* OCILogoff */
! 1291: #define OCI_FNCODE_LOBDISABLEBUFFERING 78 /* OCILobDisableBuffering */
! 1292: #define OCI_FNCODE_LOBFLUSHBUFFER 79 /* OCILobFlushBuffer */
! 1293: #define OCI_FNCODE_LOBLOADFROMFILE 80 /* OCILobLoadFromFile */
! 1294:
! 1295: #define OCI_FNCODE_LOBOPEN 81 /* OCILobOpen */
! 1296: #define OCI_FNCODE_LOBCLOSE 82 /* OCILobClose */
! 1297: #define OCI_FNCODE_LOBISOPEN 83 /* OCILobIsOpen */
! 1298: #define OCI_FNCODE_LOBFILEISOPEN 84 /* OCILobFileIsOpen */
! 1299: #define OCI_FNCODE_LOBFILEEXISTS 85 /* OCILobFileExists */
! 1300: #define OCI_FNCODE_LOBFILECLOSEALL 86 /* OCILobFileCloseAll */
! 1301: #define OCI_FNCODE_LOBCREATETEMP 87 /* OCILobCreateTemporary */
! 1302: #define OCI_FNCODE_LOBFREETEMP 88 /* OCILobFreeTemporary */
! 1303: #define OCI_FNCODE_LOBISTEMP 89 /* OCILobIsTemporary */
! 1304:
! 1305: #define OCI_FNCODE_AQENQ 90 /* OCIAQEnq */
! 1306: #define OCI_FNCODE_AQDEQ 91 /* OCIAQDeq */
! 1307: #define OCI_FNCODE_RESET 92 /* OCIReset */
! 1308: #define OCI_FNCODE_SVCCTXTOLDA 93 /* OCISvcCtxToLda */
! 1309: #define OCI_FNCODE_LOBLOCATORASSIGN 94 /* OCILobLocatorAssign */
! 1310:
! 1311: #define OCI_FNCODE_UBINDBYNAME 95
! 1312:
! 1313: #define OCI_FNCODE_AQLISTEN 96 /* OCIAQListen */
! 1314:
! 1315: #define OCI_FNCODE_SVC2HST 97 /* reserved */
! 1316: #define OCI_FNCODE_SVCRH 98 /* reserved */
! 1317: /* 97 and 98 are reserved for Oracle internal use */
! 1318:
! 1319: #define OCI_FNCODE_TRANSMULTIPREPARE 99 /* OCITransMultiPrepare */
! 1320: #define OCI_FNCODE_MAXFCN 99 /* maximum OCI function code */
! 1321:
! 1322:
! 1323: /*---------------------------------------------------------------------------*/
! 1324:
! 1325: /*-----------------------Handle Definitions----------------------------------*/
! 1326: typedef struct OCIEnv OCIEnv; /* OCI environment handle */
! 1327: typedef struct OCIError OCIError; /* OCI error handle */
! 1328: typedef struct OCISvcCtx OCISvcCtx; /* OCI service handle */
! 1329: typedef struct OCIStmt OCIStmt; /* OCI statement handle */
! 1330: typedef struct OCIBind OCIBind; /* OCI bind handle */
! 1331: typedef struct OCIDefine OCIDefine; /* OCI Define handle */
! 1332: typedef struct OCIDescribe OCIDescribe; /* OCI Describe handle */
! 1333: typedef struct OCIServer OCIServer; /* OCI Server handle */
! 1334: typedef struct OCISession OCISession; /* OCI Authentication handle */
! 1335: typedef struct OCIComplexObject OCIComplexObject; /* OCI COR handle */
! 1336: typedef struct OCITrans OCITrans; /* OCI Transaction handle */
! 1337: typedef struct OCISecurity OCISecurity; /* OCI Security handle */
! 1338: typedef struct OCISubscription OCISubscription; /* subscription handle */
! 1339:
! 1340: /*-----------------------Descriptor Definitions------------------------------*/
! 1341: typedef struct OCISnapshot OCISnapshot; /* OCI snapshot descriptor */
! 1342: typedef struct OCIResult OCIResult; /* OCI Result Set Descriptor */
! 1343: typedef struct OCILobLocator OCILobLocator; /* OCI Lob Locator descriptor */
! 1344: typedef struct OCIParam OCIParam; /* OCI PARameter descriptor */
! 1345: typedef struct OCIComplexObjectComp OCIComplexObjectComp;
! 1346: /* OCI COR descriptor */
! 1347: typedef struct OCIRowid OCIRowid; /* OCI ROWID descriptor */
! 1348:
! 1349: typedef struct OCIDateTime OCIDateTime; /* OCI DateTime descriptor */
! 1350: typedef struct OCIInterval OCIInterval; /* OCI Interval descriptor */
! 1351:
! 1352: typedef struct OCIUcb OCIUcb; /* OCI User Callback descriptor */
! 1353:
! 1354: /*-------------------------- AQ Descriptors ---------------------------------*/
! 1355: typedef struct OCIAQEnqOptions OCIAQEnqOptions; /* AQ Enqueue Options hdl */
! 1356: typedef struct OCIAQDeqOptions OCIAQDeqOptions; /* AQ Dequeue Options hdl */
! 1357: typedef struct OCIAQMsgProperties OCIAQMsgProperties; /* AQ Mesg Properties */
! 1358: typedef struct OCIAQAgent OCIAQAgent; /* AQ Agent descriptor */
! 1359: typedef struct OCIAQNfyDescriptor OCIAQNfyDescriptor; /* AQ Nfy descriptor */
! 1360: /*---------------------------------------------------------------------------*/
! 1361:
! 1362: /* Lob typedefs for Pro*C */
! 1363: typedef struct OCILobLocator OCIClobLocator; /* OCI Character LOB Locator */
! 1364: typedef struct OCILobLocator OCIBlobLocator; /* OCI Binary LOB Locator */
! 1365: typedef struct OCILobLocator OCIBFileLocator; /* OCI Binary LOB File Locator */
! 1366: /*---------------------------------------------------------------------------*/
! 1367:
! 1368: /* Undefined value for tz in interval types*/
! 1369: #define OCI_INTHR_UNK 24
! 1370:
! 1371: /* These defined adjustment values */
! 1372: #define OCI_ADJUST_UNK 10
! 1373: #define OCI_ORACLE_DATE 0
! 1374: #define OCI_ANSI_DATE 1
! 1375:
! 1376: /*------------------------ Lob-specific Definitions -------------------------*/
! 1377:
! 1378: /*
! 1379: * ociloff - OCI Lob OFFset
! 1380: *
! 1381: * The offset in the lob data. The offset is specified in terms of bytes for
! 1382: * BLOBs and BFILes. Character offsets are used for CLOBs, NCLOBs.
! 1383: * The maximum size of internal lob data is 4 gigabytes. FILE LOB
! 1384: * size is limited by the operating system.
! 1385: */
! 1386: typedef ub4 OCILobOffset;
! 1387:
! 1388: /*
! 1389: * ocillen - OCI Lob LENgth (of lob data)
! 1390: *
! 1391: * Specifies the length of lob data in bytes for BLOBs and BFILes and in
! 1392: * characters for CLOBs, NCLOBs. The maximum length of internal lob
! 1393: * data is 4 gigabytes. The length of FILE LOBs is limited only by the
! 1394: * operating system.
! 1395: */
! 1396: typedef ub4 OCILobLength;
! 1397: /*
! 1398: * ocilmo - OCI Lob open MOdes
! 1399: *
! 1400: * The mode specifies the planned operations that will be performed on the
! 1401: * FILE lob data. The FILE lob can be opened in read-only mode only.
! 1402: *
! 1403: * In the future, we may include read/write, append and truncate modes. Append
! 1404: * is equivalent to read/write mode except that the FILE is positioned for
! 1405: * writing to the end. Truncate is equivalent to read/write mode except that
! 1406: * the FILE LOB data is first truncated to a length of 0 before use.
! 1407: */
! 1408: enum OCILobMode
! 1409: {
! 1410: OCI_LOBMODE_READONLY = 1, /* read-only */
! 1411: OCI_LOBMODE_READWRITE = 2 /* read_write for internal lobs only */
! 1412: };
! 1413: typedef enum OCILobMode OCILobMode;
! 1414:
! 1415: /*---------------------------------------------------------------------------*/
! 1416:
! 1417:
! 1418: /*----------------------------Piece Definitions------------------------------*/
! 1419:
! 1420: /* if ocidef.h is being included in the app, ocidef.h should precede oci.h */
! 1421:
! 1422: /*
! 1423: * since clients may use oci.h, ocidef.h and ocidfn.h the following defines
! 1424: * need to be guarded, usually internal clients
! 1425: */
! 1426:
! 1427: #ifndef OCI_FLAGS
! 1428: #define OCI_FLAGS
! 1429: #define OCI_ONE_PIECE 0 /* one piece */
! 1430: #define OCI_FIRST_PIECE 1 /* the first piece */
! 1431: #define OCI_NEXT_PIECE 2 /* the next of many pieces */
! 1432: #define OCI_LAST_PIECE 3 /* the last piece */
! 1433: #endif
! 1434: /*---------------------------------------------------------------------------*/
! 1435:
! 1436: /*--------------------------- FILE open modes -------------------------------*/
! 1437: #define OCI_FILE_READONLY 1 /* readonly mode open for FILE types */
! 1438: /*---------------------------------------------------------------------------*/
! 1439: /*--------------------------- LOB open modes --------------------------------*/
! 1440: #define OCI_LOB_READONLY 1 /* readonly mode open for ILOB types */
! 1441: #define OCI_LOB_READWRITE 2 /* read write mode open for ILOBs */
! 1442:
! 1443: /*----------------------- LOB Buffering Flush Flags -------------------------*/
! 1444: #define OCI_LOB_BUFFER_FREE 1
! 1445: #define OCI_LOB_BUFFER_NOFREE 2
! 1446: /*---------------------------------------------------------------------------*/
! 1447:
! 1448: /*--------------------------- OCI Statement Types ---------------------------*/
! 1449:
! 1450: #define OCI_STMT_SELECT 1 /* select statement */
! 1451: #define OCI_STMT_UPDATE 2 /* update statement */
! 1452: #define OCI_STMT_DELETE 3 /* delete statement */
! 1453: #define OCI_STMT_INSERT 4 /* Insert Statement */
! 1454: #define OCI_STMT_CREATE 5 /* create statement */
! 1455: #define OCI_STMT_DROP 6 /* drop statement */
! 1456: #define OCI_STMT_ALTER 7 /* alter statement */
! 1457: #define OCI_STMT_BEGIN 8 /* begin ... (pl/sql statement)*/
! 1458: #define OCI_STMT_DECLARE 9 /* declare .. (pl/sql statement ) */
! 1459: /*---------------------------------------------------------------------------*/
! 1460:
! 1461: /*--------------------------- OCI Parameter Types ---------------------------*/
! 1462: #define OCI_PTYPE_UNK 0 /* unknown */
! 1463: #define OCI_PTYPE_TABLE 1 /* table */
! 1464: #define OCI_PTYPE_VIEW 2 /* view */
! 1465: #define OCI_PTYPE_PROC 3 /* procedure */
! 1466: #define OCI_PTYPE_FUNC 4 /* function */
! 1467: #define OCI_PTYPE_PKG 5 /* package */
! 1468: #define OCI_PTYPE_TYPE 6 /* user-defined type */
! 1469: #define OCI_PTYPE_SYN 7 /* synonym */
! 1470: #define OCI_PTYPE_SEQ 8 /* sequence */
! 1471: #define OCI_PTYPE_COL 9 /* column */
! 1472: #define OCI_PTYPE_ARG 10 /* argument */
! 1473: #define OCI_PTYPE_LIST 11 /* list */
! 1474: #define OCI_PTYPE_TYPE_ATTR 12 /* user-defined type's attribute */
! 1475: #define OCI_PTYPE_TYPE_COLL 13 /* collection type's element */
! 1476: #define OCI_PTYPE_TYPE_METHOD 14 /* user-defined type's method */
! 1477: #define OCI_PTYPE_TYPE_ARG 15 /* user-defined type method's argument */
! 1478: #define OCI_PTYPE_TYPE_RESULT 16 /* user-defined type method's result */
! 1479: #define OCI_PTYPE_SCHEMA 17 /* schema */
! 1480: #define OCI_PTYPE_DATABASE 18 /* database */
! 1481: /*---------------------------------------------------------------------------*/
! 1482:
! 1483: /*----------------------------- OCI List Types ------------------------------*/
! 1484: #define OCI_LTYPE_UNK 0 /* unknown */
! 1485: #define OCI_LTYPE_COLUMN 1 /* column list */
! 1486: #define OCI_LTYPE_ARG_PROC 2 /* procedure argument list */
! 1487: #define OCI_LTYPE_ARG_FUNC 3 /* function argument list */
! 1488: #define OCI_LTYPE_SUBPRG 4 /* subprogram list */
! 1489: #define OCI_LTYPE_TYPE_ATTR 5 /* type attribute */
! 1490: #define OCI_LTYPE_TYPE_METHOD 6 /* type method */
! 1491: #define OCI_LTYPE_TYPE_ARG_PROC 7 /* type method w/o result argument list */
! 1492: #define OCI_LTYPE_TYPE_ARG_FUNC 8 /* type method w/result argument list */
! 1493: #define OCI_LTYPE_SCH_OBJ 9 /* schema object list */
! 1494: #define OCI_LTYPE_DB_SCH 10 /* database schema list */
! 1495:
! 1496: /*---------------------------------------------------------------------------*/
! 1497:
! 1498: /*-------------------------- Memory Cartridge Services ---------------------*/
! 1499: #define OCI_MEMORY_CLEARED 1
! 1500:
! 1501: /*-------------------------- Pickler Cartridge Services ---------------------*/
! 1502: typedef struct OCIPicklerTdsCtx OCIPicklerTdsCtx;
! 1503: typedef struct OCIPicklerTds OCIPicklerTds;
! 1504: typedef struct OCIPicklerImage OCIPicklerImage;
! 1505: typedef struct OCIPicklerFdo OCIPicklerFdo;
! 1506: typedef ub4 OCIPicklerTdsElement;
! 1507:
! 1508: /*---------------------------------------------------------------------------*/
! 1509:
! 1510: /*--------------------------- User Callback Constants -----------------------*/
! 1511: #define OCI_UCBTYPE_ENTRY 1 /* entry callback */
! 1512: #define OCI_UCBTYPE_EXIT 2 /* exit callback */
! 1513: #define OCI_UCBTYPE_REPLACE 3 /* replacement callback */
! 1514:
! 1515: /*---------------------------------------------------------------------------*/
! 1516:
! 1517: /*--------------------- NLS service type and constance ----------------------*/
! 1518: #define OCI_NLS_DAYNAME1 1 /* Native name for Monday */
! 1519: #define OCI_NLS_DAYNAME2 2 /* Native name for Tuesday */
! 1520: #define OCI_NLS_DAYNAME3 3 /* Native name for Wednesday */
! 1521: #define OCI_NLS_DAYNAME4 4 /* Native name for Thursday */
! 1522: #define OCI_NLS_DAYNAME5 5 /* Native name for Friday */
! 1523: #define OCI_NLS_DAYNAME6 6 /* Native name for for Saturday */
! 1524: #define OCI_NLS_DAYNAME7 7 /* Native name for for Sunday */
! 1525: #define OCI_NLS_ABDAYNAME1 8 /* Native abbreviated name for Monday */
! 1526: #define OCI_NLS_ABDAYNAME2 9 /* Native abbreviated name for Tuesday */
! 1527: #define OCI_NLS_ABDAYNAME3 10 /* Native abbreviated name for Wednesday */
! 1528: #define OCI_NLS_ABDAYNAME4 11 /* Native abbreviated name for Thursday */
! 1529: #define OCI_NLS_ABDAYNAME5 12 /* Native abbreviated name for Friday */
! 1530: #define OCI_NLS_ABDAYNAME6 13 /* Native abbreviated name for for Saturday */
! 1531: #define OCI_NLS_ABDAYNAME7 14 /* Native abbreviated name for for Sunday */
! 1532: #define OCI_NLS_MONTHNAME1 15 /* Native name for January */
! 1533: #define OCI_NLS_MONTHNAME2 16 /* Native name for February */
! 1534: #define OCI_NLS_MONTHNAME3 17 /* Native name for March */
! 1535: #define OCI_NLS_MONTHNAME4 18 /* Native name for April */
! 1536: #define OCI_NLS_MONTHNAME5 19 /* Native name for May */
! 1537: #define OCI_NLS_MONTHNAME6 20 /* Native name for June */
! 1538: #define OCI_NLS_MONTHNAME7 21 /* Native name for July */
! 1539: #define OCI_NLS_MONTHNAME8 22 /* Native name for August */
! 1540: #define OCI_NLS_MONTHNAME9 23 /* Native name for September */
! 1541: #define OCI_NLS_MONTHNAME10 24 /* Native name for October */
! 1542: #define OCI_NLS_MONTHNAME11 25 /* Native name for November */
! 1543: #define OCI_NLS_MONTHNAME12 26 /* Native name for December */
! 1544: #define OCI_NLS_ABMONTHNAME1 27 /* Native abbreviated name for January */
! 1545: #define OCI_NLS_ABMONTHNAME2 28 /* Native abbreviated name for February */
! 1546: #define OCI_NLS_ABMONTHNAME3 29 /* Native abbreviated name for March */
! 1547: #define OCI_NLS_ABMONTHNAME4 30 /* Native abbreviated name for April */
! 1548: #define OCI_NLS_ABMONTHNAME5 31 /* Native abbreviated name for May */
! 1549: #define OCI_NLS_ABMONTHNAME6 32 /* Native abbreviated name for June */
! 1550: #define OCI_NLS_ABMONTHNAME7 33 /* Native abbreviated name for July */
! 1551: #define OCI_NLS_ABMONTHNAME8 34 /* Native abbreviated name for August */
! 1552: #define OCI_NLS_ABMONTHNAME9 35 /* Native abbreviated name for September */
! 1553: #define OCI_NLS_ABMONTHNAME10 36 /* Native abbreviated name for October */
! 1554: #define OCI_NLS_ABMONTHNAME11 37 /* Native abbreviated name for November */
! 1555: #define OCI_NLS_ABMONTHNAME12 38 /* Native abbreviated name for December */
! 1556: #define OCI_NLS_YES 39 /* Native string for affirmative response */
! 1557: #define OCI_NLS_NO 40 /* Native negative response */
! 1558: #define OCI_NLS_AM 41 /* Native equivalent string of AM */
! 1559: #define OCI_NLS_PM 42 /* Native equivalent string of PM */
! 1560: #define OCI_NLS_AD 43 /* Native equivalent string of AD */
! 1561: #define OCI_NLS_BC 44 /* Native equivalent string of BC */
! 1562: #define OCI_NLS_DECIMAL 45 /* decimal character */
! 1563: #define OCI_NLS_GROUP 46 /* group separator */
! 1564: #define OCI_NLS_DEBIT 47 /* Native symbol of debit */
! 1565: #define OCI_NLS_CREDIT 48 /* Native sumbol of credit */
! 1566: #define OCI_NLS_DATEFORMAT 49 /* Oracle date format */
! 1567: #define OCI_NLS_INT_CURRENCY 50 /* International currency symbol */
! 1568: #define OCI_NLS_LOC_CURRENCY 51 /* Locale currency symbol */
! 1569: #define OCI_NLS_LANGUAGE 52 /* Language name */
! 1570: #define OCI_NLS_ABLANGUAGE 53 /* Abbreviation for language name */
! 1571: #define OCI_NLS_TERRITORY 54 /* Territory name */
! 1572: #define OCI_NLS_CHARACTER_SET 55 /* Character set name */
! 1573: #define OCI_NLS_LINGUISTIC_NAME 56 /* Linguistic name */
! 1574: #define OCI_NLS_CALENDAR 57 /* Calendar name */
! 1575: #define OCI_NLS_DUAL_CURRENCY 78 /* Dual currency symbol */
! 1576:
! 1577: #define OCI_NLS_MAXBUFSZ 100 /* Max buffer size may need for OCINlsGetInfo */
! 1578:
! 1579: #define OCI_NLS_BINARY 0x1 /* for the binary comparison */
! 1580: #define OCI_NLS_LINGUISTIC 0x2 /* for linguistic comparison */
! 1581: #define OCI_NLS_CASE_INSENSITIVE 0x10 /* for case-insensitive comparison */
! 1582:
! 1583: #define OCI_NLS_UPPERCASE 0x20 /* convert to uppercase */
! 1584: #define OCI_NLS_LOWERCASE 0x40 /* convert to lowercase */
! 1585:
! 1586: typedef struct OCIMsg OCIMsg;
! 1587: typedef ub4 OCIWchar;
! 1588:
! 1589:
! 1590: /*---------------------------------------------------------------------------
! 1591: PRIVATE TYPES AND CONSTANTS
! 1592: ---------------------------------------------------------------------------*/
! 1593:
! 1594: /* None */
! 1595:
! 1596: /*---------------------------------------------------------------------------
! 1597: PUBLIC FUNCTIONS
! 1598: ---------------------------------------------------------------------------*/
! 1599:
! 1600: /* see ociap.h or ocikp.h */
! 1601:
! 1602: /*---------------------------------------------------------------------------
! 1603: PRIVATE FUNCTIONS
! 1604: ---------------------------------------------------------------------------*/
! 1605:
! 1606: /* None */
! 1607:
! 1608:
! 1609: #endif /* OCI_ORACLE */
! 1610:
! 1611:
! 1612: /* more includes */
! 1613:
! 1614: #ifndef OCI1_ORACLE
! 1615: #include <oci1.h>
! 1616: #endif
! 1617:
! 1618: #ifndef ORO_ORACLE
! 1619: #include <oro.h>
! 1620: #endif
! 1621:
! 1622: #ifndef ORI_ORACLE
! 1623: #include <ori.h>
! 1624: #endif
! 1625:
! 1626: #ifndef ORL_ORACLE
! 1627: #include <orl.h>
! 1628: #endif
! 1629:
! 1630: #ifndef ORT_ORACLE
! 1631: #include <ort.h>
! 1632: #endif
! 1633:
! 1634: #ifndef OCIEXTP_ORACLE
! 1635: #include <ociextp.h>
! 1636: #endif
! 1637:
! 1638: #if defined(__STDC__) || defined(__cplusplus)
! 1639: #include <ociapr.h>
! 1640: #include <ociap.h>
! 1641: #else
! 1642: #include <ocikpr.h>
! 1643: #include <ocikp.h>
! 1644: #endif
! 1645:
! 1646: #ifndef OCI8DP_ORACLE
! 1647: #include <oci8dp.h> /* interface definitions for the direct path api */
! 1648: #endif
! 1649:
! 1650: #ifndef OCIEXTP_ORACLE
! 1651: #include <ociextp.h>
! 1652: #endif
! 1653:
! 1654: #ifdef __cplusplus
! 1655: }
! 1656: #endif /* __cplusplus */
! 1657:
E-mail: