/patches/qt/databases-x86_64/oci/include/oci.h

https://github.com/ivn/Qt-builds · C++ Header · 3066 lines · 1674 code · 416 blank · 976 comment · 0 complexity · a2d30940e61ae0d54f479b2a89785769 MD5 · raw file

  1. /* Copyright (c) 1995, 2011, Oracle and/or its affiliates.
  2. All rights reserved. */
  3. /*
  4. NAME
  5. oci.h - V8 Oracle Call Interface public definitions
  6. DESCRIPTION
  7. This file defines all the constants and structures required by a V8
  8. OCI programmer.
  9. RELATED DOCUMENTS
  10. V8 OCI Functional Specification
  11. Oracle Call Interface Programmer's Guide Vol 1 and 2
  12. INSPECTION STATUS
  13. Inspection date:
  14. Inspection status:
  15. Estimated increasing cost defects per page:
  16. Rule sets:
  17. ACCEPTANCE REVIEW STATUS
  18. Review date:
  19. Review status:
  20. Reviewers:
  21. PUBLIC FUNCTION(S)
  22. None
  23. PRIVATE FUNCTION(S)
  24. None
  25. EXAMPLES
  26. NOTES
  27. MODIFIED (MM/DD/YY)
  28. umabhat 05/29/11 - Backport umabhat_bug-10209825 from main
  29. slari 03/24/11 - add OCI_ATTR_RESERVED_438 and OCI_ATTR_RESERVED_439
  30. rphillip 09/28/10 - Bug 9835605: recnum changes
  31. rphillip 08/03/09 - Bug 8720046: add OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS
  32. mbastawa 03/15/10 - add OCI_FETCH_RESERVED_6
  33. ebatbout 12/28/09 - 8465341: Add OCI_ATTR_DIRPATH_RESERVED_22
  34. ssahu 04/15/09 - Add user handle as an attribute to session pool
  35. handle
  36. dalpern 03/17/09 - bug 7646876: applying_crossedition_trigger
  37. kneel 11/21/08 - bump OCI version to 11.2
  38. thoang 09/24/08 - include ocixstream.h
  39. asohi 08/25/08 - Bug 7320582 : AQ dequeue navigation flags fix
  40. thoang 08/04/08 - Add XStream attributes
  41. msowdaga 07/23/08 - Add flag OCI_SESSGET_SYSDBA
  42. rphillip 03/21/08 - Add partition memory attribute
  43. nikeda 04/15/08 - Support OCIP_ATTR_CONTYPE
  44. mbastawa 12/24/07 - add server, envhp attributes
  45. slynn 03/18/08 -
  46. amullick 02/11/08 - add support for OCILobGet/SetContentType
  47. tbhosle 01/07/08 - add OCI_ATTR_SUBSCR_IPADDR
  48. nikeda 12/19/07 - Add OCI_SUBSCR_QOS_HAREG
  49. rphillip 10/22/07 - Add OCI_ATTR_DIRPATH_NO_INDEX_ERRORS
  50. debanerj 12/14/07 - Added OCI_ATTR_RESERVED_38 and OCI_ATTR_RESERVED_39
  51. umabhat 09/20/07 - bug6119750 added OCI_FNCODE_APPCTXSET &
  52. OCI_FNCODE_APPCTXCLEARALL
  53. debanerj 04/10/07 - XDS Attributes
  54. msakayed 05/24/07 - Bug #5095734: add OCI_ATTR_DIRPATH_RESERVED_19
  55. schoi 03/02/07 - Get/SetOptions API change
  56. ebatbout 03/30/07 - 5598333: Add OCI_ATTR_DIRPATH_RESERVED_18
  57. nikeda 03/21/07 - Add OCI_ATTR_RESERVED_37
  58. abande 03/06/07 - Remove attributes for global stmt cache and
  59. metadata cache
  60. rphillip 02/20/07 - Add OCI_ATTR_DIRPATH_RESERVED_17
  61. shan 11/16/06 - bug 5595911.
  62. msakayed 12/04/06 - Bug #5660845: add OCI_DIRPATH_INPUT_OCI
  63. gviswana 10/26/06 - Remove OCI_ATTR_CURRENT_EDITION
  64. maramali 09/29/06 - bug 5568492, added OCI_NLS_LOCALE_A2_ISO_2_ORA
  65. gviswana 09/29/06 - CURRENT_EDITION -> EDITION
  66. aramappa 09/20/06 - Update major and minor version information
  67. slynn 07/28/06 - Migrate to new 11g LOB terminiology
  68. debanerj 07/20/06 - Add OCI_ATTR_LOBPREFETCH_LENGTH
  69. mbastawa 06/25/06 - add OCI_ATTR_RESERVED_36
  70. hqian 05/22/06 - 11gR1 proj-18303: add OCI_SYSASM
  71. dkogan 04/06/06 - disable charset validation by default
  72. jhealy 05/15/06 - Add TimesTen OCI adapter.
  73. slynn 06/20/06 - GetSharedRegions
  74. rthammai 06/13/06 - add reserved attribute
  75. msakayed 06/15/06 - Project 20586: interval partitioning support
  76. debanerj 10/25/05 - LOB prefetch
  77. slynn 05/25/06 - New NG Lob Functionality.
  78. yujwang 05/16/06 - Add OCI_ATTR_RESERVED_33, OCI_ATTR_RESERVED_34
  79. abande 04/25/06 - 18297: Add attributes for global stmt cache and
  80. metadata cache
  81. ssvemuri 04/26/06 - Constants for Query Notification support
  82. jgiloni 05/05/06 - Add OCI_ATCH_RESERVED_7
  83. mxyang 02/01/06 - Added OCI_ATTR_CURRENT_EDITION attribute
  84. hqian 05/04/06 - new runtime capability attribute for asm volume
  85. nikeda 06/06/06 - OCI_TT: Add new OCIP attributes
  86. aramappa 04/17/06 - Added OCI_FNCODE_ARRAYDESCRIPTORALLOC and
  87. OCI_FNCODE_ARRAYDESCRIPTORFREE
  88. debanerj 05/04/06 - 18313: OCI Net Fusion
  89. rupsingh 05/26/06 -
  90. jacao 05/11/06 -
  91. absaxena 04/17/06 - add notification grouping attributes
  92. rpingte 02/02/06 - add OCI_ATCH_RESERVED_6
  93. rpingte 04/27/06 - Add OCI_ATTR_DRIVER_NAME
  94. jawilson 02/14/06 - add OCI_FNCODE_AQENQSTREAM
  95. kneel 04/03/06 - Adding support in kjhn for critical severity
  96. rphillip 03/31/06 - Add OCI_ATTR_DIRPATH_RESERVED_14
  97. mxyang 02/01/06 - Added OCI_ATTR_APPLICATION_EDITION attribute
  98. rphillip 01/30/06 - Add new DPAPI attrs
  99. ebatbout 11/03/05 - Add direct path support for multiple subtypes
  100. porangas 02/22/06 - 5055398: Define OCI_STMT_CALL
  101. mbastawa 01/31/06 - add OCI_ATTR_RESERVED_26
  102. yohu 01/27/06 - align Execution Modes macros
  103. sjanardh 01/25/06 - add OCI_EXEC_RESERVED_6
  104. sichandr 01/18/06 - add OCI_ATTR_XMLTYPE_BINARY_XML
  105. yohu 12/22/05 - add OCI_TRANS_PROMOTE
  106. srseshad 09/12/05 - stmtcache: callback
  107. krajan 10/25/05 - Added ENABLE_BEQUEATH attach flag
  108. mbastawa 09/16/05 - dbhygiene
  109. porangas 07/20/04 - 1175350: adding attribute for ognfd
  110. chliang 06/30/05 - add OCI_SUPPRESS_NLS_VALIDATION mode
  111. aahluwal 03/15/05 - [Bug 4235014]:add ASM, Preconnect events
  112. ssappara 08/12/04 - Bug3669429 add OCI_ATTR_DESC_SYNBAS
  113. absaxena 03/24/05 - remove OCI_AQ_RESERVED_5
  114. mbastawa 03/01/05 - add OCI_EXEC_RESERVED_5
  115. msakayed 02/15/05 - Bug #3147299: Add OCI_ATTR_CURRENT_ERRCOL
  116. aahluwal 01/11/05 - [Bug 3944589]: add OCI_AUTH_RESERVED_5
  117. nikeda 11/15/04 - Add OCIP_IIO
  118. rvissapr 11/10/04 - bug 3843644 - isencrypted
  119. hohung 11/22/04 - add OCI_BIND_RESERVED_3
  120. cchui 10/25/04 - add OCI_ATTR_PROXY_CLIENT
  121. aahluwal 09/27/04 - add incarnation, reason, cardinality to event handle
  122. msakayed 09/14/04 - column encryption support (project id 5578)
  123. jacao 08/17/04 - Add OCI_ATTR_DB_CHARSET_ID
  124. mhho 08/29/04 - resolve conflicting mode declaration
  125. sgollapu 05/28/04 - Add OCI_AUTH_RESERVED_3
  126. mbastawa 08/05/04 - add OCI_ATTR_RESERVED_21
  127. ebatbout 07/27/04 - add OCI_ATTR_DIRPATH_RESERVED_9 and move all direct
  128. path attributes into a separate area in this file.
  129. clei 06/29/04 - add OCI_ATTR_ENCC_SIZE
  130. weiwang 05/06/04 - add OCIAQListenOpts and OCIAQLisMsgProps
  131. weiwang 04/30/04 - add OCI_AQ_RESERVED_5
  132. nbhatt 04/27/04 - add new attribute
  133. ssvemuri 06/19/04 - change notification descriptors and attributes
  134. ksurlake 06/01/04 - grabtrans 'ksurlake_txn_skmishra_clone'
  135. ksurlake 05/13/04 - add subscriber handle attributes
  136. mbastawa 06/01/04 - add 3 more OCI_FETCH_RESERVED modes
  137. chliang 05/28/04 - add nchar literal replacement modes
  138. nikeda 05/14/04 - [OLS on RAC] new authentication mode
  139. debanerj 05/17/04 - 13064: add fncodes for LOB array Read and Write
  140. nikeda 05/20/04 - [OCI Events] Add incarnation, cardinality,reason
  141. nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
  142. nikeda 05/17/04 - Add event handle
  143. nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
  144. nikeda 05/10/04 - [OCI Events] code review changes
  145. nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
  146. nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
  147. aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
  148. vraja 04/28/04 - add options for redo sync on commit
  149. aahluwal 05/29/04 - [OCI Events]: add support for svc, svc member events
  150. nikeda 05/28/04 - grabtrans 'nikeda_oci_events_copy'
  151. nikeda 05/18/04 - [OCI Events] Add OCI_ATTR_SERVICENAME
  152. nikeda 05/17/04 - Add event handle
  153. nikeda 05/13/04 - [OCI Events] Rename HACBK->EVTCBK, HACTX->EVTCTX
  154. nikeda 05/10/04 - [OCI Events] code review changes
  155. nikeda 04/15/04 - [OCI Events] OCI_SESSRLS_DROPSESS_FORCE
  156. nikeda 04/12/04 - [OCI Events] Add OCI_ATTR_USER_MEMORY
  157. aahluwal 04/12/04 - add OCI_HNDLFR_RESERVED5
  158. jciminsk 04/28/04 - merge from RDBMS_MAIN_SOLARIS_040426
  159. jacao 03/06/04 - add OCI_ATTR_CURRENT_SCHEMA
  160. aahluwal 01/20/04 - remove OCI_KEEP_FETCH_STATE
  161. aahluwal 03/25/04 - [OCI Events] add OCI_HTYPE_HAEVENT and related attrs
  162. nikeda 03/19/04 - [OCI Events] Add OCI_ATTR_HACBK and OCI_ATTR_HACTX
  163. dfrumkin 12/04/03 - Add database startup/shutdown
  164. chliang 12/22/03 - grid/main merge: add OCI_ATTR_RESERVED_20
  165. jciminsk 12/12/03 - merge from RDBMS_MAIN_SOLARIS_031209
  166. sgollapu 09/19/03 - Add fetch modes
  167. sgollapu 07/30/03 - Add TSM attributes
  168. sgollapu 06/26/03 - Add OCI_MUTEX_TRY
  169. aime 06/23/03 - sync grid with main
  170. sgollapu 06/07/03 - Add reserved attribute
  171. sgollapu 06/05/03 - Add reserved auth flag
  172. rpingte 05/22/03 - Add OCI_ATCH_RESERVED_5
  173. sgollapu 05/06/03 - Add TSM attributes
  174. sgollapu 04/10/03 - Session migration Flags/interfaces
  175. dfrumkin 04/23/04 - add OCI_PREP2_RESERVED_1
  176. rpingte 05/06/04 - add major and minor version information
  177. bsinha 04/06/04 - add new OCI_TRANS flag
  178. chliang 11/26/03 - add OCI_ATTR_RESERVED_19
  179. preilly 10/23/03 - Make OCI_ATTR_DIRPATH_METADATA_BUF private
  180. chliang 08/07/03 - add OCI_ATTR_SKIP_BUFFER
  181. srseshad 03/12/03 - convert public oci api to ansi
  182. weiwang 05/14/03 - remove iot creation for rule sets
  183. rkoti 04/15/03 - [2746515] add fntcodes for Unlimited size LOB 6003
  184. tcruanes 05/13/03 - add slave SQL OCI execution mode
  185. rkoti 02/21/03 - [2761455] add OCI_FNCODE_AQENQARRAY,
  186. OCI_FNCODE_AQDEQARRAY and update OCI_FNCODE_MAXFCN
  187. tkeefe 01/29/03 - bug-2773794: Add new interface for setting Kerb attrs
  188. aahluwal 02/06/03 - add OCI_ATTR_TRANSFORMATION_NO
  189. weiwang 12/05/02 - add OCI_ATTR_USER_PROPERTY
  190. ataracha 01/03/03 - include ocixmldb.h
  191. preilly 12/05/02 - Add wait attribute for locking when using dir path
  192. tkeefe 01/03/03 - bug-2623771: Added OCI_ATTR_KERBEROS_KEY
  193. lchidamb 12/13/02 - end-to-end tracing attributes
  194. msakayed 10/28/02 - Bug #2643907: add OCI_ATTR_DIRPATH_SKIPINDEX_METHOD
  195. rphillip 11/13/02 - Add OCIP_ATTR_DIRPATH_INDEX
  196. sagrawal 10/13/02 - liniting
  197. sagrawal 10/03/02 - PL/SQL Compiler warnings
  198. jstenois 11/07/02 - remove ocixad.h
  199. chliang 10/21/02 - add OCI_ATTR_RESERVED_16,17
  200. hsbedi 10/30/02 - grabtrans 'jstenois_fix_xt_convert'
  201. aahluwal 10/12/02 - add OCI_ATTR_AQ_NUM_E_ERRORS/OCI_ATTR_AQ_ERROR_INDEX
  202. bdagevil 10/21/02 - add SQL analyze internal exec mode
  203. csteinba 10/11/02 - add OCI_ATTR_RESERVED_16
  204. chliang 10/12/02 - add bind row callback attributes
  205. preilly 10/25/02 - Add new reserved parameters
  206. tkeefe 10/31/02 - bug-2623771: Added OCI_ATTR_AUDIT_SESSION_ID
  207. csteinba 10/04/02 - Add OCI_ATTR_RESERVED_15
  208. mhho 10/11/02 - add new credential constant
  209. thoang 09/25/02 - Add OCI_XMLTYPE_CREATE_CLOB
  210. skaluska 10/07/02 - describe rules objects
  211. csteinba 09/16/02 - Remove OCI_CACHE
  212. gtarora 10/03/02 - OCI_ATTR_COL_SUBS => OCI_ATTR_OBJ_SUBS
  213. msakayed 09/09/02 - Bug #2482469: add OCI_ATTR_DIRPATH_RESERVED_[3-6]
  214. aahluwal 08/30/02 - adding dequeue across txn group
  215. srseshad 04/24/02 - Add attribute OCI_ATTR_SPOOL_STMTCACHESIZE.
  216. ebatbout 07/22/02 - Remove OCI_ATTR_RESERVED_11.
  217. abande 01/17/02 - Bug 1788921; Add external attribute.
  218. aahluwal 06/04/02 - bug 2360115
  219. pbagal 05/24/02 - Incorporate review comments
  220. pbagal 05/22/02 - Introduce instance type attribute.
  221. whe 07/01/02 - add OCI_BIND_DEFINE_SOFT flags
  222. gtarora 07/01/02 - Add OCI_ATTR_COL_SUBS
  223. tkeefe 05/30/02 - Add support for new proxy authentication credentials
  224. dgprice 12/18/01 - bug 2102779 add reserved force describe
  225. schandir 11/19/01 - add/modify modes.
  226. schandir 11/15/01 - add OCI_SPC_STMTCACHE.
  227. schandir 12/06/01 - change mode value of OCI_SPOOL.
  228. msakayed 11/02/01 - Bug #2094292: add OCI_ATTR_DIRPATH_INPUT
  229. dsaha 11/09/01 - add OCI_DTYPE_RESERVED1
  230. skabraha 11/05/01 - new method flag
  231. skabraha 10/25/01 - another flag for XML
  232. skabraha 10/11/01 - describe flags for subtypes
  233. nbhatt 09/18/01 - new reserved AQ flags
  234. celsbern 10/19/01 - merge LOG to MAIN
  235. ksurlake 10/12/01 - add OCI_ATTR_RESERVED_13
  236. ksurlake 08/13/01 - add OCI_ATTR_RESERVED_12
  237. schandir 09/24/01 - Adding stmt caching
  238. abande 09/04/01 - Adding session pooling
  239. sagrawal 10/23/01 - add new bit for OCIPHandleFree
  240. preilly 10/25/01 - Add support for specifying metadata on DirPathCtx
  241. skabraha 09/24/01 - describe flags for XML type
  242. schandir 09/24/01 - Adding stmt caching
  243. abande 09/04/01 - Adding session pooling
  244. stakeda 09/17/01 - add OCI_NLS_CHARSET_ID
  245. whe 09/19/01 - add OCIXMLType create options
  246. rpingte 09/11/01 - add OCI_MUTEX_ENV_ONLY and OCI_NO_MUTEX_STMT
  247. cmlim 08/28/01 - mod datecache attrs to use same naming as dpapi attrs
  248. wzhang 08/24/01 - Add new keywords for OCINlsNameMap.
  249. rphillip 05/02/01 - Add date cache attributes
  250. rphillip 08/22/01 - Add new stream version
  251. ebatbout 04/13/01 - add definition, OCI_ATTR_RESERVED_11
  252. chliang 04/12/01 - add shortnames for newer oci funcation
  253. wzhang 04/11/01 - Add new OCI NLS constants.
  254. cmlim 04/13/01 - remove attrs not used by dpapi (151 & 152 avail)
  255. rkambo 03/23/01 - bugfix 1421793
  256. cmlim 04/02/01 - remove OCI_ATTR_DIRPATH_{NESTED_TBL, SUBST_OBJ_TBL}
  257. - note: attribute #s 186 & 205 available
  258. whe 03/28/01 - add OCI_AFC_PAD_ON/OFF mode
  259. preilly 03/05/01 - Add stream versioning support to DirPath context
  260. schandir 12/18/00 - remove attr CONN_INCR_DELAY.
  261. schandir 12/12/00 - change mode from OCI_POOL to OCI_CPOOL.
  262. cbarclay 01/12/01 - add atribute for OCIP_ATTR_TMZ
  263. whe 01/07/01 - add attributes related to UTF16 env mode
  264. slari 12/29/00 - add blank line
  265. slari 12/28/00 - OCI_ATTR_RESERVED_10
  266. whe 12/19/00 - add OCI_ENVCR_RESERVED3
  267. rpang 11/29/00 - Added OCI_ATTR_ORA_DEBUG_JDWP attribute
  268. cmlim 11/28/00 - support substitutable object tables in dpapi
  269. akatti 10/09/00 - [198379]:add OCIRowidToChar
  270. sgollapu 10/11/00 - Add OCI_PREP_RESERVED_1
  271. sgollapu 08/27/00 - add attribute to get erroneous column
  272. sgollapu 07/29/00 - Add snapshot attributes
  273. kmohan 09/18/00 - add OCI_FNCODE_LOGON2
  274. abrumm 10/08/00 - include ocixad.h
  275. mbastawa 10/04/00 - add OCI_ATTR_ROWS_FETCHED
  276. nbhatt 08/24/00 - add transformation attribute
  277. dmwong 08/22/00 - OCI_ATTR_CID_VALUE -> OCI_ATTR_CLIENT_IDENTIFIER.
  278. cmlim 08/30/00 - add OCI_ATTR_DIRPATH_SID
  279. dsaha 08/18/00 - add OCI_ATTR_RESERVED_5
  280. amangal 08/17/00 - Merge into 8.2 : 1194361
  281. slari 08/03/00 - add OCI_ATTR_HANDLE_POSITION
  282. dsaha 07/20/00 - 2rt exec
  283. sgollapu 07/04/00 - Add virtual session flag
  284. cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
  285. etucker 07/28/00 - add OCIIntervalFromTZ
  286. rwessman 06/26/00 - N-tier: added new credential attributes
  287. whe 07/27/00 - add OCI_UTF16 mode
  288. vjayaram 07/18/00 - add connection pooling changes
  289. etucker 07/12/00 - add dls apis
  290. cmlim 07/07/00 - add OCI_ATTR_DIRPATH_OID, OCI_ATTR_DIRPATH_NESTED_TBL
  291. sgollapu 07/04/00 - Add virtual session flag
  292. najain 05/01/00 - AQ Signature support
  293. sgollapu 06/14/00 - Add reserved OCI mode
  294. rkambo 06/08/00 - notification presentation support
  295. sagrawal 06/04/00 - ref cursor to c
  296. ksurlake 06/07/00 - define OCI_POOL
  297. mbastawa 06/05/00 - added scrollable cursor attributes
  298. weiwang 03/31/00 - add LDAP support
  299. whe 05/30/00 - add OCI_ATTR_MAXCHAR_SIZE
  300. whe 05/23/00 - validate OCI_NO_CACHE mode
  301. dsaha 02/02/00 - Add no-cache attr in statement handle
  302. whe 05/23/00 - add OCIP_ICACHE
  303. allee 05/17/00 - describe support for JAVA implmented TYPE
  304. preilly 05/30/00 - Continue adding support for objects in direct path lo
  305. cmlim 05/16/00 - 8.2 dpapi support of ADTs
  306. rxgovind 05/04/00 - OCIAnyDataSet changes
  307. rkasamse 05/25/00 - add OCIAnyDataCtx
  308. rmurthy 04/26/00 - describe support for inheritance
  309. ksurlake 04/18/00 - Add credential type
  310. whe 05/24/00 - add OCI_ATTR_CHAR_ attrs
  311. rkambo 04/19/00 - subscription enhancement
  312. rmurthy 04/26/00 - describe support for inheritance
  313. delson 03/28/00 - add OCI_ATTR_RESERVED_2
  314. abrumm 03/31/00 - external table support
  315. rkasamse 03/13/00 - add declarations for OCIAnyData
  316. najain 02/24/00 - support for dequeue as select
  317. dsaha 03/10/00 - Add OCI_ALWAYS_BLOCKING
  318. esoyleme 04/25/00 - separated transactions
  319. sgollapu 12/23/99 - OCIServerAttach extensions
  320. slari 08/23/99 - add OCI_DTYPE_UCB
  321. slari 08/20/99 - add OCI_UCBTYPE_REPLACE
  322. hsbedi 08/31/99 - Memory Stats .
  323. sgollapu 08/02/99 - oci sql routing
  324. slari 08/06/99 - rename values for OCI_SERVER_STATUS
  325. slari 08/02/99 - add OCI_ATTR_SERVER_STATUS
  326. tnbui 07/28/99 - Remove OCI_DTYPE_TIMESTAMP_ITZ
  327. amangal 07/19/99 - Merge into 8.1.6 : bug 785797
  328. tnbui 07/07/99 - Change ADJUSTMENT modes
  329. dsaha 07/07/99 - OCI_SAHRED_EXT
  330. dmwong 06/08/99 - add OCI_ATTR_APPCTX_*
  331. vyanaman 06/23/99 -
  332. vyanaman 06/21/99 - Add new OCI Datetime and Interval descriptors
  333. esoyleme 06/29/99 - expose MTS performance enhancements
  334. rshaikh 04/23/99 - add OCI_SQL_VERSION_*
  335. tnbui 05/24/99 - Remove OCIAdjStr
  336. dsaha 05/21/99 - Add OCI_ADJUST_UNK
  337. mluong 05/17/99 - fix merge
  338. tnbui 04/05/99 - ADJUSTMENT values
  339. abrumm 04/16/99 - dpapi: more attributes
  340. dsaha 02/24/99 - Add OCI_SHOW_DML_WARNINGS
  341. jiyang 12/07/98 - Add OCI_NLS_DUAL_CURRENCY
  342. slari 12/07/98 - change OCI_NOMUTEX to OCI_NO_MUTEX
  343. aroy 11/30/98 - change OCI_NOCALLBACK to OCI_NO_UCB
  344. aroy 11/13/98 - add env modes to process modes
  345. slari 09/08/98 - add OCI_FNCODE_SVC2HST and _SVCRH
  346. aroy 09/04/98 - Add OCI_ATTR_MIGSESSION
  347. skray 08/14/98 - server groups for session switching
  348. mluong 08/11/98 - add back OCI_HTYPE_LAST.
  349. aroy 05/25/98 - add process handle type
  350. aroy 04/06/98 - add shared mode
  351. slari 07/13/98 - merge forward to 8.1.4
  352. slari 07/09/98 - add OCI_BIND_RESERVED_2
  353. slari 07/08/98 - add OCI_EXACT_FETCH_RESERVED_1
  354. dsaha 07/07/98 - Add OCI_PARSE_ONLY
  355. dsaha 06/29/98 - Add OCI_PARSE_ONLY
  356. slari 07/01/98 - add OCI_BIND_RESERVED_2
  357. sgollapu 06/25/98 - Fix bug 683565
  358. slari 06/17/98 - remove OC_FETCH_RESERVED_2
  359. slari 06/11/98 - add OCI_FETCH_RESERVED_1 and 2
  360. jhasenbe 05/27/98 - Remove definitions for U-Calls (Unicode)
  361. jiyang 05/18/98 - remove OCI_ATTR_CARTLANG
  362. nbhatt 05/20/98 - OCI_DEQ_REMOVE_NODATA
  363. nbhatt 05/19/98 - correct AQ opcode
  364. skmishra 05/06/98 - Add precision attribute to Attributes list
  365. aroy 04/20/98 - merge forward 8.0.5 -> 8.1.3
  366. schandra 05/01/98 - OCI sender id
  367. sgollapu 02/19/98 - enhanced array DML
  368. nbhatt 05/15/98 - AQ listen call
  369. sgollapu 04/27/98 - more attributes
  370. skaluska 04/06/98 - Add OCI_PTYPE_SCHEMA, OCI_PTYPE_DATABASE
  371. slari 04/28/98 - add OCI_ATTR_PDPRC
  372. lchidamb 05/05/98 - change OCI_NAMESPACE_AQ to 1
  373. nbhatt 04/27/98 - AQ Notification Descriptor
  374. abrumm 06/24/98 - more direct path attributes
  375. abrumm 05/27/98 - OCI direct path interface support
  376. abrumm 05/08/98 - OCI direct path interface support
  377. lchidamb 03/02/98 - client notification additions
  378. kkarun 04/17/98 - Add more Interval functions
  379. vyanaman 04/16/98 - Add get/set TZ
  380. kkarun 04/14/98 - Add OCI Datetime shortnames
  381. vyanaman 04/13/98 - Add OCI DateTime and Interval check error codes
  382. kkarun 04/07/98 - Add OCI_DTYPE_DATETIME and OCI_DTYPE_INTERVAL
  383. esoyleme 12/15/97 - support failover callback retry
  384. esoyleme 04/22/98 - merge support for failover callback retry
  385. mluong 04/16/98 - add OCI_FNCODE_LOBLOCATORASSIGN
  386. rkasamse 04/17/98 - add short names for OCIPickler(Memory/Ctx) cart servi
  387. slari 04/10/98 - add OCI_FNCODE_SVCCTXTOLDA
  388. slari 04/09/98 - add OCI_FNCODE_RESET
  389. slari 04/07/98 - add OCI_FNCODE_LOBFILEISOPEN
  390. slari 04/06/98 - add OCI_FNCODE_LOBOPEN
  391. slari 03/20/98 - change OCI_CBTYPE_xxx to OCI_UCBTYPE_xxx
  392. slari 03/18/98 - add OCI_FNCODE_MAXFCN
  393. slari 02/12/98 - add OCI_ENV_NO_USRCB
  394. skabraha 04/09/98 - adding shortnames for OCIFile
  395. rhwu 04/03/98 - Add short names for the OCIThread package
  396. tanguyen 04/03/98 - add OCI_ATTR_xxxx for type inheritance
  397. rkasamse 04/02/98 - add OCI_ATTR_UCI_REFRESH
  398. nramakri 04/01/98 - Add short names for the OCIExtract package
  399. ewaugh 03/31/98 - Add short names for the OCIFormat package.
  400. jhasenbe 04/06/98 - Add definitions for U-Calls (Unicode)
  401. (OCI_TEXT, OCI_UTEXT, OCI_UTEXT4)
  402. skmishra 03/03/98 - Add OCI_ATTR_PARSE_ERROR_OFFSET
  403. rwessman 03/11/98 - Added OCI_CRED_PROXY for proxy authentication
  404. abrumm 03/31/98 - OCI direct path interface support
  405. nmallava 03/03/98 - add constants for temp lob apis
  406. skotsovo 03/05/98 - resolve merge conflicts
  407. skotsovo 02/24/98 - add OCI_DTYPE_LOC
  408. skaluska 01/21/98 - Add OCI_ATTR_LTYPE
  409. rkasamse 01/06/98 - add OCI_ATTR* for obj cache enhancements
  410. dchatter 01/08/98 - more comments
  411. skabraha 12/02/97 - moved oci1.h to the front of include files.
  412. jiyang 12/18/97 - Add OCI_NLS_MAX_BUFSZ
  413. rhwu 12/02/97 - move oci1.h up
  414. ewaugh 12/15/97 - Add short names for the OCIFormat package.
  415. rkasamse 12/02/97 - Add a constant for memory cartridge services -- OCI_M
  416. nmallava 12/31/97 - open/close for internal lobs
  417. khnguyen 11/27/97 - add OCI_ATTR_LFPRECISION, OCI_ATTR_FSPRECISION
  418. rkasamse 11/03/97 - add types for pickler cartridge services
  419. mluong 11/20/97 - changed ubig_ora to ub4 per skotsovo
  420. ssamu 11/14/97 - add oci1.h
  421. jiyang 11/13/97 - Add NLS service for cartridge
  422. esoyleme 12/15/97 - support failover callback retry
  423. jwijaya 10/21/97 - change OCILobOffset/Length from ubig_ora to ub4
  424. cxcheng 07/28/97 - fix compile with SLSHORTNAME
  425. schandra 06/25/97 - AQ OCI interface
  426. sgollapu 07/25/97 - Add OCI_ATTR_DESC_PUBLIC
  427. cxcheng 06/16/97 - add OCI_ATTR_TDO
  428. skotsovo 06/05/97 - add fntcodes for lob buffering subsystem
  429. esoyleme 05/13/97 - move failover callback prototype
  430. skmishra 05/06/97 - stdc compiler fixes
  431. skmishra 04/22/97 - Provide C++ compatibility
  432. lchidamb 04/19/97 - add OCI_ATTR_SESSLANG
  433. ramkrish 04/15/97 - Add OCI_LOB_BUFFER_(NO)FREE
  434. sgollapu 04/18/97 - Add OCI_ATTR_TABLESPACE
  435. skaluska 04/17/97 - Add OCI_ATTR_SUB_NAME
  436. schandra 04/10/97 - Use long OCI names
  437. aroy 03/27/97 - add OCI_DTYPE_FILE
  438. sgollapu 03/26/97 - Add OCI_OTYPEs
  439. skmishra 04/09/97 - Added constant OCI_ROWID_LEN
  440. dchatter 03/21/97 - add attr OCI_ATTR_IN_V8_MODE
  441. lchidamb 03/21/97 - add OCI_COMMIT_ON_SUCCESS execution mode
  442. skmishra 03/20/97 - Added OCI_ATTR_LOBEMPTY
  443. sgollapu 03/19/97 - Add OCI_ATTR_OVRLD_ID
  444. aroy 03/17/97 - add postprocessing callback
  445. sgollapu 03/15/97 - Add OCI_ATTR_PARAM
  446. cxcheng 02/07/97 - change OCI_PTYPE codes for type method for consistenc
  447. cxcheng 02/05/97 - add OCI_PTYPE_TYPE_RESULT
  448. cxcheng 02/04/97 - rename OCI_PTYPE constants to be more consistent
  449. cxcheng 02/03/97 - add OCI_ATTR, OCI_PTYPE contants for describe type
  450. esoyleme 01/23/97 - merge neerja callback
  451. sgollapu 12/30/96 - Remove OCI_DTYPE_SECURITY
  452. asurpur 12/26/96 - CHanging OCI_NO_AUTH to OCI_AUTH
  453. sgollapu 12/23/96 - Add more attrs to COL, ARG, and SEQ
  454. sgollapu 12/12/96 - Add OCI_DESCRIBE_ONLY
  455. slari 12/11/96 - change prototype of OCICallbackInBind
  456. nbhatt 12/05/96 - "callback"
  457. lchidamb 11/19/96 - handle subclassing
  458. sgollapu 11/09/96 - OCI_PATTR_*
  459. dchatter 11/04/96 - add attr OCI_ATTR_CHRCNT
  460. mluong 11/01/96 - test
  461. cxcheng 10/31/96 - add #defines for OCILobLength etc
  462. dchatter 10/31/96 - add lob read write call back fp defs
  463. dchatter 10/30/96 - more changes
  464. rhari 10/30/96 - Include ociextp.h at the very end
  465. lchidamb 10/22/96 - add fdo attribute for bind/server handle
  466. dchatter 10/22/96 - change attr defn for prefetch parameters & lobs/file
  467. calls
  468. slari 10/21/96 - add OCI_ENV_NO_MUTEX
  469. rhari 10/25/96 - Include ociextp.h
  470. rxgovind 10/25/96 - add OCI_LOBMAXSIZE, remove OCI_FILE_READWRITE
  471. sgollapu 10/24/96 - Correct OCILogon and OCILogoff
  472. sgollapu 10/24/96 - Correct to OCILogon and OCILogoff
  473. sgollapu 10/21/96 - Add ocilon and ociloff
  474. skaluska 10/31/96 - Add OCI_PTYPE values
  475. sgollapu 10/17/96 - correct OCI_ATTR_SVCCTX to OCI_ATTR_SERVER
  476. rwessman 10/16/96 - Added security functions and fixed olint errors.
  477. sthakur 10/14/96 - add more COR attributes
  478. cxcheng 10/14/96 - re-enable LOB functions
  479. sgollapu 10/10/96 - Add ocibdp and ocibdn
  480. slari 10/07/96 - add back OCIRowid
  481. aroy 10/08/96 - add typedef ocibfill for PRO*C
  482. mluong 10/11/96 - replace OCI_ATTR_CHARSET* with OCI_ATTR_CHARSET_*
  483. cxcheng 10/10/96 - temporarily take out #define for lob functions
  484. sgollapu 10/02/96 - Rename OCI functions and datatypes
  485. skotsovo 10/01/96 - move orl lob fnts to oci
  486. aroy 09/10/96 - fix merge errors
  487. aroy 08/19/96 - NCHAR support
  488. jboonleu 09/05/96 - add OCI attributes for object cache
  489. dchatter 08/20/96 - HTYPE ranges from 1-50; DTYPE from 50-255
  490. slari 08/06/96 - define OCI_DTYPE_ROWID
  491. sthakur 08/14/96 - complex object support
  492. schandra 06/17/96 - Convert XA to use new OCI
  493. abrik 08/15/96 - OCI_ATTR_HEAPALLOC added
  494. aroy 07/17/96 - terminology change: ocilobd => ocilobl
  495. aroy 07/03/96 - add lob typedefs for Pro*C
  496. slari 06/28/96 - add OCI_ATTR_STMT_TYPE
  497. lchidamb 06/26/96 - reorg #ifndef
  498. schandra 05/31/96 - attribute types for internal and external client name
  499. asurpur 05/30/96 - Changing the value of mode
  500. schandra 05/18/96 - OCI_TRANS_TWOPHASE -> 0x00000001 to 0x00100000
  501. slari 05/30/96 - add callback function prototypes
  502. jbellemo 05/23/96 - remove ociisc
  503. schandra 04/23/96 - loosely-coupled branches
  504. asurpur 05/15/96 - New mode for ocicpw
  505. aroy 04/24/96 - making ocihandles opaque
  506. slari 04/18/96 - add missing defines
  507. schandra 03/27/96 - V8OCI - add transaction related calls
  508. dchatter 04/01/96 - add OCI_FILE options
  509. dchatter 03/21/96 - add oci2lda conversion routines
  510. dchatter 03/07/96 - add OCI piece definition
  511. slari 03/12/96 - add describe attributes
  512. slari 03/12/96 - add OCI_OTYPE_QUERY
  513. aroy 02/28/96 - Add column attributes
  514. slari 02/09/96 - add OCI_OBJECT
  515. slari 02/07/96 - add OCI_HYTPE_DSC
  516. aroy 01/10/96 - adding function code defines...
  517. dchatter 01/03/96 - define OCI_NON_BLOCKING
  518. dchatter 01/02/96 - Add Any descriptor
  519. dchatter 01/02/96 - Add Select List descriptor
  520. dchatter 12/29/95 - V8 OCI definitions
  521. dchatter 12/29/95 - Creation
  522. */
  523. #ifdef __cplusplus
  524. extern "C" {
  525. #endif
  526. #ifndef ORATYPES
  527. #include <oratypes.h>
  528. #endif
  529. #ifndef OCIDFN
  530. #include <ocidfn.h>
  531. #endif
  532. #ifndef OCI_ORACLE
  533. # define OCI_ORACLE
  534. /*---------------------------------------------------------------------------
  535. Short names provided for platforms which do not allow extended symbolic names
  536. ---------------------------------------------------------------------------*/
  537. #ifdef SLSHORTNAME
  538. /* Translation of the long function/type names to short names for IBM only */
  539. /* maybe lint will use this too */
  540. #define OCISessionEnd ocitac
  541. #define OCIResultSetToStmt ocirs2sh
  542. #define OCISessionBegin ociauth
  543. #define OCIServerAttach ociatch
  544. #define OCIDescriptorAlloc ocigdesc
  545. #define OCIServerDetach ocidtch
  546. #define OCIDescriptorFree ocifdesc
  547. #define OCIServerVersion ocivers
  548. #define OCIDescribeAny ocidsca
  549. #define OCIBindDynamic ocibda
  550. #define OCIBindByName ocibdn
  551. #define OCIBindByPos ocibdp
  552. #define OCIErrorGet ocigdr
  553. #define OCIBindArrayOfStruct ocibsa
  554. #define OCIEnvInit ociinit
  555. #define OCIBindObject ocibndt
  556. #define OCIHandleAlloc ocighndl
  557. #define OCIHandleFree ocifhndl
  558. #define OCIRowidToChar ociri2c
  559. #ifdef NEVER
  560. #define OCIStmtBindByPos ocibndp
  561. #define OCIStmtBindByName ocibndn
  562. #endif
  563. #define OCIAttrGet ocigattr
  564. #define OCIDefineByPos ocidfne
  565. #define OCIAttrSet ocisattr
  566. #define OCIDefineDynamic ociddf
  567. #define OCILdaToSvcCtx ocild2sv
  568. #define OCIDefineArrayOfStruct ocidarr
  569. #define OCIInitialize ocipi
  570. #define OCIDefineObject ocidndt
  571. #define OCIStmtExecute ociexec
  572. #define OCILobAppend ocilfap
  573. #define OCILobOpenFile ocifopn
  574. #define OCILobCloseFile ocifcls
  575. #define OCILobLocator ocilobd
  576. #define OCILobGetDeduplicateRegions ocilgshr
  577. #define OCILobRegion ocilregd
  578. #define OCILobCopy ocilfcp
  579. #define OCILobFileCreate ocifcrt
  580. #define OCILobFileDelete ocifdel
  581. #define OCILobGetLength ocilfln
  582. #define OCILobWrite ocilfwr
  583. #define OCILobRead ocilfrd
  584. #define OCILobErase ocilfer
  585. #define OCILobTrim ocilftr
  586. #define OCILobSetOptions ocinglso
  587. #define OCILobGetOptions ocinglgo
  588. #define OCILobFragmentInsert ocinglfi
  589. #define OCILobFragmentDelete ocinglfd
  590. #define OCILobFragmentMove ocinglfm
  591. #define OCILobFragmentReplace ocinglfr
  592. #define OCILobSetContentType ocinglsct
  593. #define OCILobGetContentType ocinglgct
  594. #define OCIStmtFetch ocifch
  595. #define OCIStmtGetBindInfo ocigbp
  596. #define OCIStmtGetPieceInfo ocigpi
  597. #define OCIStmtPrepare ocireq
  598. #define OCIStmtSetPieceInfo ocispi
  599. #define OCISvcCtxToLda ocisv2ld
  600. #define OCITransCommit ocitxcm
  601. #define OCITransDetach ocitxdt
  602. #define OCITransForget ocitxfgt
  603. #define OCITransPrepare ocitxpre
  604. #define OCITransRollback ocitxrl
  605. #define OCIPasswordChange ocicpw
  606. #define OCITransStart ocitxst
  607. #define OCITransMultiPrepare ocitxmp
  608. #define OCIBreak ocibreak
  609. #define OCIParamGet ocigparm
  610. #define OCIParamSet ocisparm
  611. #define OCISecurityOpenWallet ocizwOpenWallet
  612. #define OCISecurityCloseWallet ocizwCloseWallet
  613. #define OCISecurityCreateWallet ocizwCreateWallet
  614. #define OCISecurityDestroyWallet ocizwDestroyWallet
  615. #define OCISecurityStorePersona ocizeStorePersona
  616. #define OCISecurityOpenPersona ocizeOpenPersona
  617. #define OCISecurityClosePersona ocizeClosePersona
  618. #define OCISecurityRemovePersona ocizeRemovePersona
  619. #define OCISecurityCreatePersona ocizeCreatePersona
  620. #define OCISecuritySetProtection ocizeSetProtection
  621. #define OCISecurityGetProtection ocizeGetProtection
  622. #define OCISecurityRemoveIdentity ociziRemoveIdentity
  623. #define OCISecurityCreateIdentity ociziCreateIdentity
  624. #define OCISecurityAbortIdentity ociziAbortIdentity
  625. #define OCISecurityFreeIdentity ociziFreeIdentity
  626. #define OCISecurityStoreTrustedIdentity ociziStoreTrustedIdentity
  627. #define OCISecuritySign ocizSign
  628. #define OCISecuritySignExpansion ocizxSignExpansion
  629. #define OCISecurityVerify ocizVerify
  630. #define OCISecurityValidate ocizValidate
  631. #define OCISecuritySignDetached ocizsd_SignDetached
  632. #define OCISecuritySignDetExpansion ocizxsd_SignDetachedExpansion
  633. #define OCISecurityVerifyDetached ocizved_VerifyDetached
  634. #define OCISecurity_PKEncrypt ocizkec_PKEncrypt
  635. #define OCISecurityPKEncryptExpansion ocizxkec_PKEncryptExpansion
  636. #define OCISecurityPKDecrypt ocizkdc_PKDecrypt
  637. #define OCISecurityEncrypt ocizEncrypt
  638. #define OCISecurityEncryptExpansion ocizxEncryptExpansion
  639. #define OCISecurityDecrypt ocizDecrypt
  640. #define OCISecurityEnvelope ocizEnvelope
  641. #define OCISecurityDeEnvelope ocizDeEnvelope
  642. #define OCISecurityKeyedHash ocizKeyedHash
  643. #define OCISecurityKeyedHashExpansion ocizxKeyedHashExpansion
  644. #define OCISecurityHash ocizHash
  645. #define OCISecurityHashExpansion ocizxHashExpansion
  646. #define OCISecuritySeedRandom ocizSeedRandom
  647. #define OCISecurityRandomBytes ocizrb_RandomBytes
  648. #define OCISecurityRandomNumber ocizrn_RandomNumber
  649. #define OCISecurityInitBlock ocizibInitBlock
  650. #define OCISecurityReuseBlock ocizrbReuseBlock
  651. #define OCISecurityPurgeBlock ocizpbPurgeBlock
  652. #define OCISecuritySetBlock ocizsbSetBlock
  653. #define OCISecurityGetIdentity ocizgi_GetIdentity
  654. #define OCIExtractInit ocixeini
  655. #define OCIExtractTerm ocixetrm
  656. #define OCIExtractReset ocixerst
  657. #define OCIExtractSetNumKeys ocixesnk
  658. #define OCIExtractSetKey ocixesk
  659. #define OCIExtractFromFile ocixeff
  660. #define OCIExtractFromStr ocixefs
  661. #define OCIExtractToInt ocixeti
  662. #define OCIExtractToBool ocixetb
  663. #define OCIExtractToStr ocixets
  664. #define OCIExtractToOCINum ocixeton
  665. #define OCIExtractToList ocixetl
  666. #define OCIExtractFromList ocixefl
  667. #define OCIDateTimeGetTime ocidt01_GetTime
  668. #define OCIDateTimeGetDate ocidt02_GetDate
  669. #define OCIDateTimeGetTimeZoneOffset ocidt03_GetTZ
  670. #define OCIDateTimeSysTimeStamp ocidt07_SysTS
  671. #define OCIDateTimeAssign ocidt08_Assign
  672. #define OCIDateTimeToText ocidt09_ToText
  673. #define OCIDateTimeFromText ocidt10_FromText
  674. #define OCIDateTimeCompare ocidt11_Compare
  675. #define OCIDateTimeCheck ocidt12_Check
  676. #define OCIDateTimeConvert ocidt13_Convert
  677. #define OCIDateTimeSubtract ocidt14_Subtract
  678. #define OCIDateTimeIntervalAdd ocidt15_IntervalAdd
  679. #define OCIDateTimeIntervalSub ocidt16_IntervalSub
  680. #define OCIDateTimeGetTimeZoneName ocidt17_Gettzname
  681. #define OCIDateTimeToArray ocidt18_ToArray
  682. #define OCIDateTimeFromArray ocidt19_FromArray
  683. #define OCIIntervalSubtract ociint01_Subtract
  684. #define OCIIntervalAdd ociint02_Add
  685. #define OCIIntervalMultiply ociint03_Multiply
  686. #define OCIIntervalDivide ociint04_Divide
  687. #define OCIIntervalCompare ociint05_Compare
  688. #define OCIIntervalFromText ociint06_FromText
  689. #define OCIIntervalToText ociint07_ToText
  690. #define OCIIntervalToNumber ociint08_ToNumber
  691. #define OCIIntervalCheck ociint09_Check
  692. #define OCIIntervalAssign ociint10_Assign
  693. #define OCIIntervalGetYearMonth ociint11_GetYearMonth
  694. #define OCIIntervalSetYearMonth ociint12_SetYearMonth
  695. #define OCIIntervalGetDaySecond ociint13_GetDaySecond
  696. #define OCIIntervalSetDaySecond ociint14_SetDaySecond
  697. #define OCIIntervalFromNumber ociint15_FromNumber
  698. #define OCIIntervalFromTZ ociint16_FromTZ
  699. #define OCIFormatInit ocixs01_Init
  700. #define OCIFormatString ocixs02_Format
  701. #define OCIFormatTerm ocixs03_Term
  702. #define OCIFormatTUb1 ocixs04_TUb1
  703. #define OCIFormatTUb2 ocixs05_TUb2
  704. #define OCIFormatTUb4 ocixs06_TUb4
  705. #define OCIFormatTUword ocixs07_TUword
  706. #define OCIFormatTUbig_ora ocixs08_TUbig_ora
  707. #define OCIFormatTSb1 ocixs09_TSb1
  708. #define OCIFormatTSb2 ocixs10_TSb2
  709. #define OCIFormatTSb4 ocixs11_TSb4
  710. #define OCIFormatTSword ocixs12_TSword
  711. #define OCIFormatTSbig_ora ocixs13_TSbig_ora
  712. #define OCIFormatTEb1 ocixs14_TEb1
  713. #define OCIFormatTEb2 ocixs15_TEb2
  714. #define OCIFormatTEb4 ocixs16_TEb4
  715. #define OCIFormatTEword ocixs17_TEword
  716. #define OCIFormatTChar ocixs18_TChar
  717. #define OCIFormatTText ocixs19_TText
  718. #define OCIFormatTDouble ocixs20_TDouble
  719. #define OCIFormatTDvoid ocixs21_TDvoid
  720. #define OCIFormatTEnd ocixs22_TEnd
  721. #define OCIFileInit ocifinit
  722. #define OCIFileTerm ocifterm
  723. #define OCIFileOpen ocifopen
  724. #define OCIFileClose ocifclose
  725. #define OCIFileRead ocifread
  726. #define OCIFileWrite ocifwrite
  727. #define OCIFileSeek ocifseek
  728. #define OCIFileExists ocifexists
  729. #define OCIFileGetLength ocifglen
  730. #define OCIFileFlush ocifflush
  731. /* OCIThread short name */
  732. #define OCIThreadProcessInit ocitt01_ProcessInit
  733. #define OCIThreadInit ocitt02_Init
  734. #define OCIThreadTerm ocitt03_Term
  735. #define OCIThreadIsMulti ocitt04_IsMulti
  736. #define OCIThreadMutexInit ocitt05_MutexInit
  737. #define OCIThreadMutexDestroy ocitt06_MutexDestroy
  738. #define OCIThreadMutexAcquire ocitt07_MutexAcquire
  739. #define OCIThreadMutexRelease ocitt08_MutexRelease
  740. #define OCIThreadKeyInit ocitt09_KeyInit
  741. #define OCIThreadKeyDestroy ocitt10_KeyDestroy
  742. #define OCIThreadKeyGet ocitt11_KeyGet
  743. #define OCIThreadKeySet ocitt12_KeySet
  744. #define OCIThreadIdInit ocitt13_IdInit
  745. #define OCIThreadIdDestroy ocitt14_IdDestroy
  746. #define OCIThreadIdSet ocitt15_IdSet
  747. #define OCIThreadIdSetNull ocitt16_IdSetNull
  748. #define OCIThreadIdGet ocitt17_IdGet
  749. #define OCIThreadIdSame ocitt18_IdSame
  750. #define OCIThreadIdNull ocitt19_IdNull
  751. #define OCIThreadHndInit ocitt20_HndInit
  752. #define OCIThreadHndDestroy ocitt21_HndDestroy
  753. #define OCIThreadCreate ocitt22_Create
  754. #define OCIThreadJoin ocitt23_Join
  755. #define OCIThreadClose ocitt24_Close
  756. #define OCIThreadHandleGet ocitt25_HandleGet
  757. /* Translation between the old and new datatypes */
  758. #define OCISession ociusrh
  759. #define OCIBind ocibndh
  760. #define OCIDescribe ocidsch
  761. #define OCIDefine ocidfnh
  762. #define OCIEnv ocienvh
  763. #define OCIError ocierrh
  764. #define OCICPool ocicpool
  765. #define OCISPool ocispool
  766. #define OCIAuthInfo ociauthinfo
  767. #define OCILob ocilobd
  768. #define OCILobLength ocillen
  769. #define OCILobMode ocilmo
  770. #define OCILobOffset ociloff
  771. #define OCILobLocator ocilobd
  772. #define OCIBlobLocator ociblobl
  773. #define OCIClobLocator ociclobl
  774. #define OCILobRegion ocilregd
  775. #define OCIBFileLocator ocibfilel
  776. #define OCIParam ocipard
  777. #define OCIResult ocirstd
  778. #define OCISnapshot ocisnad
  779. #define OCIServer ocisrvh
  780. #define OCIStmt ocistmh
  781. #define OCISvcCtx ocisvch
  782. #define OCITrans ocitxnh
  783. #define OCICallbackInBind ocibicfp
  784. #define OCICallbackOutBind ocibocfp
  785. #define OCICallbackDefine ocidcfp
  786. #define OCICallbackLobRead ocilrfp
  787. #define OCICallbackLobWrite ocilwfp
  788. #define OCICallbackLobGetDededuplicateRegions ocilgshr
  789. #define OCISecurity ociossh
  790. #define OCIComplexObject ocicorh
  791. #define OCIComplexObjectComp ocicord
  792. #define OCIRowid ociridd
  793. #define OCIAQDeq ociaqdeq
  794. #define OCIAQEnq ociaqenq
  795. #define OCIConnectionPoolCreate ociconpc
  796. #define OCIConnectionPoolDestroy ociconpd
  797. #define OCIEnvCreate ocienvct
  798. #define OCILobAssign ociloass
  799. #define OCILobCharSetForm ocilocfm
  800. #define OCILobCharSetId ocilocid
  801. #define OCILobDisableBuffering ocilodbf
  802. #define OCILobEnableBuffering ociloebf
  803. #define OCILobFileClose ocilofcl
  804. #define OCILobFileCloseAll ocilofca
  805. #define OCILobFileExists ocilofex
  806. #define OCILobFileGetName ocilofgn
  807. #define OCILobFileIsOpen ocifiopn
  808. #define OCILobFileOpen ocilofop
  809. #define OCILobFileSetName ocilofsn
  810. #define OCILobFlushBuffer ocilofbf
  811. #define OCILobIsEqual ociloieq
  812. #define OCILobLoadFromFile ocilolff
  813. #define OCILobLocatorIsInit ocilolii
  814. #define OCILobLocatorAssign ocilolas
  815. #define OCILogon ocilogon
  816. #define OCILogon2 ocilgon2
  817. #define OCILogoff ocilgoff
  818. #endif /* ifdef SLSHORTNAME */
  819. /*---------------------------------------------------------------------------
  820. PUBLIC TYPES AND CONSTANTS
  821. ---------------------------------------------------------------------------*/
  822. /*-----------------------------Handle Types----------------------------------*/
  823. /* handle types range from 1 - 49 */
  824. #define OCI_HTYPE_FIRST 1 /* start value of handle type */
  825. #define OCI_HTYPE_ENV 1 /* environment handle */
  826. #define OCI_HTYPE_ERROR 2 /* error handle */
  827. #define OCI_HTYPE_SVCCTX 3 /* service handle */
  828. #define OCI_HTYPE_STMT 4 /* statement handle */
  829. #define OCI_HTYPE_BIND 5 /* bind handle */
  830. #define OCI_HTYPE_DEFINE 6 /* define handle */
  831. #define OCI_HTYPE_DESCRIBE 7 /* describe handle */
  832. #define OCI_HTYPE_SERVER 8 /* server handle */
  833. #define OCI_HTYPE_SESSION 9 /* authentication handle */
  834. #define OCI_HTYPE_AUTHINFO OCI_HTYPE_SESSION /* SessionGet auth handle */
  835. #define OCI_HTYPE_TRANS 10 /* transaction handle */
  836. #define OCI_HTYPE_COMPLEXOBJECT 11 /* complex object retrieval handle */
  837. #define OCI_HTYPE_SECURITY 12 /* security handle */
  838. #define OCI_HTYPE_SUBSCRIPTION 13 /* subscription handle */
  839. #define OCI_HTYPE_DIRPATH_CTX 14 /* direct path context */
  840. #define OCI_HTYPE_DIRPATH_COLUMN_ARRAY 15 /* direct path column array */
  841. #define OCI_HTYPE_DIRPATH_STREAM 16 /* direct path stream */
  842. #define OCI_HTYPE_PROC 17 /* process handle */
  843. #define OCI_HTYPE_DIRPATH_FN_CTX 18 /* direct path function context */
  844. #define OCI_HTYPE_DIRPATH_FN_COL_ARRAY 19 /* dp object column array */
  845. #define OCI_HTYPE_XADSESSION 20 /* access driver session */
  846. #define OCI_HTYPE_XADTABLE 21 /* access driver table */
  847. #define OCI_HTYPE_XADFIELD 22 /* access driver field */
  848. #define OCI_HTYPE_XADGRANULE 23 /* access driver granule */
  849. #define OCI_HTYPE_XADRECORD 24 /* access driver record */
  850. #define OCI_HTYPE_XADIO 25 /* access driver I/O */
  851. #define OCI_HTYPE_CPOOL 26 /* connection pool handle */
  852. #define OCI_HTYPE_SPOOL 27 /* session pool handle */
  853. #define OCI_HTYPE_ADMIN 28 /* admin handle */
  854. #define OCI_HTYPE_EVENT 29 /* HA event handle */
  855. #define OCI_HTYPE_LAST 29 /* last value of a handle type */
  856. /*---------------------------------------------------------------------------*/
  857. /*-------------------------Descriptor Types----------------------------------*/
  858. /* descriptor values range from 50 - 255 */
  859. #define OCI_DTYPE_FIRST 50 /* start value of descriptor type */
  860. #define OCI_DTYPE_LOB 50 /* lob locator */
  861. #define OCI_DTYPE_SNAP 51 /* snapshot descriptor */
  862. #define OCI_DTYPE_RSET 52 /* result set descriptor */
  863. #define OCI_DTYPE_PARAM 53 /* a parameter descriptor obtained from ocigparm */
  864. #define OCI_DTYPE_ROWID 54 /* rowid descriptor */
  865. #define OCI_DTYPE_COMPLEXOBJECTCOMP 55
  866. /* complex object retrieval descriptor */
  867. #define OCI_DTYPE_FILE 56 /* File Lob locator */
  868. #define OCI_DTYPE_AQENQ_OPTIONS 57 /* enqueue options */
  869. #define OCI_DTYPE_AQDEQ_OPTIONS 58 /* dequeue options */
  870. #define OCI_DTYPE_AQMSG_PROPERTIES 59 /* message properties */
  871. #define OCI_DTYPE_AQAGENT 60 /* aq agent */
  872. #define OCI_DTYPE_LOCATOR 61 /* LOB locator */
  873. #define OCI_DTYPE_INTERVAL_YM 62 /* Interval year month */
  874. #define OCI_DTYPE_INTERVAL_DS 63 /* Interval day second */
  875. #define OCI_DTYPE_AQNFY_DESCRIPTOR 64 /* AQ notify descriptor */
  876. #define OCI_DTYPE_DATE 65 /* Date */
  877. #define OCI_DTYPE_TIME 66 /* Time */
  878. #define OCI_DTYPE_TIME_TZ 67 /* Time with timezone */
  879. #define OCI_DTYPE_TIMESTAMP 68 /* Timestamp */
  880. #define OCI_DTYPE_TIMESTAMP_TZ 69 /* Timestamp with timezone */
  881. #define OCI_DTYPE_TIMESTAMP_LTZ 70 /* Timestamp with local tz */
  882. #define OCI_DTYPE_UCB 71 /* user callback descriptor */
  883. #define OCI_DTYPE_SRVDN 72 /* server DN list descriptor */
  884. #define OCI_DTYPE_SIGNATURE 73 /* signature */
  885. #define OCI_DTYPE_RESERVED_1 74 /* reserved for internal use */
  886. #define OCI_DTYPE_AQLIS_OPTIONS 75 /* AQ listen options */
  887. #define OCI_DTYPE_AQLIS_MSG_PROPERTIES 76 /* AQ listen msg props */
  888. #define OCI_DTYPE_CHDES 77 /* Top level change notification desc */
  889. #define OCI_DTYPE_TABLE_CHDES 78 /* Table change descriptor */
  890. #define OCI_DTYPE_ROW_CHDES 79 /* Row change descriptor */
  891. #define OCI_DTYPE_CQDES 80 /* Query change descriptor */
  892. #define OCI_DTYPE_LOB_REGION 81 /* LOB Share region descriptor */
  893. #define OCI_DTYPE_LAST 81 /* last value of a descriptor type */
  894. /*---------------------------------------------------------------------------*/
  895. /*--------------------------------LOB types ---------------------------------*/
  896. #define OCI_TEMP_BLOB 1 /* LOB type - BLOB ------------------ */
  897. #define OCI_TEMP_CLOB 2 /* LOB type - CLOB ------------------ */
  898. /*---------------------------------------------------------------------------*/
  899. /*-------------------------Object Ptr Types----------------------------------*/
  900. #define OCI_OTYPE_NAME 1 /* object name */
  901. #define OCI_OTYPE_REF 2 /* REF to TDO */
  902. #define OCI_OTYPE_PTR 3 /* PTR to TDO */
  903. /*---------------------------------------------------------------------------*/
  904. /*=============================Attribute Types===============================*/
  905. /*
  906. Note: All attributes are global. New attibutes should be added to the end
  907. of the list. Before you add an attribute see if an existing one can be
  908. used for your handle.
  909. If you see any holes please use the holes first.
  910. */
  911. /*===========================================================================*/
  912. #define OCI_ATTR_FNCODE 1 /* the OCI function code */
  913. #define OCI_ATTR_OBJECT 2 /* is the environment initialized in object mode */
  914. #define OCI_ATTR_NONBLOCKING_MODE 3 /* non blocking mode */
  915. #define OCI_ATTR_SQLCODE 4 /* the SQL verb */
  916. #define OCI_ATTR_ENV 5 /* the environment handle */
  917. #define OCI_ATTR_SERVER 6 /* the server handle */
  918. #define OCI_ATTR_SESSION 7 /* the user session handle */
  919. #define OCI_ATTR_TRANS 8 /* the transaction handle */
  920. #define OCI_ATTR_ROW_COUNT 9 /* the rows processed so far */
  921. #define OCI_ATTR_SQLFNCODE 10 /* the SQL verb of the statement */
  922. #define OCI_ATTR_PREFETCH_ROWS 11 /* sets the number of rows to prefetch */
  923. #define OCI_ATTR_NESTED_PREFETCH_ROWS 12 /* the prefetch rows of nested table*/
  924. #define OCI_ATTR_PREFETCH_MEMORY 13 /* memory limit for rows fetched */
  925. #define OCI_ATTR_NESTED_PREFETCH_MEMORY 14 /* memory limit for nested rows */
  926. #define OCI_ATTR_CHAR_COUNT 15
  927. /* this specifies the bind and define size in characters */
  928. #define OCI_ATTR_PDSCL 16 /* packed decimal scale */
  929. #define OCI_ATTR_FSPRECISION OCI_ATTR_PDSCL
  930. /* fs prec for datetime data types */
  931. #define OCI_ATTR_PDPRC 17 /* packed decimal format */
  932. #define OCI_ATTR_LFPRECISION OCI_ATTR_PDPRC
  933. /* fs prec for datetime data types */
  934. #define OCI_ATTR_PARAM_COUNT 18 /* number of column in the select list */
  935. #define OCI_ATTR_ROWID 19 /* the rowid */
  936. #define OCI_ATTR_CHARSET 20 /* the character set value */
  937. #define OCI_ATTR_NCHAR 21 /* NCHAR type */
  938. #define OCI_ATTR_USERNAME 22 /* username attribute */
  939. #define OCI_ATTR_PASSWORD 23 /* password attribute */
  940. #define OCI_ATTR_STMT_TYPE 24 /* statement type */
  941. #define OCI_ATTR_INTERNAL_NAME 25 /* user friendly global name */
  942. #define OCI_ATTR_EXTERNAL_NAME 26 /* the internal name for global txn */
  943. #define OCI_ATTR_XID 27 /* XOPEN defined global transaction id */
  944. #define OCI_ATTR_TRANS_LOCK 28 /* */
  945. #define OCI_ATTR_TRANS_NAME 29 /* string to identify a global transaction */
  946. #define OCI_ATTR_HEAPALLOC 30 /* memory allocated on the heap */
  947. #define OCI_ATTR_CHARSET_ID 31 /* Character Set ID */
  948. #define OCI_ATTR_CHARSET_FORM 32 /* Character Set Form */
  949. #define OCI_ATTR_MAXDATA_SIZE 33 /* Maximumsize of data on the server */
  950. #define OCI_ATTR_CACHE_OPT_SIZE 34 /* object cache optimal size */
  951. #define OCI_ATTR_CACHE_MAX_SIZE 35 /* object cache maximum size percentage */
  952. #define OCI_ATTR_PINOPTION 36 /* object cache default pin option */
  953. #define OCI_ATTR_ALLOC_DURATION 37
  954. /* object cache default allocation duration */
  955. #define OCI_ATTR_PIN_DURATION 38 /* object cache default pin duration */
  956. #define OCI_ATTR_FDO 39 /* Format Descriptor object attribute */
  957. #define OCI_ATTR_POSTPROCESSING_CALLBACK 40
  958. /* Callback to process outbind data */
  959. #define OCI_ATTR_POSTPROCESSING_CONTEXT 41
  960. /* Callback context to process outbind data */
  961. #define OCI_ATTR_ROWS_RETURNED 42
  962. /* Number of rows returned in current iter - for Bind handles */
  963. #define OCI_ATTR_FOCBK 43 /* Failover Callback attribute */
  964. #define OCI_ATTR_IN_V8_MODE 44 /* is the server/service context in V8 mode */
  965. #define OCI_ATTR_LOBEMPTY 45 /* empty lob ? */
  966. #define OCI_ATTR_SESSLANG 46 /* session language handle */
  967. #define OCI_ATTR_VISIBILITY 47 /* visibility */
  968. #define OCI_ATTR_RELATIVE_MSGID 48 /* relative message id */
  969. #define OCI_ATTR_SEQUENCE_DEVIATION 49 /* sequence deviation */
  970. #define OCI_ATTR_CONSUMER_NAME 50 /* consumer name */
  971. #define OCI_ATTR_DEQ_MODE 51 /* dequeue mode */
  972. #define OCI_ATTR_NAVIGATION 52 /* navigation */
  973. #define OCI_ATTR_WAIT 53 /* wait */
  974. #define OCI_ATTR_DEQ_MSGID 54 /* dequeue message id */
  975. #define OCI_ATTR_PRIORITY 55 /* priority */
  976. #define OCI_ATTR_DELAY 56 /* delay */
  977. #define OCI_ATTR_EXPIRATION 57 /* expiration */
  978. #define OCI_ATTR_CORRELATION 58 /* correlation id */
  979. #define OCI_ATTR_ATTEMPTS 59 /* # of attempts */
  980. #define OCI_ATTR_RECIPIENT_LIST 60 /* recipient list */
  981. #define OCI_ATTR_EXCEPTION_QUEUE 61 /* exception queue name */
  982. #define OCI_ATTR_ENQ_TIME 62 /* enqueue time (only OCIAttrGet) */
  983. #define OCI_ATTR_MSG_STATE 63/* message state (only OCIAttrGet) */
  984. /* NOTE: 64-66 used below */
  985. #define OCI_ATTR_AGENT_NAME 64 /* agent name */
  986. #define OCI_ATTR_AGENT_ADDRESS 65 /* agent address */
  987. #define OCI_ATTR_AGENT_PROTOCOL 66 /* agent protocol */
  988. #define OCI_ATTR_USER_PROPERTY 67 /* user property */
  989. #define OCI_ATTR_SENDER_ID 68 /* sender id */
  990. #define OCI_ATTR_ORIGINAL_MSGID 69 /* original message id */
  991. #define OCI_ATTR_QUEUE_NAME 70 /* queue name */
  992. #define OCI_ATTR_NFY_MSGID 71 /* message id */
  993. #define OCI_ATTR_MSG_PROP 72 /* message properties */
  994. #define OCI_ATTR_NUM_DML_ERRORS 73 /* num of errs in array DML */
  995. #define OCI_ATTR_DML_ROW_OFFSET 74 /* row offset in the array */
  996. /* AQ array error handling uses DML method of accessing errors */
  997. #define OCI_ATTR_AQ_NUM_ERRORS OCI_ATTR_NUM_DML_ERRORS
  998. #define OCI_ATTR_AQ_ERROR_INDEX OCI_ATTR_DML_ROW_OFFSET
  999. #define OCI_ATTR_DATEFORMAT 75 /* default date format string */
  1000. #define OCI_ATTR_BUF_ADDR 76 /* buffer address */
  1001. #define OCI_ATTR_BUF_SIZE 77 /* buffer size */
  1002. /* For values 78 - 80, see DirPathAPI attribute section in this file */
  1003. #define OCI_ATTR_NUM_ROWS 81 /* number of rows in column array */
  1004. /* NOTE that OCI_ATTR_NUM_COLS is a column
  1005. * array attribute too.
  1006. */
  1007. #define OCI_ATTR_COL_COUNT 82 /* columns of column array
  1008. processed so far. */
  1009. #define OCI_ATTR_STREAM_OFFSET 83 /* str off of last row processed */
  1010. #define OCI_ATTR_SHARED_HEAPALLOC 84 /* Shared Heap Allocation Size */
  1011. #define OCI_ATTR_SERVER_GROUP 85 /* server group name */
  1012. #define OCI_ATTR_MIGSESSION 86 /* migratable session attribute */
  1013. #define OCI_ATTR_NOCACHE 87 /* Temporary LOBs */
  1014. #define OCI_ATTR_MEMPOOL_SIZE 88 /* Pool Size */
  1015. #define OCI_ATTR_MEMPOOL_INSTNAME 89 /* Instance name */
  1016. #define OCI_ATTR_MEMPOOL_APPNAME 90 /* Application name */
  1017. #define OCI_ATTR_MEMPOOL_HOMENAME 91 /* Home Directory name */
  1018. #define OCI_ATTR_MEMPOOL_MODEL 92 /* Pool Model (proc,thrd,both)*/
  1019. #define OCI_ATTR_MODES 93 /* Modes */
  1020. #define OCI_ATTR_SUBSCR_NAME 94 /* name of subscription */
  1021. #define OCI_ATTR_SUBSCR_CALLBACK 95 /* associated callback */
  1022. #define OCI_ATTR_SUBSCR_CTX 96 /* associated callback context */
  1023. #define OCI_ATTR_SUBSCR_PAYLOAD 97 /* associated payload */
  1024. #define OCI_ATTR_SUBSCR_NAMESPACE 98 /* associated namespace */
  1025. #define OCI_ATTR_PROXY_CREDENTIALS 99 /* Proxy user credentials */
  1026. #define OCI_ATTR_INITIAL_CLIENT_ROLES 100 /* Initial client role list */
  1027. #define OCI_ATTR_UNK 101 /* unknown attribute */
  1028. #define OCI_ATTR_NUM_COLS 102 /* number of columns */
  1029. #define OCI_ATTR_LIST_COLUMNS 103 /* parameter of the column list */
  1030. #define OCI_ATTR_RDBA 104 /* DBA of the segment header */
  1031. #define OCI_ATTR_CLUSTERED 105 /* whether the table is clustered */
  1032. #define OCI_ATTR_PARTITIONED 106 /* whether the table is partitioned */
  1033. #define OCI_ATTR_INDEX_ONLY 107 /* whether the table is index only */
  1034. #define OCI_ATTR_LIST_ARGUMENTS 108 /* parameter of the argument list */
  1035. #define OCI_ATTR_LIST_SUBPROGRAMS 109 /* parameter of the subprogram list */
  1036. #define OCI_ATTR_REF_TDO 110 /* REF to the type descriptor */
  1037. #define OCI_ATTR_LINK 111 /* the database link name */
  1038. #define OCI_ATTR_MIN 112 /* minimum value */
  1039. #define OCI_ATTR_MAX 113 /* maximum value */
  1040. #define OCI_ATTR_INCR 114 /* increment value */
  1041. #define OCI_ATTR_CACHE 115 /* number of sequence numbers cached */
  1042. #define OCI_ATTR_ORDER 116 /* whether the sequence is ordered */
  1043. #define OCI_ATTR_HW_MARK 117 /* high-water mark */
  1044. #define OCI_ATTR_TYPE_SCHEMA 118 /* type's schema name */
  1045. #define OCI_ATTR_TIMESTAMP 119 /* timestamp of the object */
  1046. #define OCI_ATTR_NUM_ATTRS 120 /* number of sttributes */
  1047. #define OCI_ATTR_NUM_PARAMS 121 /* number of parameters */
  1048. #define OCI_ATTR_OBJID 122 /* object id for a table or view */
  1049. #define OCI_ATTR_PTYPE 123 /* type of info described by */
  1050. #define OCI_ATTR_PARAM 124 /* parameter descriptor */
  1051. #define OCI_ATTR_OVERLOAD_ID 125 /* overload ID for funcs and procs */
  1052. #define OCI_ATTR_TABLESPACE 126 /* table name space */
  1053. #define OCI_ATTR_TDO 127 /* TDO of a type */
  1054. #define OCI_ATTR_LTYPE 128 /* list type */
  1055. #define OCI_ATTR_PARSE_ERROR_OFFSET 129 /* Parse Error offset */
  1056. #define OCI_ATTR_IS_TEMPORARY 130 /* whether table is temporary */
  1057. #define OCI_ATTR_IS_TYPED 131 /* whether table is typed */
  1058. #define OCI_ATTR_DURATION 132 /* duration of temporary table */
  1059. #define OCI_ATTR_IS_INVOKER_RIGHTS 133 /* is invoker rights */
  1060. #define OCI_ATTR_OBJ_NAME 134 /* top level schema obj name */
  1061. #define OCI_ATTR_OBJ_SCHEMA 135 /* schema name */
  1062. #define OCI_ATTR_OBJ_ID 136 /* top level schema object id */
  1063. /* For values 137 - 141, see DirPathAPI attribute section in this file */
  1064. #define OCI_ATTR_TRANS_TIMEOUT 142 /* transaction timeout */
  1065. #define OCI_ATTR_SERVER_STATUS 143/* state of the server handle */
  1066. #define OCI_ATTR_STATEMENT 144 /* statement txt in stmt hdl */
  1067. /* For value 145, see DirPathAPI attribute section in this file */
  1068. #define OCI_ATTR_DEQCOND 146 /* dequeue condition */
  1069. #define OCI_ATTR_RESERVED_2 147 /* reserved */
  1070. #define OCI_ATTR_SUBSCR_RECPT 148 /* recepient of subscription */
  1071. #define OCI_ATTR_SUBSCR_RECPTPROTO 149 /* protocol for recepient */
  1072. /* For values 150 - 151, see DirPathAPI attribute section in this file */
  1073. #define OCI_ATTR_LDAP_HOST 153 /* LDAP host to connect to */
  1074. #define OCI_ATTR_LDAP_PORT 154 /* LDAP port to connect to */
  1075. #define OCI_ATTR_BIND_DN 155 /* bind DN */
  1076. #define OCI_ATTR_LDAP_CRED 156 /* credentials to connect to LDAP */
  1077. #define OCI_ATTR_WALL_LOC 157 /* client wallet location */
  1078. #define OCI_ATTR_LDAP_AUTH 158 /* LDAP authentication method */
  1079. #define OCI_ATTR_LDAP_CTX 159 /* LDAP adminstration context DN */
  1080. #define OCI_ATTR_SERVER_DNS 160 /* list of registration server DNs */
  1081. #define OCI_ATTR_DN_COUNT 161 /* the number of server DNs */
  1082. #define OCI_ATTR_SERVER_DN 162 /* server DN attribute */
  1083. #define OCI_ATTR_MAXCHAR_SIZE 163 /* max char size of data */
  1084. #define OCI_ATTR_CURRENT_POSITION 164 /* for scrollable result sets*/
  1085. /* Added to get attributes for ref cursor to statement handle */
  1086. #define OCI_ATTR_RESERVED_3 165 /* reserved */
  1087. #define OCI_ATTR_RESERVED_4 166 /* reserved */
  1088. /* For value 167, see DirPathAPI attribute section in this file */
  1089. #define OCI_ATTR_DIGEST_ALGO 168 /* digest algorithm */
  1090. #define OCI_ATTR_CERTIFICATE 169 /* certificate */
  1091. #define OCI_ATTR_SIGNATURE_ALGO 170 /* signature algorithm */
  1092. #define OCI_ATTR_CANONICAL_ALGO 171 /* canonicalization algo. */
  1093. #define OCI_ATTR_PRIVATE_KEY 172 /* private key */
  1094. #define OCI_ATTR_DIGEST_VALUE 173 /* digest value */
  1095. #define OCI_ATTR_SIGNATURE_VAL 174 /* signature value */
  1096. #define OCI_ATTR_SIGNATURE 175 /* signature */
  1097. /* attributes for setting OCI stmt caching specifics in svchp */
  1098. #define OCI_ATTR_STMTCACHESIZE 176 /* size of the stm cache */
  1099. /* --------------------------- Connection Pool Attributes ------------------ */
  1100. #define OCI_ATTR_CONN_NOWAIT 178
  1101. #define OCI_ATTR_CONN_BUSY_COUNT 179
  1102. #define OCI_ATTR_CONN_OPEN_COUNT 180
  1103. #define OCI_ATTR_CONN_TIMEOUT 181
  1104. #define OCI_ATTR_STMT_STATE 182
  1105. #define OCI_ATTR_CONN_MIN 183
  1106. #define OCI_ATTR_CONN_MAX 184
  1107. #define OCI_ATTR_CONN_INCR 185
  1108. /* For value 187, see DirPathAPI attribute section in this file */
  1109. #define OCI_ATTR_NUM_OPEN_STMTS 188 /* open stmts in session */
  1110. #define OCI_ATTR_DESCRIBE_NATIVE 189 /* get native info via desc */
  1111. #define OCI_ATTR_BIND_COUNT 190 /* number of bind postions */
  1112. #define OCI_ATTR_HANDLE_POSITION 191 /* pos of bind/define handle */
  1113. #define OCI_ATTR_RESERVED_5 192 /* reserverd */
  1114. #define OCI_ATTR_SERVER_BUSY 193 /* call in progress on server*/
  1115. /* For value 194, see DirPathAPI attribute section in this file */
  1116. /* notification presentation for recipient */
  1117. #define OCI_ATTR_SUBSCR_RECPTPRES 195
  1118. #define OCI_ATTR_TRANSFORMATION 196 /* AQ message transformation */
  1119. #define OCI_ATTR_ROWS_FETCHED 197 /* rows fetched in last call */
  1120. /* --------------------------- Snapshot attributes ------------------------- */
  1121. #define OCI_ATTR_SCN_BASE 198 /* snapshot base */
  1122. #define OCI_ATTR_SCN_WRAP 199 /* snapshot wrap */
  1123. /* --------------------------- Miscellanous attributes --------------------- */
  1124. #define OCI_ATTR_RESERVED_6 200 /* reserved */
  1125. #define OCI_ATTR_READONLY_TXN 201 /* txn is readonly */
  1126. #define OCI_ATTR_RESERVED_7 202 /* reserved */
  1127. #define OCI_ATTR_ERRONEOUS_COLUMN 203 /* position of erroneous col */
  1128. #define OCI_ATTR_RESERVED_8 204 /* reserved */
  1129. #define OCI_ATTR_ASM_VOL_SPRT 205 /* ASM volume supported? */
  1130. /* For value 206, see DirPathAPI attribute section in this file */
  1131. #define OCI_ATTR_INST_TYPE 207 /* oracle instance type */
  1132. /******USED attribute 208 for OCI_ATTR_SPOOL_STMTCACHESIZE*******************/
  1133. #define OCI_ATTR_ENV_UTF16 209 /* is env in utf16 mode? */
  1134. #define OCI_ATTR_RESERVED_9 210 /* reserved */
  1135. #define OCI_ATTR_RESERVED_10 211 /* reserved */
  1136. /* For values 212 and 213, see DirPathAPI attribute section in this file */
  1137. #define OCI_ATTR_RESERVED_12 214 /* reserved */
  1138. #define OCI_ATTR_RESERVED_13 215 /* reserved */
  1139. #define OCI_ATTR_IS_EXTERNAL 216 /* whether table is external */
  1140. /* -------------------------- Statement Handle Attributes ------------------ */
  1141. #define OCI_ATTR_RESERVED_15 217 /* reserved */
  1142. #define OCI_ATTR_STMT_IS_RETURNING 218 /* stmt has returning clause */
  1143. #define OCI_ATTR_RESERVED_16 219 /* reserved */
  1144. #define OCI_ATTR_RESERVED_17 220 /* reserved */
  1145. #define OCI_ATTR_RESERVED_18 221 /* reserved */
  1146. /* --------------------------- session attributes ---------------------------*/
  1147. #define OCI_ATTR_RESERVED_19 222 /* reserved */
  1148. #define OCI_ATTR_RESERVED_20 223 /* reserved */
  1149. #define OCI_ATTR_CURRENT_SCHEMA 224 /* Current Schema */
  1150. #define OCI_ATTR_RESERVED_21 415 /* reserved */
  1151. /* ------------------------- notification subscription ----------------------*/
  1152. #define OCI_ATTR_SUBSCR_QOSFLAGS 225 /* QOS flags */
  1153. #define OCI_ATTR_SUBSCR_PAYLOADCBK 226 /* Payload callback */
  1154. #define OCI_ATTR_SUBSCR_TIMEOUT 227 /* Timeout */
  1155. #define OCI_ATTR_SUBSCR_NAMESPACE_CTX 228 /* Namespace context */
  1156. #define OCI_ATTR_SUBSCR_CQ_QOSFLAGS 229
  1157. /* change notification (CQ) specific QOS flags */
  1158. #define OCI_ATTR_SUBSCR_CQ_REGID 230
  1159. /* change notification registration id */
  1160. #define OCI_ATTR_SUBSCR_NTFN_GROUPING_CLASS 231/* ntfn grouping class */
  1161. #define OCI_ATTR_SUBSCR_NTFN_GROUPING_VALUE 232/* ntfn grouping value */
  1162. #define OCI_ATTR_SUBSCR_NTFN_GROUPING_TYPE 233 /* ntfn grouping type */
  1163. #define OCI_ATTR_SUBSCR_NTFN_GROUPING_START_TIME 234/* ntfn grp start time */
  1164. #define OCI_ATTR_SUBSCR_NTFN_GROUPING_REPEAT_COUNT 235 /* ntfn grp rep count */
  1165. #define OCI_ATTR_AQ_NTFN_GROUPING_MSGID_ARRAY 236 /* aq grp msgid array */
  1166. #define OCI_ATTR_AQ_NTFN_GROUPING_COUNT 237 /* ntfns recd in grp */
  1167. /* ----------------------- row callback attributes ------------------------- */
  1168. #define OCI_ATTR_BIND_ROWCBK 301 /* bind row callback */
  1169. #define OCI_ATTR_BIND_ROWCTX 302 /* ctx for bind row callback */
  1170. #define OCI_ATTR_SKIP_BUFFER 303 /* skip buffer in array ops */
  1171. /* ----------------------- XStream API attributes -------------------------- */
  1172. #define OCI_ATTR_XSTREAM_ACK_INTERVAL 350 /* XStream ack interval */
  1173. #define OCI_ATTR_XSTREAM_IDLE_TIMEOUT 351 /* XStream idle timeout */
  1174. /*----- Db Change Notification (CQ) statement handle attributes------------ */
  1175. #define OCI_ATTR_CQ_QUERYID 304
  1176. /* ------------- DB Change Notification reg handle attributes ---------------*/
  1177. #define OCI_ATTR_CHNF_TABLENAMES 401 /* out: array of table names */
  1178. #define OCI_ATTR_CHNF_ROWIDS 402 /* in: rowids needed */
  1179. #define OCI_ATTR_CHNF_OPERATIONS 403
  1180. /* in: notification operation filter*/
  1181. #define OCI_ATTR_CHNF_CHANGELAG 404
  1182. /* txn lag between notifications */
  1183. /* DB Change: Notification Descriptor attributes -----------------------*/
  1184. #define OCI_ATTR_CHDES_DBNAME 405 /* source database */
  1185. #define OCI_ATTR_CHDES_NFYTYPE 406 /* notification type flags */
  1186. #define OCI_ATTR_CHDES_XID 407 /* XID of the transaction */
  1187. #define OCI_ATTR_CHDES_TABLE_CHANGES 408/* array of table chg descriptors*/
  1188. #define OCI_ATTR_CHDES_TABLE_NAME 409 /* table name */
  1189. #define OCI_ATTR_CHDES_TABLE_OPFLAGS 410 /* table operation flags */
  1190. #define OCI_ATTR_CHDES_TABLE_ROW_CHANGES 411 /* array of changed rows */
  1191. #define OCI_ATTR_CHDES_ROW_ROWID 412 /* rowid of changed row */
  1192. #define OCI_ATTR_CHDES_ROW_OPFLAGS 413 /* row operation flags */
  1193. /* Statement handle attribute for db change notification */
  1194. #define OCI_ATTR_CHNF_REGHANDLE 414 /* IN: subscription handle */
  1195. #define OCI_ATTR_NETWORK_FILE_DESC 415 /* network file descriptor */
  1196. /* client name for single session proxy */
  1197. #define OCI_ATTR_PROXY_CLIENT 416
  1198. /* 415 is already taken - see OCI_ATTR_RESERVED_21 */
  1199. /* TDE attributes on the Table */
  1200. #define OCI_ATTR_TABLE_ENC 417/* does table have any encrypt columns */
  1201. #define OCI_ATTR_TABLE_ENC_ALG 418 /* Table encryption Algorithm */
  1202. #define OCI_ATTR_TABLE_ENC_ALG_ID 419 /* Internal Id of encryption Algorithm*/
  1203. /* -------- Attributes related to Statement cache callback ----------------- */
  1204. #define OCI_ATTR_STMTCACHE_CBKCTX 420 /* opaque context on stmt */
  1205. #define OCI_ATTR_STMTCACHE_CBK 421 /* callback fn for stmtcache */
  1206. /*---------------- Query change descriptor attributes -----------------------*/
  1207. #define OCI_ATTR_CQDES_OPERATION 422
  1208. #define OCI_ATTR_CQDES_TABLE_CHANGES 423
  1209. #define OCI_ATTR_CQDES_QUERYID 424
  1210. #define OCI_ATTR_CHDES_QUERIES 425 /* Top level change desc array of queries */
  1211. /* Please use from 143 */
  1212. /* -------- Internal statement attributes ------- */
  1213. #define OCI_ATTR_RESERVED_26 422
  1214. /* 424 is used by OCI_ATTR_DRIVER_NAME */
  1215. /* --------- Attributes added to support server side session pool ---------- */
  1216. #define OCI_ATTR_CONNECTION_CLASS 425
  1217. #define OCI_ATTR_PURITY 426
  1218. #define OCI_ATTR_PURITY_DEFAULT 0x00
  1219. #define OCI_ATTR_PURITY_NEW 0x01
  1220. #define OCI_ATTR_PURITY_SELF 0x02
  1221. /* -------- Attributes for Times Ten --------------------------*/
  1222. #define OCI_ATTR_RESERVED_28 426 /* reserved */
  1223. #define OCI_ATTR_RESERVED_29 427 /* reserved */
  1224. #define OCI_ATTR_RESERVED_30 428 /* reserved */
  1225. #define OCI_ATTR_RESERVED_31 429 /* reserved */
  1226. #define OCI_ATTR_RESERVED_32 430 /* reserved */
  1227. #define OCI_ATTR_RESERVED_41 454 /* reserved */
  1228. /* ----------- Reserve internal attributes for workload replay ------------ */
  1229. #define OCI_ATTR_RESERVED_33 433
  1230. #define OCI_ATTR_RESERVED_34 434
  1231. /* statement attribute */
  1232. #define OCI_ATTR_RESERVED_36 444
  1233. /* -------- Attributes for Network Session Time Out--------------------------*/
  1234. #define OCI_ATTR_SEND_TIMEOUT 435 /* NS send timeout */
  1235. #define OCI_ATTR_RECEIVE_TIMEOUT 436 /* NS receive timeout */
  1236. /*--------- Attributes related to LOB prefetch------------------------------ */
  1237. #define OCI_ATTR_DEFAULT_LOBPREFETCH_SIZE 438 /* default prefetch size */
  1238. #define OCI_ATTR_LOBPREFETCH_SIZE 439 /* prefetch size */
  1239. #define OCI_ATTR_LOBPREFETCH_LENGTH 440 /* prefetch length & chunk */
  1240. /*--------- Attributes related to LOB Deduplicate Regions ------------------ */
  1241. #define OCI_ATTR_LOB_REGION_PRIMARY 442 /* Primary LOB Locator */
  1242. #define OCI_ATTR_LOB_REGION_PRIMOFF 443 /* Offset into Primary LOB */
  1243. #define OCI_ATTR_LOB_REGION_OFFSET 445 /* Region Offset */
  1244. #define OCI_ATTR_LOB_REGION_LENGTH 446 /* Region Length Bytes/Chars */
  1245. #define OCI_ATTR_LOB_REGION_MIME 447 /* Region mime type */
  1246. /*--------------------Attribute to fetch ROWID ------------------------------*/
  1247. #define OCI_ATTR_FETCH_ROWID 448
  1248. /* server attribute */
  1249. #define OCI_ATTR_RESERVED_37 449
  1250. /*------------------- Client Internal Attributes -----------------------*/
  1251. #define OCI_ATTR_RESERVED_38 450
  1252. #define OCI_ATTR_RESERVED_39 451
  1253. /* --------------- ip address attribute in environment handle -------------- */
  1254. #define OCI_ATTR_SUBSCR_IPADDR 452 /* ip address to listen on */
  1255. /* server attribute */
  1256. #define OCI_ATTR_RESERVED_40 453
  1257. /* ------------- round trip callback attributes in the process handle ----- */
  1258. #define OCI_ATTR_RESERVED_458 458 /* reserved */
  1259. #define OCI_ATTR_RESERVED_459 459 /* reserved */
  1260. /* DB Change: Event types ---------------*/
  1261. #define OCI_EVENT_NONE 0x0 /* None */
  1262. #define OCI_EVENT_STARTUP 0x1 /* Startup database */
  1263. #define OCI_EVENT_SHUTDOWN 0x2 /* Shutdown database */
  1264. #define OCI_EVENT_SHUTDOWN_ANY 0x3 /* Startup instance */
  1265. #define OCI_EVENT_DROP_DB 0x4 /* Drop database */
  1266. #define OCI_EVENT_DEREG 0x5 /* Subscription deregistered */
  1267. #define OCI_EVENT_OBJCHANGE 0x6 /* Object change notification */
  1268. #define OCI_EVENT_QUERYCHANGE 0x7 /* query result change */
  1269. /* DB Change: Operation types -----------*/
  1270. #define OCI_OPCODE_ALLROWS 0x1 /* all rows invalidated */
  1271. #define OCI_OPCODE_ALLOPS 0x0 /* interested in all operations */
  1272. #define OCI_OPCODE_INSERT 0x2 /* INSERT */
  1273. #define OCI_OPCODE_UPDATE 0x4 /* UPDATE */
  1274. #define OCI_OPCODE_DELETE 0x8 /* DELETE */
  1275. #define OCI_OPCODE_ALTER 0x10 /* ALTER */
  1276. #define OCI_OPCODE_DROP 0x20 /* DROP TABLE */
  1277. #define OCI_OPCODE_UNKNOWN 0x40 /* GENERIC/ UNKNOWN*/
  1278. /* -------- client side character and national character set ids ----------- */
  1279. #define OCI_ATTR_ENV_CHARSET_ID OCI_ATTR_CHARSET_ID /* charset id in env */
  1280. #define OCI_ATTR_ENV_NCHARSET_ID OCI_ATTR_NCHARSET_ID /* ncharset id in env */
  1281. /* ----------------------- ha event callback attributes -------------------- */
  1282. #define OCI_ATTR_EVTCBK 304 /* ha callback */
  1283. #define OCI_ATTR_EVTCTX 305 /* ctx for ha callback */
  1284. /* ------------------ User memory attributes (all handles) ----------------- */
  1285. #define OCI_ATTR_USER_MEMORY 306 /* pointer to user memory */
  1286. /* ------- unauthorised access and user action auditing banners ------------ */
  1287. #define OCI_ATTR_ACCESS_BANNER 307 /* access banner */
  1288. #define OCI_ATTR_AUDIT_BANNER 308 /* audit banner */
  1289. /* ----------------- port no attribute in environment handle ------------- */
  1290. #define OCI_ATTR_SUBSCR_PORTNO 390 /* port no to listen */
  1291. #define OCI_ATTR_RESERVED_35 437
  1292. /*------------- Supported Values for protocol for recepient -----------------*/
  1293. #define OCI_SUBSCR_PROTO_OCI 0 /* oci */
  1294. #define OCI_SUBSCR_PROTO_MAIL 1 /* mail */
  1295. #define OCI_SUBSCR_PROTO_SERVER 2 /* server */
  1296. #define OCI_SUBSCR_PROTO_HTTP 3 /* http */
  1297. #define OCI_SUBSCR_PROTO_MAX 4 /* max current protocols */
  1298. /*------------- Supported Values for presentation for recepient -------------*/
  1299. #define OCI_SUBSCR_PRES_DEFAULT 0 /* default */
  1300. #define OCI_SUBSCR_PRES_XML 1 /* xml */
  1301. #define OCI_SUBSCR_PRES_MAX 2 /* max current presentations */
  1302. /*------------- Supported QOS values for notification registrations ---------*/
  1303. #define OCI_SUBSCR_QOS_RELIABLE 0x01 /* reliable */
  1304. #define OCI_SUBSCR_QOS_PAYLOAD 0x02 /* payload delivery */
  1305. #define OCI_SUBSCR_QOS_REPLICATE 0x04 /* replicate to director */
  1306. #define OCI_SUBSCR_QOS_SECURE 0x08 /* secure payload delivery */
  1307. #define OCI_SUBSCR_QOS_PURGE_ON_NTFN 0x10 /* purge on first ntfn */
  1308. #define OCI_SUBSCR_QOS_MULTICBK 0x20 /* multi instance callback */
  1309. /* 0x40 is used for a internal flag */
  1310. #define OCI_SUBSCR_QOS_HAREG 0x80 /* HA reg */
  1311. /* ----QOS flags specific to change notification/ continuous queries CQ -----*/
  1312. #define OCI_SUBSCR_CQ_QOS_QUERY 0x01 /* query level notification */
  1313. #define OCI_SUBSCR_CQ_QOS_BEST_EFFORT 0x02 /* best effort notification */
  1314. #define OCI_SUBSCR_CQ_QOS_CLQRYCACHE 0x04 /* client query caching */
  1315. /*------------- Supported Values for notification grouping class ------------*/
  1316. #define OCI_SUBSCR_NTFN_GROUPING_CLASS_TIME 1 /* time */
  1317. /*------------- Supported Values for notification grouping type -------------*/
  1318. #define OCI_SUBSCR_NTFN_GROUPING_TYPE_SUMMARY 1 /* summary */
  1319. #define OCI_SUBSCR_NTFN_GROUPING_TYPE_LAST 2 /* last */
  1320. /* ----- Temporary attribute value for UCS2/UTF16 character set ID -------- */
  1321. #define OCI_UCS2ID 1000 /* UCS2 charset ID */
  1322. #define OCI_UTF16ID 1000 /* UTF16 charset ID */
  1323. /*============================== End OCI Attribute Types ====================*/
  1324. /*---------------- Server Handle Attribute Values ---------------------------*/
  1325. /* OCI_ATTR_SERVER_STATUS */
  1326. #define OCI_SERVER_NOT_CONNECTED 0x0
  1327. #define OCI_SERVER_NORMAL 0x1
  1328. /*---------------------------------------------------------------------------*/
  1329. /*------------------------- Supported Namespaces ---------------------------*/
  1330. #define OCI_SUBSCR_NAMESPACE_ANONYMOUS 0 /* Anonymous Namespace */
  1331. #define OCI_SUBSCR_NAMESPACE_AQ 1 /* Advanced Queues */
  1332. #define OCI_SUBSCR_NAMESPACE_DBCHANGE 2 /* change notification */
  1333. #define OCI_SUBSCR_NAMESPACE_MAX 3 /* Max Name Space Number */
  1334. /*-------------------------Credential Types----------------------------------*/
  1335. #define OCI_CRED_RDBMS 1 /* database username/password */
  1336. #define OCI_CRED_EXT 2 /* externally provided credentials */
  1337. #define OCI_CRED_PROXY 3 /* proxy authentication */
  1338. #define OCI_CRED_RESERVED_1 4 /* reserved */
  1339. #define OCI_CRED_RESERVED_2 5 /* reserved */
  1340. /*---------------------------------------------------------------------------*/
  1341. /*------------------------Error Return Values--------------------------------*/
  1342. #define OCI_SUCCESS 0 /* maps to SQL_SUCCESS of SAG CLI */
  1343. #define OCI_SUCCESS_WITH_INFO 1 /* maps to SQL_SUCCESS_WITH_INFO */
  1344. #define OCI_RESERVED_FOR_INT_USE 200 /* reserved */
  1345. #define OCI_NO_DATA 100 /* maps to SQL_NO_DATA */
  1346. #define OCI_ERROR -1 /* maps to SQL_ERROR */
  1347. #define OCI_INVALID_HANDLE -2 /* maps to SQL_INVALID_HANDLE */
  1348. #define OCI_NEED_DATA 99 /* maps to SQL_NEED_DATA */
  1349. #define OCI_STILL_EXECUTING -3123 /* OCI would block error */
  1350. /*---------------------------------------------------------------------------*/
  1351. /*--------------------- User Callback Return Values -------------------------*/
  1352. #define OCI_CONTINUE -24200 /* Continue with the body of the OCI function */
  1353. #define OCI_ROWCBK_DONE -24201 /* done with user row callback */
  1354. /*---------------------------------------------------------------------------*/
  1355. /*------------------DateTime and Interval check Error codes------------------*/
  1356. /* DateTime Error Codes used by OCIDateTimeCheck() */
  1357. #define OCI_DT_INVALID_DAY 0x1 /* Bad day */
  1358. #define OCI_DT_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low)*/
  1359. #define OCI_DT_INVALID_MONTH 0x4 /* Bad MOnth */
  1360. #define OCI_DT_MONTH_BELOW_VALID 0x8 /* Bad MOnth Low/high bit (1=low) */
  1361. #define OCI_DT_INVALID_YEAR 0x10 /* Bad YeaR */
  1362. #define OCI_DT_YEAR_BELOW_VALID 0x20 /* Bad YeaR Low/high bit (1=low) */
  1363. #define OCI_DT_INVALID_HOUR 0x40 /* Bad HouR */
  1364. #define OCI_DT_HOUR_BELOW_VALID 0x80 /* Bad HouR Low/high bit (1=low) */
  1365. #define OCI_DT_INVALID_MINUTE 0x100 /* Bad MiNute */
  1366. #define OCI_DT_MINUTE_BELOW_VALID 0x200 /*Bad MiNute Low/high bit (1=low) */
  1367. #define OCI_DT_INVALID_SECOND 0x400 /* Bad SeCond */
  1368. #define OCI_DT_SECOND_BELOW_VALID 0x800 /*bad second Low/high bit (1=low)*/
  1369. #define OCI_DT_DAY_MISSING_FROM_1582 0x1000
  1370. /* Day is one of those "missing" from 1582 */
  1371. #define OCI_DT_YEAR_ZERO 0x2000 /* Year may not equal zero */
  1372. #define OCI_DT_INVALID_TIMEZONE 0x4000 /* Bad Timezone */
  1373. #define OCI_DT_INVALID_FORMAT 0x8000 /* Bad date format input */
  1374. /* Interval Error Codes used by OCIInterCheck() */
  1375. #define OCI_INTER_INVALID_DAY 0x1 /* Bad day */
  1376. #define OCI_INTER_DAY_BELOW_VALID 0x2 /* Bad DAy Low/high bit (1=low) */
  1377. #define OCI_INTER_INVALID_MONTH 0x4 /* Bad MOnth */
  1378. #define OCI_INTER_MONTH_BELOW_VALID 0x8 /*Bad MOnth Low/high bit (1=low) */
  1379. #define OCI_INTER_INVALID_YEAR 0x10 /* Bad YeaR */
  1380. #define OCI_INTER_YEAR_BELOW_VALID 0x20 /*Bad YeaR Low/high bit (1=low) */
  1381. #define OCI_INTER_INVALID_HOUR 0x40 /* Bad HouR */
  1382. #define OCI_INTER_HOUR_BELOW_VALID 0x80 /*Bad HouR Low/high bit (1=low) */
  1383. #define OCI_INTER_INVALID_MINUTE 0x100 /* Bad MiNute */
  1384. #define OCI_INTER_MINUTE_BELOW_VALID 0x200
  1385. /*Bad MiNute Low/high bit(1=low) */
  1386. #define OCI_INTER_INVALID_SECOND 0x400 /* Bad SeCond */
  1387. #define OCI_INTER_SECOND_BELOW_VALID 0x800
  1388. /*bad second Low/high bit(1=low) */
  1389. #define OCI_INTER_INVALID_FRACSEC 0x1000 /* Bad Fractional second */
  1390. #define OCI_INTER_FRACSEC_BELOW_VALID 0x2000
  1391. /* Bad fractional second Low/High */
  1392. /*------------------------Parsing Syntax Types-------------------------------*/
  1393. #define OCI_V7_SYNTAX 2 /* V815 language - for backwards compatibility */
  1394. #define OCI_V8_SYNTAX 3 /* V815 language - for backwards compatibility */
  1395. #define OCI_NTV_SYNTAX 1 /* Use what so ever is the native lang of server */
  1396. /* these values must match the values defined in kpul.h */
  1397. /*---------------------------------------------------------------------------*/
  1398. /*------------------------(Scrollable Cursor) Fetch Options-------------------
  1399. * For non-scrollable cursor, the only valid (and default) orientation is
  1400. * OCI_FETCH_NEXT
  1401. */
  1402. #define OCI_FETCH_CURRENT 0x00000001 /* refetching current position */
  1403. #define OCI_FETCH_NEXT 0x00000002 /* next row */
  1404. #define OCI_FETCH_FIRST 0x00000004 /* first row of the result set */
  1405. #define OCI_FETCH_LAST 0x00000008 /* the last row of the result set */
  1406. #define OCI_FETCH_PRIOR 0x00000010 /* previous row relative to current */
  1407. #define OCI_FETCH_ABSOLUTE 0x00000020 /* absolute offset from first */
  1408. #define OCI_FETCH_RELATIVE 0x00000040 /* offset relative to current */
  1409. #define OCI_FETCH_RESERVED_1 0x00000080 /* reserved */
  1410. #define OCI_FETCH_RESERVED_2 0x00000100 /* reserved */
  1411. #define OCI_FETCH_RESERVED_3 0x00000200 /* reserved */
  1412. #define OCI_FETCH_RESERVED_4 0x00000400 /* reserved */
  1413. #define OCI_FETCH_RESERVED_5 0x00000800 /* reserved */
  1414. #define OCI_FETCH_RESERVED_6 0x00001000 /* reserved */
  1415. /*---------------------------------------------------------------------------*/
  1416. /*------------------------Bind and Define Options----------------------------*/
  1417. #define OCI_SB2_IND_PTR 0x00000001 /* unused */
  1418. #define OCI_DATA_AT_EXEC 0x00000002 /* data at execute time */
  1419. #define OCI_DYNAMIC_FETCH 0x00000002 /* fetch dynamically */
  1420. #define OCI_PIECEWISE 0x00000004 /* piecewise DMLs or fetch */
  1421. #define OCI_DEFINE_RESERVED_1 0x00000008 /* reserved */
  1422. #define OCI_BIND_RESERVED_2 0x00000010 /* reserved */
  1423. #define OCI_DEFINE_RESERVED_2 0x00000020 /* reserved */
  1424. #define OCI_BIND_SOFT 0x00000040 /* soft bind or define */
  1425. #define OCI_DEFINE_SOFT 0x00000080 /* soft bind or define */
  1426. #define OCI_BIND_RESERVED_3 0x00000100 /* reserved */
  1427. #define OCI_IOV 0x00000200 /* For scatter gather bind/define */
  1428. /*---------------------------------------------------------------------------*/
  1429. /*----------------------------- Various Modes ------------------------------*/
  1430. #define OCI_DEFAULT 0x00000000
  1431. /* the default value for parameters and attributes */
  1432. /*-------------OCIInitialize Modes / OCICreateEnvironment Modes -------------*/
  1433. #define OCI_THREADED 0x00000001 /* appl. in threaded environment */
  1434. #define OCI_OBJECT 0x00000002 /* application in object environment */
  1435. #define OCI_EVENTS 0x00000004 /* application is enabled for events */
  1436. #define OCI_RESERVED1 0x00000008 /* reserved */
  1437. #define OCI_SHARED 0x00000010 /* the application is in shared mode */
  1438. #define OCI_RESERVED2 0x00000020 /* reserved */
  1439. /* The following *TWO* are only valid for OCICreateEnvironment call */
  1440. #define OCI_NO_UCB 0x00000040 /* No user callback called during ini */
  1441. #define OCI_NO_MUTEX 0x00000080 /* the environment handle will not be */
  1442. /* protected by a mutex internally */
  1443. #define OCI_SHARED_EXT 0x00000100 /* Used for shared forms */
  1444. /************************** 0x00000200 free **********************************/
  1445. #define OCI_ALWAYS_BLOCKING 0x00000400 /* all connections always blocking */
  1446. /************************** 0x00000800 free **********************************/
  1447. #define OCI_USE_LDAP 0x00001000 /* allow LDAP connections */
  1448. #define OCI_REG_LDAPONLY 0x00002000 /* only register to LDAP */
  1449. #define OCI_UTF16 0x00004000 /* mode for all UTF16 metadata */
  1450. #define OCI_AFC_PAD_ON 0x00008000
  1451. /* turn on AFC blank padding when rlenp present */
  1452. #define OCI_ENVCR_RESERVED3 0x00010000 /* reserved */
  1453. #define OCI_NEW_LENGTH_SEMANTICS 0x00020000 /* adopt new length semantics */
  1454. /* the new length semantics, always bytes, is used by OCIEnvNlsCreate */
  1455. #define OCI_NO_MUTEX_STMT 0x00040000 /* Do not mutex stmt handle */
  1456. #define OCI_MUTEX_ENV_ONLY 0x00080000 /* Mutex only the environment handle */
  1457. #define OCI_SUPPRESS_NLS_VALIDATION 0x00100000 /* suppress nls validation */
  1458. /* nls validation suppression is on by default;
  1459. use OCI_ENABLE_NLS_VALIDATION to disable it */
  1460. #define OCI_MUTEX_TRY 0x00200000 /* try and acquire mutex */
  1461. #define OCI_NCHAR_LITERAL_REPLACE_ON 0x00400000 /* nchar literal replace on */
  1462. #define OCI_NCHAR_LITERAL_REPLACE_OFF 0x00800000 /* nchar literal replace off*/
  1463. #define OCI_ENABLE_NLS_VALIDATION 0x01000000 /* enable nls validation */
  1464. #define OCI_ENVCR_RESERVED4 0x02000000 /* reserved */
  1465. /*---------------------------------------------------------------------------*/
  1466. /*------------------------OCIConnectionpoolCreate Modes----------------------*/
  1467. #define OCI_CPOOL_REINITIALIZE 0x111
  1468. /*---------------------------------------------------------------------------*/
  1469. /*--------------------------------- OCILogon2 Modes -------------------------*/
  1470. #define OCI_LOGON2_SPOOL 0x0001 /* Use session pool */
  1471. #define OCI_LOGON2_CPOOL OCI_CPOOL /* Use connection pool */
  1472. #define OCI_LOGON2_STMTCACHE 0x0004 /* Use Stmt Caching */
  1473. #define OCI_LOGON2_PROXY 0x0008 /* Proxy authentiaction */
  1474. /*---------------------------------------------------------------------------*/
  1475. /*------------------------- OCISessionPoolCreate Modes ----------------------*/
  1476. #define OCI_SPC_REINITIALIZE 0x0001 /* Reinitialize the session pool */
  1477. #define OCI_SPC_HOMOGENEOUS 0x0002 /* Session pool is homogeneneous */
  1478. #define OCI_SPC_STMTCACHE 0x0004 /* Session pool has stmt cache */
  1479. #define OCI_SPC_NO_RLB 0x0008 /* Do not enable Runtime load balancing. */
  1480. /*---------------------------------------------------------------------------*/
  1481. /*--------------------------- OCISessionGet Modes ---------------------------*/
  1482. #define OCI_SESSGET_SPOOL 0x0001 /* SessionGet called in SPOOL mode */
  1483. #define OCI_SESSGET_CPOOL OCI_CPOOL /* SessionGet called in CPOOL mode */
  1484. #define OCI_SESSGET_STMTCACHE 0x0004 /* Use statement cache */
  1485. #define OCI_SESSGET_CREDPROXY 0x0008 /* SessionGet called in proxy mode */
  1486. #define OCI_SESSGET_CREDEXT 0x0010
  1487. #define OCI_SESSGET_SPOOL_MATCHANY 0x0020
  1488. #define OCI_SESSGET_PURITY_NEW 0x0040
  1489. #define OCI_SESSGET_PURITY_SELF 0x0080
  1490. #define OCI_SESSGET_SYSDBA 0x0100 /* SessionGet with SYSDBA privileges */
  1491. /*---------------------------------------------------------------------------*/
  1492. /*------------------------ATTR Values for Session Pool-----------------------*/
  1493. /* Attribute values for OCI_ATTR_SPOOL_GETMODE */
  1494. #define OCI_SPOOL_ATTRVAL_WAIT 0 /* block till you get a session */
  1495. #define OCI_SPOOL_ATTRVAL_NOWAIT 1 /* error out if no session avaliable */
  1496. #define OCI_SPOOL_ATTRVAL_FORCEGET 2 /* get session even if max is exceeded */
  1497. /*---------------------------------------------------------------------------*/
  1498. /*--------------------------- OCISessionRelease Modes -----------------------*/
  1499. #define OCI_SESSRLS_DROPSESS 0x0001 /* Drop the Session */
  1500. #define OCI_SESSRLS_RETAG 0x0002 /* Retag the session */
  1501. /*---------------------------------------------------------------------------*/
  1502. /*----------------------- OCISessionPoolDestroy Modes -----------------------*/
  1503. #define OCI_SPD_FORCE 0x0001 /* Force the sessions to terminate.
  1504. Even if there are some busy
  1505. sessions close them */
  1506. /*---------------------------------------------------------------------------*/
  1507. /*----------------------------- Statement States ----------------------------*/
  1508. #define OCI_STMT_STATE_INITIALIZED 0x0001
  1509. #define OCI_STMT_STATE_EXECUTED 0x0002
  1510. #define OCI_STMT_STATE_END_OF_FETCH 0x0003
  1511. /*---------------------------------------------------------------------------*/
  1512. /*----------------------------- OCIMemStats Modes ---------------------------*/
  1513. #define OCI_MEM_INIT 0x01
  1514. #define OCI_MEM_CLN 0x02
  1515. #define OCI_MEM_FLUSH 0x04
  1516. #define OCI_DUMP_HEAP 0x80
  1517. #define OCI_CLIENT_STATS 0x10
  1518. #define OCI_SERVER_STATS 0x20
  1519. /*----------------------------- OCIEnvInit Modes ----------------------------*/
  1520. /* NOTE: NO NEW MODES SHOULD BE ADDED HERE BECAUSE THE RECOMMENDED METHOD
  1521. * IS TO USE THE NEW OCICreateEnvironment MODES.
  1522. */
  1523. #define OCI_ENV_NO_UCB 0x01 /* A user callback will not be called in
  1524. OCIEnvInit() */
  1525. #define OCI_ENV_NO_MUTEX 0x08 /* the environment handle will not be protected
  1526. by a mutex internally */
  1527. /*---------------------------------------------------------------------------*/
  1528. /*------------------------ Prepare Modes ------------------------------------*/
  1529. #define OCI_NO_SHARING 0x01 /* turn off statement handle sharing */
  1530. #define OCI_PREP_RESERVED_1 0x02 /* reserved */
  1531. #define OCI_PREP_AFC_PAD_ON 0x04 /* turn on blank padding for AFC */
  1532. #define OCI_PREP_AFC_PAD_OFF 0x08 /* turn off blank padding for AFC */
  1533. /*---------------------------------------------------------------------------*/
  1534. /*---------------------------------------------------------------------------*/
  1535. /*----------------------- Execution Modes -----------------------------------*/
  1536. #define OCI_BATCH_MODE 0x00000001 /* batch the oci stmt for exec */
  1537. #define OCI_EXACT_FETCH 0x00000002 /* fetch exact rows specified */
  1538. /* #define 0x00000004 available */
  1539. #define OCI_STMT_SCROLLABLE_READONLY \
  1540. 0x00000008 /* if result set is scrollable */
  1541. #define OCI_DESCRIBE_ONLY 0x00000010 /* only describe the statement */
  1542. #define OCI_COMMIT_ON_SUCCESS 0x00000020 /* commit, if successful exec */
  1543. #define OCI_NON_BLOCKING 0x00000040 /* non-blocking */
  1544. #define OCI_BATCH_ERRORS 0x00000080 /* batch errors in array dmls */
  1545. #define OCI_PARSE_ONLY 0x00000100 /* only parse the statement */
  1546. #define OCI_EXACT_FETCH_RESERVED_1 0x00000200 /* reserved */
  1547. #define OCI_SHOW_DML_WARNINGS 0x00000400
  1548. /* return OCI_SUCCESS_WITH_INFO for delete/update w/no where clause */
  1549. #define OCI_EXEC_RESERVED_2 0x00000800 /* reserved */
  1550. #define OCI_DESC_RESERVED_1 0x00001000 /* reserved */
  1551. #define OCI_EXEC_RESERVED_3 0x00002000 /* reserved */
  1552. #define OCI_EXEC_RESERVED_4 0x00004000 /* reserved */
  1553. #define OCI_EXEC_RESERVED_5 0x00008000 /* reserved */
  1554. #define OCI_EXEC_RESERVED_6 0x00010000 /* reserved */
  1555. #define OCI_RESULT_CACHE 0x00020000 /* hint to use query caching */
  1556. #define OCI_NO_RESULT_CACHE 0x00040000 /*hint to bypass query caching*/
  1557. #define OCI_EXEC_RESERVED_7 0x00080000 /* reserved */
  1558. /*---------------------------------------------------------------------------*/
  1559. /*------------------------Authentication Modes-------------------------------*/
  1560. #define OCI_MIGRATE 0x00000001 /* migratable auth context */
  1561. #define OCI_SYSDBA 0x00000002 /* for SYSDBA authorization */
  1562. #define OCI_SYSOPER 0x00000004 /* for SYSOPER authorization */
  1563. #define OCI_PRELIM_AUTH 0x00000008 /* for preliminary authorization */
  1564. #define OCIP_ICACHE 0x00000010 /* Private OCI cache mode */
  1565. #define OCI_AUTH_RESERVED_1 0x00000020 /* reserved */
  1566. #define OCI_STMT_CACHE 0x00000040 /* enable OCI Stmt Caching */
  1567. #define OCI_STATELESS_CALL 0x00000080 /* stateless at call boundary */
  1568. #define OCI_STATELESS_TXN 0x00000100 /* stateless at txn boundary */
  1569. #define OCI_STATELESS_APP 0x00000200 /* stateless at user-specified pts */
  1570. #define OCI_AUTH_RESERVED_2 0x00000400 /* reserved */
  1571. #define OCI_AUTH_RESERVED_3 0x00000800 /* reserved */
  1572. #define OCI_AUTH_RESERVED_4 0x00001000 /* reserved */
  1573. #define OCI_AUTH_RESERVED_5 0x00002000 /* reserved */
  1574. #define OCI_SYSASM 0x00008000 /* for SYSASM authorization */
  1575. #define OCI_AUTH_RESERVED_6 0x00010000 /* reserved */
  1576. /*---------------------------------------------------------------------------*/
  1577. /*------------------------Session End Modes----------------------------------*/
  1578. #define OCI_SESSEND_RESERVED_1 0x0001 /* reserved */
  1579. #define OCI_SESSEND_RESERVED_2 0x0002 /* reserved */
  1580. /*---------------------------------------------------------------------------*/
  1581. /*------------------------Attach Modes---------------------------------------*/
  1582. /* The following attach modes are the same as the UPI modes defined in
  1583. * UPIDEF.H. Do not use these values externally.
  1584. */
  1585. #define OCI_FASTPATH 0x0010 /* Attach in fast path mode */
  1586. #define OCI_ATCH_RESERVED_1 0x0020 /* reserved */
  1587. #define OCI_ATCH_RESERVED_2 0x0080 /* reserved */
  1588. #define OCI_ATCH_RESERVED_3 0x0100 /* reserved */
  1589. #define OCI_CPOOL 0x0200 /* Attach using server handle from pool */
  1590. #define OCI_ATCH_RESERVED_4 0x0400 /* reserved */
  1591. #define OCI_ATCH_RESERVED_5 0x2000 /* reserved */
  1592. #define OCI_ATCH_ENABLE_BEQ 0x4000 /* Allow bequeath connect strings */
  1593. #define OCI_ATCH_RESERVED_6 0x8000 /* reserved */
  1594. #define OCI_ATCH_RESERVED_7 0x10000 /* reserved */
  1595. #define OCI_ATCH_RESERVED_8 0x20000 /* reserved */
  1596. #define OCI_SRVATCH_RESERVED5 0x01000000 /* reserved */
  1597. #define OCI_SRVATCH_RESERVED6 0x02000000 /* reserved */
  1598. /*---------------------OCIStmtPrepare2 Modes---------------------------------*/
  1599. #define OCI_PREP2_CACHE_SEARCHONLY 0x0010 /* ONly Search */
  1600. #define OCI_PREP2_GET_PLSQL_WARNINGS 0x0020 /* Get PL/SQL warnings */
  1601. #define OCI_PREP2_RESERVED_1 0x0040 /* reserved */
  1602. /*---------------------OCIStmtRelease Modes----------------------------------*/
  1603. #define OCI_STRLS_CACHE_DELETE 0x0010 /* Delete from Cache */
  1604. /*---------------------OCIHanlde Mgmt Misc Modes-----------------------------*/
  1605. #define OCI_STM_RESERVED4 0x00100000 /* reserved */
  1606. /*-----------------------------End Various Modes ----------------------------*/
  1607. /*------------------------Piece Information----------------------------------*/
  1608. #define OCI_PARAM_IN 0x01 /* in parameter */
  1609. #define OCI_PARAM_OUT 0x02 /* out parameter */
  1610. /*---------------------------------------------------------------------------*/
  1611. /*------------------------ Transaction Start Flags --------------------------*/
  1612. /* NOTE: OCI_TRANS_JOIN and OCI_TRANS_NOMIGRATE not supported in 8.0.X */
  1613. #define OCI_TRANS_NEW 0x00000001 /* start a new local or global txn */
  1614. #define OCI_TRANS_JOIN 0x00000002 /* join an existing global txn */
  1615. #define OCI_TRANS_RESUME 0x00000004 /* resume the global txn branch */
  1616. #define OCI_TRANS_PROMOTE 0x00000008 /* promote the local txn to global */
  1617. #define OCI_TRANS_STARTMASK 0x000000ff /* mask for start operation flags */
  1618. #define OCI_TRANS_READONLY 0x00000100 /* start a readonly txn */
  1619. #define OCI_TRANS_READWRITE 0x00000200 /* start a read-write txn */
  1620. #define OCI_TRANS_SERIALIZABLE 0x00000400 /* start a serializable txn */
  1621. #define OCI_TRANS_ISOLMASK 0x0000ff00 /* mask for start isolation flags */
  1622. #define OCI_TRANS_LOOSE 0x00010000 /* a loosely coupled branch */
  1623. #define OCI_TRANS_TIGHT 0x00020000 /* a tightly coupled branch */
  1624. #define OCI_TRANS_TYPEMASK 0x000f0000 /* mask for branch type flags */
  1625. #define OCI_TRANS_NOMIGRATE 0x00100000 /* non migratable transaction */
  1626. #define OCI_TRANS_SEPARABLE 0x00200000 /* separable transaction (8.1.6+) */
  1627. #define OCI_TRANS_OTSRESUME 0x00400000 /* OTS resuming a transaction */
  1628. #define OCI_TRANS_OTHRMASK 0xfff00000 /* mask for other start flags */
  1629. /*---------------------------------------------------------------------------*/
  1630. /*------------------------ Transaction End Flags ----------------------------*/
  1631. #define OCI_TRANS_TWOPHASE 0x01000000 /* use two phase commit */
  1632. #define OCI_TRANS_WRITEBATCH 0x00000001 /* force cmt-redo for local txns */
  1633. #define OCI_TRANS_WRITEIMMED 0x00000002 /* no force cmt-redo */
  1634. #define OCI_TRANS_WRITEWAIT 0x00000004 /* no sync cmt-redo */
  1635. #define OCI_TRANS_WRITENOWAIT 0x00000008 /* sync cmt-redo for local txns */
  1636. /*---------------------------------------------------------------------------*/
  1637. /*------------------------- AQ Constants ------------------------------------
  1638. * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
  1639. * The following constants must match the PL/SQL dbms_aq constants
  1640. * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
  1641. */
  1642. /* ------------------------- Visibility flags -------------------------------*/
  1643. #define OCI_ENQ_IMMEDIATE 1 /* enqueue is an independent transaction */
  1644. #define OCI_ENQ_ON_COMMIT 2 /* enqueue is part of current transaction */
  1645. /* ----------------------- Dequeue mode flags -------------------------------*/
  1646. #define OCI_DEQ_BROWSE 1 /* read message without acquiring a lock */
  1647. #define OCI_DEQ_LOCKED 2 /* read and obtain write lock on message */
  1648. #define OCI_DEQ_REMOVE 3 /* read the message and delete it */
  1649. #define OCI_DEQ_REMOVE_NODATA 4 /* delete message w'o returning payload */
  1650. #define OCI_DEQ_GETSIG 5 /* get signature only */
  1651. /* ----------------- Dequeue navigation flags -------------------------------*/
  1652. #define OCI_DEQ_FIRST_MSG 1 /* get first message at head of queue */
  1653. #define OCI_DEQ_NEXT_MSG 3 /* next message that is available */
  1654. #define OCI_DEQ_NEXT_TRANSACTION 2 /* get first message of next txn group */
  1655. #define OCI_DEQ_FIRST_MSG_MULTI_GROUP 4
  1656. /* start from first message and array deq across txn groups */
  1657. #define OCI_DEQ_MULT_TRANSACTION 5 /* array dequeue across txn groups */
  1658. #define OCI_DEQ_NEXT_MSG_MULTI_GROUP OCI_DEQ_MULT_TRANSACTION
  1659. /* array dequeue across txn groups */
  1660. /* ----------------- Dequeue Option Reserved flags ------------------------- */
  1661. #define OCI_DEQ_RESERVED_1 0x000001
  1662. /* --------------------- Message states -------------------------------------*/
  1663. #define OCI_MSG_WAITING 1 /* the message delay has not yet completed */
  1664. #define OCI_MSG_READY 0 /* the message is ready to be processed */
  1665. #define OCI_MSG_PROCESSED 2 /* the message has been processed */
  1666. #define OCI_MSG_EXPIRED 3 /* message has moved to exception queue */
  1667. /* --------------------- Sequence deviation ---------------------------------*/
  1668. #define OCI_ENQ_BEFORE 2 /* enqueue message before another message */
  1669. #define OCI_ENQ_TOP 3 /* enqueue message before all messages */
  1670. /* ------------------------- Visibility flags -------------------------------*/
  1671. #define OCI_DEQ_IMMEDIATE 1 /* dequeue is an independent transaction */
  1672. #define OCI_DEQ_ON_COMMIT 2 /* dequeue is part of current transaction */
  1673. /* ------------------------ Wait --------------------------------------------*/
  1674. #define OCI_DEQ_WAIT_FOREVER -1 /* wait forever if no message available */
  1675. #define OCI_NTFN_GROUPING_FOREVER -1 /* send grouping notifications forever */
  1676. #define OCI_DEQ_NO_WAIT 0 /* do not wait if no message is available */
  1677. #define OCI_FLOW_CONTROL_NO_TIMEOUT -1
  1678. /* streaming enqueue: no timeout for flow control */
  1679. /* ------------------------ Delay -------------------------------------------*/
  1680. #define OCI_MSG_NO_DELAY 0 /* message is available immediately */
  1681. /* ------------------------- Expiration -------------------------------------*/
  1682. #define OCI_MSG_NO_EXPIRATION -1 /* message will never expire */
  1683. #define OCI_MSG_PERSISTENT_OR_BUFFERED 3
  1684. #define OCI_MSG_BUFFERED 2
  1685. #define OCI_MSG_PERSISTENT 1
  1686. /* ----------------------- Reserved/AQE pisdef flags ------------------------*/
  1687. /* see aqeflg defines in kwqp.h */
  1688. #define OCI_AQ_RESERVED_1 0x0002
  1689. #define OCI_AQ_RESERVED_2 0x0004
  1690. #define OCI_AQ_RESERVED_3 0x0008
  1691. #define OCI_AQ_RESERVED_4 0x0010
  1692. #define OCI_AQ_STREAMING_FLAG 0x02000000
  1693. /* ------------------------------ Replay Info -------------------------------*/
  1694. #define OCI_AQ_LAST_ENQUEUED 0
  1695. #define OCI_AQ_LAST_ACKNOWLEDGED 1
  1696. /* -------------------------- END AQ Constants ----------------------------- */
  1697. /* --------------------END DateTime and Interval Constants ------------------*/
  1698. /*-----------------------Object Types----------------------------------------*/
  1699. /*-----------Object Types **** Not to be Used **** --------------------------*/
  1700. /* Deprecated */
  1701. #define OCI_OTYPE_UNK 0
  1702. #define OCI_OTYPE_TABLE 1
  1703. #define OCI_OTYPE_VIEW 2
  1704. #define OCI_OTYPE_SYN 3
  1705. #define OCI_OTYPE_PROC 4
  1706. #define OCI_OTYPE_FUNC 5
  1707. #define OCI_OTYPE_PKG 6
  1708. #define OCI_OTYPE_STMT 7
  1709. /*---------------------------------------------------------------------------*/
  1710. /*=======================Describe Handle Parameter Attributes ===============*/
  1711. /*
  1712. These attributes are orthogonal to the other set of attributes defined
  1713. above. These attrubutes are to be used only for the describe handle.
  1714. */
  1715. /*===========================================================================*/
  1716. /* Attributes common to Columns and Stored Procs */
  1717. #define OCI_ATTR_DATA_SIZE 1 /* maximum size of the data */
  1718. #define OCI_ATTR_DATA_TYPE 2 /* the SQL type of the column/argument */
  1719. #define OCI_ATTR_DISP_SIZE 3 /* the display size */
  1720. #define OCI_ATTR_NAME 4 /* the name of the column/argument */
  1721. #define OCI_ATTR_PRECISION 5 /* precision if number type */
  1722. #define OCI_ATTR_SCALE 6 /* scale if number type */
  1723. #define OCI_ATTR_IS_NULL 7 /* is it null ? */
  1724. #define OCI_ATTR_TYPE_NAME 8
  1725. /* name of the named data type or a package name for package private types */
  1726. #define OCI_ATTR_SCHEMA_NAME 9 /* the schema name */
  1727. #define OCI_ATTR_SUB_NAME 10 /* type name if package private type */
  1728. #define OCI_ATTR_POSITION 11
  1729. /* relative position of col/arg in the list of cols/args */
  1730. /* complex object retrieval parameter attributes */
  1731. #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE 50
  1732. #define OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL 51
  1733. #define OCI_ATTR_COMPLEXOBJECT_LEVEL 52
  1734. #define OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE 53
  1735. /* Only Columns */
  1736. #define OCI_ATTR_DISP_NAME 100 /* the display name */
  1737. #define OCI_ATTR_ENCC_SIZE 101 /* encrypted data size */
  1738. #define OCI_ATTR_COL_ENC 102 /* column is encrypted ? */
  1739. #define OCI_ATTR_COL_ENC_SALT 103 /* is encrypted column salted ? */
  1740. /*Only Stored Procs */
  1741. #define OCI_ATTR_OVERLOAD 210 /* is this position overloaded */
  1742. #define OCI_ATTR_LEVEL 211 /* level for structured types */
  1743. #define OCI_ATTR_HAS_DEFAULT 212 /* has a default value */
  1744. #define OCI_ATTR_IOMODE 213 /* in, out inout */
  1745. #define OCI_ATTR_RADIX 214 /* returns a radix */
  1746. #define OCI_ATTR_NUM_ARGS 215 /* total number of arguments */
  1747. /* only named type attributes */
  1748. #define OCI_ATTR_TYPECODE 216 /* object or collection */
  1749. #define OCI_ATTR_COLLECTION_TYPECODE 217 /* varray or nested table */
  1750. #define OCI_ATTR_VERSION 218 /* user assigned version */
  1751. #define OCI_ATTR_IS_INCOMPLETE_TYPE 219 /* is this an incomplete type */
  1752. #define OCI_ATTR_IS_SYSTEM_TYPE 220 /* a system type */
  1753. #define OCI_ATTR_IS_PREDEFINED_TYPE 221 /* a predefined type */
  1754. #define OCI_ATTR_IS_TRANSIENT_TYPE 222 /* a transient type */
  1755. #define OCI_ATTR_IS_SYSTEM_GENERATED_TYPE 223 /* system generated type */
  1756. #define OCI_ATTR_HAS_NESTED_TABLE 224 /* contains nested table attr */
  1757. #define OCI_ATTR_HAS_LOB 225 /* has a lob attribute */
  1758. #define OCI_ATTR_HAS_FILE 226 /* has a file attribute */
  1759. #define OCI_ATTR_COLLECTION_ELEMENT 227 /* has a collection attribute */
  1760. #define OCI_ATTR_NUM_TYPE_ATTRS 228 /* number of attribute types */
  1761. #define OCI_ATTR_LIST_TYPE_ATTRS 229 /* list of type attributes */
  1762. #define OCI_ATTR_NUM_TYPE_METHODS 230 /* number of type methods */
  1763. #define OCI_ATTR_LIST_TYPE_METHODS 231 /* list of type methods */
  1764. #define OCI_ATTR_MAP_METHOD 232 /* map method of type */
  1765. #define OCI_ATTR_ORDER_METHOD 233 /* order method of type */
  1766. /* only collection element */
  1767. #define OCI_ATTR_NUM_ELEMS 234 /* number of elements */
  1768. /* only type methods */
  1769. #define OCI_ATTR_ENCAPSULATION 235 /* encapsulation level */
  1770. #define OCI_ATTR_IS_SELFISH 236 /* method selfish */
  1771. #define OCI_ATTR_IS_VIRTUAL 237 /* virtual */
  1772. #define OCI_ATTR_IS_INLINE 238 /* inline */
  1773. #define OCI_ATTR_IS_CONSTANT 239 /* constant */
  1774. #define OCI_ATTR_HAS_RESULT 240 /* has result */
  1775. #define OCI_ATTR_IS_CONSTRUCTOR 241 /* constructor */
  1776. #define OCI_ATTR_IS_DESTRUCTOR 242 /* destructor */
  1777. #define OCI_ATTR_IS_OPERATOR 243 /* operator */
  1778. #define OCI_ATTR_IS_MAP 244 /* a map method */
  1779. #define OCI_ATTR_IS_ORDER 245 /* order method */
  1780. #define OCI_ATTR_IS_RNDS 246 /* read no data state method */
  1781. #define OCI_ATTR_IS_RNPS 247 /* read no process state */
  1782. #define OCI_ATTR_IS_WNDS 248 /* write no data state method */
  1783. #define OCI_ATTR_IS_WNPS 249 /* write no process state */
  1784. #define OCI_ATTR_DESC_PUBLIC 250 /* public object */
  1785. /* Object Cache Enhancements : attributes for User Constructed Instances */
  1786. #define OCI_ATTR_CACHE_CLIENT_CONTEXT 251
  1787. #define OCI_ATTR_UCI_CONSTRUCT 252
  1788. #define OCI_ATTR_UCI_DESTRUCT 253
  1789. #define OCI_ATTR_UCI_COPY 254
  1790. #define OCI_ATTR_UCI_PICKLE 255
  1791. #define OCI_ATTR_UCI_UNPICKLE 256
  1792. #define OCI_ATTR_UCI_REFRESH 257
  1793. /* for type inheritance */
  1794. #define OCI_ATTR_IS_SUBTYPE 258
  1795. #define OCI_ATTR_SUPERTYPE_SCHEMA_NAME 259
  1796. #define OCI_ATTR_SUPERTYPE_NAME 260
  1797. /* for schemas */
  1798. #define OCI_ATTR_LIST_OBJECTS 261 /* list of objects in schema */
  1799. /* for database */
  1800. #define OCI_ATTR_NCHARSET_ID 262 /* char set id */
  1801. #define OCI_ATTR_LIST_SCHEMAS 263 /* list of schemas */
  1802. #define OCI_ATTR_MAX_PROC_LEN 264 /* max procedure length */
  1803. #define OCI_ATTR_MAX_COLUMN_LEN 265 /* max column name length */
  1804. #define OCI_ATTR_CURSOR_COMMIT_BEHAVIOR 266 /* cursor commit behavior */
  1805. #define OCI_ATTR_MAX_CATALOG_NAMELEN 267 /* catalog namelength */
  1806. #define OCI_ATTR_CATALOG_LOCATION 268 /* catalog location */
  1807. #define OCI_ATTR_SAVEPOINT_SUPPORT 269 /* savepoint support */
  1808. #define OCI_ATTR_NOWAIT_SUPPORT 270 /* nowait support */
  1809. #define OCI_ATTR_AUTOCOMMIT_DDL 271 /* autocommit DDL */
  1810. #define OCI_ATTR_LOCKING_MODE 272 /* locking mode */
  1811. /* for externally initialized context */
  1812. #define OCI_ATTR_APPCTX_SIZE 273 /* count of context to be init*/
  1813. #define OCI_ATTR_APPCTX_LIST 274 /* count of context to be init*/
  1814. #define OCI_ATTR_APPCTX_NAME 275 /* name of context to be init*/
  1815. #define OCI_ATTR_APPCTX_ATTR 276 /* attr of context to be init*/
  1816. #define OCI_ATTR_APPCTX_VALUE 277 /* value of context to be init*/
  1817. /* for client id propagation */
  1818. #define OCI_ATTR_CLIENT_IDENTIFIER 278 /* value of client id to set*/
  1819. /* for inheritance - part 2 */
  1820. #define OCI_ATTR_IS_FINAL_TYPE 279 /* is final type ? */
  1821. #define OCI_ATTR_IS_INSTANTIABLE_TYPE 280 /* is instantiable type ? */
  1822. #define OCI_ATTR_IS_FINAL_METHOD 281 /* is final method ? */
  1823. #define OCI_ATTR_IS_INSTANTIABLE_METHOD 282 /* is instantiable method ? */
  1824. #define OCI_ATTR_IS_OVERRIDING_METHOD 283 /* is overriding method ? */
  1825. #define OCI_ATTR_DESC_SYNBASE 284 /* Describe the base object */
  1826. #define OCI_ATTR_CHAR_USED 285 /* char length semantics */
  1827. #define OCI_ATTR_CHAR_SIZE 286 /* char length */
  1828. /* SQLJ support */
  1829. #define OCI_ATTR_IS_JAVA_TYPE 287 /* is java implemented type ? */
  1830. /* N-Tier support */
  1831. #define OCI_ATTR_DISTINGUISHED_NAME 300 /* use DN as user name */
  1832. #define OCI_ATTR_KERBEROS_TICKET 301 /* Kerberos ticket as cred. */
  1833. /* for multilanguage debugging */
  1834. #define OCI_ATTR_ORA_DEBUG_JDWP 302 /* ORA_DEBUG_JDWP attribute */
  1835. #define OCI_ATTR_EDITION 288 /* ORA_EDITION */
  1836. #define OCI_ATTR_RESERVED_14 303 /* reserved */
  1837. /*---------------------------End Describe Handle Attributes -----------------*/
  1838. /* For values 303 - 307, see DirPathAPI attribute section in this file */
  1839. /* ----------------------- Session Pool Attributes ------------------------- */
  1840. #define OCI_ATTR_SPOOL_TIMEOUT 308 /* session timeout */
  1841. #define OCI_ATTR_SPOOL_GETMODE 309 /* session get mode */
  1842. #define OCI_ATTR_SPOOL_BUSY_COUNT 310 /* busy session count */
  1843. #define OCI_ATTR_SPOOL_OPEN_COUNT 311 /* open session count */
  1844. #define OCI_ATTR_SPOOL_MIN 312 /* min session count */
  1845. #define OCI_ATTR_SPOOL_MAX 313 /* max session count */
  1846. #define OCI_ATTR_SPOOL_INCR 314 /* session increment count */
  1847. #define OCI_ATTR_SPOOL_STMTCACHESIZE 208 /*Stmt cache size of pool */
  1848. #define OCI_ATTR_SPOOL_AUTH 460 /* Auth handle on pool handle*/
  1849. /*------------------------------End Session Pool Attributes -----------------*/
  1850. /*---------------------------- For XML Types ------------------------------- */
  1851. /* For table, view and column */
  1852. #define OCI_ATTR_IS_XMLTYPE 315 /* Is the type an XML type? */
  1853. #define OCI_ATTR_XMLSCHEMA_NAME 316 /* Name of XML Schema */
  1854. #define OCI_ATTR_XMLELEMENT_NAME 317 /* Name of XML Element */
  1855. #define OCI_ATTR_XMLSQLTYPSCH_NAME 318 /* SQL type's schema for XML Ele */
  1856. #define OCI_ATTR_XMLSQLTYPE_NAME 319 /* Name of SQL type for XML Ele */
  1857. #define OCI_ATTR_XMLTYPE_STORED_OBJ 320 /* XML type stored as object? */
  1858. #define OCI_ATTR_XMLTYPE_BINARY_XML 422 /* XML type stored as binary? */
  1859. /*---------------------------- For Subtypes ------------------------------- */
  1860. /* For type */
  1861. #define OCI_ATTR_HAS_SUBTYPES 321 /* Has subtypes? */
  1862. #define OCI_ATTR_NUM_SUBTYPES 322 /* Number of subtypes */
  1863. #define OCI_ATTR_LIST_SUBTYPES 323 /* List of subtypes */
  1864. /* XML flag */
  1865. #define OCI_ATTR_XML_HRCHY_ENABLED 324 /* hierarchy enabled? */
  1866. /* Method flag */
  1867. #define OCI_ATTR_IS_OVERRIDDEN_METHOD 325 /* Method is overridden? */
  1868. /* For values 326 - 335, see DirPathAPI attribute section in this file */
  1869. /*------------- Attributes for 10i Distributed Objects ----------------------*/
  1870. #define OCI_ATTR_OBJ_SUBS 336 /* obj col/tab substitutable */
  1871. /* For values 337 - 338, see DirPathAPI attribute section in this file */
  1872. /*---------- Attributes for 10i XADFIELD (NLS language, territory -----------*/
  1873. #define OCI_ATTR_XADFIELD_RESERVED_1 339 /* reserved */
  1874. #define OCI_ATTR_XADFIELD_RESERVED_2 340 /* reserved */
  1875. /*------------- Kerberos Secure Client Identifier ---------------------------*/
  1876. #define OCI_ATTR_KERBEROS_CID 341 /* Kerberos db service ticket*/
  1877. /*------------------------ Attributes for Rules objects ---------------------*/
  1878. #define OCI_ATTR_CONDITION 342 /* rule condition */
  1879. #define OCI_ATTR_COMMENT 343 /* comment */
  1880. #define OCI_ATTR_VALUE 344 /* Anydata value */
  1881. #define OCI_ATTR_EVAL_CONTEXT_OWNER 345 /* eval context owner */
  1882. #define OCI_ATTR_EVAL_CONTEXT_NAME 346 /* eval context name */
  1883. #define OCI_ATTR_EVALUATION_FUNCTION 347 /* eval function name */
  1884. #define OCI_ATTR_VAR_TYPE 348 /* variable type */
  1885. #define OCI_ATTR_VAR_VALUE_FUNCTION 349 /* variable value function */
  1886. #define OCI_ATTR_VAR_METHOD_FUNCTION 350 /* variable method function */
  1887. #define OCI_ATTR_ACTION_CONTEXT 351 /* action context */
  1888. #define OCI_ATTR_LIST_TABLE_ALIASES 352 /* list of table aliases */
  1889. #define OCI_ATTR_LIST_VARIABLE_TYPES 353 /* list of variable types */
  1890. #define OCI_ATTR_TABLE_NAME 356 /* table name */
  1891. /* For values 357 - 359, see DirPathAPI attribute section in this file */
  1892. #define OCI_ATTR_MESSAGE_CSCN 360 /* message cscn */
  1893. #define OCI_ATTR_MESSAGE_DSCN 361 /* message dscn */
  1894. /*--------------------- Audit Session ID ------------------------------------*/
  1895. #define OCI_ATTR_AUDIT_SESSION_ID 362 /* Audit session ID */
  1896. /*--------------------- Kerberos TGT Keys -----------------------------------*/
  1897. #define OCI_ATTR_KERBEROS_KEY 363 /* n-tier Kerberos cred key */
  1898. #define OCI_ATTR_KERBEROS_CID_KEY 364 /* SCID Kerberos cred key */
  1899. #define OCI_ATTR_TRANSACTION_NO 365 /* AQ enq txn number */
  1900. /*----------------------- Attributes for End To End Tracing -----------------*/
  1901. #define OCI_ATTR_MODULE 366 /* module for tracing */
  1902. #define OCI_ATTR_ACTION 367 /* action for tracing */
  1903. #define OCI_ATTR_CLIENT_INFO 368 /* client info */
  1904. #define OCI_ATTR_COLLECT_CALL_TIME 369 /* collect call time */
  1905. #define OCI_ATTR_CALL_TIME 370 /* extract call time */
  1906. #define OCI_ATTR_ECONTEXT_ID 371 /* execution-id context */
  1907. #define OCI_ATTR_ECONTEXT_SEQ 372 /*execution-id sequence num */
  1908. /*------------------------------ Session attributes -------------------------*/
  1909. #define OCI_ATTR_SESSION_STATE 373 /* session state */
  1910. #define OCI_SESSION_STATELESS 1 /* valid states */
  1911. #define OCI_SESSION_STATEFUL 2
  1912. #define OCI_ATTR_SESSION_STATETYPE 374 /* session state type */
  1913. #define OCI_SESSION_STATELESS_DEF 0 /* valid state types */
  1914. #define OCI_SESSION_STATELESS_CAL 1
  1915. #define OCI_SESSION_STATELESS_TXN 2
  1916. #define OCI_SESSION_STATELESS_APP 3
  1917. #define OCI_ATTR_SESSION_STATE_CLEARED 376 /* session state cleared */
  1918. #define OCI_ATTR_SESSION_MIGRATED 377 /* did session migrate */
  1919. #define OCI_ATTR_SESSION_PRESERVE_STATE 388 /* preserve session state */
  1920. #define OCI_ATTR_DRIVER_NAME 424 /* Driver Name */
  1921. /* -------------------------- Admin Handle Attributes ---------------------- */
  1922. #define OCI_ATTR_ADMIN_PFILE 389 /* client-side param file */
  1923. /*----------------------- Attributes for End To End Tracing -----------------*/
  1924. /* -------------------------- HA Event Handle Attributes ------------------- */
  1925. #define OCI_ATTR_HOSTNAME 390 /* SYS_CONTEXT hostname */
  1926. #define OCI_ATTR_DBNAME 391 /* SYS_CONTEXT dbname */
  1927. #define OCI_ATTR_INSTNAME 392 /* SYS_CONTEXT instance name */
  1928. #define OCI_ATTR_SERVICENAME 393 /* SYS_CONTEXT service name */
  1929. #define OCI_ATTR_INSTSTARTTIME 394 /* v$instance instance start time */
  1930. #define OCI_ATTR_HA_TIMESTAMP 395 /* event time */
  1931. #define OCI_ATTR_RESERVED_22 396 /* reserved */
  1932. #define OCI_ATTR_RESERVED_23 397 /* reserved */
  1933. #define OCI_ATTR_RESERVED_24 398 /* reserved */
  1934. #define OCI_ATTR_DBDOMAIN 399 /* db domain */
  1935. #define OCI_ATTR_RESERVED_27 425 /* reserved */
  1936. #define OCI_ATTR_EVENTTYPE 400 /* event type */
  1937. #define OCI_EVENTTYPE_HA 0 /* valid value for OCI_ATTR_EVENTTYPE */
  1938. #define OCI_ATTR_HA_SOURCE 401
  1939. /* valid values for OCI_ATTR_HA_SOURCE */
  1940. #define OCI_HA_SOURCE_INSTANCE 0
  1941. #define OCI_HA_SOURCE_DATABASE 1
  1942. #define OCI_HA_SOURCE_NODE 2
  1943. #define OCI_HA_SOURCE_SERVICE 3
  1944. #define OCI_HA_SOURCE_SERVICE_MEMBER 4
  1945. #define OCI_HA_SOURCE_ASM_INSTANCE 5
  1946. #define OCI_HA_SOURCE_SERVICE_PRECONNECT 6
  1947. #define OCI_ATTR_HA_STATUS 402
  1948. #define OCI_HA_STATUS_DOWN 0 /* valid values for OCI_ATTR_HA_STATUS */
  1949. #define OCI_HA_STATUS_UP 1
  1950. #define OCI_ATTR_HA_SRVFIRST 403
  1951. #define OCI_ATTR_HA_SRVNEXT 404
  1952. /* ------------------------- Server Handle Attributes -----------------------*/
  1953. #define OCI_ATTR_TAF_ENABLED 405
  1954. /* Extra notification attributes */
  1955. #define OCI_ATTR_NFY_FLAGS 406
  1956. #define OCI_ATTR_MSG_DELIVERY_MODE 407 /* msg delivery mode */
  1957. #define OCI_ATTR_DB_CHARSET_ID 416 /* database charset ID */
  1958. #define OCI_ATTR_DB_NCHARSET_ID 417 /* database ncharset ID */
  1959. #define OCI_ATTR_RESERVED_25 418 /* reserved */
  1960. #define OCI_ATTR_FLOW_CONTROL_TIMEOUT 423 /* AQ: flow control timeout */
  1961. /*---------------------------------------------------------------------------*/
  1962. /* ------------------DirPathAPI attribute Section----------------------------*/
  1963. /* All DirPathAPI attributes are in this section of the file. Existing */
  1964. /* attributes prior to this section being created are assigned values < 2000 */
  1965. /* Add new DirPathAPI attributes to this section and their assigned value */
  1966. /* should be whatever the last entry is + 1. */
  1967. /*------------- Supported Values for Direct Path Stream Version -------------*/
  1968. #define OCI_DIRPATH_STREAM_VERSION_1 100
  1969. #define OCI_DIRPATH_STREAM_VERSION_2 200
  1970. #define OCI_DIRPATH_STREAM_VERSION_3 300 /* default */
  1971. #define OCI_ATTR_DIRPATH_MODE 78 /* mode of direct path operation */
  1972. #define OCI_ATTR_DIRPATH_NOLOG 79 /* nologging option */
  1973. #define OCI_ATTR_DIRPATH_PARALLEL 80 /* parallel (temp seg) option */
  1974. #define OCI_ATTR_DIRPATH_SORTED_INDEX 137 /* index that data is sorted on */
  1975. /* direct path index maint method (see oci8dp.h) */
  1976. #define OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD 138
  1977. /* parallel load: db file, initial and next extent sizes */
  1978. #define OCI_ATTR_DIRPATH_FILE 139 /* DB file to load into */
  1979. #define OCI_ATTR_DIRPATH_STORAGE_INITIAL 140 /* initial extent size */
  1980. #define OCI_ATTR_DIRPATH_STORAGE_NEXT 141 /* next extent size */
  1981. /* direct path index maint method (see oci8dp.h) */
  1982. #define OCI_ATTR_DIRPATH_SKIPINDEX_METHOD 145
  1983. /* 8.2 dpapi support of ADTs */
  1984. #define OCI_ATTR_DIRPATH_EXPR_TYPE 150 /* expr type of OCI_ATTR_NAME */
  1985. /* For the direct path API there are three data formats:
  1986. * TEXT - used mainly by SQL*Loader, data is in textual form
  1987. * STREAM - used by datapump, data is in stream loadable form
  1988. * OCI - used by OCI programs utilizing the DpApi, data is in binary form
  1989. */
  1990. #define OCI_ATTR_DIRPATH_INPUT 151
  1991. #define OCI_DIRPATH_INPUT_TEXT 0x01 /* text */
  1992. #define OCI_DIRPATH_INPUT_STREAM 0x02 /* stream (datapump) */
  1993. #define OCI_DIRPATH_INPUT_OCI 0x04 /* binary (oci) */
  1994. #define OCI_DIRPATH_INPUT_UNKNOWN 0x08
  1995. #define OCI_ATTR_DIRPATH_FN_CTX 167 /* fn ctx ADT attrs or args */
  1996. #define OCI_ATTR_DIRPATH_OID 187 /* loading into an OID col */
  1997. #define OCI_ATTR_DIRPATH_SID 194 /* loading into an SID col */
  1998. #define OCI_ATTR_DIRPATH_OBJ_CONSTR 206 /* obj type of subst obj tbl */
  1999. /* Attr to allow setting of the stream version PRIOR to calling Prepare */
  2000. #define OCI_ATTR_DIRPATH_STREAM_VERSION 212 /* version of the stream*/
  2001. #define OCIP_ATTR_DIRPATH_VARRAY_INDEX 213 /* varray index column */
  2002. /*------------- Supported Values for Direct Path Date cache -----------------*/
  2003. #define OCI_ATTR_DIRPATH_DCACHE_NUM 303 /* date cache entries */
  2004. #define OCI_ATTR_DIRPATH_DCACHE_SIZE 304 /* date cache limit */
  2005. #define OCI_ATTR_DIRPATH_DCACHE_MISSES 305 /* date cache misses */
  2006. #define OCI_ATTR_DIRPATH_DCACHE_HITS 306 /* date cache hits */
  2007. #define OCI_ATTR_DIRPATH_DCACHE_DISABLE 307 /* on set: disable datecache
  2008. * on overflow.
  2009. * on get: datecache disabled?
  2010. * could be due to overflow
  2011. * or others */
  2012. /*------------- Attributes for 10i Updates to the DirPath API ---------------*/
  2013. #define OCI_ATTR_DIRPATH_RESERVED_7 326 /* reserved */
  2014. #define OCI_ATTR_DIRPATH_RESERVED_8 327 /* reserved */
  2015. #define OCI_ATTR_DIRPATH_CONVERT 328 /* stream conversion needed? */
  2016. #define OCI_ATTR_DIRPATH_BADROW 329 /* info about bad row */
  2017. #define OCI_ATTR_DIRPATH_BADROW_LENGTH 330 /* length of bad row info */
  2018. #define OCI_ATTR_DIRPATH_WRITE_ORDER 331 /* column fill order */
  2019. #define OCI_ATTR_DIRPATH_GRANULE_SIZE 332 /* granule size for unload */
  2020. #define OCI_ATTR_DIRPATH_GRANULE_OFFSET 333 /* offset to last granule */
  2021. #define OCI_ATTR_DIRPATH_RESERVED_1 334 /* reserved */
  2022. #define OCI_ATTR_DIRPATH_RESERVED_2 335 /* reserved */
  2023. /*------ Attributes for 10i DirPathAPI conversion (NLS lang, terr, cs) ------*/
  2024. #define OCI_ATTR_DIRPATH_RESERVED_3 337 /* reserved */
  2025. #define OCI_ATTR_DIRPATH_RESERVED_4 338 /* reserved */
  2026. #define OCI_ATTR_DIRPATH_RESERVED_5 357 /* reserved */
  2027. #define OCI_ATTR_DIRPATH_RESERVED_6 358 /* reserved */
  2028. #define OCI_ATTR_DIRPATH_LOCK_WAIT 359 /* wait for lock in dpapi */
  2029. #define OCI_ATTR_DIRPATH_RESERVED_9 2000 /* reserved */
  2030. /*------ Attribute for 10iR2 for column encryption for Direct Path API ------*/
  2031. #define OCI_ATTR_DIRPATH_RESERVED_10 2001 /* reserved */
  2032. #define OCI_ATTR_DIRPATH_RESERVED_11 2002 /* reserved */
  2033. /*------ Attribute to determine last column successfully converted ----------*/
  2034. #define OCI_ATTR_CURRENT_ERRCOL 2003 /* current error column */
  2035. /*--Attributes for 11gR1 for multiple subtype support in Direct Path API - */
  2036. #define OCI_ATTR_DIRPATH_SUBTYPE_INDEX 2004 /* sbtyp indx for attribute */
  2037. #define OCI_ATTR_DIRPATH_RESERVED_12 2005 /* reserved */
  2038. #define OCI_ATTR_DIRPATH_RESERVED_13 2006 /* reserver */
  2039. /*--Attribute for partitioning constraint optimization in Direct Path API */
  2040. #define OCI_ATTR_DIRPATH_RESERVED_14 2007 /* reserved */
  2041. /*--Attribute for interval partitioning in Direct Path API */
  2042. #define OCI_ATTR_DIRPATH_RESERVED_15 2008 /* reserved */
  2043. /*--Attribute for interval partitioning in Direct Path API */
  2044. #define OCI_ATTR_DIRPATH_RESERVED_16 2009 /* reserved */
  2045. /*--Attribute for allowing parallel lob loads in Direct Path API */
  2046. #define OCI_ATTR_DIRPATH_RESERVED_17 2010 /* reserved */
  2047. /*--Attribute for process order number of table being loaded/unloaded */
  2048. #define OCI_ATTR_DIRPATH_RESERVED_18 2011 /* reserved */
  2049. #define OCI_ATTR_DIRPATH_RESERVED_19 2012 /* reserved */
  2050. #define OCI_ATTR_DIRPATH_NO_INDEX_ERRORS 2013 /* reserved */
  2051. /*--Attribute for private sqlldr no index errors */
  2052. #define OCI_ATTR_DIRPATH_RESERVED_20 2014 /* reserved */
  2053. /*--Attribute for private sqlldr partition memory limit */
  2054. #define OCI_ATTR_DIRPATH_RESERVED_21 2015 /* reserved */
  2055. #define OCI_ATTR_DIRPATH_RESERVED_22 2016 /* reserved */
  2056. /*--Attribute to use caller's transaction rather than starting on in kpodpp */
  2057. #define OCI_ATTR_DIRPATH_USE_ACTIVE_TRANS 2017 /* reserved */
  2058. /*--Attribute for recnum column */
  2059. #define OCI_ATTR_DIRPATH_RESERVED_23 2018 /* reserved */
  2060. /* Add DirPathAPI attributes above. Next value to be assigned is 2019 */
  2061. /* ------------------End of DirPathAPI attribute Section --------------------*/
  2062. /*---------------------------------------------------------------------------*/
  2063. /*---------------- Describe Handle Parameter Attribute Values ---------------*/
  2064. /* OCI_ATTR_CURSOR_COMMIT_BEHAVIOR */
  2065. #define OCI_CURSOR_OPEN 0
  2066. #define OCI_CURSOR_CLOSED 1
  2067. /* OCI_ATTR_CATALOG_LOCATION */
  2068. #define OCI_CL_START 0
  2069. #define OCI_CL_END 1
  2070. /* OCI_ATTR_SAVEPOINT_SUPPORT */
  2071. #define OCI_SP_SUPPORTED 0
  2072. #define OCI_SP_UNSUPPORTED 1
  2073. /* OCI_ATTR_NOWAIT_SUPPORT */
  2074. #define OCI_NW_SUPPORTED 0
  2075. #define OCI_NW_UNSUPPORTED 1
  2076. /* OCI_ATTR_AUTOCOMMIT_DDL */
  2077. #define OCI_AC_DDL 0
  2078. #define OCI_NO_AC_DDL 1
  2079. /* OCI_ATTR_LOCKING_MODE */
  2080. #define OCI_LOCK_IMMEDIATE 0
  2081. #define OCI_LOCK_DELAYED 1
  2082. /* ------------------- Instance type attribute values -----------------------*/
  2083. #define OCI_INSTANCE_TYPE_UNKNOWN 0
  2084. #define OCI_INSTANCE_TYPE_RDBMS 1
  2085. #define OCI_INSTANCE_TYPE_OSM 2
  2086. /* ---------------- ASM Volume Device Support attribute values --------------*/
  2087. #define OCI_ASM_VOLUME_UNSUPPORTED 0
  2088. #define OCI_ASM_VOLUME_SUPPORTED 1
  2089. /*---------------------------------------------------------------------------*/
  2090. /*---------------------------OCIPasswordChange-------------------------------*/
  2091. #define OCI_AUTH 0x08 /* Change the password but do not login */
  2092. /*------------------------Other Constants------------------------------------*/
  2093. #define OCI_MAX_FNS 100 /* max number of OCI Functions */
  2094. #define OCI_SQLSTATE_SIZE 5
  2095. #define OCI_ERROR_MAXMSG_SIZE 1024 /* max size of an error message */
  2096. #define OCI_ERROR_MAXMSG_SIZE2 3072 /* new len max size of an error message */
  2097. #define OCI_LOBMAXSIZE MINUB4MAXVAL /* maximum lob data size */
  2098. #define OCI_ROWID_LEN 23
  2099. #define OCI_LOB_CONTENTTYPE_MAXSIZE 128 /* max size of securefile contenttype */
  2100. #define OCI_LOB_CONTENTTYPE_MAXBYTESIZE OCI_LOB_CONTENTTYPE_MAXSIZE
  2101. /*---------------------------------------------------------------------------*/
  2102. /*------------------------ Fail Over Events ---------------------------------*/
  2103. #define OCI_FO_END 0x00000001
  2104. #define OCI_FO_ABORT 0x00000002
  2105. #define OCI_FO_REAUTH 0x00000004
  2106. #define OCI_FO_BEGIN 0x00000008
  2107. #define OCI_FO_ERROR 0x00000010
  2108. /*---------------------------------------------------------------------------*/
  2109. /*------------------------ Fail Over Callback Return Codes ------------------*/
  2110. #define OCI_FO_RETRY 25410
  2111. /*---------------------------------------------------------------------------*/
  2112. /*------------------------- Fail Over Types ---------------------------------*/
  2113. #define OCI_FO_NONE 0x00000001
  2114. #define OCI_FO_SESSION 0x00000002
  2115. #define OCI_FO_SELECT 0x00000004
  2116. #define OCI_FO_TXNAL 0x00000008
  2117. /*---------------------------------------------------------------------------*/
  2118. /*-----------------------Function Codes--------------------------------------*/
  2119. #define OCI_FNCODE_INITIALIZE 1 /* OCIInitialize */
  2120. #define OCI_FNCODE_HANDLEALLOC 2 /* OCIHandleAlloc */
  2121. #define OCI_FNCODE_HANDLEFREE 3 /* OCIHandleFree */
  2122. #define OCI_FNCODE_DESCRIPTORALLOC 4 /* OCIDescriptorAlloc */
  2123. #define OCI_FNCODE_DESCRIPTORFREE 5 /* OCIDescriptorFree */
  2124. #define OCI_FNCODE_ENVINIT 6 /* OCIEnvInit */
  2125. #define OCI_FNCODE_SERVERATTACH 7 /* OCIServerAttach */
  2126. #define OCI_FNCODE_SERVERDETACH 8 /* OCIServerDetach */
  2127. /* unused 9 */
  2128. #define OCI_FNCODE_SESSIONBEGIN 10 /* OCISessionBegin */
  2129. #define OCI_FNCODE_SESSIONEND 11 /* OCISessionEnd */
  2130. #define OCI_FNCODE_PASSWORDCHANGE 12 /* OCIPasswordChange */
  2131. #define OCI_FNCODE_STMTPREPARE 13 /* OCIStmtPrepare */
  2132. /* unused 14- 16 */
  2133. #define OCI_FNCODE_BINDDYNAMIC 17 /* OCIBindDynamic */
  2134. #define OCI_FNCODE_BINDOBJECT 18 /* OCIBindObject */
  2135. /* 19 unused */
  2136. #define OCI_FNCODE_BINDARRAYOFSTRUCT 20 /* OCIBindArrayOfStruct */
  2137. #define OCI_FNCODE_STMTEXECUTE 21 /* OCIStmtExecute */
  2138. /* unused 22-24 */
  2139. #define OCI_FNCODE_DEFINEOBJECT 25 /* OCIDefineObject */
  2140. #define OCI_FNCODE_DEFINEDYNAMIC 26 /* OCIDefineDynamic */
  2141. #define OCI_FNCODE_DEFINEARRAYOFSTRUCT 27 /* OCIDefineArrayOfStruct */
  2142. #define OCI_FNCODE_STMTFETCH 28 /* OCIStmtFetch */
  2143. #define OCI_FNCODE_STMTGETBIND 29 /* OCIStmtGetBindInfo */
  2144. /* 30, 31 unused */
  2145. #define OCI_FNCODE_DESCRIBEANY 32 /* OCIDescribeAny */
  2146. #define OCI_FNCODE_TRANSSTART 33 /* OCITransStart */
  2147. #define OCI_FNCODE_TRANSDETACH 34 /* OCITransDetach */
  2148. #define OCI_FNCODE_TRANSCOMMIT 35 /* OCITransCommit */
  2149. /* 36 unused */
  2150. #define OCI_FNCODE_ERRORGET 37 /* OCIErrorGet */
  2151. #define OCI_FNCODE_LOBOPENFILE 38 /* OCILobFileOpen */
  2152. #define OCI_FNCODE_LOBCLOSEFILE 39 /* OCILobFileClose */
  2153. /* 40 was LOBCREATEFILE, unused */
  2154. /* 41 was OCILobFileDelete, unused */
  2155. #define OCI_FNCODE_LOBCOPY 42 /* OCILobCopy */
  2156. #define OCI_FNCODE_LOBAPPEND 43 /* OCILobAppend */
  2157. #define OCI_FNCODE_LOBERASE 44 /* OCILobErase */
  2158. #define OCI_FNCODE_LOBLENGTH 45 /* OCILobGetLength */
  2159. #define OCI_FNCODE_LOBTRIM 46 /* OCILobTrim */
  2160. #define OCI_FNCODE_LOBREAD 47 /* OCILobRead */
  2161. #define OCI_FNCODE_LOBWRITE 48 /* OCILobWrite */
  2162. /* 49 unused */
  2163. #define OCI_FNCODE_SVCCTXBREAK 50 /* OCIBreak */
  2164. #define OCI_FNCODE_SERVERVERSION 51 /* OCIServerVersion */
  2165. #define OCI_FNCODE_KERBATTRSET 52 /* OCIKerbAttrSet */
  2166. /* unused 53 */
  2167. #define OCI_FNCODE_ATTRGET 54 /* OCIAttrGet */
  2168. #define OCI_FNCODE_ATTRSET 55 /* OCIAttrSet */
  2169. #define OCI_FNCODE_PARAMSET 56 /* OCIParamSet */
  2170. #define OCI_FNCODE_PARAMGET 57 /* OCIParamGet */
  2171. #define OCI_FNCODE_STMTGETPIECEINFO 58 /* OCIStmtGetPieceInfo */
  2172. #define OCI_FNCODE_LDATOSVCCTX 59 /* OCILdaToSvcCtx */
  2173. /* 60 unused */
  2174. #define OCI_FNCODE_STMTSETPIECEINFO 61 /* OCIStmtSetPieceInfo */
  2175. #define OCI_FNCODE_TRANSFORGET 62 /* OCITransForget */
  2176. #define OCI_FNCODE_TRANSPREPARE 63 /* OCITransPrepare */
  2177. #define OCI_FNCODE_TRANSROLLBACK 64 /* OCITransRollback */
  2178. #define OCI_FNCODE_DEFINEBYPOS 65 /* OCIDefineByPos */
  2179. #define OCI_FNCODE_BINDBYPOS 66 /* OCIBindByPos */
  2180. #define OCI_FNCODE_BINDBYNAME 67 /* OCIBindByName */
  2181. #define OCI_FNCODE_LOBASSIGN 68 /* OCILobAssign */
  2182. #define OCI_FNCODE_LOBISEQUAL 69 /* OCILobIsEqual */
  2183. #define OCI_FNCODE_LOBISINIT 70 /* OCILobLocatorIsInit */
  2184. #define OCI_FNCODE_LOBENABLEBUFFERING 71 /* OCILobEnableBuffering */
  2185. #define OCI_FNCODE_LOBCHARSETID 72 /* OCILobCharSetID */
  2186. #define OCI_FNCODE_LOBCHARSETFORM 73 /* OCILobCharSetForm */
  2187. #define OCI_FNCODE_LOBFILESETNAME 74 /* OCILobFileSetName */
  2188. #define OCI_FNCODE_LOBFILEGETNAME 75 /* OCILobFileGetName */
  2189. #define OCI_FNCODE_LOGON 76 /* OCILogon */
  2190. #define OCI_FNCODE_LOGOFF 77 /* OCILogoff */
  2191. #define OCI_FNCODE_LOBDISABLEBUFFERING 78 /* OCILobDisableBuffering */
  2192. #define OCI_FNCODE_LOBFLUSHBUFFER 79 /* OCILobFlushBuffer */
  2193. #define OCI_FNCODE_LOBLOADFROMFILE 80 /* OCILobLoadFromFile */
  2194. #define OCI_FNCODE_LOBOPEN 81 /* OCILobOpen */
  2195. #define OCI_FNCODE_LOBCLOSE 82 /* OCILobClose */
  2196. #define OCI_FNCODE_LOBISOPEN 83 /* OCILobIsOpen */
  2197. #define OCI_FNCODE_LOBFILEISOPEN 84 /* OCILobFileIsOpen */
  2198. #define OCI_FNCODE_LOBFILEEXISTS 85 /* OCILobFileExists */
  2199. #define OCI_FNCODE_LOBFILECLOSEALL 86 /* OCILobFileCloseAll */
  2200. #define OCI_FNCODE_LOBCREATETEMP 87 /* OCILobCreateTemporary */
  2201. #define OCI_FNCODE_LOBFREETEMP 88 /* OCILobFreeTemporary */
  2202. #define OCI_FNCODE_LOBISTEMP 89 /* OCILobIsTemporary */
  2203. #define OCI_FNCODE_AQENQ 90 /* OCIAQEnq */
  2204. #define OCI_FNCODE_AQDEQ 91 /* OCIAQDeq */
  2205. #define OCI_FNCODE_RESET 92 /* OCIReset */
  2206. #define OCI_FNCODE_SVCCTXTOLDA 93 /* OCISvcCtxToLda */
  2207. #define OCI_FNCODE_LOBLOCATORASSIGN 94 /* OCILobLocatorAssign */
  2208. #define OCI_FNCODE_UBINDBYNAME 95
  2209. #define OCI_FNCODE_AQLISTEN 96 /* OCIAQListen */
  2210. #define OCI_FNCODE_SVC2HST 97 /* reserved */
  2211. #define OCI_FNCODE_SVCRH 98 /* reserved */
  2212. /* 97 and 98 are reserved for Oracle internal use */
  2213. #define OCI_FNCODE_TRANSMULTIPREPARE 99 /* OCITransMultiPrepare */
  2214. #define OCI_FNCODE_CPOOLCREATE 100 /* OCIConnectionPoolCreate */
  2215. #define OCI_FNCODE_CPOOLDESTROY 101 /* OCIConnectionPoolDestroy */
  2216. #define OCI_FNCODE_LOGON2 102 /* OCILogon2 */
  2217. #define OCI_FNCODE_ROWIDTOCHAR 103 /* OCIRowidToChar */
  2218. #define OCI_FNCODE_SPOOLCREATE 104 /* OCISessionPoolCreate */
  2219. #define OCI_FNCODE_SPOOLDESTROY 105 /* OCISessionPoolDestroy */
  2220. #define OCI_FNCODE_SESSIONGET 106 /* OCISessionGet */
  2221. #define OCI_FNCODE_SESSIONRELEASE 107 /* OCISessionRelease */
  2222. #define OCI_FNCODE_STMTPREPARE2 108 /* OCIStmtPrepare2 */
  2223. #define OCI_FNCODE_STMTRELEASE 109 /* OCIStmtRelease */
  2224. #define OCI_FNCODE_AQENQARRAY 110 /* OCIAQEnqArray */
  2225. #define OCI_FNCODE_AQDEQARRAY 111 /* OCIAQDeqArray */
  2226. #define OCI_FNCODE_LOBCOPY2 112 /* OCILobCopy2 */
  2227. #define OCI_FNCODE_LOBERASE2 113 /* OCILobErase2 */
  2228. #define OCI_FNCODE_LOBLENGTH2 114 /* OCILobGetLength2 */
  2229. #define OCI_FNCODE_LOBLOADFROMFILE2 115 /* OCILobLoadFromFile2 */
  2230. #define OCI_FNCODE_LOBREAD2 116 /* OCILobRead2 */
  2231. #define OCI_FNCODE_LOBTRIM2 117 /* OCILobTrim2 */
  2232. #define OCI_FNCODE_LOBWRITE2 118 /* OCILobWrite2 */
  2233. #define OCI_FNCODE_LOBGETSTORAGELIMIT 119 /* OCILobGetStorageLimit */
  2234. #define OCI_FNCODE_DBSTARTUP 120 /* OCIDBStartup */
  2235. #define OCI_FNCODE_DBSHUTDOWN 121 /* OCIDBShutdown */
  2236. #define OCI_FNCODE_LOBARRAYREAD 122 /* OCILobArrayRead */
  2237. #define OCI_FNCODE_LOBARRAYWRITE 123 /* OCILobArrayWrite */
  2238. #define OCI_FNCODE_AQENQSTREAM 124 /* OCIAQEnqStreaming */
  2239. #define OCI_FNCODE_AQGETREPLAY 125 /* OCIAQGetReplayInfo */
  2240. #define OCI_FNCODE_AQRESETREPLAY 126 /* OCIAQResetReplayInfo */
  2241. #define OCI_FNCODE_ARRAYDESCRIPTORALLOC 127 /*OCIArrayDescriptorAlloc */
  2242. #define OCI_FNCODE_ARRAYDESCRIPTORFREE 128 /* OCIArrayDescriptorFree */
  2243. #define OCI_FNCODE_LOBGETOPT 129 /* OCILobGetCptions */
  2244. #define OCI_FNCODE_LOBSETOPT 130 /* OCILobSetCptions */
  2245. #define OCI_FNCODE_LOBFRAGINS 131 /* OCILobFragementInsert */
  2246. #define OCI_FNCODE_LOBFRAGDEL 132 /* OCILobFragementDelete */
  2247. #define OCI_FNCODE_LOBFRAGMOV 133 /* OCILobFragementMove */
  2248. #define OCI_FNCODE_LOBFRAGREP 134 /* OCILobFragementReplace */
  2249. #define OCI_FNCODE_LOBGETDEDUPLICATEREGIONS 135/* OCILobGetDeduplicateRegions */
  2250. #define OCI_FNCODE_APPCTXSET 136 /* OCIAppCtxSet */
  2251. #define OCI_FNCODE_APPCTXCLEARALL 137 /* OCIAppCtxClearAll */
  2252. #define OCI_FNCODE_LOBGETCONTENTTYPE 138 /* OCILobGetContentType */
  2253. #define OCI_FNCODE_LOBSETCONTENTTYPE 139 /* OCILobSetContentType */
  2254. #define OCI_FNCODE_MAXFCN 139 /* maximum OCI function code */
  2255. /*---------------Statement Cache callback modes-----------------------------*/
  2256. #define OCI_CBK_STMTCACHE_STMTPURGE 0x01
  2257. /*---------------------------------------------------------------------------*/
  2258. /*-----------------------Handle Definitions----------------------------------*/
  2259. typedef struct OCIEnv OCIEnv; /* OCI environment handle */
  2260. typedef struct OCIError OCIError; /* OCI error handle */
  2261. typedef struct OCISvcCtx OCISvcCtx; /* OCI service handle */
  2262. typedef struct OCIStmt OCIStmt; /* OCI statement handle */
  2263. typedef struct OCIBind OCIBind; /* OCI bind handle */
  2264. typedef struct OCIDefine OCIDefine; /* OCI Define handle */
  2265. typedef struct OCIDescribe OCIDescribe; /* OCI Describe handle */
  2266. typedef struct OCIServer OCIServer; /* OCI Server handle */
  2267. typedef struct OCISession OCISession; /* OCI Authentication handle */
  2268. typedef struct OCIComplexObject OCIComplexObject; /* OCI COR handle */
  2269. typedef struct OCITrans OCITrans; /* OCI Transaction handle */
  2270. typedef struct OCISecurity OCISecurity; /* OCI Security handle */
  2271. typedef struct OCISubscription OCISubscription; /* subscription handle */
  2272. typedef struct OCICPool OCICPool; /* connection pool handle */
  2273. typedef struct OCISPool OCISPool; /* session pool handle */
  2274. typedef struct OCIAuthInfo OCIAuthInfo; /* auth handle */
  2275. typedef struct OCIAdmin OCIAdmin; /* admin handle */
  2276. typedef struct OCIEvent OCIEvent; /* HA event handle */
  2277. /*-----------------------Descriptor Definitions------------------------------*/
  2278. typedef struct OCISnapshot OCISnapshot; /* OCI snapshot descriptor */
  2279. typedef struct OCIResult OCIResult; /* OCI Result Set Descriptor */
  2280. typedef struct OCILobLocator OCILobLocator; /* OCI Lob Locator descriptor */
  2281. typedef struct OCILobRegion OCILobRegion; /* OCI Lob Regions descriptor */
  2282. typedef struct OCIParam OCIParam; /* OCI PARameter descriptor */
  2283. typedef struct OCIComplexObjectComp OCIComplexObjectComp;
  2284. /* OCI COR descriptor */
  2285. typedef struct OCIRowid OCIRowid; /* OCI ROWID descriptor */
  2286. typedef struct OCIDateTime OCIDateTime; /* OCI DateTime descriptor */
  2287. typedef struct OCIInterval OCIInterval; /* OCI Interval descriptor */
  2288. typedef struct OCIUcb OCIUcb; /* OCI User Callback descriptor */
  2289. typedef struct OCIServerDNs OCIServerDNs; /* OCI server DN descriptor */
  2290. /*-------------------------- AQ Descriptors ---------------------------------*/
  2291. typedef struct OCIAQEnqOptions OCIAQEnqOptions; /* AQ Enqueue Options hdl */
  2292. typedef struct OCIAQDeqOptions OCIAQDeqOptions; /* AQ Dequeue Options hdl */
  2293. typedef struct OCIAQMsgProperties OCIAQMsgProperties; /* AQ Mesg Properties */
  2294. typedef struct OCIAQAgent OCIAQAgent; /* AQ Agent descriptor */
  2295. typedef struct OCIAQNfyDescriptor OCIAQNfyDescriptor; /* AQ Nfy descriptor */
  2296. typedef struct OCIAQSignature OCIAQSignature; /* AQ Siganture */
  2297. typedef struct OCIAQListenOpts OCIAQListenOpts; /* AQ listen options */
  2298. typedef struct OCIAQLisMsgProps OCIAQLisMsgProps; /* AQ listen msg props */
  2299. /*---------------------------------------------------------------------------*/
  2300. /* Lob typedefs for Pro*C */
  2301. typedef struct OCILobLocator OCIClobLocator; /* OCI Character LOB Locator */
  2302. typedef struct OCILobLocator OCIBlobLocator; /* OCI Binary LOB Locator */
  2303. typedef struct OCILobLocator OCIBFileLocator; /* OCI Binary LOB File Locator */
  2304. /*---------------------------------------------------------------------------*/
  2305. /* Undefined value for tz in interval types*/
  2306. #define OCI_INTHR_UNK 24
  2307. /* These defined adjustment values */
  2308. #define OCI_ADJUST_UNK 10
  2309. #define OCI_ORACLE_DATE 0
  2310. #define OCI_ANSI_DATE 1
  2311. /*------------------------ Lob-specific Definitions -------------------------*/
  2312. /*
  2313. * ociloff - OCI Lob OFFset
  2314. *
  2315. * The offset in the lob data. The offset is specified in terms of bytes for
  2316. * BLOBs and BFILes. Character offsets are used for CLOBs, NCLOBs.
  2317. * The maximum size of internal lob data is 4 gigabytes. FILE LOB
  2318. * size is limited by the operating system.
  2319. */
  2320. typedef ub4 OCILobOffset;
  2321. /*
  2322. * ocillen - OCI Lob LENgth (of lob data)
  2323. *
  2324. * Specifies the length of lob data in bytes for BLOBs and BFILes and in
  2325. * characters for CLOBs, NCLOBs. The maximum length of internal lob
  2326. * data is 4 gigabytes. The length of FILE LOBs is limited only by the
  2327. * operating system.
  2328. */
  2329. typedef ub4 OCILobLength;
  2330. /*
  2331. * ocilmo - OCI Lob open MOdes
  2332. *
  2333. * The mode specifies the planned operations that will be performed on the
  2334. * FILE lob data. The FILE lob can be opened in read-only mode only.
  2335. *
  2336. * In the future, we may include read/write, append and truncate modes. Append
  2337. * is equivalent to read/write mode except that the FILE is positioned for
  2338. * writing to the end. Truncate is equivalent to read/write mode except that
  2339. * the FILE LOB data is first truncated to a length of 0 before use.
  2340. */
  2341. enum OCILobMode
  2342. {
  2343. OCI_LOBMODE_READONLY = 1, /* read-only */
  2344. OCI_LOBMODE_READWRITE = 2 /* read_write for internal lobs only */
  2345. };
  2346. typedef enum OCILobMode OCILobMode;
  2347. /*---------------------------------------------------------------------------*/
  2348. /*----------------------------Piece Definitions------------------------------*/
  2349. /* if ocidef.h is being included in the app, ocidef.h should precede oci.h */
  2350. /*
  2351. * since clients may use oci.h, ocidef.h and ocidfn.h the following defines
  2352. * need to be guarded, usually internal clients
  2353. */
  2354. #ifndef OCI_FLAGS
  2355. #define OCI_FLAGS
  2356. #define OCI_ONE_PIECE 0 /* one piece */
  2357. #define OCI_FIRST_PIECE 1 /* the first piece */
  2358. #define OCI_NEXT_PIECE 2 /* the next of many pieces */
  2359. #define OCI_LAST_PIECE 3 /* the last piece */
  2360. #endif
  2361. /*---------------------------------------------------------------------------*/
  2362. /*--------------------------- FILE open modes -------------------------------*/
  2363. #define OCI_FILE_READONLY 1 /* readonly mode open for FILE types */
  2364. /*---------------------------------------------------------------------------*/
  2365. /*--------------------------- LOB open modes --------------------------------*/
  2366. #define OCI_LOB_READONLY 1 /* readonly mode open for ILOB types */
  2367. #define OCI_LOB_READWRITE 2 /* read write mode open for ILOBs */
  2368. #define OCI_LOB_WRITEONLY 3 /* Writeonly mode open for ILOB types*/
  2369. #define OCI_LOB_APPENDONLY 4 /* Appendonly mode open for ILOB types */
  2370. #define OCI_LOB_FULLOVERWRITE 5 /* Completely overwrite ILOB */
  2371. #define OCI_LOB_FULLREAD 6 /* Doing a Full Read of ILOB */
  2372. /*----------------------- LOB Buffering Flush Flags -------------------------*/
  2373. #define OCI_LOB_BUFFER_FREE 1
  2374. #define OCI_LOB_BUFFER_NOFREE 2
  2375. /*---------------------------------------------------------------------------*/
  2376. /*---------------------------LOB Option Types -------------------------------*/
  2377. #define OCI_LOB_OPT_COMPRESS 1 /* SECUREFILE Compress */
  2378. #define OCI_LOB_OPT_ENCRYPT 2 /* SECUREFILE Encrypt */
  2379. #define OCI_LOB_OPT_DEDUPLICATE 4 /* SECUREFILE Deduplicate */
  2380. #define OCI_LOB_OPT_ALLOCSIZE 8 /* SECUREFILE Allocation Size */
  2381. #define OCI_LOB_OPT_CONTENTTYPE 16 /* SECUREFILE Content Type */
  2382. #define OCI_LOB_OPT_MODTIME 32 /* SECUREFILE Modification Time */
  2383. /*------------------------ LOB Option Values ------------------------------*/
  2384. /* Compression */
  2385. #define OCI_LOB_COMPRESS_OFF 0 /* Compression off */
  2386. #define OCI_LOB_COMPRESS_ON 1 /* Compression on */
  2387. /* Encryption */
  2388. #define OCI_LOB_ENCRYPT_OFF 0 /* Encryption Off */
  2389. #define OCI_LOB_ENCRYPT_ON 2 /* Encryption On */
  2390. /* Deduplciate */
  2391. #define OCI_LOB_DEDUPLICATE_OFF 0 /* Deduplicate Off */
  2392. #define OCI_LOB_DEDUPLICATE_ON 4 /* Deduplicate Lobs */
  2393. /*--------------------------- OCI Statement Types ---------------------------*/
  2394. #define OCI_STMT_UNKNOWN 0 /* Unknown statement */
  2395. #define OCI_STMT_SELECT 1 /* select statement */
  2396. #define OCI_STMT_UPDATE 2 /* update statement */
  2397. #define OCI_STMT_DELETE 3 /* delete statement */
  2398. #define OCI_STMT_INSERT 4 /* Insert Statement */
  2399. #define OCI_STMT_CREATE 5 /* create statement */
  2400. #define OCI_STMT_DROP 6 /* drop statement */
  2401. #define OCI_STMT_ALTER 7 /* alter statement */
  2402. #define OCI_STMT_BEGIN 8 /* begin ... (pl/sql statement)*/
  2403. #define OCI_STMT_DECLARE 9 /* declare .. (pl/sql statement ) */
  2404. #define OCI_STMT_CALL 10 /* corresponds to kpu call */
  2405. /*---------------------------------------------------------------------------*/
  2406. /*--------------------------- OCI Parameter Types ---------------------------*/
  2407. #define OCI_PTYPE_UNK 0 /* unknown */
  2408. #define OCI_PTYPE_TABLE 1 /* table */
  2409. #define OCI_PTYPE_VIEW 2 /* view */
  2410. #define OCI_PTYPE_PROC 3 /* procedure */
  2411. #define OCI_PTYPE_FUNC 4 /* function */
  2412. #define OCI_PTYPE_PKG 5 /* package */
  2413. #define OCI_PTYPE_TYPE 6 /* user-defined type */
  2414. #define OCI_PTYPE_SYN 7 /* synonym */
  2415. #define OCI_PTYPE_SEQ 8 /* sequence */
  2416. #define OCI_PTYPE_COL 9 /* column */
  2417. #define OCI_PTYPE_ARG 10 /* argument */
  2418. #define OCI_PTYPE_LIST 11 /* list */
  2419. #define OCI_PTYPE_TYPE_ATTR 12 /* user-defined type's attribute */
  2420. #define OCI_PTYPE_TYPE_COLL 13 /* collection type's element */
  2421. #define OCI_PTYPE_TYPE_METHOD 14 /* user-defined type's method */
  2422. #define OCI_PTYPE_TYPE_ARG 15 /* user-defined type method's arg */
  2423. #define OCI_PTYPE_TYPE_RESULT 16/* user-defined type method's result */
  2424. #define OCI_PTYPE_SCHEMA 17 /* schema */
  2425. #define OCI_PTYPE_DATABASE 18 /* database */
  2426. #define OCI_PTYPE_RULE 19 /* rule */
  2427. #define OCI_PTYPE_RULE_SET 20 /* rule set */
  2428. #define OCI_PTYPE_EVALUATION_CONTEXT 21 /* evaluation context */
  2429. #define OCI_PTYPE_TABLE_ALIAS 22 /* table alias */
  2430. #define OCI_PTYPE_VARIABLE_TYPE 23 /* variable type */
  2431. #define OCI_PTYPE_NAME_VALUE 24 /* name value pair */
  2432. /*---------------------------------------------------------------------------*/
  2433. /*----------------------------- OCI List Types ------------------------------*/
  2434. #define OCI_LTYPE_UNK 0 /* unknown */
  2435. #define OCI_LTYPE_COLUMN 1 /* column list */
  2436. #define OCI_LTYPE_ARG_PROC 2 /* procedure argument list */
  2437. #define OCI_LTYPE_ARG_FUNC 3 /* function argument list */
  2438. #define OCI_LTYPE_SUBPRG 4 /* subprogram list */
  2439. #define OCI_LTYPE_TYPE_ATTR 5 /* type attribute */
  2440. #define OCI_LTYPE_TYPE_METHOD 6 /* type method */
  2441. #define OCI_LTYPE_TYPE_ARG_PROC 7 /* type method w/o result argument list */
  2442. #define OCI_LTYPE_TYPE_ARG_FUNC 8 /* type method w/result argument list */
  2443. #define OCI_LTYPE_SCH_OBJ 9 /* schema object list */
  2444. #define OCI_LTYPE_DB_SCH 10 /* database schema list */
  2445. #define OCI_LTYPE_TYPE_SUBTYPE 11 /* subtype list */
  2446. #define OCI_LTYPE_TABLE_ALIAS 12 /* table alias list */
  2447. #define OCI_LTYPE_VARIABLE_TYPE 13 /* variable type list */
  2448. #define OCI_LTYPE_NAME_VALUE 14 /* name value list */
  2449. /*---------------------------------------------------------------------------*/
  2450. /*-------------------------- Memory Cartridge Services ---------------------*/
  2451. #define OCI_MEMORY_CLEARED 1
  2452. /*-------------------------- Pickler Cartridge Services ---------------------*/
  2453. typedef struct OCIPicklerTdsCtx OCIPicklerTdsCtx;
  2454. typedef struct OCIPicklerTds OCIPicklerTds;
  2455. typedef struct OCIPicklerImage OCIPicklerImage;
  2456. typedef struct OCIPicklerFdo OCIPicklerFdo;
  2457. typedef ub4 OCIPicklerTdsElement;
  2458. typedef struct OCIAnyData OCIAnyData;
  2459. typedef struct OCIAnyDataSet OCIAnyDataSet;
  2460. typedef struct OCIAnyDataCtx OCIAnyDataCtx;
  2461. /*---------------------------------------------------------------------------*/
  2462. /*--------------------------- User Callback Constants -----------------------*/
  2463. #define OCI_UCBTYPE_ENTRY 1 /* entry callback */
  2464. #define OCI_UCBTYPE_EXIT 2 /* exit callback */
  2465. #define OCI_UCBTYPE_REPLACE 3 /* replacement callback */
  2466. /*---------------------------------------------------------------------------*/
  2467. /*--------------------- NLS service type and constance ----------------------*/
  2468. #define OCI_NLS_DAYNAME1 1 /* Native name for Monday */
  2469. #define OCI_NLS_DAYNAME2 2 /* Native name for Tuesday */
  2470. #define OCI_NLS_DAYNAME3 3 /* Native name for Wednesday */
  2471. #define OCI_NLS_DAYNAME4 4 /* Native name for Thursday */
  2472. #define OCI_NLS_DAYNAME5 5 /* Native name for Friday */
  2473. #define OCI_NLS_DAYNAME6 6 /* Native name for for Saturday */
  2474. #define OCI_NLS_DAYNAME7 7 /* Native name for for Sunday */
  2475. #define OCI_NLS_ABDAYNAME1 8 /* Native abbreviated name for Monday */
  2476. #define OCI_NLS_ABDAYNAME2 9 /* Native abbreviated name for Tuesday */
  2477. #define OCI_NLS_ABDAYNAME3 10 /* Native abbreviated name for Wednesday */
  2478. #define OCI_NLS_ABDAYNAME4 11 /* Native abbreviated name for Thursday */
  2479. #define OCI_NLS_ABDAYNAME5 12 /* Native abbreviated name for Friday */
  2480. #define OCI_NLS_ABDAYNAME6 13 /* Native abbreviated name for for Saturday */
  2481. #define OCI_NLS_ABDAYNAME7 14 /* Native abbreviated name for for Sunday */
  2482. #define OCI_NLS_MONTHNAME1 15 /* Native name for January */
  2483. #define OCI_NLS_MONTHNAME2 16 /* Native name for February */
  2484. #define OCI_NLS_MONTHNAME3 17 /* Native name for March */
  2485. #define OCI_NLS_MONTHNAME4 18 /* Native name for April */
  2486. #define OCI_NLS_MONTHNAME5 19 /* Native name for May */
  2487. #define OCI_NLS_MONTHNAME6 20 /* Native name for June */
  2488. #define OCI_NLS_MONTHNAME7 21 /* Native name for July */
  2489. #define OCI_NLS_MONTHNAME8 22 /* Native name for August */
  2490. #define OCI_NLS_MONTHNAME9 23 /* Native name for September */
  2491. #define OCI_NLS_MONTHNAME10 24 /* Native name for October */
  2492. #define OCI_NLS_MONTHNAME11 25 /* Native name for November */
  2493. #define OCI_NLS_MONTHNAME12 26 /* Native name for December */
  2494. #define OCI_NLS_ABMONTHNAME1 27 /* Native abbreviated name for January */
  2495. #define OCI_NLS_ABMONTHNAME2 28 /* Native abbreviated name for February */
  2496. #define OCI_NLS_ABMONTHNAME3 29 /* Native abbreviated name for March */
  2497. #define OCI_NLS_ABMONTHNAME4 30 /* Native abbreviated name for April */
  2498. #define OCI_NLS_ABMONTHNAME5 31 /* Native abbreviated name for May */
  2499. #define OCI_NLS_ABMONTHNAME6 32 /* Native abbreviated name for June */
  2500. #define OCI_NLS_ABMONTHNAME7 33 /* Native abbreviated name for July */
  2501. #define OCI_NLS_ABMONTHNAME8 34 /* Native abbreviated name for August */
  2502. #define OCI_NLS_ABMONTHNAME9 35 /* Native abbreviated name for September */
  2503. #define OCI_NLS_ABMONTHNAME10 36 /* Native abbreviated name for October */
  2504. #define OCI_NLS_ABMONTHNAME11 37 /* Native abbreviated name for November */
  2505. #define OCI_NLS_ABMONTHNAME12 38 /* Native abbreviated name for December */
  2506. #define OCI_NLS_YES 39 /* Native string for affirmative response */
  2507. #define OCI_NLS_NO 40 /* Native negative response */
  2508. #define OCI_NLS_AM 41 /* Native equivalent string of AM */
  2509. #define OCI_NLS_PM 42 /* Native equivalent string of PM */
  2510. #define OCI_NLS_AD 43 /* Native equivalent string of AD */
  2511. #define OCI_NLS_BC 44 /* Native equivalent string of BC */
  2512. #define OCI_NLS_DECIMAL 45 /* decimal character */
  2513. #define OCI_NLS_GROUP 46 /* group separator */
  2514. #define OCI_NLS_DEBIT 47 /* Native symbol of debit */
  2515. #define OCI_NLS_CREDIT 48 /* Native sumbol of credit */
  2516. #define OCI_NLS_DATEFORMAT 49 /* Oracle date format */
  2517. #define OCI_NLS_INT_CURRENCY 50 /* International currency symbol */
  2518. #define OCI_NLS_LOC_CURRENCY 51 /* Locale currency symbol */
  2519. #define OCI_NLS_LANGUAGE 52 /* Language name */
  2520. #define OCI_NLS_ABLANGUAGE 53 /* Abbreviation for language name */
  2521. #define OCI_NLS_TERRITORY 54 /* Territory name */
  2522. #define OCI_NLS_CHARACTER_SET 55 /* Character set name */
  2523. #define OCI_NLS_LINGUISTIC_NAME 56 /* Linguistic name */
  2524. #define OCI_NLS_CALENDAR 57 /* Calendar name */
  2525. #define OCI_NLS_DUAL_CURRENCY 78 /* Dual currency symbol */
  2526. #define OCI_NLS_WRITINGDIR 79 /* Language writing direction */
  2527. #define OCI_NLS_ABTERRITORY 80 /* Territory Abbreviation */
  2528. #define OCI_NLS_DDATEFORMAT 81 /* Oracle default date format */
  2529. #define OCI_NLS_DTIMEFORMAT 82 /* Oracle default time format */
  2530. #define OCI_NLS_SFDATEFORMAT 83 /* Local string formatted date format */
  2531. #define OCI_NLS_SFTIMEFORMAT 84 /* Local string formatted time format */
  2532. #define OCI_NLS_NUMGROUPING 85 /* Number grouping fields */
  2533. #define OCI_NLS_LISTSEP 86 /* List separator */
  2534. #define OCI_NLS_MONDECIMAL 87 /* Monetary decimal character */
  2535. #define OCI_NLS_MONGROUP 88 /* Monetary group separator */
  2536. #define OCI_NLS_MONGROUPING 89 /* Monetary grouping fields */
  2537. #define OCI_NLS_INT_CURRENCYSEP 90 /* International currency separator */
  2538. #define OCI_NLS_CHARSET_MAXBYTESZ 91 /* Maximum character byte size */
  2539. #define OCI_NLS_CHARSET_FIXEDWIDTH 92 /* Fixed-width charset byte size */
  2540. #define OCI_NLS_CHARSET_ID 93 /* Character set id */
  2541. #define OCI_NLS_NCHARSET_ID 94 /* NCharacter set id */
  2542. #define OCI_NLS_MAXBUFSZ 100 /* Max buffer size may need for OCINlsGetInfo */
  2543. #define OCI_NLS_BINARY 0x1 /* for the binary comparison */
  2544. #define OCI_NLS_LINGUISTIC 0x2 /* for linguistic comparison */
  2545. #define OCI_NLS_CASE_INSENSITIVE 0x10 /* for case-insensitive comparison */
  2546. #define OCI_NLS_UPPERCASE 0x20 /* convert to uppercase */
  2547. #define OCI_NLS_LOWERCASE 0x40 /* convert to lowercase */
  2548. #define OCI_NLS_CS_IANA_TO_ORA 0 /* Map charset name from IANA to Oracle */
  2549. #define OCI_NLS_CS_ORA_TO_IANA 1 /* Map charset name from Oracle to IANA */
  2550. #define OCI_NLS_LANG_ISO_TO_ORA 2 /* Map language name from ISO to Oracle */
  2551. #define OCI_NLS_LANG_ORA_TO_ISO 3 /* Map language name from Oracle to ISO */
  2552. #define OCI_NLS_TERR_ISO_TO_ORA 4 /* Map territory name from ISO to Oracle*/
  2553. #define OCI_NLS_TERR_ORA_TO_ISO 5 /* Map territory name from Oracle to ISO*/
  2554. #define OCI_NLS_TERR_ISO3_TO_ORA 6 /* Map territory name from 3-letter ISO */
  2555. /* abbreviation to Oracle */
  2556. #define OCI_NLS_TERR_ORA_TO_ISO3 7 /* Map territory name from Oracle to */
  2557. /* 3-letter ISO abbreviation */
  2558. #define OCI_NLS_LOCALE_A2_ISO_TO_ORA 8
  2559. /*Map locale name from A2 ISO to oracle*/
  2560. #define OCI_NLS_LOCALE_A2_ORA_TO_ISO 9
  2561. /*Map locale name from oracle to A2 ISO*/
  2562. typedef struct OCIMsg OCIMsg;
  2563. typedef ub4 OCIWchar;
  2564. #define OCI_XMLTYPE_CREATE_OCISTRING 1
  2565. #define OCI_XMLTYPE_CREATE_CLOB 2
  2566. #define OCI_XMLTYPE_CREATE_BLOB 3
  2567. /*------------------------- Kerber Authentication Modes ---------------------*/
  2568. #define OCI_KERBCRED_PROXY 1 /* Apply Kerberos Creds for Proxy */
  2569. #define OCI_KERBCRED_CLIENT_IDENTIFIER 2/*Apply Creds for Secure Client ID */
  2570. /*------------------------- Database Startup Flags --------------------------*/
  2571. #define OCI_DBSTARTUPFLAG_FORCE 0x00000001 /* Abort running instance, start */
  2572. #define OCI_DBSTARTUPFLAG_RESTRICT 0x00000002 /* Restrict access to DBA */
  2573. /*------------------------- Database Shutdown Modes -------------------------*/
  2574. #define OCI_DBSHUTDOWN_TRANSACTIONAL 1 /* Wait for all the transactions */
  2575. #define OCI_DBSHUTDOWN_TRANSACTIONAL_LOCAL 2 /* Wait for local transactions */
  2576. #define OCI_DBSHUTDOWN_IMMEDIATE 3 /* Terminate and roll back */
  2577. #define OCI_DBSHUTDOWN_ABORT 4 /* Terminate and don't roll back */
  2578. #define OCI_DBSHUTDOWN_FINAL 5 /* Orderly shutdown */
  2579. /*------------------------- Version information -----------------------------*/
  2580. #define OCI_MAJOR_VERSION 11 /* Major release version */
  2581. #define OCI_MINOR_VERSION 2 /* Minor release version */
  2582. /*---------------------- OCIIOV structure definitions -----------------------*/
  2583. struct OCIIOV
  2584. {
  2585. void *bfp; /* The Pointer to the data buffer */
  2586. ub4 bfl; /* Length of the Data Buffer */
  2587. };
  2588. typedef struct OCIIOV OCIIOV;
  2589. /*---------------------------------------------------------------------------
  2590. PRIVATE TYPES AND CONSTANTS
  2591. ---------------------------------------------------------------------------*/
  2592. /* None */
  2593. /*---------------------------------------------------------------------------
  2594. PUBLIC FUNCTIONS
  2595. ---------------------------------------------------------------------------*/
  2596. /* see ociap.h or ocikp.h */
  2597. /*---------------------------------------------------------------------------
  2598. PRIVATE FUNCTIONS
  2599. ---------------------------------------------------------------------------*/
  2600. /* None */
  2601. #endif /* OCI_ORACLE */
  2602. /* more includes */
  2603. #ifndef OCI1_ORACLE
  2604. #include <oci1.h>
  2605. #endif
  2606. #ifndef ORO_ORACLE
  2607. #include <oro.h>
  2608. #endif
  2609. #ifndef ORI_ORACLE
  2610. #include <ori.h>
  2611. #endif
  2612. #ifndef ORL_ORACLE
  2613. #include <orl.h>
  2614. #endif
  2615. #ifndef ORT_ORACLE
  2616. #include <ort.h>
  2617. #endif
  2618. #ifndef OCIEXTP_ORACLE
  2619. #include <ociextp.h>
  2620. #endif
  2621. #include <ociapr.h>
  2622. #include <ociap.h>
  2623. #ifndef OCIXMLDB_ORACLE
  2624. #include <ocixmldb.h>
  2625. #endif
  2626. #ifndef OCI8DP_ORACLE
  2627. #include <oci8dp.h> /* interface definitions for the direct path api */
  2628. #endif
  2629. #ifndef OCIEXTP_ORACLE
  2630. #include <ociextp.h>
  2631. #endif
  2632. #ifndef OCIXSTREAM_ORACLE
  2633. #include <ocixstream.h>
  2634. #endif
  2635. #ifdef __cplusplus
  2636. }
  2637. #endif /* __cplusplus */