• Main Page
  • Modules
  • Data Structures
  • Files
  • File List

D:/Perso/dev/ocilib/ocilib/src/ocilib_internal.h

00001 /*
00002     +-----------------------------------------------------------------------------------------+
00003     |                                                                                         |
00004     |                               OCILIB - C Driver for Oracle                              |
00005     |                                                                                         |
00006     |                                (C Wrapper for Oracle OCI)                               |
00007     |                                                                                         |
00008     |                              Website : http://www.ocilib.net                            |
00009     |                                                                                         |
00010     |             Copyright (c) 2007-2010 Vincent ROGIER <vince.rogier@ocilib.net>            |
00011     |                                                                                         |
00012     +-----------------------------------------------------------------------------------------+
00013     |                                                                                         |
00014     |             This library is free software; you can redistribute it and/or               |
00015     |             modify it under the terms of the GNU Lesser General Public                  |
00016     |             License as published by the Free Software Foundation; either                |
00017     |             version 2 of the License, or (at your option) any later version.            |
00018     |                                                                                         |
00019     |             This library is distributed in the hope that it will be useful,             |
00020     |             but WITHOUT ANY WARRANTY; without even the implied warranty of              |
00021     |             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU           |
00022     |             Lesser General Public License for more details.                             |
00023     |                                                                                         |
00024     |             You should have received a copy of the GNU Lesser General Public            |
00025     |             License along with this library; if not, write to the Free                  |
00026     |             Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.          |
00027     |                                                                                         |
00028     +-----------------------------------------------------------------------------------------+
00029 */
00030 
00031 /* --------------------------------------------------------------------------------------------- *
00032  * $Id: ocilib_internal.h, v 3.8.0 2010-10-24 21:53 Vincent Rogier $
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                          PRIVATE FUNCTIONS PROTOTYPES
00048  * ********************************************************************************************* */
00049 
00050 /* --------------------------------------------------------------------------------------------- *
00051  * agent.c
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  * array.c
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  * bind.c
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  * callback.c
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  * collection.c
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  * column.c
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  * connection.c
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  * date.c
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  * define.c
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  * element.c
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  * error.c
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  * event.c
00356  * --------------------------------------------------------------------------------------------- */
00357 
00358 boolean OCI_EventReset
00359 (
00360     OCI_Event *event
00361 );
00362 
00363 /* --------------------------------------------------------------------------------------------- *
00364  * exception.c
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  * file.c
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  * format.c
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  * hash.c
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  * interval.c
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  * library.c
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  * list.c
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  * lob.c
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  * long.c
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  * memory.c
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  * mutex.c
00765  * --------------------------------------------------------------------------------------------- */
00766 
00767 OCI_Mutex * OCI_MutexCreateInternal
00768 (
00769     void
00770 );
00771 
00772 /* --------------------------------------------------------------------------------------------- *
00773  * number.c
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  * object.c
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  * pool.c
00890  * --------------------------------------------------------------------------------------------- */
00891 
00892 boolean OCI_PoolClose
00893 (
00894     OCI_Pool *pool
00895 );
00896 
00897 /* --------------------------------------------------------------------------------------------- *
00898  * ref.c
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  * resultset.c
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  * statement.c
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  * string.c
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  * subscription.c
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  * thread.c
01218  * --------------------------------------------------------------------------------------------- */
01219 
01220 void OCI_ThreadProc
01221 (
01222     dvoid *arg
01223 );
01224 
01225 /* --------------------------------------------------------------------------------------------- *
01226  * threadkey.c
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  * timestamp.c
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  * transaction.c
01265  * --------------------------------------------------------------------------------------------- */
01266 
01267 boolean OCI_TransactionClose
01268 (
01269     OCI_Transaction * trans
01270 );
01271 
01272 /* --------------------------------------------------------------------------------------------- *
01273  * typeinf.c
01274  * --------------------------------------------------------------------------------------------- */
01275 
01276 boolean OCI_TypeInfoClose
01277 (
01278     OCI_TypeInfo *typeinf
01279 );
01280 
01281 #ifdef  __cplusplus
01282 }
01283 #endif
01284 
01285 #endif    /* OCILIB_COMMON_FUNCTIONS_H_INCLUDED */
01286 

Generated on Sun Oct 24 2010 22:02:55 for OCILIB (C Driver for Oracle) by  doxygen 1.7.1