Back to home page

Enduro/X

 
 

    


0001 $/**
0002 $ * @brief Enduro/X internal UBF field table
0003 $ *
0004 $ * @file Exfields.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 
0035 $#ifndef __EXFIELDS_H
0036 $#define __EXFIELDS_H
0037 
0038 *base 100
0039 
0040 #NAME           ID      TYPE    FLAG    COMMENT
0041 #----           --      ----    ----    -------
0042 # Service name for UD
0043 SRVCNM          1       string  -       Service name to be called
0044 
0045 ################################################################################
0046 # Event subsystem related
0047 ################################################################################
0048 EV_FLAGS        4       long    -       Event subscription flags
0049 EV_MASK         5       string  -       Event subscription mask
0050 EV_FILTER       6       string  -       Event subscription filter
0051 EV_SRVCNM       7       string  -       Event subscription service name
0052 EV_SUBSNR       8       long    -       Event subscriber number
0053 
0054 ################################################################################
0055 # Enduro/X Transaction Monitor
0056 ################################################################################
0057 EXDM_RESTARTS   15      long    -       ndrxd restarts done
0058 # Transaction manager specific fields
0059 TMCMD           20      char    -       Transaction Manager Command code
0060 TMXID           21      string  -       XID used for TM exchange
0061 TMRMID          23      short   -       Resource Manager ID - branch id (master)
0062 TMNODEID        22      short   -       Transaction Manager Node id
0063 TMSRVID         24      short   -       Server ID of Transaction Manager
0064 TMKNOWNRMS      25      string  -       List of known Resource Managers involved in tx
0065 # Error handling for XA:
0066 TMERR_CODE       30      short   -       Error code returned by TM (0 - OK)
0067 TMERR_REASON     31      short   -       Reason code (0 - not specific)
0068 TMERR_MSG        32      string  -       Error message returned by TM
0069 
0070 # Initiator
0071 TMPROCESSID     50       string  -       Process ID starting the transaction
0072 TMCALLERRM      51       short   -       Caller's resource manager
0073 TMTXTOUT        52       long    -       Transaction timeout value (seconds)
0074 TMTXTOUT_LEFT   53       long    -       Time left for transaction till timeout
0075 TMTXSTAGE       54       short   -       Transaction stage, where we are currenlty
0076 TMTXRMID        55       short   M       Resource manager id (grpno)
0077 TMTXRMSTATUS    56       char    M       Resource manager status
0078 TMTXRMERRCODE   57       long    M       Resource manager error code associated
0079 TMTXRMREASON    58       short   M       Reason code associated with RM
0080 TMTXTRYCNT      59       long    -       Transaction try count
0081 TMTXTRYMAXCNT   60       long    -       Transaction try count, max
0082 #
0083 # NOTE! TMTXFLAGS does not transport TPTRANID.tmtxflags
0084 # instead TMTXFLAGS UBF field is used for TMFLAGS values
0085 #
0086 TMTXFLAGS       61       long    -       Various TM flags...
0087 TMTXBTID        62       long    -       Branch Transaction ID
0088 
0089 ################################################################################
0090 # Client process manager
0091 ################################################################################
0092 EX_CPMCOMMAND   100     string   -       CPM Command (bc - boot clt, sc - stop clt, pc - print clts)
0093 EX_CPMOUTPUT    101     string   -       CPM output
0094 EX_CPMTAG       102     string   -       Tag
0095 EX_CPMSUBSECT   103     string   -       Sub-section
0096 EX_CPMWAIT      104     long     -       Wait milliseconds after batch processing
0097 EX_CPMPROCGRP   105     string   -       Process group name
0098 
0099 # Generic fields
0100 EX_CLTID                150     string  -       client identifier for originating client
0101 EX_DATA                 151     carray  -       unified data field
0102 EX_DATA_BUFTYP          152     short   -       ATMI buffer type ID
0103 EX_TSTAMP1_STR          153     string   -      Time stamp, yyyyMMddHHmmssSSS
0104 EX_TSTAMP2_STR          154     string   -      Time stamp, yyyyMMddHHmmssSSS
0105 EX_DATA_STR             155     string  -       Generic string data
0106 
0107 ################################################################################
0108 # Persistant Queue:
0109 ################################################################################
0110 EX_QSPACE                   200     string    - q space
0111 EX_QNAME                    201     string    - q name
0112 EX_QFLAGS                   202     long        -       indicates which of the values are set
0113 EX_QDEQ_TIME            203         long        -       absolute/relative  time for dequeuing
0114 EX_QPRIORITY            204         long        -       enqueue priority
0115 EX_QDIAGNOSTIC          205     long    -       indicates reason for failure
0116 EX_QMSGID                   206     carray      -       id of message before which to queue, binary
0117 EX_QCORRID                  207     carray      -       correlation id used to identify message
0118 EX_QREPLYQUEUE          208         string      -       queue name for reply message
0119 EX_QFAILUREQUEUE        209         string      -       queue name for failure message
0120 EX_QURCODE                  210         long    -       application user-return code
0121 EX_QAPPKEY                  211     long        -       application authentication client key
0122 EX_QDELIVERY_QOS        212         long    -   delivery quality of service
0123 EX_QREPLY_QOS           213     long    -       reply message quality of service
0124 EX_QEXP_TIME            214     long    -       expiration time
0125 EX_QCMD                     215         char    -       Queue command
0126 EX_QDIAGMSG                 216         string  -       diagnostic message
0127 EX_QNUMMSG                  217         long    -       Number of messages in q
0128 EX_QNUMLOCKED               218         long    -       Number of locked messages in q
0129 EX_QNUMSUCCEED              219         long    -       Number of succeed messages, for autoq
0130 EX_QNUMFAIL                 220         long    -       Number of failed messages for autoq
0131 EX_QSTRFLAGS                221         string  -       String based flags
0132 EX_QMSGTRIES                222         long    -       Number of tries for auto message
0133 EX_QMSGLOCKED               223         short   -       Is message locked?
0134 EX_QMSGIDSTR                224         string  -       String version of msgid
0135 EX_QNUMENQ                  225         long    -       Number of enqueues
0136 EX_QNUMDEQ                  226         long    -       Number of dequeues
0137 
0138 # file actions, as now tmqueue maintains the state of the files:
0139 EX_QFILENAME1           227     string  -       Filename 1 for command
0140 EX_QFILENAME2               228         string  -       filename 2 for command
0141 EX_QFILECMD                     229     char    -       File command
0142 
0143 ################################################################################
0144 # Enduro/X standard library
0145 ################################################################################
0146 EX_NERROR_CODE           300         short  -        Result code (error code)
0147 EX_NERROR_MSG            301         string -        Result message
0148 EX_NREQLOGFILE           302         string -        Request log file
0149 
0150 EX_TPERRNO               350         long -          TP error number
0151 EX_TPURCODE              351         long -          TP user return code
0152 EX_TPSTRERROR            352         string -        TP error message
0153 EX_TPERRSRC              353         char -          TP error source code
0154 ################################################################################
0155 # Fields for Common Config Server (ccsrv)
0156 # Config commands:
0157 # 'g' - Get (default)
0158 # 'l' - list (iterate through)
0159 ################################################################################
0160 EX_CC_CMD                   400         char    -       Common config command
0161 EX_CC_RESOURCE              401         string  -       List of config resources
0162 EX_CC_LOOKUPSECTION         402         string  -       Lookup section (with sub-sects slashed) (single)
0163 EX_CC_SECTIONMASK           403         string -        List of sections (start with) to iterate
0164 
0165 EX_CC_MANDATORY             404         string -        List of mandatory config fields in section (only for get)
0166 
0167 # Formats accepted
0168 # sX..Y (string, in length of X till Y, X may not be set, then 0 is accpeted), e.g. s..16, s5..10
0169 # fX..Y Number in length of X till Y (this allows, "e-,." to be present. X and Y is string format length of the field accepted
0170 # dX..Y Decimal in length of X till Y (only digits allowed)
0171 # t (boolean field, accepts: yes,no,TRUE,FALSE,1,0)
0172 EX_CC_FORMAT_KEY            405         string -        Config key format
0173 EX_CC_FORMAT_FORMAT         406         string -        For to be checked
0174 
0175 # Triplet for single entry of config:
0176 EX_CC_SECTION               409         string -        section from which value was taken (direct or parent...)
0177 EX_CC_KEY                   410         string -        Result key (list)
0178 EX_CC_VALUE                 411         string -        Corresponding occurrence of value for key
0179 ################################################################################
0180 
0181 ################################################################################
0182 # Error code field for interfaces (connecting modules)
0183 ################################################################################
0184 EX_IF_ECODE                 500         short  -        Result code (error code)
0185 EX_IF_EMSG                  501         string -        Result message
0186 
0187 # REST interface caller URL
0188 EX_IF_URL                   502         string -        Called URL for REST interface
0189 
0190 # Header fields, pairs for request
0191 EX_IF_REQHN                 503         string -        Request Header Name
0192 EX_IF_REQHV                 504         string -        Request header Value
0193 
0194 # Cookie request data
0195 EX_IF_REQCN                 505         string -        Request Cookie Name
0196 EX_IF_REQCV                 506         string -        Request Cookie Value
0197 
0198 # Header fields, pairs for response
0199 EX_IF_RSPHN                 507         string -        Response Header Name
0200 EX_IF_RSPHV                 508         string -        Response Header Value
0201 
0202 # Cookie response data
0203 EX_IF_RSPCN                 509         string -        Response Cookie Name
0204 EX_IF_RSPCV                 510         string -        Response Cookie Value
0205 
0206 EX_IF_RSPCPATH              511         string -        Response Cookie Path
0207 EX_IF_RSPCDOMAIN            512         string -        Response Cookie Domain
0208 EX_IF_RSPCEXPIRES           513         string -        Response Cookie Expires
0209 EX_IF_RSPCMAXAGE            514         string -        Response Cookie MaxAge
0210 EX_IF_RSPCSECURE            515         string -        Response Cookie Secure
0211 EX_IF_RSPCHTTPONLY          516         string -        Response Cookie HttpOnly
0212 
0213 # Process form data in raw mode.
0214 EX_IF_REQFORMN              520         string -        Request Form Name
0215 EX_IF_REQFORMV              521         string -        Request Form Value
0216 
0217 EX_IF_REQQUERYN             522         string -        URL request Query field Name
0218 EX_IF_REQQUERYV             523         string -        URL request Query field value
0219 
0220 # Service user return code
0221 EX_IF_URCODE                530         long  -         User return code
0222 
0223 EX_IF_REQDATA               531         carray -        Request data / body
0224 EX_IF_RSPDATA               532         carray -        Response data / body
0225 EX_IF_METHOD                540         string -        HTTP method
0226 
0227 EX_IF_REQFILEDISK           541         string -        file on HDD, temporary, multi occ
0228 EX_IF_REQFILENAME           542         string -        file name in upload form
0229 EX_IF_REQFILEMIME           543         string -        content type, multi occ
0230 EX_IF_REQFILEFORM           544         string -        form field name, multi occ
0231 EX_IF_RSPFILEACTION         545         string -        occurrence on action, multi-occ
0232 
0233 EX_IF_TPURCODE              546         long   -        user code in response from svc call
0234 EX_IF_ERRSRC                547         char   -        Error source
0235 
0236 ################################################################################
0237 # TCP Inter-connecting
0238 ################################################################################
0239 EX_NETDATA                  550         carray -        Network Data field
0240 EX_NETGATEWAY               551         string -        Network gateway service
0241 EX_NETCONNID                552         long  -         Network Connection id at gateway
0242 EX_NETCORR                  553         string  -       Network request correlator field
0243 EX_NETFLAGS                 554         string  -       Flags of the network call
0244 EX_NETCONNIDCOMP            555         long    -       Compiled connection id
0245 # Feature #288
0246 EX_NETOURIP                 556         string  -       Our client/server IP address
0247 EX_NETOURPORT               557         long    -       Our client/server port
0248 EX_NETTHEIRIP               558         string  -       Their client/server IP address
0249 EX_NETTHEIRPORT             559         long    -       Their client/server port
0250 #
0251 # A - we are client (Aactive, performing connect)
0252 # P - we are server (Passive, wait for incoming call)
0253 #
0254 EX_NETCONMODE               560         char    -       Connection mode (A - act/P - passive)
0255 EX_NETRCODE                 651         long    -       Network related error code (e.g. http status)
0256 
0257 ################################################################################
0258 # View processing
0259 ################################################################################
0260 EX_VIEW_NAME                600         string  -      Name of the view (if present the this is view buffer)
0261 #
0262 # Checksum is compared before target system processes the record from fb
0263 # the object checksum of the view must match. Otherwise target system will not accept the incoming message
0264 # and the server shall respond with error 10.
0265 # checksum is calculated as crc32, updated during the loading time..
0266 #
0267 EX_VIEW_CKSUM               601         long   -       Checksum calculate of type+cname+count+length
0268 # from left to right. The char index from left to right is the field number. All field numbers must be filled
0269 # the 0 -> field not included in the buffer.
0270 # the 1 -> field is included in buffer and must be installed back in structure.
0271 EX_VIEW_INCLFLDS            602         string -       Field include flags
0272 
0273 ################################################################################
0274 # Cache processing
0275 ################################################################################
0276 EX_CACHE_DBNAME             650         string -       Db name of cache
0277 EX_CACHE_OPEXPR             651         string -       Operation expression
0278 EX_CACHE_BUFTYP             652         short -        buffer type id
0279 EX_CACHE_DUMP               653         carray -       Data dump, carray
0280 EX_CACHE_TPERRNO            654         long -         TP Error code
0281 EX_CACHE_TPRUCODE           655         long -         TP Return code
0282 EX_CACHE_TIM                656         long -         Cache put epoch secs
0283 EX_CACHE_TIMUSEC            657         long -         Cache put epoch usecs
0284 EX_CACHE_HITT               658         long -         Cache hit epoch secs
0285 EX_CACHE_HITTU              659         long -         Cache hit epcoh usec
0286 EX_CACHE_NODEID             660         short -        Cache put source node id
0287 EX_CACHE_CMD                661         char -         Cache command
0288 EX_CACHE_FLAGS              662         long -         Command flags
0289 EX_CACHE_HITS               663         long -         Number of times cache was read
0290 EX_CACHE_NRDEL              664         long -         Number of records deleted
0291 EX_CACHE_NRDUPDEL           665         long -         Number of duplicates deleted
0292 EX_CACHE_BUFLEN             667         long -         Data len, bytes
0293 
0294 ################################################################################
0295 # Sintleton group support + some generics
0296 ################################################################################
0297 
0298 EX_COMMAND                  700         string -       generic command code
0299 EX_TSTAMP                   701         long   -       UTC timestamp
0300 EX_LCKSTATUS                702         char   -       Lock status
0301 EX_PROCGRP_NO               703         long   -       Process group number
0302 EX_SEQUENCE                 704         long   -       Sequence number (e.g. lock)
0303 
0304 $#endif
0305 
0306 $/* vim: set ts=4 sw=4 et smartindent: */