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: */