The following conventions for storing, naming, and opening files are used by the Verix eVo file system. Verix eVo-based terminals also use a set of system files for terminal and application maintenance.
File Storage
Files are stored in non-volatile (battery-backed) RAM or flash memory. All files remain in memory even when power is removed from the terminal. Applications should store critical application data to files to preserve data during power failures. Use of the flash file system for application data files should be limited to files that rarely or never change for example, font files.Trident terminals support the standard FAT (FAT12, FAT16, FAT32) file system to access files on the external flash drive—M: is the external USB drive and L: is the external SD drive. Long file names are not supported.
If a file is created through the open(), the file attribute is always set to 0x20 (ATTR_ARCHIVE as defined in the FAT standard). The following basic file I/O functions are supported for these external drives, the first two letters in the file name must be M: or L: and the maximum number of open files is 10.
•
open•
read•
write•
lseek•
close•
remove•
dir_get_first•
dir_get_next•
dir_get_file_date•
dir_get_attributes (always returns ATTR_ARCHIVE if the file exists).•
dir_get_file_sizeFILE MANAGEMENT File Conventions
Filenames
Filenames can be up to 32 characters long and must be terminated by a NULL character. Any non-NULL character can be used in the name. Filenames are not case sensitive. For example, TEST, test, TEst, and Test are considered the same file. The following file extensions are used within Verix eVo file system:•
*.c: C language source file. Compiled with armcc or tcc.•
*.cpp: C++ language source file. Compiled with armcpp or tcpp.•
*.o: Intermediate object file; valid only as an output file.•
*.out: Executable code file; valid only as an output file.•
*.axf: Debugger file.•
*.a: ARM static library file.•
*.lib: Shared library file•
*.crt: VeriShield certificate file; transferred to CERTFILE.SYS once processed•
*.p7s: VeriShield signature file; usually retained in the F: file system onceprocessed
File Groups
Verix eVo-based terminals provide a method for isolating files that belong to one application so that programs in another application cannot update or otherwise gain access to them. Up to 45 groups of files can be supported.•
Group 0 is reserved for files required by the operating system, such as device drivers.•
Group 1 is the primary user group. By default, files download into Group 1. The initial user program to run belongs to Group 1: The *GO variable is located in the Group 1 CONFIG.SYS file, and the named program must be a Group 1 file.A non-writable file system (“N:”) is supported in FLASH. If present, it will be dedicated to Verix eVo files. Every OS supports this new volume, which will only be enabled when the OpSys is installed in a terminal with at least 4MB of FLASH and 2MB of SRAM. Updates to the “N:” file system is performed only during OpSys startup as a consequence of downloading new Verix eVo files.
The “N:” file system is visible to all applications. In particular, the “N:” file system includes shared library files intended to be used by other applications. These files will be placed in group 15 in the “N:” file system. The Verix eVo network module will be loaded in “N:” in group 0.
NOTE The RealView®
manuals use the
.out suffix for what the Verix eVo OS calls the .odb file. The RealView naming convention is avoided on Verix eVo-based products as other VeriFone products and tools traditionally use .out to denote executable program files. See the Verix eVo Operating System ProgrammingTools Reference Manual for more information on the RealView compiling and
File Conventions
Group 46 is added to support all three file systems (“I:” and “F:” and the new “N:”). Most group 46 files will be placed in “N:” but dynamic data files may be present in both “I:” and “F:” as needed. Code files running in group 46 have access to all other user groups. In contrast, no code file running from any other group will be able to see files in group 46. Group 46 is primarily used to hold the Verix eVo “middleware” files for configuring and managing various networks.
Update Procedure
Files are never directly downloaded into the “N:” file system or into the user group 46. Instead, they are downloaded into group 1 or group 15. In order to berecognized as Verix eVo files, special naming conventions must be followed. The Verix eVo files will be downloaded with special suffixes to indicate their function. These suffixes are illustrated under the assumption that they will not conflict with any current usage. For example, when upgrading Verix eVo OS, VeriFone may distribute files named “VXEOS.OUT{!” and “SSL.LIB{#“ and
“TCPIP.BIN{$” and these files must be downloaded with these precise names.
VXEOS.OUT
VXEOS.OUT is the “Extended OS application” that resides in “N:” drive. When the OS starts up, it starts VXEOS.OUT. The application VXEOS.OUT is the boot-strap application for Verix eVo OS. After it starts up, it starts up other applications that constitute the Verix eVo OS. VXEOS.OUT exits when it completes. Thisapplication runs all the Verix eVo applications required at startup. In the current scope, VXEOS.OUT will start CommEngine VXCE.OUT. In future, as
enhancements are made to the Verix eVo OS, VXEOS.OUT will run additional applications.
For backwards compatibility a mechanism is required for applications to access the communication hardware directly. For this purpose, it is necessary to suppress starting of the CommEngine and related components at start up.
VXEOS.OUT at start-up examines configuration parameter *VXC (for Verix eVo Communication) in GID 1. If present and set to 0, it is considered disabled and does not start the CommEngine. If absent or has a non-zero value, it is
considered enabled and starts the CommEngine. Refer to the VxEOS.OUT ERS, VDN-28780, for more information.
NOTE
Groups 16-45 are Verifone private protected groups which are saved for projects in the future.
NOTE
These special suffixes are used only temporarily to aid in file authentication and installation. Once the installation is complete, these suffixes will not be present.
FILE MANAGEMENT Default System Files
VXCE.OUT
Application VXCE.OUT is the Communication Engine (CommEngine). It is started by the Verix eVo boot strap application, VXEOS.OUT. CommEngine is not the same as CommServer (VCS). Although there is functional commonality, the two are different. CommEngine is an integral part of the Verix eVo OS whileCommServer is an optional application that is not part of Verix eVo. CommEngine does not perform any communication, as CommServer does, but facilitates it. It starts up, monitors, and tears down the communication infrastructure.
The communication infrastructure, which CommEngine interfaces with, is the communication device driver which implements the device driver interface (DDI), The CommEngine also interfaces with the OS Socket Interface.