Back to home page

Enduro/X

 
 

    


0001 /**
0002  * @brief FML32 Emulation via UBF library
0003  *
0004  * @file fml32.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 FML32_H
0035 #define FML32_H
0036 
0037 #ifdef  __cplusplus
0038 extern "C" {
0039 #endif
0040 
0041 /*---------------------------Includes-----------------------------------*/
0042 #include <ubf.h>
0043 /*---------------------------Externs------------------------------------*/
0044 /*---------------------------Macros-------------------------------------*/
0045 
0046 /* fixes for Support #519 shared section, include once: */
0047 #ifndef FML_H
0048     
0049 #define FVIEWNAMESIZE NDRX_VIEW_NAME_LEN
0050 #define FVIEWFLD    BVIEWFLD
0051     
0052 #define F_LENGTH BF_LENGTH
0053 #define FLD_MIN BFLD_MIN
0054 #define FLD_SHORT BFLD_SHORT
0055 #define FLD_LONG BFLD_LONG
0056 #define FLD_CHAR BFLD_CHAR
0057 #define FLD_FLOAT BFLD_FLOAT
0058 #define FLD_DOUBLE BFLD_DOUBLE
0059 #define FLD_STRING BFLD_STRING
0060 #define FLD_CARRAY BFLD_CARRAY
0061 #define FLD_MAX BFLD_MAX
0062 #define FLD_PTR         BFLD_PTR    /**< pointer to a buffer            */
0063 #define FLD_FML         BFLD_UBF    /**< embedded FML buffer          */
0064 #define FLD_VIEW        BFLD_VIEW   /**< embedded VIEW buffer         */
0065 
0066 #define BADFLDID BBADFLDID
0067 #define FIRSTFLDID BFIRSTFLDID
0068 
0069 #define FSTDXINT  16
0070     
0071 /* capabiltiy for error codes */
0072 #define FMINVAL BMINVAL
0073 #define FALIGNERR BALIGNERR
0074 #define FNOTFLD BNOTFLD
0075 #define FNOSPACE BNOSPACE
0076 #define FNOTPRES BNOTPRES
0077 #define FBADFLD BBADFLD
0078 #define FTYPERR BTYPERR
0079 #define FEUNIX BEUNIX
0080 #define FBADNAME BBADNAME
0081 #define FMALLOC BMALLOC
0082 #define FSYNTAX BSYNTAX
0083 #define FFTOPEN BFTOPEN
0084 #define FFTSYNTAX BFTSYNTAX
0085 #define FEINVAL BEINVAL
0086 #define FBADTBL BBADTBL
0087 #define FBADVIEW BBADVIEW
0088 #define FVFSYNTAX BVFSYNTAX
0089 #define FVFOPEN BVFOPEN
0090 #define FBADACM BBADACM
0091 #define FNOCNAME BNOCNAME
0092 #define FEBADOP BEBADOP
0093 #define FMAXVAL  BMAXVAL
0094     
0095 #define F_FTOS B_FTOS
0096 #define F_STOF B_STOF
0097 #define F_OFF B_OFF
0098 #define F_BOTH B_BOTH
0099     
0100 #define Fnext_state Bnext_state 
0101 #define Fnext_state_t Bnext_state_t
0102 
0103 /* Added for compatibility */
0104 #define F32to16 B32to16
0105 #define F16to32 B16to32
0106 
0107 /* end of shared once */
0108 #endif
0109 
0110 /* capability for functions 16 bit compat: */
0111 #define MAXFBLEN32 MAXUBFLEN
0112 #define Fbfr32 Ubfh
0113 #define FBFR32 UBFH
0114 #define Ferror32 Berror
0115 #define FLDID32 BFLDID
0116 #define FLDLEN32 BFLDLEN
0117 #define FLDOCC32 BFLDOCC
0118 #define FLD_FML32         BFLD_UBF    /**< embedded FML buffer          */
0119 #define FLD_VIEW32        BFLD_VIEW   /**< embedded VIEW buffer         */
0120 
0121 /* capability for functions */
0122 #define Fread32 Bread
0123 #define Fwrite32 Bwrite
0124 #define Fjoin32 Bjoin
0125 #define Fojoin32 Bojoin
0126 #define Flen32 Blen
0127 #define CFfind32 CBfind
0128 #define CFfindocc32 CBfindocc
0129 #define CFgetalloc32 CBgetalloc
0130 #define Fboolpr32 Bboolpr
0131 #define Fextread32 Bextread
0132 #define Ffindocc32 Bfindocc
0133 #define Fgetalloc32 Bgetalloc
0134 #define Ffindlast32 Bfindlast
0135 #define Fgetlast32 Bgetlast
0136 #define Fprint32 Bprint
0137 #define Ffprint32 Bfprint
0138 #define Ftypcvt32 Btypcvt
0139 #define Fadds32 Badds
0140 #define Fchgs32 Bchgs
0141 #define Fgets32 Bgets
0142 #define Fgetsa32 Bgetsa
0143 #define Ffinds32 Bfinds
0144 #define CFadd32 CBadd
0145 #define CFchg32 CBchg
0146 #define CFget32 CBget
0147 #define Fdel32 Bdel
0148 #define Fpres32 Bpres
0149 #define Fproj32 Bproj
0150 #define Fprojcpy32 Bprojcpy
0151 #define Fldid32 Bfldid
0152 #define Fname32 Bfname
0153 #define Fcpy32 Bcpy
0154 #define Fchg32 ndrx_Fchg
0155 #define Finit32 Binit
0156 #define Fnext32 Bnext
0157 #define Fget32 Bget
0158 #define Fboolco32 Bboolco
0159 #define Ffind32 Bfind
0160 #define Fboolev32 Bboolev
0161 #define Ffloatev32 Bfloatev
0162 #define Fadd32 ndrx_Fadd
0163 #define F_error32 B_error
0164 #define Fstrerror32 Bstrerror
0165 #define Fmkfldid32 Bmkfldid
0166 #define Foccur32 Boccur
0167 #define Fused32 Bused
0168 #define Fldtype32 Bfldtype
0169 #define Fdelall32 Bdelall
0170 #define Fdelete32 Bdelete
0171 #define Fldno32 Bfldno
0172 #define Funused32 Bunused
0173 #define Fsizeof32 Bsizeof
0174 #define Ftype32 Btype
0175 #define Ffree32 Bfree
0176 #define Falloc32 Balloc
0177 #define Frealloc32 Brealloc
0178 #define Fupdate32 Bupdate
0179 #define Fconcat32 Bconcat
0180 #define Ftreefree32 Btreefree
0181 #define Findex32 Bindex
0182 #define Funindex32 Bunindex
0183 #define Fidxused32 Bidxused
0184 #define Frstrindex32 Brstrindex
0185 #define Ferror32 Berror
0186 #define Fielded32 Bisubf
0187 #define Fcmp32 Bcmp
0188 #define Fsubset32 Bsubset
0189 #define Fnum32 Bnum 
0190 #define Fneeded32 Bneeded
0191     
0192 /* VIEW related */
0193 #define Fvnull32 Bvnull
0194 #define Fvselinit32 Bvselinit
0195 #define Fvsinit32 Bvsinit
0196 #define Fvrefresh32 Bvrefresh
0197 #define Fvopt32 Bvopt
0198 #define Fvftos32 Bvftos
0199 #define Bvstof32 Bvstof
0200 /* VIEW related, END */
0201 
0202 #ifndef FBFR32
0203 #define FBFR32 UBFH
0204 #endif
0205 
0206 /* Added for compatibility */    
0207 #define F32to16 B32to16
0208 #define F16to32 B16to32
0209 
0210 #define FLDLEN32 BFLDLEN
0211 #define FLDOCC32 BFLDOCC
0212     
0213 #define FLD_FML32         BFLD_UBF    /**< embedded FML buffer          */
0214 #define FLD_VIEW32        BFLD_VIEW   /**< embedded VIEW buffer         */
0215 
0216 /*---------------------------Enums--------------------------------------*/
0217 /*---------------------------Typedefs-----------------------------------*/
0218 /*---------------------------Globals------------------------------------*/
0219 /*---------------------------Statics------------------------------------*/
0220 /*---------------------------Prototypes---------------------------------*/
0221 
0222 #ifdef  __cplusplus
0223 }
0224 #endif
0225 
0226 #endif  /* FML32_H */
0227 
0228 /* vim: set ts=4 sw=4 et smartindent: */