00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OCILIB_OCILIB_INTERNAL_H_INCLUDED
00036 #define OCILIB_OCILIB_INTERNAL_H_INCLUDED
00037
00038 #include "ocilib_types.h"
00039 #include "ocilib_checks.h"
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 OCI_Agent * OCI_AgentInit
00055 (
00056 OCI_Connection *con,
00057 OCI_Agent **pagent,
00058 OCIAQAgent *handle,
00059 const mtext *name,
00060 const mtext *address
00061 );
00062
00063
00064
00065
00066
00067 boolean OCI_ArrayInit
00068 (
00069 OCI_Array *arr,
00070 OCI_TypeInfo *typinf
00071 );
00072
00073 boolean OCI_ArrayCleanup
00074 (
00075 OCI_Array *arr
00076 );
00077
00078 OCI_Array * OCI_ArrayCreate
00079 (
00080 OCI_Connection *con,
00081 unsigned int nb_elem,
00082 unsigned int elem_type,
00083 unsigned int elem_subtype,
00084 unsigned int elem_size,
00085 unsigned int struct_size,
00086 unsigned int handle_type,
00087 OCI_TypeInfo *typinf
00088 );
00089
00090 boolean OCI_ArrayClose
00091 (
00092 OCI_Array *arr
00093 );
00094
00095 boolean OCI_ArrayFreeFromHandles
00096 (
00097 void ** handles
00098 );
00099
00100 void * OCI_ArrayGetOCIHandlesFromHandles
00101 (
00102 void ** handles
00103 );
00104
00105
00106
00107
00108
00109 boolean OCI_BindFree
00110 (
00111 OCI_Bind *bnd
00112 );
00113
00114 boolean OCI_BindAllocData
00115 (
00116 OCI_Bind *bnd
00117 );
00118
00119
00120
00121
00122
00123 sb4 OCI_ProcInBind
00124 (
00125 dvoid *ictxp,
00126 OCIBind *bindp,
00127 ub4 iter,
00128 ub4 index,
00129 dvoid **bufpp,
00130 ub4 *alenp,
00131 ub1 *piecep,
00132 dvoid **indp
00133 );
00134
00135 sb4 OCI_ProcOutBind
00136 (
00137 dvoid *octxp,
00138 OCIBind *bindp,
00139 ub4 iter,
00140 ub4 index,
00141 dvoid **bufpp,
00142 ub4 **alenp,
00143 ub1 *piecep,
00144 void **indp,
00145 ub2 **rcodep
00146 );
00147
00148 ub4 OCI_ProcNotify
00149 (
00150 void *ctx,
00151 OCISubscription *subscrhp,
00152 void *payload,
00153 ub4 paylen,
00154 void *desc,
00155 ub4 mode
00156 );
00157
00158
00159
00160
00161
00162 OCI_Coll * OCI_CollInit
00163 (
00164 OCI_Connection *con,
00165 OCI_Coll **pcoll,
00166 void *handle,
00167 OCI_TypeInfo *typeinf
00168 );
00169
00170
00171
00172
00173
00174 boolean OCI_ColumnMap
00175 (
00176 OCI_Column *col,
00177 OCI_Statement *stmt
00178 );
00179
00180 boolean OCI_ColumnDescribe
00181 (
00182 OCI_Column *col,
00183 OCI_Connection *con,
00184 OCI_Statement *stmt,
00185 void *handle,
00186 int index,
00187 int ptype
00188 );
00189
00190
00191
00192
00193
00194 OCI_Connection * OCI_ConnectionAllocate
00195 (
00196 OCI_Pool *pool,
00197 const mtext *db,
00198 const mtext *user,
00199 const mtext *pwd,
00200 unsigned int mode
00201 );
00202
00203 boolean OCI_ConnectionDeallocate
00204 (
00205 OCI_Connection *con
00206 );
00207
00208 boolean OCI_ConnectionAttach
00209 (
00210 OCI_Connection *con
00211 );
00212
00213 boolean OCI_ConnectionLogon
00214 (
00215 OCI_Connection *con,
00216 const mtext *password,
00217 const mtext *tag
00218 );
00219
00220 boolean OCI_ConnectionDetach
00221 (
00222 OCI_Connection *con
00223 );
00224
00225 boolean OCI_ConnectionLogOff
00226 (
00227 OCI_Connection *con
00228 );
00229
00230 boolean OCI_ConnectionClose
00231 (
00232 OCI_Connection *con
00233 );
00234
00235
00236
00237
00238
00239 OCI_Date * OCI_DateInit
00240 (
00241 OCI_Connection *con,
00242 OCI_Date **pdate,
00243 OCIDate *buffer,
00244 boolean allocate,
00245 boolean ansi
00246 );
00247
00248
00249
00250
00251
00252 OCI_Define * OCI_GetDefine
00253 (
00254 OCI_Resultset *rs,
00255 unsigned int index
00256 );
00257
00258 int OCI_GetDefineIndex
00259 (
00260 OCI_Resultset *rs,
00261 const mtext *name
00262 );
00263
00264 boolean OCI_DefineGetNumber
00265 (
00266 OCI_Resultset *rs,
00267 unsigned int index,
00268 void *value,
00269 uword type,
00270 uword size
00271 );
00272
00273 boolean OCI_DefineAlloc
00274 (
00275 OCI_Define *def
00276 );
00277
00278 boolean OCI_DefineDef
00279 (
00280 OCI_Define *def
00281 );
00282
00283 void * OCI_DefineGetData
00284 (
00285 OCI_Define *def
00286 );
00287
00288 boolean OCI_DefineRequestBuffer
00289 (
00290 OCI_Define *def,
00291 unsigned int size
00292 );
00293
00294
00295
00296
00297
00298 boolean OCI_ElemGetNumber
00299 (
00300 OCI_Elem *elem,
00301 void *value,
00302 uword size,
00303 uword flag
00304 );
00305
00306 boolean OCI_ElemSetNumber
00307 (
00308 OCI_Elem *elem,
00309 void *value,
00310 uword size,
00311 uword flag
00312 );
00313
00314 OCI_Elem * OCI_ElemInit
00315 (
00316 OCI_Connection *con,
00317 OCI_Elem **pelem,
00318 void *handle,
00319 OCIInd *pind,
00320 OCI_TypeInfo *typeinf
00321 );
00322
00323 boolean OCI_ElemSetNullIndicator
00324 (
00325 OCI_Elem *elem,
00326 OCIInd value
00327 );
00328
00329
00330
00331
00332
00333 void OCI_ErrorFree
00334 (
00335 OCI_Error *err
00336 );
00337
00338 void OCI_ErrorReset
00339 (
00340 OCI_Error *err
00341 );
00342
00343 OCI_Error * OCI_ErrorGet
00344 (
00345 boolean check,
00346 boolean warning
00347 );
00348
00349 OCI_Error * OCI_ErrorCreate
00350 (
00351 void
00352 );
00353
00354
00355
00356
00357
00358 boolean OCI_EventReset
00359 (
00360 OCI_Event *event
00361 );
00362
00363
00364
00365
00366
00367 OCI_Error * OCI_ExceptionGetError
00368 (
00369 boolean warning
00370 );
00371
00372 void OCI_ExceptionRaise
00373 (
00374 OCI_Error *err
00375 );
00376
00377 void OCI_ExceptionOCI
00378 (
00379 OCIError *p_err,
00380 OCI_Connection *con,
00381 OCI_Statement *stmt,
00382 boolean warning
00383 );
00384
00385 void OCI_ExceptionMemory
00386 (
00387 int type,
00388 size_t nb_bytes,
00389 OCI_Connection *con,
00390 OCI_Statement *stmt
00391 );
00392
00393 void OCI_ExceptionNotAvailable
00394 (
00395 OCI_Connection *con,
00396 int feature
00397 );
00398
00399 void OCI_ExceptionNullPointer
00400 (
00401 int type
00402 );
00403
00404 void OCI_ExceptionDatatypeNotSupported
00405 (
00406 OCI_Connection *con,
00407 OCI_Statement *stmt,
00408 int code
00409 );
00410
00411 void OCI_ExceptionParsingToken
00412 (
00413 OCI_Connection *con,
00414 OCI_Statement *stmt,
00415 mtext token
00416 );
00417
00418 void OCI_ExceptionMappingArgument
00419 (
00420 OCI_Connection *con,
00421 OCI_Statement *stmt,
00422 int arg
00423 );
00424
00425 void OCI_ExceptionNotInitialized
00426 (
00427 void
00428 );
00429
00430 void OCI_ExceptionLoadingSharedLib
00431 (
00432 void
00433 );
00434
00435 void OCI_ExceptionLoadingSymbols
00436 (
00437 void
00438 );
00439
00440 void OCI_ExceptionNotMultithreaded
00441 (
00442 void
00443 );
00444
00445 void OCI_ExceptionOutOfBounds
00446 (
00447 OCI_Connection *con,
00448 int value
00449 );
00450
00451 void OCI_ExceptionUnfreedData
00452 (
00453 int type_elem,
00454 int nb_elem
00455 );
00456
00457 void OCI_ExceptionMaxBind
00458 (
00459 OCI_Statement *stmt
00460 );
00461
00462 void OCI_ExceptionAttributeNotFound
00463 (
00464 OCI_Connection *con,
00465 const mtext *attr
00466 );
00467
00468 void OCI_ExceptionMinimumValue
00469 (
00470 OCI_Connection *con,
00471 OCI_Statement *stmt,
00472 int min
00473 );
00474
00475 void OCI_ExceptionTypeNotCompatible
00476 (
00477 OCI_Connection *con
00478 );
00479
00480 void OCI_ExceptionStatementState
00481 (
00482 OCI_Statement *stmt,
00483 int state
00484 );
00485
00486 void OCI_ExceptionStatementNotScrollable
00487 (
00488 OCI_Statement *stmt
00489 );
00490
00491 void OCI_ExceptionBindAlreadyUsed
00492 (
00493 OCI_Statement *stmt,
00494 const mtext * bind
00495 );
00496
00497 void OCI_ExceptionBindArraySize
00498 (
00499 OCI_Statement *stmt,
00500 unsigned int maxsize,
00501 unsigned int cursize,
00502 unsigned int newsize
00503 );
00504
00505 void OCI_ExceptionDirPathColNotFound
00506 (
00507 OCI_DirPath *dp,
00508 const mtext * column,
00509 const mtext *table
00510 );
00511
00512 void OCI_ExceptionDirPathState
00513 (
00514 OCI_DirPath *dp,
00515 int state
00516 );
00517
00518 void OCI_ExceptionOCIEnvironment
00519 (
00520 void
00521 );
00522
00523
00524
00525
00526
00527 OCI_File * OCI_FileInit
00528 (
00529 OCI_Connection *con,
00530 OCI_File **pfile,
00531 OCILobLocator *handle,
00532 ub4 type
00533 );
00534
00535 boolean OCI_FileGetInfo
00536 (
00537 OCI_File *file
00538 );
00539
00540
00541
00542
00543
00544 int OCI_ParseSqlFmt
00545 (
00546 OCI_Statement *stmt,
00547 mtext *buffer,
00548 const mtext *format,
00549 va_list *pargs
00550 );
00551
00552
00553
00554
00555
00556 unsigned int OCI_HashCompute
00557 (
00558 OCI_HashTable *table,
00559 const mtext *str
00560 );
00561
00562 boolean OCI_HashAdd
00563 (
00564 OCI_HashTable *table,
00565 const mtext *key,
00566 OCI_Variant value,
00567 unsigned int type
00568 );
00569
00570
00571
00572
00573
00574 OCI_Interval * OCI_IntervalInit
00575 (
00576 OCI_Connection *con,
00577 OCI_Interval **pitv,
00578 OCIInterval *buffer,
00579 ub4 type
00580 );
00581
00582
00583
00584
00585
00586 void OCI_SetLastError
00587 (
00588 OCI_Error err
00589 );
00590
00591 void OCI_SetStatus
00592 (
00593 boolean res
00594 );
00595
00596 boolean OCI_KeyMapFree
00597 (
00598 void
00599 );
00600
00601
00602
00603
00604
00605 OCI_List * OCI_ListCreate
00606 (
00607 int type
00608 );
00609
00610 boolean OCI_ListFree
00611 (
00612 OCI_List *list
00613 );
00614
00615 OCI_Item * OCI_ListCreateItem
00616 (
00617 int type,
00618 int size
00619 );
00620
00621 OCI_Item * OCI_ListAppend
00622 (
00623 OCI_List *list,
00624 int size
00625 );
00626
00627 boolean OCI_ListClear
00628 (
00629 OCI_List *list
00630 );
00631
00632 typedef boolean (*POCI_LIST_FOR_EACH)(void *ptr);
00633
00634 boolean OCI_ListForEach
00635 (
00636 OCI_List *list,
00637 POCI_LIST_FOR_EACH proc
00638 );
00639
00640 boolean OCI_ListRemove
00641 (
00642 OCI_List *list,
00643 void *data
00644 );
00645
00646
00647
00648
00649
00650 OCI_Lob * OCI_LobInit
00651 (
00652 OCI_Connection *con,
00653 OCI_Lob **plob,
00654 OCILobLocator *handle,
00655 ub4 type
00656 );
00657
00658
00659
00660
00661
00662 OCI_Long * OCI_LongInit
00663 (
00664 OCI_Statement *stmt,
00665 OCI_Long **plg,
00666 OCI_Define *def,
00667 unsigned int type
00668 );
00669
00670
00671
00672
00673
00674 void * OCI_MemAlloc
00675 (
00676 int ptr_type,
00677 size_t block_size,
00678 size_t block_count,
00679 boolean zero_fill
00680 );
00681
00682 void * OCI_MemRealloc
00683 (
00684 void * ptr_mem,
00685 int ptr_type,
00686 size_t block_size,
00687 size_t block_count
00688 );
00689
00690 void OCI_MemFree
00691 (
00692 void * ptr_mem
00693 );
00694
00695 sword OCI_HandleAlloc
00696 (
00697 CONST dvoid *parenth,
00698 dvoid **hndlpp,
00699 CONST ub4 type,
00700 CONST size_t xtramem_sz,
00701 dvoid **usrmempp
00702 );
00703
00704 sword OCI_HandleFree
00705 (
00706 dvoid *hndlp,
00707 CONST ub4 type
00708 );
00709
00710 sword OCI_DescriptorAlloc
00711 (
00712 CONST dvoid *parenth,
00713 dvoid **descpp,
00714 CONST ub4 type,
00715 CONST size_t xtramem_sz,
00716 dvoid **usrmempp
00717 );
00718
00719 sword OCI_DescriptorArrayAlloc
00720 (
00721 CONST dvoid *parenth,
00722 dvoid **descpp,
00723 CONST ub4 type,
00724 ub4 nb_elem,
00725 CONST size_t xtramem_sz,
00726 dvoid **usrmempp
00727 );
00728
00729 sword OCI_DescriptorFree
00730 (
00731 void *descp,
00732 CONST ub4 type
00733 );
00734
00735 sword OCI_DescriptorArrayFree
00736 (
00737 void **descp,
00738 CONST ub4 type,
00739 ub4 nb_elem
00740 );
00741
00742 sword OCI_ObjectNew
00743 (
00744 OCIEnv *env,
00745 OCIError *err,
00746 CONST OCISvcCtx *svc,
00747 OCITypeCode typecode,
00748 OCIType *tdo,
00749 dvoid *table,
00750 OCIDuration duration,
00751 boolean value,
00752 dvoid **instance
00753 );
00754
00755 sword OCI_OCIObjectFree
00756 (
00757 OCIEnv *env,
00758 OCIError *err,
00759 dvoid *instance,
00760 ub2 flags
00761 );
00762
00763
00764
00765
00766
00767 OCI_Mutex * OCI_MutexCreateInternal
00768 (
00769 void
00770 );
00771
00772
00773
00774
00775
00776 boolean OCI_NumberGet
00777 (
00778 OCI_Connection *con,
00779 OCINumber *data,
00780 void *value,
00781 uword size,
00782 uword flag
00783 )
00784 ;
00785
00786 boolean OCI_NumberSet
00787 (
00788 OCI_Connection *con,
00789 OCINumber *data,
00790 void *value,
00791 uword size,
00792 uword flag
00793 );
00794
00795 boolean OCI_NumberConvertStr
00796 (
00797 OCI_Connection *con,
00798 OCINumber *num,
00799 const dtext *str,
00800 int str_size,
00801 const mtext * fmt,
00802 ub4 fmt_size
00803 );
00804
00805 boolean OCI_NumberGetFromStr
00806 (
00807 OCI_Connection *con,
00808 void *value,
00809 uword size,
00810 uword type,
00811 const dtext *str,
00812 int str_size,
00813 const mtext * fmt,
00814 ub4 fmt_size
00815 );
00816
00817
00818
00819
00820
00821 boolean OCI_ObjectGetAttrInfo
00822 (
00823 OCI_TypeInfo *typinf,
00824 int index,
00825 size_t *p_size,
00826 int *p_type
00827 );
00828
00829 size_t OCI_ObjectGetStructSize
00830 (
00831 OCI_TypeInfo *typinf
00832 );
00833
00834 ub2 OCI_ObjectGetIndOffset
00835 (
00836 OCI_TypeInfo *typinf,
00837 int index
00838 );
00839
00840 OCI_Object * OCI_ObjectInit
00841 (
00842 OCI_Connection *con,
00843 OCI_Object **pobj,
00844 void *handle,
00845 OCI_TypeInfo *typinf,
00846 OCI_Object *parent,
00847 int index,
00848 boolean reset
00849 );
00850
00851 void OCI_ObjectReset
00852 (
00853 OCI_Object *obj
00854 );
00855
00856 int OCI_ObjectGetAttrIndex
00857 (
00858 OCI_Object *obj,
00859 const mtext *attr,
00860 int type
00861 );
00862
00863 void * OCI_ObjectGetAttr
00864 (
00865 OCI_Object *obj,
00866 unsigned int index,
00867 OCIInd **pind
00868 );
00869
00870 boolean OCI_ObjectSetNumber
00871 (
00872 OCI_Object *obj,
00873 const mtext *attr,
00874 void *value,
00875 uword size,
00876 uword flag
00877 );
00878
00879 boolean OCI_ObjectGetNumber
00880 (
00881 OCI_Object *obj,
00882 const mtext *attr,
00883 void *value,
00884 uword size,
00885 uword flag
00886 );
00887
00888
00889
00890
00891
00892 boolean OCI_PoolClose
00893 (
00894 OCI_Pool *pool
00895 );
00896
00897
00898
00899
00900
00901 OCI_Ref * OCI_RefInit
00902 (
00903 OCI_Connection *con,
00904 OCI_TypeInfo *typeinf,
00905 OCI_Ref **pref,
00906 void *handle
00907 );
00908
00909 boolean OCI_RefPin
00910 (
00911 OCI_Ref *ref
00912 );
00913
00914 boolean OCI_RefUnpin
00915 (
00916 OCI_Ref *ref
00917 );
00918
00919
00920
00921
00922
00923 OCI_Resultset * OCI_ResultsetCreate
00924 (
00925 OCI_Statement *stmt,
00926 int size
00927 );
00928
00929 boolean OCI_ResultsetInit
00930 (
00931 OCI_Resultset *rs
00932 );
00933
00934 boolean OCI_ResultsetFree
00935 (
00936 OCI_Resultset *rs
00937 );
00938
00939 boolean OCI_FetchPieces
00940 (
00941 OCI_Resultset *rs
00942 );
00943
00944 boolean OCI_FetchData
00945 (
00946 OCI_Resultset *rs,
00947 int mode,
00948 int offset,
00949 boolean *err
00950 );
00951
00952 boolean OCI_FetchCustom
00953 (
00954 OCI_Resultset *rs,
00955 int mode,
00956 int offset,
00957 boolean *err
00958 );
00959
00960 #ifdef OCI_CHECK_DATASTRINGS
00961
00962 boolean OCI_ResultsetExpandStrings
00963 (
00964 OCI_Resultset *rs
00965 );
00966
00967 #endif
00968
00969 size_t OCI_ResultsetGetStructSize
00970 (
00971 OCI_Resultset *rs
00972 );
00973
00974 size_t OCI_ResultsetGetAttrSize
00975 (
00976 OCI_Resultset *rs,
00977 unsigned int index
00978 );
00979
00980
00981
00982
00983
00984 boolean OCI_BindFreeAll
00985 (
00986 OCI_Statement *stmt
00987 );
00988
00989 boolean OCI_BindCheck
00990 (
00991 OCI_Statement *stmt
00992 );
00993
00994 boolean OCI_BindReset
00995 (
00996 OCI_Statement *stmt
00997 );
00998
00999 boolean OCI_BindData
01000 (
01001 OCI_Statement *stmt,
01002 void *data,
01003 ub4 size,
01004 const mtext *name,
01005 ub1 type,
01006 unsigned int code,
01007 unsigned int mode,
01008 unsigned int subtype,
01009 OCI_TypeInfo *typinf,
01010 unsigned int nbelem
01011 );
01012
01013 int OCI_BindGetIndex
01014 (
01015 OCI_Statement *stmt,
01016 const mtext *name
01017 );
01018
01019 boolean OCI_FetchIntoUserVariables
01020 (
01021 OCI_Statement *stmt,
01022 va_list args
01023 );
01024
01025 boolean OCI_StatementReset
01026 (
01027 OCI_Statement *stmt
01028 );
01029
01030 boolean OCI_StatementClose
01031 (
01032 OCI_Statement *stmt
01033 );
01034
01035 OCI_Statement * OCI_StatementInit
01036 (
01037 OCI_Connection *con,
01038 OCI_Statement **pstmt,
01039 OCIStmt *handle,
01040 OCI_Define *def
01041 );
01042
01043 boolean OCI_BatchErrorClear
01044 (
01045 OCI_Statement *stmt
01046 );
01047
01048 boolean OCI_BatchErrorInit
01049 (
01050 OCI_Statement *stmt
01051 );
01052
01053 boolean OCI_API OCI_ExecuteInternal
01054 (
01055 OCI_Statement *stmt,
01056 ub4 mode
01057 );
01058
01059
01060
01061
01062
01063 int OCI_StringCopy4to2bytes
01064 (
01065 const unsigned int* src,
01066 size_t src_size,
01067 unsigned short * dst,
01068 size_t dst_size
01069 );
01070
01071 int OCI_StringCopy2to4bytes
01072 (
01073 const unsigned short* src,
01074 size_t src_size,
01075 unsigned int * dst,
01076 size_t dst_size
01077 );
01078
01079 void * OCI_GetInputString
01080 (
01081 void *src,
01082 int *size,
01083 size_t size_char_in,
01084 size_t size_char_out
01085 );
01086
01087 void OCI_GetOutputString
01088 (
01089 void *src,
01090 void *dest,
01091 int *size,
01092 size_t size_char_in,
01093 size_t size_char_out
01094 );
01095
01096 void OCI_MoveString
01097 (
01098 void *src,
01099 void *dst,
01100 int char_count,
01101 size_t size_char_in,
01102 size_t size_char_out
01103 );
01104
01105 void OCI_ConvertString
01106 (
01107 void *str,
01108 int char_count,
01109 size_t size_char_in,
01110 size_t size_char_out
01111 );
01112
01113 void OCI_CopyString
01114 (
01115 void *src,
01116 void *dest,
01117 int *size,
01118 size_t size_char_in,
01119 size_t size_char_out
01120 );
01121
01122 void OCI_ReleaseMetaString
01123 (
01124 void *ptr
01125 );
01126
01127 void OCI_ReleaseDataString
01128 (
01129 void *ptr
01130 );
01131
01132 size_t OCI_StringLength
01133 (
01134 void *ptr,
01135 size_t size_elem
01136 );
01137
01138 int OCI_StringUTF8Length
01139 (
01140 const char *str
01141 );
01142
01143 #define OCI_GetInputMetaString(s, n) OCI_GetInputString((void *) s, n, \
01144 sizeof(mtext), \
01145 sizeof(omtext))
01146
01147 #define OCI_GetOutputMetaString(s, d, n) OCI_GetOutputString((void *) s, d, n, \
01148 sizeof(omtext), \
01149 sizeof(mtext))
01150
01151 #define OCI_GetInputDataString(s, n) OCI_GetInputString((void *) s, n, \
01152 sizeof(dtext), \
01153 sizeof(odtext))
01154
01155 #define OCI_GetOutputDataString(s, d, n) OCI_GetOutputString((void *) s, d, n, \
01156 sizeof(odtext), \
01157 sizeof(dtext))
01158
01159 #define OCI_GetDataFromMetaString(s, n) OCI_GetInputString((void *) s, n, \
01160 sizeof(mtext), \
01161 sizeof(dtext))
01162
01163 #define OCI_GetMetaFromDataString(s, n) OCI_GetInputString((void *) s, n, \
01164 sizeof(dtext), \
01165 sizeof(mtext))
01166
01167 void * OCI_StringFromStringPtr
01168 (
01169 OCIString *str,
01170 void ** buf,
01171 int *buflen
01172 );
01173
01174 boolean OCI_StringToStringPtr
01175 (
01176 OCIString **str,
01177 OCIError *err,
01178 void *value,
01179 void **buf,
01180 int *buflen
01181 );
01182
01183 boolean OCI_StringGetFromAttrHandle
01184 (
01185 OCI_Connection *con,
01186 void *handle,
01187 unsigned int type,
01188 unsigned int attr,
01189 mtext **str
01190 );
01191
01192 boolean OCI_StringSetToAttrHandle
01193 (
01194 OCI_Connection *con,
01195 void *handle,
01196 unsigned int type,
01197 unsigned int attr,
01198 mtext **str,
01199 const mtext *value
01200 );
01201
01202
01203
01204
01205
01206 boolean OCI_SubscriptionClose
01207 (
01208 OCI_Subscription *sub
01209 );
01210
01211 boolean OCI_SubscriptionDetachConnection
01212 (
01213 OCI_Connection *con
01214 );
01215
01216
01217
01218
01219
01220 void OCI_ThreadProc
01221 (
01222 dvoid *arg
01223 );
01224
01225
01226
01227
01228
01229 OCI_ThreadKey * OCI_ThreadKeyCreateInternal
01230 (
01231 POCI_THREADKEYDEST destfunc
01232 );
01233
01234 boolean OCI_ThreadKeyFree
01235 (
01236 OCI_ThreadKey *key
01237 );
01238
01239 boolean OCI_ThreadKeySet
01240 (
01241 OCI_ThreadKey *key,
01242 void *value
01243 );
01244
01245 boolean OCI_ThreadKeyGet
01246 (
01247 OCI_ThreadKey* key,
01248 void **value
01249 );
01250
01251
01252
01253
01254
01255 OCI_Timestamp * OCI_TimestampInit
01256 (
01257 OCI_Connection *con,
01258 OCI_Timestamp **ptmsp,
01259 OCIDateTime *buffer,
01260 ub4 type
01261 );
01262
01263
01264
01265
01266
01267 boolean OCI_TransactionClose
01268 (
01269 OCI_Transaction * trans
01270 );
01271
01272
01273
01274
01275
01276 boolean OCI_TypeInfoClose
01277 (
01278 OCI_TypeInfo *typeinf
01279 );
01280
01281 #ifdef __cplusplus
01282 }
01283 #endif
01284
01285 #endif
01286