Fieldpine Logo Documentation Home  

TUEV Packet Field Definitions


TUEV Event blocks are used to transfer events and status messages about the application and environment but are not part of the application itself. They are primarily used for monitoring and instrumentation.

An event is sent in reaction to something that happened. A TUST status message is sent for periodic advice of status. The two appear very similar but are actually different concepts.

Packet Structure

TUEV blocks share a single schema, but individual events are free to populate only those fields that are relevant. Conceptually it is like using a single database table with hundreds/thousands of columns, where each row is an event

Example Entry, shown in XML format

<TUEV>
 <Target>1001</Target>
 <MAC>3C7BEB449F03</MAC>
 <Code>255</Code>	; Bad scan
 <GenLicid>682</GenLicid>	; Pos Unique Id
 <Barcode>918438237343</Barcode>
 <BarcodeType>0</BarcodeType>
</TUEV>
Some fields ommitted to keep example small

Standard Header

Each TUEV packet contains an standard header used to define who generated the information and whom it is intended for. The following fields will typically always be present

Field#Field NameDescription
f100TargetTarget system that this packet is intended for
f101SourceSource of this packet
f102UrgencyUrgency and importance flags
f103DiscardDiscard lifetime in seconds. Defines when this packet can be considered no longer of use.
f106MACGenerating system MAC address
f107RmSystemRmSystem identification number
f113DeviceFingerPrintDevice Fingerprint. A unique code identifying this hardware at this point in time.
f114OpModeOperating mode of the system. Only supplied if different from the expected value for the application. Bitmask:
  • 1 - Running as service
  • 2 - Running in core mode

Semi Required Fields

In addition to the standard fields above, the following fields are usually present in all packets too unless there is good reason a field cannot be supplied

Field#Field NameDescription
f300GeneratorGenerating Program Code. Identifies the program that generated this packet. 38=ProcAgent 14=Fpos 17=Gds/2 15=Android 16=Website 18=SecureServices 19=WebSell
f301CodeType of message. 1=Watchdog expiration 201=sys startup, 208=Bis End. See Event Contents for more details about each event
f302GenLicidUnique Id
f303DateTimeCurrent system date/time (local time)
f304ProcessIdCurrent process Id
f307TellerIdCurrent staff Id using system
f500SystemTypeBSystem Type B indicator
f501LocationIdSystem Location
f502LaneSystem Lane Number

Optional Fields

Field#Field NameDescription
f305ElapsedSecElapsed time, in Seconds. This is the time of an operation, not total run time. This can be whole seconds only or include fractional seconds depending on the function loading the value
f306ElapsedMSElapsed time, in Milli seconds. This is the time of an operation, not total run time
f308ThreadIdGenerating Thread Id
f310Number of pending messages/work actively queued. Systems that process work queues can use this field to signal how much work they have at this instant.
f311YesNoYes/No, or true/false indicator
f312PercentPercentage indicator
f313SequenceSequence number. This number relates to the TUEV type, it is not a sequence of all TUEV.
f314CountGoodA counter of good or pass.
f315CountBadA counter of bad or fail
f316MaskA bitmask. Actual details of what depends on event type
f317CountOther1A general purpose counter.
f318CountOther2A general purpose counter.
f319CountOther3A general purpose counter.
f320CountOther4A general purpose counter.
f321CountOther5A general purpose counter.
f350TextGeneral message text
f351MessageDisplayTypeMessage display types (ok, error, yes/no etc)
f352General error message text strings. Often present multiple times.
f353MessageDisplaySelectButton selected by user (ok, error, yes/no etc)
f354EventTarget Target group this message is intended for. Rarely used. Allows an event to specifically request that it be displayed to a specific group. This is a request, there is not guarantee it will be honoured. Bitmask: Operations=1, Developers=2, Support=4
f360Flow Point Module
f361Flow Point Line
f362VersionCode Version String
f363QuickCodeQuick Code
f364SubTypeTransaction Subtype. TUEV Event specific code.
f365Version2Code Version String (old), or secondary version if reporting another files version
f366Computer name
f367RuntimeErrorGroupRuntime Error Group number
f368RuntimeErrorMemberRuntime Error Member number
f369FlowPointFlow Manager Number
f370FlowPointDataFlow Manager Data
f371FlowPointTypeFlow Manager Error Type
f390Image Data. This is a binary field and is not normally returned to clients.
f400TotalFileCountNumber of files in applications folder
f401TotalFileSizeTotal size of files in application folder, in bytes
f402TotalFileSizeMbTotal size of files in application folder, in MegaBytes
f450, f455, f460, f465, f470LargeFile1 to LargeFile5Name of file in 5 largest in folder
f451, f456, f461, f466, f471LargeFileSize1 to LargeFileSize5Size of file in bytes.
f500SystemTypeBSystem Type B indicator
f501LocationIdSystem Location
f502LaneSystem Lane Number
f503CountryCodeCountry Code
f504CountryCodeISOISO Country Code
f505Interface port. eg Com1, com16, lpt4
f506DriveLetterDrive letter/path
f507DeviceNameName of a device
f600BytesSentBytes sent
f601BytesRecvBytes received
f602SalesCountCount of Sales in operation
f605ResultResult
f606StageStage
f607MaxStageMax Stage
f608ProtocolProtocol
f609ThreadCountThread Count
f610UserInterruptUser interupted indicator
f611TransactionTypeTransaction Type.
f612Search Data (eg from lookup screens)
f613EFTPOS Result Code, two character codes.
f614Number of bytes, length of string
f615TableNameDatabase table name
f616Device Ready indicator
f617Network link ready indicator
f618Using EOV or offline fallback techniques
f619SqlSQL string. This might be a pseudo SQL statement rather than actual SQL
f620FilenameFile name
f621FieldNameDatabase field name
f622ProcessorTimeProcessor CPU time in mS
f623SourceCodeActual source code.
f624DatabaseSizeSize of database in MB, where available
f625DatabaseSizeWarnRelative fullness threshold of when warning and action should be taken over database size
f626DatabaseVersionIf the database file itself has a version, this holds the version. Version information is returned as an integer scaled by 100. So version 7.123 will return as 712
f627IPv4Hosts local TCP addresses. This field can be present multiple times if multiple addresses exist
f700Sale Id (typically local sale id)
f701Sale Physkey
f702Total Value. Holds a monetary total.
f703Sale Phase
f704Screen name
f705Screen type 1-10 UI screens. 11=built in screen. 12=multi purpose build screen
f706BarcodeBarcode
f707BarcodeTypeBarcode type
f708Customer Id
f709Customer Physkey
f710Account Id
f711Account Physkey
f712Account Balance (after)
f713External sale id (ie externalid for remote generated sales such as web sales)
f714Saleline sequence number
f715Database transaction type. 1=RW, 2=RO, 3=RO(2)
f716Product Id
f717Product Physkey
f718Keying reference
f719Setting Name
f720Transaction Reference
f721Cash Amount
f722Start date/time
f723Disabled value. List of items (whatever that means for an event) that are disabled
f724CAID
f725CATID
f726Eftpos response text
f727Eftpos transaction reference
f728Eftpos message type
f729Eftpos last known receipt
f730Eftpos STAN
f731EmailAccountEmail Account Name
f732GenCodeIdA number allocated to different code functions that might generate the same event. This code allows developers to isolate exact source module.
f2000 - f2099milliSecond timer values
f2100 - f2199GetLastErrorSystem error codes, from GetLastError API. The field name GetLastError is only for f#2100. The other fields do not have explicit names as they are rarely used.
f2200Process Dump. List of all processes active on machine
f2300Number of GDI Objects (Handle Count)
f2301Handle Count of process
f2302Free Disk space in MB
f3000Exception Code
f3001Exception Address
f3020CPU SegGs Register
f3021CPU SegFs Register
f3022CPU SegEs Register
f3023CPU SegDs Register
f3024CPU Esp Register
f3025CPU Edi Register
f3026CPU Esi Register
f3027CPU Ebx Register
f3028CPU Ecx Register
f3029CPU Eax Register
f3030CPU Edx Register
f3031CPU SegSs Register
f3032CPU SegCs Register
f3033CPU EFlags Register
f3034CPU Ebp Register
f3035CPU EIP Register
f3036Context Flags
f3037CPU Dr0 Register
f3038CPU Dr1 Register
f3039CPU Dr2 Register
f3042CPU Dr5 Register
f3043CPU Dr6 Register
f3044CPU Dr7 Register
f3045Probable remaining stack space. 0 and negatives mean unknown.
f3050Memory load
f3051Memory total physical
f3052Memory available physical
f3053Memory total page file
f3054Memory available page file
f3055Memory total virtual
f3056Memory available virtual
f5000PrimaryTracePrimary tracing enabled flags
f5001SubSystemTraceSub System tracing enabled flags
f5002CounterNameName of counter
f5003ExpectedValueA value that was "expected".
f5004ActualValueA value that was "seen".

Optional EDLL Sub packet

Details about DLLs.

Field#Description
f110File name of DLL
f111Internal id. A number allocated by the application for this particular DLL. Not all applications use internal DLL numbering.
f112File version information

Individual Event Contents

201 - System Startup

The application was started. This packet is typically sent from a secondary thread, so may lag actual startup by a few seconds.

Field#NameDescription
f301Code201 - Event Code
f400Total number of files in folder
f401Total bytes of files in folder
f450, f455, f460, f465. f470Names of the largest files
f451, f456, f461, f466. f471Sizes of the largest files
+EDLLEDLL subpackets are included listing all DLLs present in the folder. This may include DLLs that are not used by the application
f500System Type B indicator
f501System Location
f502System Lane Number
f503Country Code
f504ISO Country Code
+PRTRPRTR subpackets are included listing all printers defined and present on the system,
+TUSHTUSH subpacket providing details about current hardware and platform
f624DatabaseSizeSize of database in MB, where available
f625DatabaseSizeWarnRelative fullness threshold of when warning and action should be taken over database size
f626DatabaseVersionVersion of database file
f5000PrimaryTraceSet if the application has tracing enabled. For PosGreen this means it is tracing to the disk
f5001SubSystemTraceFor PosGreen, set if the disk interface dll is tracing to disk

The setting Tuev.ExtendedInfo (default 7) is a bitmask controlling extended information fields. If the bit is set the fields are included.

 bit 0  Include major POS configuration settings.
 bit 1  Include PRTR subpackets for each printer
 bit 2  Add a TUSH hardware identification packet

202 - Version Changed

The application detected the version has changed from last operating time

Field#Description
f301202 - Event Code
f362The current version of the application
f365The previous version of the application

203 - Quickcode executed

A quickcode was executed

Field#Description
f301203 - Event Code
f305Duration of quickcode execution. This time includes some minor levels of overhead but this should not affect timings greatly
f3111 if quickcode executed in some way. 0 if quickcode was not understood
f363The quickcode that was executed

208 - BIS Sync Operation

A BIS sync operation was completed.

Field#Description
f301208 - Event Code
f305Duration of quickcode execution. This time includes some minor levels of overhead but this should not affect timings greatly
f352Errors encountered (caught) during the operation
f719Global settings that are overriden using force in CTL files

216 - Message Displayed to user

An interupting message was shown to a user

Field#Field NameDescription
f301Code216 - Event Code
f305ElapsedSecDuration message was shown to user before being dismissed/acknowledged
f306ElapsedMSDuration in milliseconds message was shown to user before being dismissed/acknowledged
f350TextContents of message actually shown to user
f351MessageDisplayTypeBitmask indicating style of message shown to user. Definitions are the same as ::MessageBox dwStyle fields
f353MessageDisplaySelectButton selected by user. The range of values matches the API ::MessageBoxIndirect() even if this routine was not actually used. The numeric values are:
  • 1, OK
  • 2, CANCEL
  • 3, ABORT
  • 4, RETRY
  • 5, IGNORE
  • 6, YES
  • 7, NO
  • 8, CLOSE
  • 9, HELP
f360Flow point module, if present
f361Flow point routine, if present

217 - Sale Completed

A sale was completed. This event is intentionally small and contains minimum information about the sale itself

Field#Description
f301217 - Event Code
f305Duration of sale from start to completed. This includes time it was on hold or parked.
f700Sale id. This is the local sale id
f703Phase of sale. 1=normal completed sale.
f702Value of sale

218 - Crash Detected

A crash was detected.

Field#Description
f301218 - Event Code
f352Recent trace lines. Generally the most recent 20 lines are supplied
f362System version
f360Flow point module, if present
f361Flow point routine, if present
f3000Exception Code
f3001Exception Address
f3020CPU SegGs Register
f3021CPU SegFs Register
f3022CPU SegEs Register
f3023CPU SegDs Register
f3024CPU Esp Register
f3025CPU Edi Register
f3026CPU Esi Register
f3027CPU Ebx Register
f3028CPU Ecx Register
f3029CPU Eax Register
f3030CPU Edx Register
f3031CPU SegSs Register
f3032CPU SegCs Register
f3033CPU EFlags Register
f3034CPU Ebp Register
f3035CPU EIP Register
f3050Memory load
f3051Memory total physical
f3052Memory available physical
f3053Memory total page file
f3054Memory available page file
f3055Memory total virtual
f3056Memory available virtual

220 - Major System Issue

A major issue has been detected that is either currently affecting operation or will is likely to. Major issues are deemed customer affecting.

Field#FieldNameDescription
f301220 - Event Code
f316Mask. Reported for memory damage subtype.
f350Text describing the major error code given in f364
f364Major Error subtype code. See below
f501LocationIdLocation involved
f506Drive letter if event is disk arrival or removal. Often sent when USB drives are added or removed from the system
f2100GetLastError() code, if provided. Not all errors send this code
f2200Windows Process List. Generally provided in subtype 7 Additional information packets
f2300Number of GDI objects currently held by POS. 0 is returned if unknown.
f2301Handle Count of process. 0 is returned if unknown.
f5002CounterNameName of counter that has been exhausted

The following major error subtypes may appear

1. Working directory is not read/write enabled
The POS requires write access to the directory. A check for write access has failed so the folder is considered read only and POS cannot operate. Most likely cause is generally ActiveDirectory or security settings outside the POS itself. If this message randomly/rarely appears it may indicate over zealous Anti-Virus is locking POS files while they are scanned.
2. Lane Number already in use
Each POS on a database must have a unique lane number. This error indicates that you already have a lane using this lane number. Technically, we are unable to open/lock the file "LaneLock_N.lck" in the folder holding the database (for file based databases)
3. Multilane locked out system
The table multilane has locked this lane out. Multilane is used by advanced sites to control access themselves. Refer to site specific documentation
4. Disk drive failure predicted
(P1875) The harddrive itself is reporting an expected failure shortly. You are advised to take backups and call hardware support
5. Unable to open receipt printer. Printer-Name
(P1876) Attempting to print the call to CreateDC() failed. This code requests a subtype 7.
6. Unable to start printing. StartDoc() failed Printer-Name
(P1876) While attempting to print, the call to StartDoc() failed so we are unable to print. This code requests a subtype 7. This error may be returned if the printers are still being installed and they aren't quite set up correctly.
7. Additional Information
(P1876) This code is not strictly an error itself, it is generated when another major error wishes to collect additonal information. Internally the first major error is created and logged, and we then request a subtype 7 packet. This is done seperately so that if we have problems collecting subtype 7 the initial problem is still reported.
8. Missing File
(P1941) A file was needed to be opened but was not found
9. Handle Limit Warning
(P1946) The number of Open Windows Handles is getting high
10. Gui/Gdi Limit Warning
(P1946) The number of Gui/Gdi resources in use is getting high
11. Disk Low
The available free space is running out.
12. Settings has duplicates
Duplicate settings were detected when primary key (location,lane,keyname) should block this
13. Memory Damage Detected
Some level of memory damage has been detected. As to how severe this is depends on the reporting agent and where the damage is.
14. Developer Alert
A catchall code used by developers to trap events they are interested in. Reported as major errors to ensure they are treated as high priority alerts. Developers should only use this subtype for rare events and not for long term reporting use.
15. Counter exhausted
A user level counter has failed to allocate a new number. Since counters are often used for sequential numbering purposes a failure to allocate a new value could be serious.

221 - Hardware Change

A hardware change was detected while the system was operating.

Field#Field NameDescription
f301Code221 - Event Code
f311YesNoUsed to Add/Remove. 0/missing is add, 1=Removal
f506DriveLetterDrive letter if event is disk arrival or removal. Often sent when USB drives are added or removed from the system
f507DeviceNameName of device added or removed from the system

222 - Auto Recovery

A monitoring process has detected a problem and is undertaking automated recovery. This event is generated Gds/2 when it is monitoring itself

Field#Description
f106Generating system MAC
f107RmSystem
f113Device Fingerprint
f300Generating System/Program Code (Gds/2=17)
f301222 - Event Code
f303Event Date/Time (localtime)
f304Current ProcessId
f350String describing in broad terms what is wrong and what is being done about it
f366Computer Name generating this event

223 - Configuration Error

The system has self detected it has a configuration problem. A typical example would be printer queues that used to exist, but have now gone

Field#NameDescription
f364SubTypeSubtype. Indicates exact type of error
  • 7 - Receipt formats pointing to non existent printers
  • 21 - Postal address files for address.validate missing
  • 22 - Postal address files for address.validate found but appear out of date

224 - Compile Error

The internal compiler or code generator has detected a problem

Field#NameDescription
f350TextText of error message encountered
f623SourceCodeSource code being compiled when error generated

241 - Screen Opened

A user interface screen is about to be opened

Field#Description
f301241 - Event Code
f704Name of the screen about to be opened
f705Type of screen opened indicator. See description above for definitions

250 - Retail Device Performance

Details from a retail device such as scanner, EFT interface, scale, etc. Reports both status of an operation and timings. The exact contents of this packet vary by reporting device

Field#Field NameDescription
f301250 - Event Code
f306Overall elapsed time (mS)
f364SubTypeSubtype. Indicates exact device reporting
  • 0x40,0001 - Eftpos NZ (OCX) periodic report
f365Version2Version associated DLL.
f505Interface port in use
f613EFTPOS result code
f614Number of bytes received from device
f2000Time to write command to device.
f2100Write to device Error Code

251 - Database Performance

Details from interaction with the database

Field#Description
f301251 - Event Code
f305Overall elapsed time
f615Database table name, may be repeated if join involved
f715Transaction type

255 - Bad Barcode scan

A barcode was scanned that could not be processed.

Field#Description
f301255 - Event Code
f311Set yes if barcode is referencing a deleted product. (PosGreen P1907)
f706Raw barcode scan data
f707Barcode type

259 - Environment Change

Something has changed with the Windows/Operating environment, but is considered lower importance than event #221 (Hardware change)

Field#Description
f301259 - Event Code
f364Type of change. 1=Screen saver activated

261 - Flow Error

The code hit a point in the code that is classified as an error, and this entry is reporting the error details. 261 Flow Errors do not necessarily mean a real error is happening, only that something slightly abnormal has occurred. Flow Errors are intended to be used by developers

Field#Description
f350Descriptive text of the error message from GetLastError.
f369Flow Number
f370Windows error code from GetLastError()
f371Error source

286 - Saleline delete

An item being deleted from a sale

Field#Description
f301286 - Event Code
f305Overall elapsed time
f700Sale Id# (relative to this lane)
f701Sale unique Physkey
f702Value of item(s)
f714Saleline sequence number
f716Product Id
f717Product Physkey

287 - End of Day Settelement

Fired after the end of day screen has completed. The Eod screen will also send a 241 screen open event if this is enabled.

Field#Description
f301287 - Event Code
f305Overall elapsed time that the settlement screen was displayed.
f311Print was performed
f312Database size information.
f364Normal exit flag. Set to 1 if normal exit path was taken (ie they "closed").
f718Keying reference for the EOD

288 - Startup Performance

Timing metrics for application startup. Slow startup can be annoying at customer facing systems. This event might help system administrators identify where or why the performance was sluggish. Not all timers and counters are enabled on all systems.

Field#Description
f301288 - Event Code
f610Number of times the startup knowingly displayed a message to the user and waited for their response. If this value is greater than 500 then the system was started in trace mode and displayed numerous status messages during startup
f2000Time mS to open and read initial registry values. This is often the first task performed
f2001Time mS used to read image files and DLLs. This is one of the first tasks to read the disk and directory.
f2002Time mS to open and read the various CTL files for POS itself (not sub modules)
f2003Time mS to sanity check EXE and DLL files. This involves self inspection of the Code stream to verify non tampering
f2004 to scan and load DBC*.dll files. Each DLL is asked in turn if it can process the database connection string
f2005 Speed test
f2006 Files Scan
f2007 Time to open and bring the database online
f2008 Time to read the versioncontrol table and load database identity information
f2009 Time to read the networklane table if present
f2010 Time to execute any POSCommand that has been set to run at startup
f2011 Time to load external plugin DLLs
f2012 Query the database looking for sales that are still open and if needed re activate payment systems that might have been in progress.
f2013Time used to reset printers