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