Application Information
This section describes usage of some of the environment variables in CONFIG.SYS.
*ARG—Arguments *ARG contains the argc and argv arguments passed to the main program specified by the *GO variable. Thus, it plays the role of the command line arguments of more conventional systems. Multiple arguments can be passed by separating them with spaces.
Example If *ARG = "-V 256", the main program receives argc = 3, argv[1] = "-V" and argv[2] = "256". argv[0] contains the name of the program file.
The use of *ARG is optional.
USB host /* PP1000SE and Vx810 device */ DEV_USBSER
Semtek device driver /* Semtek device driver */ DEV_SEMTEK
Customer smart card /dev/icc1 DEV_ICC1
Merchant SAM /dev/icc2 DEV_ICC2
Merchant SAM /dev/icc3 DEV_ICC3
Merchant SAM /dev/icc4 DEV_ICC4
Merchant SAM /dev/icc5 DEV_ICC5
Merchant SAM /dev/icc6 DEV_ICC6
USB External Ethernet /dev/eth1 DEV_ETH1
USB Internal WiFi /dev/wln1 DEV_WLN1
USB Client /dev/usbd DEV_USBD
Table 15 Verix V Device Handles (continued)
Device /dev Name <svc.h>
Variable
CAUTION Do not create new ‘*’ CONFIG.SYS variables. These variables are reserved for the OS, and new ‘*’ variables may be developed that would overwrite those developed for an application. Existing ‘*’ CONFIG.SYS variables can be modified to suit an application’s purpose. Variables can be defined for use with an
application, but should not begin with ‘*’.
Environment Variables Application Information
*B accepts a decimal number, indicating the number of communication buffers the system maintains. For example, *B = 24 assigns 24 buffers; each buffer is 64 bytes long. Non-communications devices (keyboard, card reader, and so on) do not use the buffers allocated by *B and are not affected by this variable.
*BCM By designating the group-wide *BCM variable, user can modify the application code to include a call to set_bcm(char Mode) at initialization. The parameter mode can be set to 0, 1, or 2.
CHKSUM—
Checksum Control
By default, each time the system starts the application, it validates the checksum of all the files in the file system (on power-up or following a restart from system mode). The user can bypass automatic checksum verification by assigning a value of 2 to CHKSUM.
If CHKSUM = 2, the system bypasses checksum validation at all times. All other CHKSUM values are undefined.
If automatic checksum validation is disabled, the application can check the integrity of its files using the SVC_CHECKFILE() function.
*COMBO Sets the application group to use a modem or TCP/IP. 0=modem,1=TCP/IP
*COM2HW If this variable is not present, OS performs default module detection at power up.
If the variable is present, the OS uses this value as the value represents the type of modem installed and bypasses the module detection process. The value of this variable is erased by full downloads as it is an ordinary variable, this forces re-detection of the module when the module is replaced.
WARNING Limiting *B may cause indeterminate side effects—under certain conditions, a known side effect of setting this variable is the failure of modem profiles to load properly. This CONFIG.SYS variable is meant for use in applications where memory is limited and should not be set if RAM is not limited.
set_bcm(0) Set BCM off.
set_bcm(1) Set BCM on, no arrow extensions.
set_bcm(2) Set BCM on, with arrow extensions.
NOTE
The set_bcm() must be called after the application opens the console.
NOTE CHKSUM does not begin with an asterisk and is deleted from CONFIG.SYS on a full download. This ensures that checksum validation is not disabled when a new application is loaded into the system. Disabling checksums removes an important check on system integrity and should be used only in very unusual circumstances.
SYSTEM CONFIGURATION FILE
Environment Variables Application Information
*COM3HW If this variable is not present, the OS performs default module detection at power up. If the variable is present, the OS uses this value as the value that represents the type of modem installed and bypasses the module detection process. The value of this variable is erased by full downloads as it is an ordinary variable, this forces re-detection of the module when the module is replaced.
*COM2RB Indicates the size of the asynchronous receive buffer on COM2 only. If this variable doesn’t exist, the default size (4096 bytes) is taken. The buffer size ranges from 4096 to 8192 bytes. If any value is specified outside this range, the default value is used.
*COM3RB Indicates the size of the asynchronous receive buffer on COM3 only. If this variable doesn’t exist, the default size (1024 bytes) is taken. The buffer size ranges from 1024 to 8192 bytes. If any value is specified outside this range, the default value is used.
*DARK Sets the computed print strobe time to control darkness for printing graphics or characters on the integrated thermal printer, refer to <ESC>w<n>;. The higher the number, the longer the print strobe activation time, the darker the print and the higher the print times, and power consumption.
*DBMON Configuration for debug monitor. Format is pb where
• p is the port:
• 0 = USB
• 1 = COM1 (default)
• 2 = COM2
• b is the baud rate as set with the following values:
Baud Value Baud Value
300 0 38400 7
600 1 57600 8
1200 2 115200 9 default)
2400 3 12000 10
4800 4 14400 11
9600 5 28800 12
19200 6 33600 13
Environment Variables Application Information
• *DEFRAG is not defined or set to 0: Coalesce flash if deleted files found.
• *DEFRAG is >0: Coalesce flash if freed memory space would be ≥*DEFRAG (value in KB).
• *DEFRAG is <0: Never coalesce flash. In this case, the system mode flash defragment function is only available manually.
Example
*DIAG Executes a diagnostic or key-loading program once in terminal system mode;
allows a diagnostic program to run once when security is preventing access.
*DOT0 This variable sets the maximum number of simultaneous dots printed when the nRAD_HPWR signal line is low which indicates that the radio is drawing high current and printer slows down its printing consuming less power, by default the variable is set to 16. This parameter has a range of 16 to 64.
*DOT1 This variable sets the maximum number of simultaneous dots printed when the nRAD_HPWR signal line is high which indicates that the radio is not drawing high current and the may print at full speed, by default the variable is set to 40. This parameter has a range of 16 to 64.
*FA—File Authentication
If this variable is present and set to 0, all signature files are removed from terminal memory. If this variable is set to 1, all signature files are retained in terminal memory. It is important to retain signature files if planning back-to-back downloads. Default is 1: retain signature files.
*FILE Maximum number of files that can be simultaneously open. Minimum is 10;
maximum is 224 (default: 30).
*GO—Startup Executable Code File
On power up or system restart, the terminal decides which program to run by looking at the *GO entry in CONFIG.SYS in file Group 1. Each group can have a CONFIG.SYS file, but it is desirable to allow the application with the highest privilege to control the startup of other applications. System mode gives this privilege to the CONFIG.SYS file in Group 1, which is determined to be the sponsoring application. If there is an *ARG CONFIG.SYS entry, then its contents are passed as command line arguments to the process. *GO determines action as follows:
• If *GO = APPL.OUT, on system restart the terminal searches for the file APPL.OUT and attempts to execute it.
• If *GO is not set at system restart, the terminal displays DOWNLOAD NEEDED.
• If *GO is not found, the terminal displays DOWNLOAD NEEDED NO *GO VARIABLE.
*DEFRAG = 0 Always coalesces flash when deleted files are detected.
*DEFRAG = 250 If coalesce will free 250 KB or more memory, then coalesce flash.
*DEFRAG = -1 Never coalesce flash.
SYSTEM CONFIGURATION FILE
Environment Variables Application Information
• If *GO is set but the run() system call fails, possibly because the executable file is missing, then the terminal displays DOWNLOAD NEEDED INVALID *GO VALUE.
*GKE Indicates the type of event that has to be generated when the user has pressed green key. The default is that no event will be generated. If *GKE = 1, pressing the green key will trigger a console event for the current owner of the console. If
*GKE = 2, pressing the green key will generate a system event for all applications.
*IPPMKI—Internal PIN Pad Communications Parameters
This variable sets communications parameters for the internal PIN pad key loading from system mode (see Appendix c, IPP Key Loading). The value can specify a baud rate or the following flags:
Order does not matter. For example, “E1200R” sets the serial port to A7E1 at 1200 baud and turns on RTS. The default settings are A8N1 (ansync, 8-bit, no parity, one stop bit) at 19200 baud.
E, O, D, and R also set Fmt_A7E1, Fmt_A7O1, Fmt_DTR, and Fmt_RTS, respectively.
The flags and rate can be intermixed in any order. Unrecognized characters are ignored. For example:
• 1200E = 1200 baud, even parity
• ER= 19200 baud (default), even parity, assert RTS
• R,9600,E = 9600 baud, even parity, assert RTS (the commas are ignored)
*IPPMKI is intended to support key loading software with fixed communication requirements; the baud rate probably has no significant effect on performance given the small amount of data involved. Note that the COM1 settings are independent of the COM2/IPP settings.
• E A7E1 format • D Set DTR
• O A7O1 format • R Set RTS
NOTE *IPPMKI refers only to settings used for the external COM1 (RS232) port where the key loading system (usually a PC running either MKIXOR or SecureKIT) is physically connected. It does not affect the (internal) physical serial channel to the IPP itself (COM2), which is accessed by applications as “/dev/com2.”
Environment Variables Application Information
*MERR The modem profile load operation loads a file pointed to by *MN. If this file fails to load, the error code is saved in *MERR. Verify that the profile loaded correctly by checking the SYSTEM INFO system information menu. If the expected version does not display in the VER field, access the EDIT menu and review the
CONFIG.SYS file for the variable *MERR. *MERR shows error codes on operation failure. Table 16 lists the *MERR error code values.
*MN Verix V requires a country-specific configuration file. Parameters and patches to the modem firmware are included in this file. The file downloads to the modem on each power cycle or whenever a new file downloads to the terminal. *MN is set to the new filename and, once successfully loaded, *MN is removed from the
CONFIG.SYS file and the configuration file is moved into RAM GID0.
*OFF An automatic transition from Idle (sleep) to OFF occurs if the unit is continuously idle for five minutes (default value), OFF variable is set to adjust this time period.
This parameter has a range of 1 s to a maximum of 36,000 s (10 hr). The terminal sets to the default value of five minutes if *OFF is not present or its value is out of range.
Table 16 *MERR Values
*MERR Values Display Descriptions
1 EXTENSION NOT .ZIP File defined by *MN is not a zip file
2 NOT AUTHENTICATED File defined by *MN is not
authenticated
3 *MN FILE ZERO LEN File defined by *MN has a length of zero
4 FILE COPYING ERROR MODPROF.ZIP does not exist
5 FILE UNZIP ERROR ZIP file fails unzip operation
6 NAME NOT
MODPROF.S37
The file within the *MN zip file is not named MODPROF.S37
7 MODEM COMM ERROR Modem Communication error such
as:
•Modem fails to respond with OK when download is completed
•Modem does not respond with “.” For each record written
9 *MD UNZIP ERROR Illegal profiles or other file types in the file pointed to by *MD
SYSTEM CONFIGURATION FILE
Environment Variables Application Information
*OFFD Indicates the delay (in seconds) between receiving the SVC_SHUTDOWN call and powering down the terminal by default the time taken is 2 seconds. This variable is read on system restart or reboot. The range is 2 seconds (default) to a
maximum of 60 seconds.
*PIPE Controls the number of pipe handles available. Minimum is 0; maximum is 256 (default).
*POW Indicates the amount of time (milliseconds) that Verix V waits before attempting to place the unit in sleep mode. The timer starts when all application tasks have become idle. A value of 0 indicates that the system will never enter low-power mode. The default value is sixty seconds; the maximum setting is 600000 (ten minutes).
*PRTFNT Specifies the amount of SRAM allocated for the printer fonts in increments of 1-KB.
The number of font pages ranges from 0 to 256, and the default is 64 for backward compatibility. If *PRTFNT is set to 256, then the program can load and print font pages using 1 to 256 in the existing printer commands.
*PRTLGO Specifies the amount of SRAM allocated for the printer logos in increments of 12-KB. The number of logos ranges from 0 to 10, and the default is 1 for backward compatibility. If *PRTLGO is set to 10, then the program can load and print logos using 0 to 9 in the existing printer commands.
*PW—Password File group access password. System mode requires the entry of this password to permit access to files within the group. *PW is defined separately for each file group. *PW is not an actual CONFIG.SYS variable, although it may be set like one during downloads.
*SMDL—System Mode Download
This flag enables polling for direct download during the start-up sequence before displaying the copyright screen. Supported values are:
• *SMDL=0 do not poll (default) NOTE
For security, passwords are not stored in CONFIG.SYS.
Environment Variables Application Information
If set, a direct download is attempted during startup. The system looks for ENQs on the line, trying both 115200 and 19200 bps. If no data is detected, normal startup resumes.
*SMPW—System Mode Password
Setting this variable sets the system mode entry password. As with *PW, *SMPW is not stored in CONFIG.SYS.
*SYSCHK Allows the user to select a new time to run the system check.
*TIME—Set Timers Sets the number of system timers. By default, 30 timers are available. This number can be increased to 200 (maximum) by setting *TIME=200. Timers are shared by the OS and all user tasks, so the number available to a particular application is <*TIME. See set_timer().
*UNZIP—
Decompress .ZIP
During terminal startup, the terminal checks for the environment variable *UNZIP in Groups 1–15 CONFIG.SYS files. If *UNZIP is set, a zip archive file
decompresses during startup. For example, if the archive MYSTUFF.ZIP
downloads and the *UNZIP variable is set to MYSTUFF.ZIP during the download, when the terminal restarts the archive MYSTUFF.ZIP is decompressed. The environment variable is then deleted and the archive MYSTUFF.ZIP removed.
*USBMEM Sets the memory size of the USB device. Since USB devices can transfer a large amount of data in a short time, a significant amount of memory must be reserved for buffers and buffer management structures. By default the buffer size is 16KB, but it may be changed using the new CONFIG.SYS variable *USBMEM, which allows the user to specify the amount to reserve in kilobytes.
UNZIP—Determine Decompress Results
Limited results about the decompression can be obtained using the variable UNZIP in CONFIG.SYS, which is set to 0 when UNZIP.OUT starts, and to 1 on successful conclusion. Note that *UNZIP AND UNZIP are two different variables.
See Determine UNZIP Results for more information.
*VALID—List Groups to Search
List additional groups to search on terminal startup as part of the VeriShield file authentication process. By default, the Verix V OS looks in all groups for new certificate files and signature files. *VALID can limit the search to only the specified groups. Use *VALID to request that other groups be searched by providing a comma-delimited list. For example, to search Groups 2, 6, and 15, use:
*VALID=2,6,15
NOTE This option is provided as a convenience for developers. Do not enable for terminals placed into service.
SYSTEM CONFIGURATION FILE
Search/Update CONFIG.SYS
*Z Series—
ZonTalk 2000 Control
Sets the COM port rate for downloads (see Appendix 11, Conexant Modems (Banshee and Eisenhower)). The following four entries in the CONFIG.SYS file control baud rates for application downloads (only) with VeriCentre download application:
*ZB Sets the block size for download.
*ZINIT External modem initialization string.
Default is ATM0V0&D2.
• V0 - sets terse mode (numeric responses),
• &D2 - drop DTR to hang up.
*ZRESP Specifies the expected response from the modem on connection. Default is
“CONNECT 2400". The terminal first tries to convert the response as a numeric value, then compares it to 1, 5, or 10 to indicate success.
*ZSWESC External modem flag to use ‘+++’ to escape into command mode, rather than DTR transitions. Default is DTR.
*ZTCP Specifies the name of an application file to run at the time of TCP/IP download.
*ZX If this variable is not present and has a value other than 1, the terminal retains the last download message on the screen (including “COMM ERRORS”,
*ZA=xxxxx VeriCentre application ID (name).
*ZP=xxxxx VeriCentre download telephone number. Can use embedded dialing control characters. Must be a valid phone number. For an IP download, a valid IP address, including port number, is required.
*ZRESET String stored in this call is the command to reset the modem to a known state before initialization or dialing out. If *ZRESET is empty, the Verix V OS uses the ATZ0 command as default. Z0 will restore the modem to the profile last saved using AZT&W0 (most likely the same as Factory profile 0, but could be anything last saved with that AT command).
Note: Use AT&F0 to restore the modem to Factory profile 0.
*ZT=xxxxx VeriCentre terminal ID.
Search/Update CONFIG.SYS
put_env() Stores an environment variable and its value in CONFIG.SYS. The
following restrictions apply:
• ZonTalk 2000 only: Keys must be ≤ 7 bytes.
• Entries prefixed with an asterisk (*) are reserved for system use only.
• Do not use control codes (values between 0x00 and 0x1F).
SYSTEM CONFIGURATION FILE