mkfldhdr − Generate C header files for UBF field definitions.
mkfldhdr [−D dbglev, legacy] [−d target directory] [field table ...]
Program generates C header files from field table declaration tables. Field tables are declared as macros which later are translated into C header files. Field tables also are used in runtime in boolean expressions and also in dumping the buffer.
There is special syntax within field tables.
• Lines to be sent to C Header are declared as: $
• The base number is declared as *base NUMBER. The number is logical field offset.
• Empty lines are ignored.
• # Is comment, which is ignored.
• All other are treated as field name in start of the line.
• Syntax for field definition is following: "FIELD_NAME ID TYPE OCC DESCRIPTION" where
FIELD_NAME
Is field UBF field name.
ID
Is relative field it within *base. *base+field ID must be bellow NDRX_UBFMAXFLDS number defined in environment. Max number is 33554432 (25 bit).
OCC
Occurrences, 1 − single field. M − maybe be multiple fields.
DESCRIPTION
Field description.
Example input (testws.fd file):
$/**
$ * Web service test ud file.
$ *
$ * @file testws.fd
$ * @copyright Mavimax, ltd
$ * @version SVN: $Id$
$ */
$#ifndef
__TEST_FD
$#define __TEST_FD
*base 1000
T_STATCODE 0
long 1 Test field...
T_STATMSG 1 string 1 Test field...
T_ITEMSTOT 2 long 1 Test field...
T_AMTSTRTOT 3 string 1 Test field...
T_PAGESTOT 4 long 1 Test field...
T_SHORT 5 short 1 Test field...
T_CHAR 6 char 1 Test field...
T_FLOAT 7 float 1 Test field...
T_DOUBLE 8 double 1 Test field...
T_STRING 9 string 1 Test field...
T_USERNAME 10 string 1 Test field...
T_PAGENUM 11 long 1 Test field...
T_ITEMSPP 12 long 1 Test field...
T_SOMEDATE 13
long 1 Test field...
T_SRCHDATE 14 long 1 Test field...
T_SRCHPRM1 15 string 1 Test field...
T_SRCHPRM2 16 string 1 Test field...
T_MYFIELDS 17 string 1 Test field...
SRVCNM 18 string 1 Service name to call
T_CONSTFIELD 19 string 1 This is constant.
T_MYLONGFLDS 20 long 1 Long array test
$#endif
Example output after utility run (testws.fd.h):
/**
* Web service test ud file.
*
* @file testws.fd
* @copyright Mavimax, ltd
* @version SVN: $Id$
*/
#ifndef __TEST_FD
#define __TEST_FD
/* fname bfldid */
/* −−−−−
−−−−− */
#define T_STATCODE ((BFLDID32)33555432) /* number: 1000
type: long */
#define T_STATMSG ((BFLDID32)167773161) /* number: 1001
type: string */
#define T_ITEMSTOT ((BFLDID32)33555434) /* number: 1002
type: long */
#define T_AMTSTRTOT ((BFLDID32)167773163) /* number: 1003
type: string */
#define T_PAGESTOT ((BFLDID32)33555436) /* number: 1004
type: long */
#define T_SHORT ((BFLDID32)1005) /* number: 1005 type: short
*/
#define T_CHAR ((BFLDID32)67109870) /* number: 1006 type:
char */
#define T_FLOAT ((BFLDID32)100664303) /* number: 1007 type:
float */
#define T_DOUBLE ((BFLDID32)134218736) /* number: 1008 type:
double */
#define T_STRING ((BFLDID32)167773169) /* number: 1009 type:
string */
#define T_USERNAME ((BFLDID32)167773170) /* number: 1010
type: string */
#define T_PAGENUM ((BFLDID32)33555443) /* number: 1011 type:
long */
#define T_ITEMSPP ((BFLDID32)33555444) /* number: 1012 type:
long */
#define T_SOMEDATE ((BFLDID32)33555445) /* number: 1013
type: long */
#define T_SRCHDATE ((BFLDID32)33555446) /* number: 1014
type: long */
#define T_SRCHPRM1 ((BFLDID32)167773175) /* number: 1015
type: string */
#define T_SRCHPRM2 ((BFLDID32)167773176) /* number: 1016
type: string */
#define T_MYFIELDS ((BFLDID32)167773177) /* number: 1017
type: string */
#define SRVCNM ((BFLDID32)167773178) /* number: 1018 type:
string */
#define T_CONSTFIELD ((BFLDID32)167773179) /* number: 1019
type: string */
#define T_MYLONGFLDS ((BFLDID32)33555452) /* number: 1020
type: long */
#endif
FIELDTBLS
Comma separated list of field table file names.
FLDTBLDIR
Colon separated list of directories where field tables are located.
−D DEBUG_LEVEL
Not used. Left for capability with Tuxedo.
−d OUTPUT_DIR
Directory where to dump the generated header files.
−m LANGUAGE_MODE
Language mode. Value 0 (default) for C language header. 1 for GO language constants file. 2 for Java constant classes.
−p LANG_PRIVATE_DATA
Private data for language module. For GO and Java languages it is used for package name.
0
Success
NON_ZERO
Failure
Report bugs to support@mavimax.com
ex_overview, ex_env(5)
© Mavimax, Ltd