Annotation of win32/sql/oracle/include/oci/oci.h, revision 1.1.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: