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
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 #ifndef OCILIB_OCI_API_H_INCLUDED
00056 #define OCILIB_OCI_API_H_INCLUDED
00057
00058 #include "oci_defs.h"
00059
00060
00061
00062
00063
00064
00065
00066 typedef sword (*OCIENVCREATE)
00067 (
00068 OCIEnv **envhpp,
00069 ub4 mode,
00070 void *ctxp,
00071 void *(*malocfp)(void *ctxp, size_t size),
00072 void *(*ralocfp)(void *ctxp, void *memptr, size_t newsize),
00073 void (*mfreefp)
00074 (
00075 void *ctxp,
00076 void *memptr
00077 ),
00078 size_t xtramem_sz,
00079 void **usrmempp
00080 );
00081
00082 typedef sword (*OCIHANDLEALLOC)
00083 (
00084 const void *parenth,
00085 void **hndlpp,
00086 const ub4 type,
00087 const size_t xtramem_sz,
00088 void **usrmempp
00089 );
00090
00091 typedef sword (*OCIHANDLEFREE)
00092 (
00093 void *hndlp,
00094 const ub4 type
00095 );
00096
00097 typedef sword (*OCIDESCRIPTORALLOC)
00098 (
00099 const void *parenth,
00100 void **descpp,
00101 const ub4 type,
00102 const size_t xtramem_sz,
00103 void **usrmempp
00104 );
00105
00106 typedef sword (*OCIDESCRIPTORFREE)
00107 (
00108 void *descp,
00109 const ub4 type
00110 );
00111
00112 typedef sword (*OCIENVINIT)
00113 (
00114 OCIEnv **envp,
00115 ub4 mode,
00116 size_t xtramem_sz,
00117 void **usrmempp
00118 );
00119
00120 typedef sword (*OCISERVERATTACH)
00121 (
00122 OCIServer *srvhp,
00123 OCIError *errhp,
00124 const OraText *dblink,
00125 sb4 dblink_len,
00126 ub4 mode
00127 );
00128
00129 typedef sword (*OCISERVERDETACH)
00130 (
00131 OCIServer *srvhp,
00132 OCIError *errhp,
00133 ub4 mode
00134 );
00135
00136 typedef sword (*OCISESSIONBEGIN)
00137 (
00138 OCISvcCtx *svchp,
00139 OCIError *errhp,
00140 OCISession *usrhp,
00141 ub4 credt,
00142 ub4 mode
00143 );
00144
00145 typedef sword (*OCISESSIONEND)
00146 (
00147 OCISvcCtx *svchp,
00148 OCIError *errhp,
00149 OCISession *usrhp,
00150 ub4 mode
00151 );
00152
00153 typedef sword (*OCIPASSWORDCHANGE)
00154 (
00155 OCISvcCtx *svchp,
00156 OCIError *errhp,
00157 CONST OraText *user_name,
00158 ub4 usernm_len,
00159 CONST OraText *opasswd,
00160 ub4 opasswd_len,
00161 CONST OraText *npasswd,
00162 ub4 npasswd_len,
00163 ub4 mode
00164 );
00165
00166 typedef sword (*OCISTMTPREPARE)
00167 (
00168 OCIStmt *stmtp,
00169 OCIError *errhp,
00170 const OraText *stmt,
00171 ub4 stmt_len,
00172 ub4 language,
00173 ub4 mode
00174 );
00175
00176 typedef sword (*OCIBINDBYPOS)
00177 (
00178 OCIStmt *stmtp,
00179 OCIBind **bindp,
00180 OCIError *errhp,
00181 ub4 position,
00182 void *valuep,
00183 sb4 value_sz,
00184 ub2 dty,
00185 void *indp,
00186 ub2 *alenp,
00187 ub2 *rcodep,
00188 ub4 maxarr_len,
00189 ub4 *curelep,
00190 ub4 mode
00191 );
00192
00193 typedef sword (*OCIBINDBYNAME)
00194 (
00195 OCIStmt *stmtp,
00196 OCIBind **bindp,
00197 OCIError *errhp,
00198 const OraText *placeholder,
00199 sb4 placeh_len,
00200 void *valuep,
00201 sb4 value_sz,
00202 ub2 dty,
00203 void *indp,
00204 ub2 *alenp,
00205 ub2 *rcodep,
00206 ub4 maxarr_len,
00207 ub4 *curelep,
00208 ub4 mode
00209 );
00210
00211 typedef sword (*OCIBINDDYNAMIC)
00212 (
00213 OCIBind *bindp,
00214 OCIError *errhp,
00215 dvoid *ictxp,
00216 sb4 (*icbfp)
00217 (
00218 dvoid *ictxp,
00219 OCIBind *bindp,
00220 ub4 iter,
00221 ub4 index,
00222 dvoid **bufpp,
00223 ub4 *alenp,
00224 ub1 *piecep,
00225 dvoid **indp
00226 ),
00227 dvoid *octxp,
00228 sb4 (*ocbfp)
00229 (
00230 dvoid *octxp,
00231 OCIBind *bindp,
00232 ub4 iter,
00233 ub4 index,
00234 dvoid **bufpp,
00235 ub4 **alenp,
00236 ub1 *piecep,
00237 dvoid **indp,
00238 ub2 **rcodep
00239 )
00240 );
00241
00242 typedef sword (*OCIBINDOBJECT)
00243 (
00244 OCIBind *bindp,
00245 OCIError *errhp,
00246 CONST OCIType *type,
00247 dvoid **pgvpp,
00248 ub4 *pvszsp,
00249 dvoid **indpp,
00250 ub4 *indszp
00251 );
00252
00253 typedef sword (*OCISTMTGETPIECEINFO)
00254 (
00255 OCIStmt *stmtp,
00256 OCIError *errhp,
00257 void **hndlpp,
00258 ub4 *typep,
00259 ub1 *in_outp,
00260 ub4 *iterp,
00261 ub4 *idxp,
00262 ub1 *piecep
00263 );
00264
00265 typedef sword (*OCISTMTSETPIECEINFO)
00266 (
00267 void *hndlp,
00268 ub4 type,
00269 OCIError *errhp,
00270 const void *bufp,
00271 ub4 *alenp,
00272 ub1 piece,
00273 const void *indp,
00274 ub2 *rcodep
00275 );
00276
00277 typedef sword (*OCISTMTEXECUTE)
00278 (
00279 OCISvcCtx *svchp,
00280 OCIStmt *stmtp,
00281 OCIError *errhp,
00282 ub4 iters,
00283 ub4 rowoff,
00284 const OCISnapshot *snap_in,
00285 OCISnapshot *snap_out,
00286 ub4 mode
00287 );
00288
00289 typedef sword (*OCIDEFINEBYPOS)
00290 (
00291 OCIStmt *stmtp,
00292 OCIDefine **defnp,
00293 OCIError *errhp,
00294 ub4 position,
00295 void *valuep,
00296 sb4 value_sz,
00297 ub2 dty,
00298 void *indp,
00299 ub2 *rlenp,
00300 ub2 *rcodep,
00301 ub4 mode
00302 );
00303
00304 typedef sword (*OCIDEFINEOBJECT)
00305 (
00306 OCIDefine *defnp,
00307 OCIError *errhp,
00308 CONST OCIType *type,
00309 dvoid **pgvpp,
00310 ub4 *pvszsp,
00311 dvoid **indpp,
00312 ub4 *indszp
00313 );
00314
00315 typedef sword (*OCISTMTFETCH )
00316 (
00317 OCIStmt *stmtp,
00318 OCIError *errhp,
00319 ub4 nrows,
00320 ub2 orientation,
00321 ub4 mode
00322 );
00323
00324 typedef sword (*OCIPARAMGET)
00325 (
00326 const void *hndlp,
00327 ub4 htype,
00328 OCIError *errhp,
00329 void **parmdpp,
00330 ub4 pos
00331 );
00332
00333 typedef sword (*OCIPARAMSET)
00334 (
00335 void *hdlp,
00336 ub4 htyp,
00337 OCIError *errhp,
00338 const void *dscp,
00339 ub4 dtyp,
00340 ub4 pos
00341 );
00342
00343 typedef sword (*OCITRANSSTART)
00344 (
00345 OCISvcCtx *svchp,
00346 OCIError *errhp,
00347 uword timeout,
00348 ub4 flags
00349 );
00350
00351 typedef sword (*OCITRANSDETACH)
00352 (
00353 OCISvcCtx *svchp,
00354 OCIError *errhp,
00355 ub4 flags
00356 );
00357
00358 typedef sword (*OCITRANSPREPARE)
00359 (
00360 OCISvcCtx *svchp,
00361 OCIError *errhp,
00362 ub4 flags
00363 );
00364
00365 typedef sword (*OCITRANSFORGET)
00366 (
00367 OCISvcCtx *svchp,
00368 OCIError *errhp,
00369 ub4 flags
00370 );
00371
00372 typedef sword (*OCITRANSCOMMIT)
00373 (
00374 OCISvcCtx *svchp,
00375 OCIError *errhp,
00376 ub4 flags
00377 );
00378
00379 typedef sword (*OCITRANSROLLBACK)
00380 (
00381 OCISvcCtx *svchp,
00382 OCIError *errhp,
00383 ub4 flags
00384 );
00385
00386 typedef sword (*OCIERRORGET)
00387 (
00388 void *hndlp,
00389 ub4 recordno,
00390 OraText *sqlstate,
00391 sb4 *errcodep,
00392 OraText *bufp,
00393 ub4 bufsiz,
00394 ub4 type
00395 );
00396
00397 typedef sword (*OCILOBCREATETEMPORARY)
00398 (
00399 OCISvcCtx *svchp,
00400 OCIError *errhp,
00401 OCILobLocator *locp,
00402 ub2 csid,
00403 ub1 csfrm,
00404 ub1 lobtype,
00405 boolean cache,
00406 OCIDuration duration
00407 );
00408
00409 typedef sword (*OCILOBFREETEMPORARY)
00410 (
00411 OCISvcCtx *svchp,
00412 OCIError *errhp,
00413 OCILobLocator *locp
00414 );
00415
00416 typedef sword (*OCILOBISTEMPORARY)
00417 (
00418 OCIEnv *envp,
00419 OCIError *errhp,
00420 OCILobLocator *locp,
00421 boolean *is_temporary
00422 );
00423
00424 typedef sword (*OCILOBAPPEND)
00425 (
00426 OCISvcCtx *svchp,
00427 OCIError *errhp,
00428 OCILobLocator *dst_locp,
00429 OCILobLocator *src_locp
00430 );
00431
00432 typedef sword (*OCILOBCOPY)
00433 (
00434 OCISvcCtx *svchp,
00435 OCIError *errhp,
00436 OCILobLocator *dst_locp,
00437 OCILobLocator *src_locp,
00438 ub4 amount,
00439 ub4 dst_offset,
00440 ub4 src_offset
00441 );
00442
00443 typedef sword (*OCILOBREAD)
00444 (
00445 OCISvcCtx *svchp,
00446 OCIError *errhp,
00447 OCILobLocator *locp,
00448 ub4 *amtp,
00449 ub4 offset,
00450 void *bufp,
00451 ub4 bufl,
00452 void *ctxp,
00453 sb4 (*cbfp)
00454 (
00455 void *ctxp,
00456 const void *bufp,
00457 ub4 len,
00458 ub1 piece
00459 ),
00460 ub2 csid,
00461 ub1 csfrm
00462 );
00463
00464 typedef sword (*OCILOBTRIM)
00465 (
00466 OCISvcCtx *svchp,
00467 OCIError *errhp,
00468 OCILobLocator *locp,
00469 ub4 newlen
00470 );
00471
00472 typedef sword (*OCILOBERASE)
00473 (
00474 OCISvcCtx *svchp,
00475 OCIError *errhp,
00476 OCILobLocator *locp,
00477 ub4 *amount,
00478 ub4 offset
00479 );
00480
00481 typedef sword (*OCILOBWRITE)
00482 (
00483 OCISvcCtx *svchp,
00484 OCIError *errhp,
00485 OCILobLocator *locp,
00486 ub4 *amtp,
00487 ub4 offset,
00488 void *bufp,
00489 ub4 buflen,
00490 ub1 piece,
00491 void *ctxp,
00492 sb4 (*cbfp)
00493 (
00494 void *ctxp,
00495 void *bufp,
00496 ub4 *len,
00497 ub1 *piece
00498 ),
00499 ub2 csid,
00500 ub1 csfrm
00501 );
00502
00503 typedef sword (*OCILOBGETLENGTH)
00504 (
00505 OCISvcCtx *svchp,
00506 OCIError *errhp,
00507 OCILobLocator *locp,
00508 ub4 *lenp
00509 );
00510
00511 typedef sword (*OCILOBGETCHUNKSIZE)
00512 (
00513 OCISvcCtx *svchp,
00514 OCIError *errhp,
00515 OCILobLocator *locp,
00516 ub4 *chunksizep
00517 );
00518
00519 typedef sword (*OCILOBOPEN)
00520 (
00521 OCISvcCtx *svchp,
00522 OCIError *errhp,
00523 OCILobLocator *locp,
00524 ub1 mode
00525 );
00526
00527 typedef sword (*OCILOBCLOSE)
00528 (
00529 OCISvcCtx *svchp,
00530 OCIError *errhp,
00531 OCILobLocator *locp
00532 );
00533
00534 typedef sword (*OCILOBLOCATORASSIGN)
00535 (
00536 OCISvcCtx *svchp,
00537 OCIError *errhp,
00538 CONST OCILobLocator *src_locp,
00539 OCILobLocator **dst_locpp
00540 );
00541
00542 typedef sword (*OCILOBASSIGN)
00543 (
00544 OCIEnv *envhp,
00545 OCIError *errhp,
00546 CONST OCILobLocator *src_locp,
00547 OCILobLocator **dst_locpp
00548 );
00549
00550 typedef sword (*OCILOBENABLEBUFFERING)
00551 (
00552 OCISvcCtx *svchp,
00553 OCIError *errhp,
00554 OCILobLocator *locp
00555 );
00556
00557 typedef sword (*OCILOBDISABLEBUFFERING)
00558 (
00559 OCISvcCtx *svchp,
00560 OCIError *errhp,
00561 OCILobLocator *locp
00562 );
00563
00564 typedef sword (*OCILOBFILEOPEN)
00565 (
00566 OCISvcCtx *svchp,
00567 OCIError *errhp,
00568 OCILobLocator *filep,
00569 ub1 mode
00570 );
00571
00572 typedef sword (*OCILOBFILECLOSE)
00573 (
00574 OCISvcCtx *svchp,
00575 OCIError *errhp,
00576 OCILobLocator *filep
00577 );
00578
00579 typedef sword (*OCILOBFILECLOSEALL)
00580 (
00581 OCISvcCtx *svchp,
00582 OCIError *errhp
00583 );
00584
00585 typedef sword (*OCILOBFILEISOPEN)
00586 (
00587 OCISvcCtx *svchp,
00588 OCIError *errhp,
00589 OCILobLocator *filep,
00590 boolean *flag
00591 );
00592
00593 typedef sword (*OCILOBFILEEXISTS)
00594 (
00595 OCISvcCtx *svchp,
00596 OCIError *errhp,
00597 OCILobLocator *filep,
00598 boolean *flag
00599 );
00600
00601 typedef sword (*OCILOBFIELGETNAME)
00602 (
00603 OCIEnv *envhp,
00604 OCIError *errhp,
00605 CONST OCILobLocator *filep,
00606 OraText *dir_alias,
00607 ub2 *d_length,
00608 OraText *filename,
00609 ub2 *f_length
00610 );
00611
00612 typedef sword (*OCILOBFILESETNAME)
00613 (
00614 OCIEnv *envhp,
00615 OCIError *errhp,
00616 OCILobLocator **filepp,
00617 CONST OraText *dir_alias,
00618 ub2 d_length,
00619 CONST OraText *filename,
00620 ub2 f_length
00621 );
00622
00623 typedef sword (*OCILOBLOADFROMFILE)
00624 (
00625 OCISvcCtx *svchp,
00626 OCIError *errhp,
00627 OCILobLocator *dst_locp,
00628 OCILobLocator *src_filep,
00629 ub4 amount,
00630 ub4 dst_offset,
00631 ub4 src_offset
00632 );
00633
00634 typedef sword (*OCILOBWRITEAPPEND)
00635 (
00636 OCISvcCtx *svchp,
00637 OCIError *errhp,
00638 OCILobLocator *lobp,
00639 ub4 *amtp,
00640 dvoid *bufp,
00641 ub4 bufl,
00642 ub1 piece,
00643 dvoid *ctxp,
00644 sb4 (*cbfp)
00645 (
00646 void *ctxp,
00647 void *bufp,
00648 ub4 *len,
00649 ub1 *piece
00650 ),
00651 ub2 csid,
00652 ub1 csfrm
00653 );
00654
00655 typedef sword (*OCILOBISEQUAL)
00656 (
00657 OCIEnv *envhp,
00658 CONST OCILobLocator *x,
00659 CONST OCILobLocator *y,
00660 boolean *is_equal
00661 );
00662
00663 typedef sword (*OCILOBFLUSHBUFFER)
00664 (
00665 OCISvcCtx *svchp,
00666 OCIError *errhp,
00667 OCILobLocator *locp,
00668 ub4 flag
00669 );
00670
00671 typedef sword (*OCISERVERVERSION)
00672 (
00673 void *hndlp,
00674 OCIError *errhp,
00675 OraText *bufp,
00676 ub4 bufsz,
00677 ub1 hndltype
00678 );
00679
00680 typedef sword (*OCIBREAK)
00681 (
00682 dvoid *hndlp,
00683 OCIError *errhp
00684 );
00685
00686 typedef sword (*OCIATTRGET)
00687 (
00688 const void *trgthndlp,
00689 ub4 trghndltyp,
00690 void *attributep,
00691 ub4 *sizep,
00692 ub4 attrtype,
00693 OCIError *errhp
00694 );
00695
00696 typedef sword (*OCIATTRSET)
00697 (
00698 void *trgthndlp,
00699 ub4 trghndltyp,
00700 void *attributep,
00701 ub4 size,
00702 ub4 attrtype,
00703 OCIError *errhp
00704 );
00705
00706 typedef sword (*OCIDATEASSIGN)
00707 (
00708 OCIError *err,
00709 CONST OCIDate *from,
00710 OCIDate *to
00711 );
00712
00713 typedef sword (*OCIDATETOTEXT)
00714 (
00715 OCIError *err,
00716 CONST OCIDate *date,
00717 CONST text *fmt,
00718 ub1 fmt_length,
00719 CONST text *lang_name,
00720 ub4 lang_length,
00721 ub4 *buf_size,
00722 text *buf
00723 );
00724
00725 typedef sword (*OCIDATEFROMTEXT)
00726 (
00727 OCIError *err,
00728 CONST text *date_str,
00729 ub4 d_str_length,
00730 CONST text *fmt,
00731 ub1 fmt_length,
00732 CONST text *lang_name,
00733 ub4 lang_length,
00734 OCIDate *date
00735 );
00736
00737 typedef sword (*OCIDATECOMPARE)
00738 (
00739 OCIError *err,
00740 CONST OCIDate *date1,
00741 CONST OCIDate *date2,
00742 sword *result
00743 );
00744
00745 typedef sword (*OCIDATEADDMONTHS)
00746 (
00747 OCIError *err,
00748 CONST OCIDate *date,
00749 sb4 num_months,
00750 OCIDate *result
00751 );
00752
00753 typedef sword (*OCIDATEADDDAYS)
00754 (
00755 OCIError *err,
00756 CONST OCIDate *date,
00757 sb4 num_days,
00758 OCIDate *result
00759 );
00760
00761 typedef sword (*OCIDATELASTDAY)
00762 (
00763 OCIError *err,
00764 CONST OCIDate *date,
00765 OCIDate *last_day
00766 );
00767
00768 typedef sword (*OCIDATEDAYSBETWEEN)
00769 (
00770 OCIError *err,
00771 CONST OCIDate *date1,
00772 CONST OCIDate *date2,
00773 sb4 *num_days
00774 );
00775
00776 typedef sword (*OCIDATEZONETOZONE)
00777 (
00778 OCIError *err,
00779 CONST OCIDate *date1,
00780 CONST text *zon1,
00781 ub4 zon1_length,
00782 CONST text *zon2,
00783 ub4 zon2_length,
00784 OCIDate *date2
00785 );
00786
00787 typedef sword (*OCIDATENEXTDAY)
00788 (
00789 OCIError *err,
00790 CONST OCIDate *date,
00791 CONST text *day_p,
00792 ub4 day_length,
00793 OCIDate *next_day
00794 );
00795
00796 typedef sword (*OCIDATECHECK)
00797 (
00798 OCIError *err,
00799 CONST OCIDate *date,
00800 uword *valid
00801 );
00802
00803 typedef sword (*OCIDATESYSDATE)
00804 (
00805 OCIError *err,
00806 OCIDate *sys_date
00807 );
00808
00809 typedef sword (*OCIDESCRIBEANY)
00810 (
00811 OCISvcCtx *svchp,
00812 OCIError *errhp,
00813 dvoid *objptr,
00814 ub4 objnm_len,
00815 ub1 objptr_typ,
00816 ub1 info_level,
00817 ub1 objtyp,
00818 OCIDescribe *dschp
00819 );
00820
00821 typedef sword (*OCIINTERVALASSIGN)
00822 (
00823 dvoid *hndl,
00824 OCIError *err,
00825 CONST OCIInterval *inpinter,
00826 OCIInterval *outinter
00827 );
00828
00829 typedef sword (*OCIINTERVALCHECK)
00830 (
00831 dvoid *hndl,
00832 OCIError *err,
00833 CONST OCIInterval *interval,
00834 ub4 *valid
00835 );
00836
00837 typedef sword (*OCIINTERVALCOMPARE)
00838 (
00839 dvoid *hndl,
00840 OCIError *err,
00841 OCIInterval *inter1,
00842 OCIInterval *inter2,
00843 sword *result
00844 );
00845
00846 typedef sword (*OCIINTERVALTOTEXT)
00847 (
00848 dvoid *hndl,
00849 OCIError *err,
00850 CONST OCIInterval *interval,
00851 ub1 lfprec,
00852 ub1 fsprec,
00853 OraText *buffer,
00854 size_t buflen,
00855 size_t *resultlen
00856 );
00857
00858 typedef sword (*OCIINTERVALFROMTEXT)
00859 (
00860 dvoid *hndl,
00861 OCIError *err,
00862 CONST OraText *inpstring,
00863 size_t str_len,
00864 OCIInterval *result
00865 );
00866
00867 typedef sword (*OCIINTERVALFROMTZ)
00868 (
00869 dvoid *hndl,
00870 OCIError *err,
00871 CONST oratext *inpstring,
00872 size_t str_len,
00873 OCIInterval *result
00874 ) ;
00875
00876 typedef sword (*OCIINTERVALGETDAYSECOND)
00877 (
00878 dvoid *hndl,
00879 OCIError *err,
00880 sb4 *dy,
00881 sb4 *hr,
00882 sb4 *mm,
00883 sb4 *ss,
00884 sb4 *fsec,
00885 CONST OCIInterval *interval
00886 );
00887
00888 typedef sword (*OCIINTERVALGETYEARMONTH)
00889 (
00890 dvoid *hndl,
00891 OCIError *err,
00892 sb4 *yr,
00893 sb4 *mnth,
00894 CONST OCIInterval *interval
00895 );
00896
00897 typedef sword (*OCIINTERVALSETDAYSECOND)
00898 (
00899 dvoid *hndl,
00900 OCIError *err,
00901 sb4 dy,
00902 sb4 hr,
00903 sb4 mm,
00904 sb4 ss,
00905 sb4 fsec,
00906 OCIInterval *result
00907 );
00908
00909 typedef sword (*OCIINTERVALSETYEARMONTH)
00910 (
00911 dvoid *hndl,
00912 OCIError *err,
00913 sb4 yr,
00914 sb4 mnth,
00915 OCIInterval *result
00916 );
00917
00918 typedef sword (*OCIINTERVALADD)
00919 (
00920 dvoid *hndl,
00921 OCIError *err,
00922 OCIInterval *addend1,
00923 OCIInterval *addend2,
00924 OCIInterval *result
00925 );
00926
00927 typedef sword (*OCIINTERVALSUBTRACT)
00928 (
00929 dvoid *hndl,
00930 OCIError *err,
00931 OCIInterval *minuend,
00932 OCIInterval *subtrahend,
00933 OCIInterval *result
00934 );
00935
00936 typedef sword (*OCIDATETIMEASSIGN)
00937 (
00938 dvoid *hndl,
00939 OCIError *err,
00940 CONST OCIDateTime *from,
00941 OCIDateTime *to
00942 );
00943
00944 typedef sword (*OCIDATETIMECHECK)
00945 (
00946 dvoid *hndl,
00947 OCIError *err,
00948 CONST OCIDateTime *date,
00949 ub4 *valid
00950 );
00951
00952 typedef sword (*OCIDATETIMECOMPARE)
00953 (
00954 dvoid *hndl,
00955 OCIError *err,
00956 CONST OCIDateTime *date1,
00957 CONST OCIDateTime *date2,
00958 sword *result
00959 );
00960
00961 typedef sword (*OCIDATETIMECONSTRUCT)
00962 (
00963 dvoid *hndl,
00964 OCIError *err,
00965 OCIDateTime *datetime,
00966 sb2 year,
00967 ub1 month,
00968 ub1 day,
00969 ub1 hour,
00970 ub1 min,
00971 ub1 sec,
00972 ub4 fsec,
00973 OraText *timezone,
00974 size_t timezone_length
00975 );
00976
00977 typedef sword (*OCIDATETIMECONVERT)
00978 (
00979 dvoid *hndl,
00980 OCIError *err,
00981 OCIDateTime *indate,
00982 OCIDateTime *outdate
00983 );
00984
00985 typedef sword (*OCIDATETIMEFROMARRAY)
00986 (
00987 dvoid *hndl,
00988 OCIError *err,
00989 CONST ub1 *inarray,
00990 ub4 *len,
00991 ub1 type,
00992 OCIDateTime *datetime,
00993 CONST OCIInterval *reftz,
00994 ub1 fsprec
00995 );
00996
00997 typedef sword (*OCIDATETIMETOARRAY)
00998 (
00999 dvoid *hndl,
01000 OCIError *err,
01001 CONST OCIDateTime *datetime,
01002 CONST OCIInterval *reftz,
01003 ub1 *outarray,
01004 ub4 *len,
01005 ub1 fsprec
01006 );
01007
01008 typedef sword (*OCIDATETIMEFROMTEXT)
01009 (
01010 dvoid *hndl,
01011 OCIError *err,
01012 CONST OraText *date_str,
01013 size_t dstr_length,
01014 CONST OraText *fmt,
01015 ub1 fmt_length,
01016 CONST OraText *lang_name,
01017 size_t lang_length,
01018 OCIDateTime *datetime
01019 );
01020
01021 typedef sword (*OCIDATETIMETOTEXT)
01022 (
01023 dvoid *hndl,
01024 OCIError *err,
01025 CONST OCIDateTime *date,
01026 CONST OraText *fmt,
01027 ub1 fmt_length,
01028 ub1 fsprec,
01029 CONST OraText *lang_name,
01030 size_t lang_length,
01031 ub4 *buf_size,
01032 OraText *buf
01033 );
01034
01035 typedef sword (*OCIDATETIMEGETDATE)
01036 (
01037 dvoid *hndl,
01038 OCIError *err,
01039 CONST OCIDateTime *datetime,
01040 sb2 *year,
01041 ub1 *month,
01042 ub1 *day
01043 );
01044
01045 typedef sword (*OCIDATETIMEGETTIME)
01046 (
01047 dvoid *hndl,
01048 OCIError *err,
01049 OCIDateTime *datetime,
01050 ub1 *hour,
01051 ub1 *min,
01052 ub1 *sec,
01053 ub4 *fsec
01054 );
01055
01056 typedef sword (*OCIDATETIMEGETTIMEZONENAME)
01057 (
01058 dvoid *hndl,
01059 OCIError *err,
01060 CONST OCIDateTime *datetime,
01061 ub1 *buf,
01062 ub4 *buflen
01063 );
01064
01065 typedef sword (*OCIDATETIMEGETTIMEZONEOFFSET)
01066 (
01067 dvoid *hndl,
01068 OCIError *err,
01069 CONST OCIDateTime *datetime,
01070 sb1 *hour,
01071 sb1 *min
01072 );
01073
01074 typedef sword (*OCIDATETIMEINTERVALADD)
01075 (
01076 dvoid *hndl,
01077 OCIError *err,
01078 OCIDateTime *datetime,
01079 OCIInterval *inter,
01080 OCIDateTime *outdatetime
01081 );
01082
01083 typedef sword (*OCIDATETIMEINTERVALSUB)
01084 (
01085 dvoid *hndl,
01086 OCIError *err,
01087 OCIDateTime *datetime,
01088 OCIInterval *inter,
01089 OCIDateTime *outdatetime
01090 );
01091
01092 typedef sword (*OCIDATETIMESUBTRACT)
01093 (
01094 dvoid *hndl,
01095 OCIError *err,
01096 OCIDateTime *indate1,
01097 OCIDateTime *indate2,
01098 OCIInterval *inter
01099 );
01100
01101 typedef sword (*OCIDATETIMESYSTIMESTAMP)
01102 (
01103 dvoid *hndl,
01104 OCIError *err,
01105 OCIDateTime *sys_date
01106 );
01107
01108 typedef sword (*OCITYPEBYNAME)
01109 (
01110 OCIEnv *env,
01111 OCIError *err,
01112 CONST OCISvcCtx *svc,
01113 CONST text *schema_name,
01114 ub4 s_length,
01115 CONST text *type_name,
01116 ub4 t_length,
01117 CONST text *version_name,
01118 ub4 v_length,
01119 OCIDuration pin_duration,
01120 OCITypeGetOpt get_option,
01121 OCIType **tdo
01122 );
01123
01124 typedef sword (*OCIOBJECTNEW)
01125 (
01126 OCIEnv *env,
01127 OCIError *err,
01128 CONST OCISvcCtx *svc,
01129 OCITypeCode typecode,
01130 OCIType *tdo,
01131 dvoid *table,
01132 OCIDuration duration,
01133 boolean value,
01134 dvoid **instance
01135 );
01136
01137 typedef sword (*OCIOBJECTFREE)
01138 (
01139 OCIEnv *env,
01140 OCIError *err,
01141 dvoid *instance,
01142 ub2 flags
01143 );
01144
01145 typedef sword (*OCIOBJECTGETATTR)
01146 (
01147 OCIEnv *env,
01148 OCIError *err,
01149 dvoid *instance,
01150 dvoid *null_struct,
01151 struct OCIType *tdo,
01152 CONST text **names,
01153 CONST ub4 *lengths,
01154 CONST ub4 name_count,
01155 CONST ub4 *indexes,
01156 CONST ub4 index_count,
01157 OCIInd *attr_null_status,
01158 dvoid **attr_null_struct,
01159 dvoid **attr_value,
01160 struct OCIType **attr_tdo
01161 );
01162
01163 typedef sword (*OCIOBJECTSETATTR)
01164 (
01165 OCIEnv *env,
01166 OCIError *err,
01167 dvoid *instance,
01168 dvoid *null_struct,
01169 struct OCIType *tdo,
01170 CONST text **names,
01171 CONST ub4 *lengths,
01172 CONST ub4 name_count,
01173 CONST ub4 *indexes,
01174 CONST ub4 index_count,
01175 CONST OCIInd null_status,
01176 CONST dvoid *attr_null_struct,
01177 CONST dvoid *attr_value
01178 );
01179
01180 typedef sword (*OCIOBJECTPIN)
01181 (
01182 OCIEnv *env,
01183 OCIError *err,
01184 OCIRef *object_ref,
01185 OCIComplexObject *corhdl,
01186 OCIPinOpt pin_option,
01187 OCIDuration pin_duration,
01188 OCILockOpt lock_option,
01189 dvoid **object
01190 );
01191
01192 typedef sword (*OCIOBJECTUNPIN)
01193 (
01194 OCIEnv *env,
01195 OCIError *err,
01196 dvoid *object
01197 );
01198
01199 typedef sword (*OCIOBJECTCOPY)
01200 (
01201 OCIEnv *env,
01202 OCIError *err,
01203 CONST OCISvcCtx *svc,
01204 dvoid *source,
01205 dvoid *null_source,
01206 dvoid *target,
01207 dvoid *null_target,
01208 OCIType *tdo,
01209 OCIDuration duration,
01210 ub1 option
01211 );
01212
01213 typedef sword (*OCIOBJECTGETOBJECTREF)
01214 (
01215 OCIEnv *env,
01216 OCIError *err,
01217 dvoid *object,
01218 OCIRef *object_ref
01219 );
01220
01221 typedef sword (*OCIOBJECTGETPROPERTY)
01222 (
01223 OCIEnv *envh,
01224 OCIError *errh,
01225 const void *obj,
01226 OCIObjectPropId propertyId,
01227 void *property,
01228 ub4 *size
01229 );
01230
01231 typedef sword (*OCIOBJECTGETIND)
01232 (
01233 OCIEnv *env,
01234 OCIError *err,
01235 dvoid *instance,
01236 dvoid **null_struct
01237 );
01238
01239 typedef sword (*OCIREFASSIGN)
01240 (
01241 OCIEnv *env,
01242 OCIError *err,
01243 CONST OCIRef *source,
01244 OCIRef **target
01245 );
01246
01247 typedef boolean (*OCIREFISNULL)
01248 (
01249 OCIEnv *env,
01250 CONST OCIRef *ref
01251 );
01252
01253 typedef void (*OCIREFCLEAR)
01254 (
01255 OCIEnv *env,
01256 OCIRef *ref
01257 );
01258
01259 typedef sword (*OCIREFTOHEX)
01260 (
01261 OCIEnv *env,
01262 OCIError *err,
01263 CONST OCIRef *ref,
01264 oratext *hex,
01265 ub4 *hex_length
01266 );
01267
01268 typedef ub4 (*OCIREFHEXSIZE)
01269 (
01270 OCIEnv *env,
01271 const OCIRef *ref
01272 );
01273
01274 typedef sword (*OCINUMBERTOINT)
01275 (
01276 OCIError *err,
01277 CONST OCINumber *number,
01278 uword rsl_length,
01279 uword rsl_flag,
01280 dvoid *rsl
01281 );
01282
01283 typedef sword (*OCINUMBERFROMINT)
01284 (
01285 OCIError *err,
01286 CONST dvoid *inum,
01287 uword inum_length,
01288 uword inum_s_flag,
01289 OCINumber *number
01290 );
01291
01292 typedef sword (*OCINUMBERFROMREAL)
01293 (
01294 OCIError *err,
01295 CONST dvoid *rnum,
01296 uword rnum_length,
01297 OCINumber *number
01298 );
01299
01300 typedef sword (*OCINUMBERTOREAL)
01301 (
01302 OCIError *err,
01303 CONST OCINumber *number,
01304 uword rsl_length,
01305 dvoid *rsl
01306 );
01307
01308 typedef sword (*OCINUMBERTOTEXT)
01309 (
01310 OCIError *err,
01311 CONST OCINumber *number,
01312 CONST text *fmt,
01313 ub4 fmt_length,
01314 CONST text *nls_params,
01315 ub4 nls_p_length,
01316 ub4 *buf_size,
01317 text *buf
01318 );
01319
01320 typedef sword (*OCINUMBERFROMTEXT)
01321 (
01322 OCIError *err,
01323 CONST oratext *str,
01324 ub4 str_length,
01325 CONST oratext *fmt,
01326 ub4 fmt_length,
01327 CONST oratext *nls_params,
01328 ub4 nls_p_length,
01329 OCINumber *number
01330 );
01331
01332 typedef oratext * (*OCISTRINGPTR)
01333 (
01334 OCIEnv *env,
01335 CONST OCIString *vs
01336 );
01337
01338 typedef sword (*OCISTRINGASSIGNTEXT)
01339 (
01340 OCIEnv *env,
01341 OCIError *err,
01342 CONST oratext *rhs,
01343 ub4 rhs_len,
01344 OCIString **lhs
01345 );
01346
01347 typedef ub1 * (*OCIRAWPTR)
01348 (
01349 OCIEnv * env,
01350 CONST OCIRaw *raw
01351 );
01352
01353 typedef sword (*OCIRAWASSIGNBYTES)
01354 (
01355 OCIEnv *env,
01356 OCIError *err,
01357 CONST ub1 *rhs,
01358 ub4 rhs_len,
01359 OCIRaw **lhs
01360 );
01361
01362 typedef sword (*OCIRAWALLOCSIZE)
01363 (
01364 OCIEnv *env,
01365 OCIError *err,
01366 CONST OCIRaw *raw,
01367 ub4 *allocsize
01368 );
01369
01370 typedef ub4 (*OCIRAWSIZE)
01371 (
01372 OCIEnv *env,
01373 const OCIRaw *raw
01374 );
01375
01376 typedef sword (*OCICONNECTIONPOOLCREATE)
01377 (
01378 OCIEnv *envhp,
01379 OCIError *errhp,
01380 OCICPool *poolhp,
01381 OraText **poolName,
01382 sb4 *poolNameLen,
01383 CONST OraText *dblink,
01384 sb4 dblinkLen,
01385 ub4 connMin,
01386 ub4 connMax,
01387 ub4 connIncr,
01388 CONST OraText *poolUserName,
01389 sb4 poolUserLen,
01390 CONST OraText *poolPassword,
01391 sb4 poolPassLen,
01392 ub4 mode
01393 );
01394
01395 typedef sword (*OCICONNECTIONPOOLDESTROY)
01396 (
01397 OCICPool *poolhp,
01398 OCIError *errhp,
01399 ub4 mode
01400 );
01401
01402 typedef sword (*OCISESSIONPOOLCREATE)
01403 (
01404 OCIEnv *envhp,
01405 OCIError *errhp,
01406 OCISPool *spoolhp,
01407 OraText **poolName,
01408 ub4 *poolNameLen,
01409 CONST OraText *connStr,
01410 ub4 connStrLen,
01411 ub4 sessMin,
01412 ub4 sessMax,
01413 ub4 sessIncr,
01414 OraText *userid,
01415 ub4 useridLen,
01416 OraText *password,
01417 ub4 passwordLen,
01418 ub4 mode
01419 );
01420
01421 typedef sword (*OCISESSIONPOOLDESTROY)
01422 (
01423 OCISPool *spoolhp,
01424 OCIError *errhp,
01425 ub4 mode
01426 );
01427
01428 typedef sword (*OCISESSIONGET)
01429 (
01430 OCIEnv *envhp,
01431 OCIError *errhp,
01432 OCISvcCtx **svchp,
01433 OCIAuthInfo *authhp,
01434 OraText *poolName,
01435 ub4 poolName_len,
01436 CONST OraText *tagInfo,
01437 ub4 tagInfo_len,
01438 OraText **retTagInfo,
01439 ub4 *retTagInfo_len,
01440 boolean *found,
01441 ub4 mode
01442 );
01443
01444 typedef sword (*OCISESSIONRELEASE)
01445 (
01446 OCISvcCtx *svchp,
01447 OCIError *errhp,
01448 OraText *tag,
01449 ub4 tag_len,
01450 ub4 mode
01451 );
01452
01453 typedef sword (*OCICOLLSIZE)
01454 (
01455 OCIEnv *env,
01456 OCIError *err,
01457 CONST OCIColl *coll,
01458 sb4 *size
01459 );
01460
01461 typedef sb4 (*OCICOLLMAX)
01462 (
01463 OCIEnv *env,
01464 CONST OCIColl *coll
01465 );
01466
01467 typedef sword (*OCICOLLGETITEM)
01468 (
01469 OCIEnv *env,
01470 OCIError *err,
01471 CONST OCIColl *coll,
01472 sb4 index,
01473 boolean *exists,
01474 dvoid **elem,
01475 dvoid **elemind
01476 );
01477
01478 typedef sword (*OCICOLLASSIGNELEM)
01479 (
01480 OCIEnv *env,
01481 OCIError *err,
01482 sb4 index,
01483 CONST dvoid *elem,
01484 CONST dvoid *elemind,
01485 OCIColl *coll
01486 );
01487
01488 typedef sword (*OCICOLLASSIGN)
01489 (
01490 OCIEnv *env,
01491 OCIError *err,
01492 CONST OCIColl *rhs,
01493 OCIColl *lhs
01494 );
01495
01496 typedef sword (*OCICOLLAPPEND)
01497 (
01498 OCIEnv *env,
01499 OCIError *err,
01500 CONST dvoid *elem,
01501 CONST dvoid *elemind,
01502 OCIColl *coll
01503 );
01504
01505 typedef sword (*OCICOLLTRIM)
01506 (
01507 OCIEnv *env,
01508 OCIError *err,
01509 sb4 trim_num,
01510 OCIColl *coll
01511 );
01512
01513 typedef sword (*OCIITERCREATE)
01514 (
01515 OCIEnv *env,
01516 OCIError *err,
01517 CONST OCIColl *coll,
01518 OCIIter **itr
01519 );
01520
01521 typedef sword (*OCIITERDELETE)
01522 (
01523 OCIEnv *env,
01524 OCIError *err,
01525 OCIIter **itr
01526 );
01527
01528 typedef sword (*OCIITERINIT)
01529 (
01530 OCIEnv *env,
01531 OCIError *err,
01532 CONST OCIColl *coll,
01533 OCIIter *itr
01534 );
01535
01536 typedef sword (*OCIITERNEXT)
01537 (
01538 OCIEnv *env,
01539 OCIError *err,
01540 OCIIter *itr,
01541 void **elem,
01542 dvoid **elemind,
01543 boolean *eoc
01544 );
01545
01546 typedef sword (*OCIITERPREV)
01547 (
01548 OCIEnv *env,
01549 OCIError *err,
01550 OCIIter *itr,
01551 dvoid **elem,
01552 dvoid **elemind,
01553 boolean *boc
01554 );
01555
01556 typedef sword (*OCIAQENQ)
01557 (
01558 OCISvcCtx *svchp,
01559 OCIError *errhp,
01560 OraText *queue_name,
01561 OCIAQEnqOptions *enqopt,
01562 OCIAQMsgProperties *msgprop,
01563 OCIType *payload_tdo,
01564 dvoid **payload,
01565 dvoid **payload_ind,
01566 OCIRaw **msgid,
01567 ub4 flags
01568 );
01569
01570 typedef sword (*OCIAQDEQ)
01571 (
01572 OCISvcCtx *svchp,
01573 OCIError *errhp,
01574 OraText *queue_name,
01575 OCIAQDeqOptions *deqopt,
01576 OCIAQMsgProperties *msgprop,
01577 OCIType *payload_tdo,
01578 dvoid **payload,
01579 dvoid **payload_ind,
01580 OCIRaw **msgid,
01581 ub4 flags
01582 );
01583
01584 typedef sword (*OCIAQLISTEN)
01585 (
01586 OCISvcCtx *svchp,
01587 OCIError *errhp,
01588 OCIAQAgent **agent_list,
01589 ub4 num_agents,
01590 sb4 wait,
01591 OCIAQAgent **agent,
01592 ub4 flags
01593 );
01594
01595
01596
01597 typedef void (*OCITHREADPROCESSINIT)
01598 (
01599 );
01600
01601 typedef sword (*OCITHREADINIT)
01602 (
01603 dvoid *hndl,
01604 OCIError *err
01605 );
01606
01607 typedef sword (*OCITHREADTERM)
01608 (
01609 dvoid *hndl,
01610 OCIError *err
01611 );
01612
01613 typedef sword (*OCITHREADIDINIT)
01614 (
01615 dvoid *hndl,
01616 OCIError *err,
01617 OCIThreadId **tid
01618 );
01619
01620 typedef sword (*OCITHREADIDDESTROY)
01621 (
01622 dvoid *hndl,
01623 OCIError *err,
01624 OCIThreadId **tid
01625 );
01626
01627 typedef sword (*OCITHREADHNDINIT)
01628 (
01629 dvoid *hndl,
01630 OCIError *err,
01631 OCIThreadHandle **thnd
01632 );
01633
01634 typedef sword (*OCITHREADHNDDESTROY)
01635 (
01636 dvoid *hndl,
01637 OCIError *err,
01638 OCIThreadHandle **thnd
01639 );
01640
01641 typedef sword (*OCITHREADCREATE)
01642 (
01643 dvoid *hndl,
01644 OCIError *err,
01645 void (*start)
01646 (
01647 dvoid *
01648 ),
01649 dvoid *arg,
01650 OCIThreadId *tid,
01651 OCIThreadHandle *tHnd
01652 );
01653
01654 typedef sword (*OCITHREADJOIN)
01655 (
01656 dvoid *hndl,
01657 OCIError *err,
01658 OCIThreadHandle *tHnd
01659 );
01660
01661 typedef sword (*OCITHREADCLOSE)
01662 (
01663 dvoid *hndl,
01664 OCIError *err,
01665 OCIThreadHandle *tHnd
01666 );
01667
01668 typedef sword (*OCITHREADMUTEXINIT)
01669 (
01670 dvoid *hndl,
01671 OCIError *err,
01672 OCIThreadMutex **mutex
01673 );
01674
01675 typedef sword (*OCITHREADMUTEXDESTROY)
01676 (
01677 dvoid *hndl,
01678 OCIError *err,
01679 OCIThreadMutex **mutex
01680 );
01681
01682 typedef sword (*OCITHREADMUTEXACQUIRE)
01683 (
01684 dvoid *hndl,
01685 OCIError *err,
01686 OCIThreadMutex *mutex
01687 );
01688
01689 typedef sword (*OCITHREADMUTEXRELEASE)
01690 (
01691 dvoid *hndl,
01692 OCIError *err,
01693 OCIThreadMutex *mutex
01694 );
01695
01696 typedef sword (*OCITHREADKEYINIT)
01697 (
01698 dvoid *hndl,
01699 OCIError *err,
01700 OCIThreadKey **key,
01701 void (*destFn)
01702 (
01703 void *
01704 )
01705 );
01706
01707 typedef sword (*OCITHREADKEYDESTROY)
01708 (
01709 dvoid *hndl,
01710 OCIError *err,
01711 OCIThreadKey **key
01712 );
01713
01714 typedef sword (*OCITHREADKEYSET)
01715 (
01716 dvoid *hndl,
01717 OCIError *err,
01718 OCIThreadKey *key,
01719 dvoid **pValue
01720 );
01721
01722 typedef sword (*OCITHREADKEYGET)
01723 (
01724 dvoid *hndl,
01725 OCIError *err,
01726 OCIThreadKey *key,
01727 dvoid *value
01728 );
01729
01730 typedef sword (*OCIDIRPATHABORT)
01731 (
01732 OCIDirPathCtx *dpctx,
01733 OCIError *errhp
01734 );
01735
01736 typedef sword (*OCIDIRPATHDATASAVE)
01737 (
01738 OCIDirPathCtx *dpctx,
01739 OCIError *errhp,
01740 ub4 action
01741 );
01742
01743 typedef sword (*OCIDIRPATHFINISH)
01744 (
01745 OCIDirPathCtx *dpctx,
01746 OCIError *errhp
01747 );
01748
01749 typedef sword (*OCIDIRPATHPREPARE)
01750 (
01751 OCIDirPathCtx *dpctx,
01752 OCISvcCtx *svchp,
01753 OCIError *errhp
01754 );
01755
01756 typedef sword (*OCIDIRPATHLOADSTREAM)
01757 (
01758 OCIDirPathCtx *dpctx,
01759 OCIDirPathStream *dpstr,
01760 OCIError *errhp
01761 );
01762
01763 typedef sword (*OCIDIRPATHCOLARRAYENTRYSET)
01764 (
01765 OCIDirPathColArray *dpca,
01766 OCIError *errhp,
01767 ub4 rownum,
01768 ub2 colIdx,
01769 ub1 *cvalp,
01770 ub4 clen,
01771 ub1 cflg
01772 );
01773
01774 typedef sword (*OCIDIRPATHCOLARRAYRESET)
01775 (
01776 OCIDirPathColArray *dpca,
01777 OCIError *errhp
01778 );
01779
01780 typedef sword (*OCIDIRPATHCOLARRAYTOSTREAM)
01781 (
01782 OCIDirPathColArray *dpca,
01783 OCIDirPathCtx *dpctx,
01784 OCIDirPathStream *dpstr,
01785 OCIError *errhp,
01786 ub4 rowcnt,
01787 ub4 rowoff
01788 );
01789
01790 typedef sword (*OCIDIRPATHSTREAMRESET)
01791 (
01792 OCIDirPathStream *dpstr,
01793 OCIError *errhp
01794 );
01795
01796 typedef sword (*OCIDIRPATHFLUSHROW)
01797 (
01798 OCIDirPathCtx *dpctx,
01799 OCIError *errhp
01800 );
01801
01802 typedef sword (*OCICACHEFREE)
01803 (
01804 OCIEnv *env,
01805 OCIError *err,
01806 CONST OCISvcCtx *svc
01807 );
01808
01809 typedef sword (*OCISUBSCRIPTIONREGISTER)
01810 (
01811 OCISvcCtx *svchp,
01812 OCISubscription **subscrhpp,
01813 ub2 count,
01814 OCIError *errhp,
01815 ub4 mode
01816 );
01817
01818 typedef sword (*OCISUBSCRIPTIONUNREGISTER)
01819 (
01820 OCISvcCtx *svchp,
01821 OCISubscription *subscrhp,
01822 OCIError *errhp,
01823 ub4 mode
01824 );
01825
01826
01827
01828 typedef sword (*OCISTMTFETCH2 )
01829 (
01830 OCIStmt *stmtp,
01831 OCIError *errhp,
01832 ub4 nrows,
01833 ub2 orientation,
01834 sb4 fetchOffset,
01835 ub4 mode
01836 );
01837
01838
01839
01840 typedef sword (*OCISTMTPREPARE2)
01841 (
01842 OCISvcCtx *svchp,
01843 OCIStmt **stmtp,
01844 OCIError *errhp,
01845 CONST OraText *stmt,
01846 ub4 stmt_len,
01847 CONST OraText *key,
01848 ub4 key_len,
01849 ub4 language,
01850 ub4 mode
01851 );
01852
01853 typedef sword (*OCISTMTRELEASE)
01854 (
01855 OCIStmt *stmtp,
01856 OCIError *errhp,
01857 CONST OraText *key,
01858 ub4 key_len,
01859 ub4 mode
01860 );
01861
01862
01863
01864 #ifdef ORAXB8_DEFINED
01865
01866 typedef sword (*OCILOBGETSTORAGELIMIT)
01867 (
01868 OCISvcCtx *svchp,
01869 OCIError *errhp,
01870 OCILobLocator *lobp,
01871 oraub8 *limitp
01872 );
01873
01874 typedef sword (*OCILOBCOPY2)
01875 (
01876 OCISvcCtx *svchp,
01877 OCIError *errhp,
01878 OCILobLocator *dst_locp,
01879 OCILobLocator *src_locp,
01880 oraub8 amount,
01881 oraub8 dst_offset,
01882 oraub8 src_offset
01883 );
01884
01885 typedef sword (*OCILOBERASE2)
01886 (
01887 OCISvcCtx *svchp,
01888 OCIError *errhp,
01889 OCILobLocator *locp,
01890 oraub8 *amount,
01891 oraub8 offset
01892 );
01893
01894 typedef sword (*OCILOBGETLENGTH2)
01895 (
01896 OCISvcCtx *svchp,
01897 OCIError *errhp,
01898 OCILobLocator *locp,
01899 oraub8 *lenp
01900 );
01901
01902 typedef sword (*OCILOBLOADFROMFILE2)
01903 (
01904 OCISvcCtx *svchp,
01905 OCIError *errhp,
01906 OCILobLocator *dst_locp,
01907 OCILobLocator *src_filep,
01908 oraub8 amount,
01909 oraub8 dst_offset,
01910 oraub8 src_offset
01911 );
01912
01913 typedef sword (*OCILOBREAD2)
01914 (
01915 OCISvcCtx *svchp,
01916 OCIError *errhp,
01917 OCILobLocator *locp,
01918 oraub8 *byte_amtp,
01919 oraub8 *char_amtp,
01920 oraub8 offset,
01921 dvoid *bufp,
01922 oraub8 bufl,
01923 ub1 piece,
01924 dvoid *ctxp,
01925 sb4 (*cbfp)
01926 (
01927 dvoid *ctxp,
01928 CONST dvoid *bufp,
01929 oraub8 len,
01930 ub1 piece,
01931 dvoid **changed_bufpp,
01932 oraub8 *changed_lenp
01933 ),
01934 ub2 csid,
01935 ub1 csfrm
01936 );
01937
01938 typedef sword (*OCILOBTRIM2)
01939 (
01940 OCISvcCtx *svchp,
01941 OCIError *errhp,
01942 OCILobLocator *locp,
01943 oraub8 newlen
01944 );
01945
01946 typedef sword (*OCILOBWRITE2)
01947 (
01948 OCISvcCtx *svchp,
01949 OCIError *errhp,
01950 OCILobLocator *locp,
01951 oraub8 *byte_amtp,
01952 oraub8 *char_amtp,
01953 oraub8 offset,
01954 dvoid *bufp,
01955 oraub8 buflen,
01956 ub1 piece,
01957 dvoid *ctxp,
01958 sb4 (*cbfp)
01959 (
01960 dvoid *ctxp,
01961 CONST dvoid *bufp,
01962 oraub8 len,
01963 ub1 piece,
01964 dvoid **changed_bufpp,
01965 oraub8 *changed_lenp
01966 ),
01967 ub2 csid,
01968 ub1 csfrm
01969 );
01970
01971 typedef sword (*OCILOBWRITEAPPEND2)
01972 (
01973 OCISvcCtx *svchp,
01974 OCIError *errhp,
01975 OCILobLocator *lobp,
01976 oraub8 *byte_amtp,
01977 oraub8 *char_amtp,
01978 dvoid *bufp,
01979 oraub8 bufl,
01980 ub1 piece,
01981 dvoid *ctxp,
01982 sb4 (*cbfp)
01983 (
01984 dvoid *ctxp,
01985 dvoid *bufp,
01986 oraub8 *lenp,
01987 ub1 *piece,
01988 dvoid **changed_bufpp,
01989 oraub8 *changed_lenp
01990 ),
01991 ub2 csid,
01992 ub1 csfrm
01993 );
01994
01995 #endif
01996
01997
01998
01999
02000
02001 typedef void (*OCICLIENTVERSION)
02002 (
02003 sword *major_version,
02004 sword *minor_version,
02005 sword *update_num,
02006 sword *patch_num,
02007 sword *port_update_num
02008 );
02009
02010 typedef sword (*OCIDBSTARTUP)
02011 (
02012 OCISvcCtx *svchp,
02013 OCIError *errhp,
02014 OCIAdmin *admhp,
02015 ub4 mode,
02016 ub4 flags
02017 );
02018
02019 typedef sword (*OCIDBSHUTDOWN)
02020 (
02021 OCISvcCtx *svchp,
02022 OCIError *errhp,
02023 OCIAdmin *admhp,
02024 ub4 mode
02025 );
02026
02027 typedef sword (*OCIPING)
02028 (
02029 OCISvcCtx *svchp,
02030 OCIError *errhp,
02031 ub4 mode
02032 );
02033
02034
02035
02036 typedef sword (*OCIARRAYDESCRIPTORALLOC)
02037 (
02038 const void *parenth,
02039 void **descpp,
02040 const ub4 type,
02041 ub4 array_size,
02042 const size_t xtramem_sz,
02043 void **usrmempp
02044 );
02045
02046 typedef sword (*OCIARRAYDESCRIPTORFREE)
02047 (
02048 void **descp,
02049 const ub4 type
02050 );
02051
02052
02053
02054 #endif
02055