Back to home page

Enduro/X

 
 

    


0001 MKFLDHDR(8)
0002 ===========
0003 :doctype: manpage
0004 
0005 
0006 NAME
0007 ----
0008 mkfldhdr - Generate C header files for UBF field definitions.
0009 
0010 
0011 SYNOPSIS
0012 --------
0013 *mkfldhdr* [-D dbglev, legacy] [-d target directory] [field table ...]
0014 
0015 
0016 DESCRIPTION
0017 -----------
0018 Program generates C header files from field table declaration tables.
0019 Field tables are declared as macros which later are translated into C header
0020 files. Field tables also are used in runtime in boolean expressions and
0021 also in dumping the buffer.
0022 
0023 There is special syntax within field tables.
0024 
0025 * Lines to be sent to C Header are declared as: '$'
0026 * The base number is declared as '*base NUMBER'. The number is logical field
0027 offset.
0028 * Empty lines are ignored.
0029 * '#' Is comment, which is ignored.
0030 * All other are treated as field name in start of the line.
0031 * Syntax for field definition is following: "FIELD_NAME ID      TYPE    FLAG    DESCRIPTION"
0032 where
0033 
0034 *FIELD_NAME*::
0035         Is field UBF field name.
0036 
0037 *TYPE*::
0038         Field type, may be one of the following *short*, *long*, *char*, *float*, *double*
0039         *string*, *carray*, *ptr*, *ubf* (or *fml32*), *view*.
0040 *ID*::
0041         Is relative field it within '*base'. '*base'+field ID must be bellow 
0042     'NDRX_UBFMAXFLDS' number defined in environment. Max number is 33554432 (25 bit).
0043 
0044 *FLAG*::
0045         Flags, RFU, use *-*. Historically *1* - single field. *M* - maybe be multiple fields.
0046         Values *1*  and *M* are synonyms to *-*.
0047 
0048 *DESCRIPTION*::
0049         Field description.
0050 
0051 Example input (testws.fd file):
0052 
0053 -----------------------------------------------------
0054 $/**
0055 $ * Web service test ud file.
0056 $ *
0057 $ * @file       testws.fd
0058 $ * @copyright  Mavimax, ltd
0059 $ * @version    SVN: $Id$
0060 $ */
0061 
0062 $#ifndef __TEST_FD
0063 $#define __TEST_FD
0064 
0065 *base 1000
0066 
0067 T_STATCODE      0       long            - Test field...
0068 T_STATMSG       1       string          - Test field...
0069 T_ITEMSTOT      2       long            - Test field...
0070 T_AMTSTRTOT     3       string          - Test field...
0071 T_PAGESTOT      4       long            - Test field...
0072 T_SHORT         5       short           - Test field...
0073 T_CHAR          6       char            - Test field...
0074 T_FLOAT         7       float           - Test field...
0075 T_DOUBLE        8       double          - Test field...
0076 T_STRING        9       string          - Test field...
0077 T_USERNAME      10      string          - Test field...
0078 T_PAGENUM       11      long            - Test field...
0079 T_ITEMSPP       12      long            - Test field...
0080 
0081 T_SOMEDATE      13      long            - Test field...
0082 T_SRCHDATE      14      long            - Test field...
0083 T_SRCHPRM1      15      string          - Test field...
0084 T_SRCHPRM2      16      string          - Test field...
0085 T_MYFIELDS      17      string          - Test field...
0086 SRVCNM          18      string          - Service name to call
0087 T_CONSTFIELD    19      string          - This is constant.
0088 T_MYLONGFLDS    20      long            - Long array test
0089 
0090 $#endif
0091 -----------------------------------------------------
0092 
0093 Example output after utility run (testws.fd.h):
0094 
0095 -----------------------------------------------------
0096 /**
0097  * Web service test ud file.
0098  *
0099  * @file       testws.fd
0100  * @copyright  Mavimax, ltd
0101  * @version    SVN: $Id$
0102  */
0103 #ifndef __TEST_FD
0104 #define __TEST_FD
0105 /*      fname   bfldid            */
0106 /*      -----   -----            */
0107 #define T_STATCODE      ((BFLDID32)33555432)    /* number: 1000  type: long */
0108 #define T_STATMSG       ((BFLDID32)167773161)   /* number: 1001  type: string */
0109 #define T_ITEMSTOT      ((BFLDID32)33555434)    /* number: 1002  type: long */
0110 #define T_AMTSTRTOT     ((BFLDID32)167773163)   /* number: 1003  type: string */
0111 #define T_PAGESTOT      ((BFLDID32)33555436)    /* number: 1004  type: long */
0112 #define T_SHORT ((BFLDID32)1005)        /* number: 1005  type: short */
0113 #define T_CHAR  ((BFLDID32)67109870)    /* number: 1006  type: char */
0114 #define T_FLOAT ((BFLDID32)100664303)   /* number: 1007  type: float */
0115 #define T_DOUBLE        ((BFLDID32)134218736)   /* number: 1008  type: double */
0116 #define T_STRING        ((BFLDID32)167773169)   /* number: 1009  type: string */
0117 #define T_USERNAME      ((BFLDID32)167773170)   /* number: 1010  type: string */
0118 #define T_PAGENUM       ((BFLDID32)33555443)    /* number: 1011  type: long */
0119 #define T_ITEMSPP       ((BFLDID32)33555444)    /* number: 1012  type: long */
0120 #define T_SOMEDATE      ((BFLDID32)33555445)    /* number: 1013  type: long */
0121 #define T_SRCHDATE      ((BFLDID32)33555446)    /* number: 1014  type: long */
0122 #define T_SRCHPRM1      ((BFLDID32)167773175)   /* number: 1015  type: string */
0123 #define T_SRCHPRM2      ((BFLDID32)167773176)   /* number: 1016  type: string */
0124 #define T_MYFIELDS      ((BFLDID32)167773177)   /* number: 1017  type: string */
0125 #define SRVCNM  ((BFLDID32)167773178)   /* number: 1018  type: string */
0126 #define T_CONSTFIELD    ((BFLDID32)167773179)   /* number: 1019  type: string */
0127 #define T_MYLONGFLDS    ((BFLDID32)33555452)    /* number: 1020  type: long */
0128 #endif
0129 -----------------------------------------------------
0130 
0131 
0132 ENVIRONMENT
0133 -----------
0134 *FIELDTBLS*::
0135 Comma separated list of field table file names.
0136 
0137 *FLDTBLDIR*::
0138 Colon separated list of directories where field tables are located.
0139 
0140 OPTIONS
0141 -------
0142 *-D* 'DEBUG_LEVEL'::
0143 Not used. Left for capability with Tuxedo.
0144 
0145 *-d* 'OUTPUT_DIR'::
0146 Directory where to dump the generated header files.
0147 
0148 *-m* 'LANGUAGE_MODE'::
0149 Language mode. Value '0' (default) for C language header. '1' for GO language
0150 constants file. '2' for Java constant classes. '3' for Python constants file.
0151 
0152 *-p* 'LANG_PRIVATE_DATA'::
0153 Private data for language module. For GO and Java languages
0154 it is used for package name.
0155 
0156 NDRX_APIFLAGS
0157 -------------
0158 
0159 This section lists *NDRX_APIFLAGS* environment variable parameter special flags
0160 affecting work of the *mkfldhdr*:
0161 
0162 . API flag *ubf_dupfidok* configures *mkfldhdr* to accept the duplicate field IDs.
0163 This matches Oracle Tuxedo logic.
0164 
0165 EXIT STATUS
0166 -----------
0167 *0*::
0168 Success
0169 
0170 *NON_ZERO*::
0171 Failure
0172 
0173 BUGS
0174 ----
0175 Report bugs to support@mavimax.com
0176 
0177 SEE ALSO
0178 --------
0179 *ex_overview(guides)*, *ex_env(5)*
0180 
0181 COPYING
0182 -------
0183 (C) Mavimax, Ltd
0184