Back to home page

Enduro/X

 
 

    


0001 /**
0002  * @brief UBF Object API header (auto-generated)
0003  *
0004  * @file oubf.h
0005  */
0006 /* -----------------------------------------------------------------------------
0007  * Enduro/X Middleware Platform for Distributed Transaction Processing
0008  * Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved.
0009  * Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved.
0010  * This software is released under one of the following licenses:
0011  * AGPL (with Java and Go exceptions) or Mavimax's license for commercial use.
0012  * See LICENSE file for full text.
0013  * -----------------------------------------------------------------------------
0014  * AGPL license:
0015  *
0016  * This program is free software; you can redistribute it and/or modify it under
0017  * the terms of the GNU Affero General Public License, version 3 as published
0018  * by the Free Software Foundation;
0019  *
0020  * This program is distributed in the hope that it will be useful, but WITHOUT ANY
0021  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
0022  * PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3
0023  * for more details.
0024  *
0025  * You should have received a copy of the GNU Affero General Public License along
0026  * with this program; if not, write to the Free Software Foundation, Inc.,
0027  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0028  *
0029  * -----------------------------------------------------------------------------
0030  * A commercial use license is available from Mavimax, Ltd
0031  * contact@mavimax.com
0032  * -----------------------------------------------------------------------------
0033  */
0034 #ifndef __OUBF_H
0035 #define __OUBF_H
0036 
0037 #ifdef  __cplusplus
0038 extern "C" {
0039 #endif
0040 /*---------------------------Includes-----------------------------------*/
0041 #include <stdint.h>
0042 #include <ubf.h>
0043 #include <atmi.h>
0044 /*---------------------------Externs------------------------------------*/
0045 /*---------------------------Macros-------------------------------------*/
0046 #define OBerror(P_CTXT)   (*O_Bget_Ferror_addr(P_CTXT))
0047 /*---------------------------Enums--------------------------------------*/
0048 /*---------------------------Typedefs-----------------------------------*/
0049 /*---------------------------Globals------------------------------------*/
0050 /*---------------------------Statics------------------------------------*/
0051 /*---------------------------Prototypes---------------------------------*/
0052 extern NDRX_API int * Ondrx_Bget_Ferror_addr(TPCONTEXT_T *p_ctxt);
0053 extern NDRX_API int * O_Bget_Ferror_addr(TPCONTEXT_T *p_ctxt);
0054 extern NDRX_API int OBlen(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ);
0055 extern NDRX_API int OCBadd(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, char * buf, BFLDLEN len, int usrtype);
0056 extern NDRX_API int OCBchg(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char * buf, BFLDLEN len, int usrtype);
0057 extern NDRX_API int OCBget(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char *buf, BFLDLEN *len, int usrtype);
0058 extern NDRX_API int OBdel(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ);
0059 extern NDRX_API int OBpres(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ);
0060 extern NDRX_API int OBproj(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID * fldlist);
0061 extern NDRX_API int OBprojcpy(TPCONTEXT_T *p_ctxt, UBFH * p_ub_dst, UBFH * p_ub_src, BFLDID * fldlist);
0062 extern NDRX_API BFLDID OBfldid(TPCONTEXT_T *p_ctxt, char *fldnm);
0063 extern NDRX_API char * OBfname(TPCONTEXT_T *p_ctxt, BFLDID bfldid);
0064 extern NDRX_API int OBcpy(TPCONTEXT_T *p_ctxt, UBFH * p_ub_dst, UBFH * p_ub_src);
0065 extern NDRX_API int OBchg(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char * buf, BFLDLEN len);
0066 extern NDRX_API int OBinit(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDLEN len);
0067 extern NDRX_API int OBnext(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *bfldid, BFLDOCC *occ, char *buf, BFLDLEN *len);
0068 extern NDRX_API int OBnext2(TPCONTEXT_T *p_ctxt, Bnext_state_t *bnext_state, UBFH *p_ub, BFLDID *bfldid, BFLDOCC *occ, char *buf, BFLDLEN *len, char **d_ptr);
0069 extern NDRX_API int OBget(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ, char * buf, BFLDLEN * buflen);
0070 extern NDRX_API char * OBboolco(TPCONTEXT_T *p_ctxt, char * expr);
0071 extern NDRX_API char * OBfind(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ, BFLDLEN * p_len);
0072 extern NDRX_API int OBboolev(TPCONTEXT_T *p_ctxt, UBFH * p_ub, char *tree);
0073 extern NDRX_API double OBfloatev(TPCONTEXT_T *p_ctxt, UBFH * p_ub, char *tree);
0074 extern NDRX_API int OBadd(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, char *buf, BFLDLEN len);
0075 extern NDRX_API int OBaddfast(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, char *buf, BFLDLEN len, Bfld_loc_info_t *next_fld);
0076 extern NDRX_API char * OBecodestr(TPCONTEXT_T *p_ctxt, int err);
0077 extern NDRX_API void OB_error(TPCONTEXT_T *p_ctxt, char *str);
0078 extern NDRX_API char * OBstrerror(TPCONTEXT_T *p_ctxt, int err);
0079 extern NDRX_API BFLDID OBmkfldid(TPCONTEXT_T *p_ctxt, int fldtype, BFLDID bfldid);
0080 extern NDRX_API BFLDOCC OBoccur(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid);
0081 extern NDRX_API long OBused(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0082 extern NDRX_API int OBfldtype(TPCONTEXT_T *p_ctxt, BFLDID bfldid);
0083 extern NDRX_API int OBdelall(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid);
0084 extern NDRX_API int OBdelete(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldlist);
0085 extern NDRX_API BFLDOCC OBfldno(TPCONTEXT_T *p_ctxt, BFLDID bfldid);
0086 extern NDRX_API long OBunused(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0087 extern NDRX_API long OBsizeof(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0088 extern NDRX_API char * OBtype(TPCONTEXT_T *p_ctxt, BFLDID bfldid);
0089 extern NDRX_API int OBfree(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0090 extern NDRX_API UBFH * OBalloc(TPCONTEXT_T *p_ctxt, BFLDOCC f, BFLDLEN v);
0091 extern NDRX_API UBFH * OBrealloc(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDOCC f, BFLDLEN v);
0092 extern NDRX_API int OBupdate(TPCONTEXT_T *p_ctxt, UBFH *p_ub_dst, UBFH *p_ub_src);
0093 extern NDRX_API int OBconcat(TPCONTEXT_T *p_ctxt, UBFH *p_ub_dst, UBFH *p_ub_src);
0094 extern NDRX_API char * OCBfind(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ, BFLDLEN * len, int usrtype);
0095 extern NDRX_API char * OCBgetalloc(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ, int usrtype, BFLDLEN *extralen);
0096 extern NDRX_API BFLDOCC OCBfindocc(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid,char * buf, BFLDLEN len, int usrtype);
0097 extern NDRX_API BFLDOCC OBfindocc(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid,char * buf, BFLDLEN len);
0098 extern NDRX_API char * OBgetalloc(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid, BFLDOCC occ, BFLDLEN *extralen);
0099 extern NDRX_API char * OBfindlast(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID bfldid,BFLDOCC *occ, BFLDLEN *len);
0100 extern NDRX_API int OBgetlast(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid,BFLDOCC *occ, char *buf, BFLDLEN *len);
0101 extern NDRX_API int OBprint(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0102 extern NDRX_API int OBfprint(TPCONTEXT_T *p_ctxt, UBFH *p_ub, FILE * outf);
0103 extern NDRX_API int OBfprintcb(TPCONTEXT_T *p_ctxt, UBFH *p_ub, ndrx_plugin_tplogprintubf_hook_t p_writef, void *dataptr1);
0104 extern NDRX_API char * OBtypcvt(TPCONTEXT_T *p_ctxt, BFLDLEN * to_len, int to_type,char *from_buf, int from_type, BFLDLEN from_len);
0105 extern NDRX_API int OBextread(TPCONTEXT_T *p_ctxt, UBFH * p_ub, FILE *inf);
0106 extern NDRX_API int OBextreadcb(TPCONTEXT_T *p_ctxt, UBFH * p_ub, long (*p_readf)(char *buffer, long bufsz, void *dataptr1), void *dataptr1);
0107 extern NDRX_API void OBboolpr(TPCONTEXT_T *p_ctxt, char * tree, FILE *outf);
0108 extern NDRX_API void OBboolprcb(TPCONTEXT_T *p_ctxt, char * tree, int (*p_writef)(char *buffer, long datalen, void *dataptr1), void *dataptr1);
0109 extern NDRX_API int OBread(TPCONTEXT_T *p_ctxt, UBFH * p_ub, FILE * inf);
0110 extern NDRX_API int OBwrite(TPCONTEXT_T *p_ctxt, UBFH *p_ub, FILE * outf);
0111 extern NDRX_API int OBwritecb(TPCONTEXT_T *p_ctxt, UBFH *p_ub, long (*p_writef)(char *buffer, long bufsz, void *dataptr1), void *dataptr1);
0112 extern NDRX_API void OBtreefree(TPCONTEXT_T *p_ctxt, char *tree);
0113 extern NDRX_API int OBboolsetcbf(TPCONTEXT_T *p_ctxt, char *funcname, long (*functionPtr)(UBFH *p_ub, char *funcname));
0114 extern NDRX_API int OBboolsetcbf2(TPCONTEXT_T *p_ctxt, char *funcname, long (*functionPtr)(UBFH *p_ub, char *funcname, char *arg1));
0115 extern NDRX_API int OBadds(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, char *buf);
0116 extern NDRX_API int OBchgs(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char *buf);
0117 extern NDRX_API int OBgets(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char *buf);
0118 extern NDRX_API char * OBgetsa(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, BFLDLEN *extralen);
0119 extern NDRX_API char * OBfinds(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ);
0120 extern NDRX_API int OBisubf(TPCONTEXT_T *p_ctxt, UBFH *p_ub);
0121 extern NDRX_API int OBindex(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDOCC occ);
0122 extern NDRX_API BFLDOCC OBunindex(TPCONTEXT_T *p_ctxt, UBFH * p_ub);
0123 extern NDRX_API long OBidxused(TPCONTEXT_T *p_ctxt, UBFH * p_ub);
0124 extern NDRX_API int OBrstrindex(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDOCC occ);
0125 extern NDRX_API int OBjoin(TPCONTEXT_T *p_ctxt, UBFH *dest, UBFH *src);
0126 extern NDRX_API int OBojoin(TPCONTEXT_T *p_ctxt, UBFH *dest, UBFH *src);
0127 extern NDRX_API int OBcmp(TPCONTEXT_T *p_ctxt, UBFH *p_ubf1, UBFH *p_ubf2);
0128 extern NDRX_API int OBsubset(TPCONTEXT_T *p_ctxt, UBFH *p_ubf1, UBFH *p_ubf2);
0129 extern NDRX_API BFLDOCC OBnum(TPCONTEXT_T *p_ctxt, UBFH * p_ub);
0130 extern NDRX_API long OBneeded(TPCONTEXT_T *p_ctxt, BFLDOCC nrfields, BFLDLEN totsize);
0131 extern NDRX_API int OBvnull(TPCONTEXT_T *p_ctxt, char *cstruct, char *cname, BFLDOCC occ, char *view);
0132 extern NDRX_API int OBvselinit(TPCONTEXT_T *p_ctxt, char *cstruct, char *cname, char *view);
0133 extern NDRX_API int OBvsinit(TPCONTEXT_T *p_ctxt, char *cstruct, char *view);
0134 extern NDRX_API void OBvrefresh(TPCONTEXT_T *p_ctxt);
0135 extern NDRX_API int OBvopt(TPCONTEXT_T *p_ctxt, char *cname, int option, char *view);
0136 extern NDRX_API int OBvftos(TPCONTEXT_T *p_ctxt, UBFH *p_ub, char *cstruct, char *view);
0137 extern NDRX_API int OBvstof(TPCONTEXT_T *p_ctxt, UBFH *p_ub, char *cstruct, int mode, char *view);
0138 extern NDRX_API int OCBvget(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, char *cname, BFLDOCC occ, char *buf, BFLDLEN *len, int usrtype, long flags);
0139 extern NDRX_API char * OCBvgetalloc(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, char *cname, BFLDOCC occ, int usrtype, long flags, BFLDLEN *extralen);
0140 extern NDRX_API int OCBvchg(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, char *cname, BFLDOCC occ, char *buf, BFLDLEN len, int usrtype);
0141 extern NDRX_API long OBvsizeof(TPCONTEXT_T *p_ctxt, char *view);
0142 extern NDRX_API long OBvcpy(TPCONTEXT_T *p_ctxt, char *cstruct_dst, char *cstruct_src, char *view);
0143 extern NDRX_API BFLDOCC OBvoccur(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, char *cname, BFLDOCC *maxocc, BFLDOCC *realocc, long *dim_size, int* fldtype);
0144 extern NDRX_API int OBvsetoccur(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, char *cname, BFLDOCC occ);
0145 extern NDRX_API int OBvnext(TPCONTEXT_T *p_ctxt, Bvnext_state_t *state, char *view, char *cname, int *fldtype, BFLDOCC *maxocc, long *dim_size);
0146 extern NDRX_API int OBvcmp(TPCONTEXT_T *p_ctxt, char *cstruct1, char *view1, char *cstruct2, char *view2);
0147 extern NDRX_API int OBvprint(TPCONTEXT_T *p_ctxt, char *cstruct, char *view);
0148 extern NDRX_API int OBvfprint(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, FILE * outf);
0149 extern NDRX_API int OBvfprintcb(TPCONTEXT_T *p_ctxt, char *cstruct, char *view,ndrx_plugin_tplogprintubf_hook_t p_writef, void *dataptr1);
0150 extern NDRX_API int OBvextread(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, FILE *inf);
0151 extern NDRX_API int OBvextreadcb(TPCONTEXT_T *p_ctxt, char *cstruct, char *view, long (*p_readf)(char *buffer, long bufsz, void *dataptr1), void *dataptr1);
0152 extern NDRX_API void * Ondrx_ubf_tls_get(TPCONTEXT_T *p_ctxt);
0153 extern NDRX_API int Ondrx_ubf_tls_set(TPCONTEXT_T *p_ctxt, void *data);
0154 extern NDRX_API void Ondrx_ubf_tls_free(TPCONTEXT_T *p_ctxt, void *data);
0155 extern NDRX_API void * Ondrx_ubf_tls_new(TPCONTEXT_T *p_ctxt, int auto_destroy, int auto_set);
0156 extern NDRX_API EDB_env * OBfldddbgetenv(TPCONTEXT_T *p_ctxt, EDB_dbi **dbi_id, EDB_dbi **dbi_nm);
0157 extern NDRX_API int OBflddbload(TPCONTEXT_T *p_ctxt);
0158 extern NDRX_API BFLDID OBflddbid(TPCONTEXT_T *p_ctxt, char *fldname);
0159 extern NDRX_API char * OBflddbname(TPCONTEXT_T *p_ctxt, BFLDID bfldid);
0160 extern NDRX_API int OBflddbget(TPCONTEXT_T *p_ctxt, EDB_val *data, short *p_fldtype,BFLDID *p_bfldno, BFLDID *p_bfldid, char *fldname, int fldname_bufsz);
0161 extern NDRX_API int OBflddbunlink(TPCONTEXT_T *p_ctxt);
0162 extern NDRX_API void OBflddbunload(TPCONTEXT_T *p_ctxt);
0163 extern NDRX_API int OBflddbdrop(TPCONTEXT_T *p_ctxt, EDB_txn *txn);
0164 extern NDRX_API int OBflddbdel(TPCONTEXT_T *p_ctxt, EDB_txn *txn, BFLDID bfldid);
0165 extern NDRX_API int OBflddbadd(TPCONTEXT_T *p_ctxt, EDB_txn *txn, short fldtype, BFLDID bfldno, char *fldname);
0166 extern NDRX_API int OB32to16(TPCONTEXT_T *p_ctxt, UBFH *dest, UBFH *src);
0167 extern NDRX_API int OB16to32(TPCONTEXT_T *p_ctxt, UBFH *dest, UBFH *src);
0168 extern NDRX_API int OBgetr(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID *fldidocc, char * buf, BFLDLEN * buflen);
0169 extern NDRX_API int OBgetrv(TPCONTEXT_T *p_ctxt, UBFH * p_ub, char * buf, BFLDLEN * buflen, ...);
0170 extern NDRX_API int OCBgetr(TPCONTEXT_T *p_ctxt, UBFH * p_ub, BFLDID *fldidocc,char * buf, BFLDLEN * buflen, int usrtype);
0171 extern NDRX_API int OCBgetrv(TPCONTEXT_T *p_ctxt, UBFH * p_ub, char * buf, BFLDLEN * buflen, int usrtype, ...);
0172 extern NDRX_API char * OCBgetallocr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, int usrtype, BFLDLEN *extralen);
0173 extern NDRX_API char * OCBgetallocrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, int usrtype, BFLDLEN *extralen, ...);
0174 extern NDRX_API char* OBfindr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, BFLDLEN *p_len);
0175 extern NDRX_API char* OBfindrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDLEN *p_len, ...);
0176 extern NDRX_API char * OCBfindr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, BFLDLEN *len, int usrtype);
0177 extern NDRX_API char * OCBfindrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDLEN *len, int usrtype, ...);
0178 extern NDRX_API int OBpresr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc);
0179 extern NDRX_API int OBpresrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, ...);
0180 extern NDRX_API int OCBvgetr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, char *cname, BFLDOCC occ, char *buf, BFLDLEN *len, int usrtype, long flags);
0181 extern NDRX_API int OCBvgetrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, char *cname, BFLDOCC occ,char *buf, BFLDLEN *len, int usrtype, long flags, ...);
0182 extern NDRX_API int OBvnullr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, char *cname, BFLDOCC occ);
0183 extern NDRX_API int OBvnullrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, char *cname, BFLDOCC occ, ...);
0184 extern NDRX_API char * OCBvgetallocr(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID *fldidocc, char *cname, BFLDOCC occ, int usrtype, long flags, BFLDLEN *extralen);
0185 extern NDRX_API char* OCBvgetallocrv(TPCONTEXT_T *p_ctxt, UBFH *p_ub, char *cname, BFLDOCC occ,int usrtype, long flags, BFLDLEN *extralen, ...);
0186 extern NDRX_API int Ondrx_Fchg(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, BFLDOCC occ, char * buf, BFLDLEN len);
0187 extern NDRX_API int Ondrx_Fadd(TPCONTEXT_T *p_ctxt, UBFH *p_ub, BFLDID bfldid, char *buf, BFLDLEN len);
0188 #endif  /* __OUBF_H */
0189