You are on page 1of 28

Verix/Verix V Development

Suite
Getting Started Guide

VeriFone Part Number 23901, Revision D

Verix/Verix V Development Suite Getting Started Guide


2007 VeriFone, Inc.
All rights reserved. No part of the contents of this document may be reproduced or transmitted in any form without the written
permission of VeriFone, Inc.
The information contained in this document is subject to change without notice. Although VeriFone has attempted to ensure the
accuracy of the contents of this document, this document may include errors or omissions. The examples and sample programs are
for illustration only and may not be suited for your purpose. You should verify the applicability of any example or sample program
before placing the software into productive use. This document, including without limitation the examples and software programs, is
supplied As-Is.
VeriFone, the VeriFone logo, Omni, VeriCentre, Verix, Vx, and VeriShield are registered trademarks of VeriFone. Other brand names
or trademarks associated with VeriFones products and services are trademarks of VeriFone, Inc.
All other brand names and trademarks appearing in this manual are the property of their respective holders.
Comments? Please e-mail all comments on this document to your local VeriFone Support Team.

VeriFone, Inc.
2099 Gateway Place, Suite 600
San Jose, CA, 95110 USA
1-800-VeriFone
www.verifone.com
VeriFone Part Number 23901, Revision D

CONTENTS
PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
VDTK Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Target Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Document Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Conventions and Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Minimum PC Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Minimum Requirements for Developing Applications . . . . . . . . . . . . . . . . . . . . . . 9
For Verix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
For Verix V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Default Installation Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Whats New . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

CHAPTER 1
Development Suite
Components

CHAPTER 2
Developing
Applications

Verix SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugging Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verix V SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Debugging Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ACT2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CardSlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messenger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools available in Verix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools available in Verix V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tools available in both Verix and Verix V . . . . . . . . . . . . . . . . . . . . . . . .
Memory Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Font Generation Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VeriShield FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VeriFind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VeriPrint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installed Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15
15
15
16
16
16
17
17
17
17
18
18
19
19
19
19
19
19
19
20
20
21
21
21
22
22
22
22

Application Development Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


Creating an Application for Verix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

C ONTENTS

Generating Static Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Generating Shared Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Application for Verix V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Shared Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

24
24
24
25

LIST OF TABLES
Table 1
Table 2
Table 3
Table 4
Table 5
Table 6
Table 7

VDTK Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Document Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Acronyms and Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Minimum PC Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Minimum Requirements for Verix . . . . . . . . . . . . . . . . . . . . . . . . . 9
Minimum Requirements for Verix V . . . . . . . . . . . . . . . . . . . . . . 10
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

L IST OF TABLES

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

PREFACE
The Verix/Verix V Development Tool Kit (VDTK) contains the Software
Development Kit (SDK), and various useful tools, utilities and libraries using which
you can develop applications for Verix and Verix V terminals.
The VDTK comprises two CDs - Development Suite and Enhanced
Communication Libraries (ECL). Development Suite has the SDK and a set of
libraries, tools and utilities that aid in application development. ECL has a set of
libraries and applications you can use to perform communication tasks in your
applications.

VDTK
Components

Table 1 lists the VDTK components in the two CDs.

Table 1

VDTK Components

Development Suite

ECL

SDK

Universal Communication Library

ACT2000

TCPIP Library

CardSlot

IP Download Library

Multi-App Conductor

Communication Server

Terminal Management Agent

Simple Network Management Protocol

Messenger
Tools
Memory Calculator
Font Generation Tool
VeriShield FST
VeriFind
VeriPrint

This guide contains information on the Development Suite components. The


Verix/Verix V Enhanced Communication Libraries Getting Started Guide, contains
information on ECL components.

Target
Audience

This guide is for developers who develop applications for VeriFones Verix and
Verix V terminals using the Verix/Verix V Development Suite. Developers must
have knowledge on C and C++ programming languages.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

P REFACE
Document Organization

Document
Organization

Conventions
and Acronyms

The manual is organized as follows:

Table 2

Document Organization

Chapter

Description

Chapter 1, Development Suite


Components

Provides an overview of the tools and libraries


used in the Development Suite.

Chapter 2, Developing Applications

Explains how applications can be developed


using the Development Suite components.

The following are conventions used in this document.

The courier typeface is used for code entries, filenames, and anything that
might require typing at the DOS prompt or from the terminal keypad.

The italic typeface indicates book title or emphasis.

Text in blue indicates terms that are cross-referenced. When the pointer is
placed over these references the pointer changes to the finger pointer,
indicating a link. Click on the link to view the topic.

NOTE

Note points out interesting and useful information.

CAUTION

Caution points out potential programming problems.

Table 3 presents acronyms and their definitions.

Table 3

Acronyms and Definitions

Acronym

Definition

ACT

Application Construction ToolKit

CVLR

Compressed Variable-Length Record

ECL

Enhanced Communication Libraries

FST

File Signing Tool

ICC

Integrated Chip Cards

IMM

Inter task Message Manager

IP

Internet Protocol

ITP

Integrated Thermal Printer

MIID

Monitored Item Identifier

OS

Operating System

PIP

Plural Interface Protocol

SDK

Software Development Kit

SNMP

Simple Network Management Protocol

TCP/IP

Transmission Control Protocol/Internet Protocol

TMA

Terminal Management Agent

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

P REFACE
Minimum PC Requirements

Table 3

Minimum PC
Requirements

Acronyms and Definitions (continued)

Acronym

Definition

TXO

Transaction eXpress Option

VCS

Verix/Verix V Communication Server

VDTK

Verix/Verix V Development Tool Kit

VLR

Variable-Length Record

VMAC

Verix/Verix V Multi-App Conductor

VTMA

Verix/Verix V Terminal Management Agent

Table 4 lists the software and hardware requirements for installing and using the
DTK for application development.

Table 4

Minimum PC Requirements

Software

Any one of the following Operating Systems:

Microsoft Windows 2000 Service Pack 2 or later

Microsoft Windows XP Service Pack 1 or later

Internet Explorer 6.0 or later


Adobe Acrobat Reader, version 6.0 or later
Microsoft Excel 2003, version 9.0 or later

Hardware

Any PC supporting Windows 2000.


128 MB RAM
10 - 15 MB free disk space on the system drive for temporary

files created during installation.


~80 MB disk space for a typical installation of all components.

Minimum
Requirements
for Developing
Applications
For Verix

Table 5 lists the minimum requirements for installing and using Development Suite
components for developing applications.

Table 5

Minimum Requirements for Verix

Tool

Requirements

ACT2000, CardSlot,
VMAC

VFSDK
Wind River Systems (SDS) Cross Compiler, version 7.0/

7.1
Tools

Microsoft Visual C++ Compiler

VTMA

VMAC

Messenger
VeriPrint

VMAC
VTMA
An application that can print on the VeriFone printer

connected to the terminal.


RS-232 download cable to connect Verix terminal to a PC

running VeriPrint (VeriPrint is a PC-based application).


Microsoft Windows 2000 or XP
VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

P REFACE
Minimum Requirements for Developing Applications

Table 5

Minimum Requirements for Verix (continued)

Tool

Requirements

VeriFind

An application enabled for VeriFind. Refer to the VeriFind

Online Help for more details.


RS-232 download cable to connect Verix terminal with a

PC running VeriFind (VeriFind is a PC-based application).


Microsoft Windows 2000 or XP

Font Generation Tool

For Verix V

Table 6

Microsoft Windows 2000 or XP

Minimum Requirements for Verix V

Tool

Requirements

ACT2000,
CardSlot, VMAC

VRXSDK

Tools

Java Runtime Environment, version 2 (for MakeFile Maker

VeriFone RVDS 2.1 which includes RVCT 2.0.1 and RVD 1.7

tool) and API converter tool.


VTMA

VMAC

Messenger

VMAC
VTMA

VeriPrint

An application that can print on the VeriFone printer connected

to the terminal.
RS-232 download cable to connect Verix V terminal to a PC

running VeriPrint (VeriPrint is a PC-based application).


VeriFind

An application enabled for VeriFind. Refer to the VeriFind

Online Help for more details.


RS-232 download cable to connect Verix V terminal with a PC

running VeriFind (VeriFind is a PC-based application).


Microsoft Windows 2000 or XP

Font Generation
Tool

NOTE

Microsoft Windows 2000 or XP

Refer to the Verix (V) ReadMe for details on OS and firmware versions.
To verify the terminals OS version number, restart the terminal. The OS version

appears on the second line of the copyright screen during the start-up sequence.
Following are the commands for different modules to verify the firmware version:

Vx510 Ethernet: AT+iRP1

Vx610 Wi-Fi: AT+iRP1

Vx610 CDMA: AT+GMR

Vx610/Vx670 GPRS: AT+CGMR

Refer to the WPA Supplicant OIDs on NIC, DoxBox Part Number DO-415610-DG and

CONEXANT SoftMAC, UMAC Management Information Base Software Interface


Manual, Covering UMAC Version 2.12.48.0 to verify the firmware version of Vx670 Wi-Fi
terminal.

10

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

P REFACE
Default Installation Directory

Default
Installation
Directory

For Verix, the default installation path is:


C:\VerixAps\<Project component>
For Verix V, the default installation path is:
C:\VerixVAps\<Project component>

NOTE

Documentation
Table 7

The components are installed in the default path. If you change the default path,
the settings of the project workspace and associated files of the sample programs
must be modified to reflect the new path.
Table 7 lists the relevant documents and their paths. Refer to these documents for
more information on the individual components of the Development Suite.

Related Documents

Document

Path

Verix/Verix V Enhanced Communication Library

<Installation directory>\VerixVAps

Getting Started Guide, VPN 23902

SDK (Verix)
Aspen 144 Modem, Omni Modem 144, and Santana

144 Acf Modem Command Reference Guide, VPN


19244
Omni 37xx ISDN TA Module Programming Guide,

VPN 22940
ConnectOne Interface Module AT Command

Programming Guide, VPN 23304


Conexant CX Modem AT Command Reference

Manual, VPN E-102184

<Installation directory>\VerixAps\VFSDK\Doc

EMXXXX Development Kit AT Command Reference,

VPN E-213039
RIM OEM Radio Modem for GSM/GPRS Wireless

Networks RIM 1902G and RIM 1802G AT


Command Reference Guide, VPN PDF-04620-003
Verix Operating System Programmers Manual, VPN

19733
Verix Operating System Programming Reference

Manual, VPN 22412

SDK (Verix V)
WPA Supplicant OIDs on NIC, DoxBox Part Number

DO-415610-DG
CONEXANT SoftMAC, UMAC Management

Information Base Software Interface Manual,


Covering UMAC Version 2.12.48.0

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

11

P REFACE
Documentation

Table 7

Related Documents (continued)

Document

Path

Conexant CX Modem AT Command Reference

Manual, VPN E-102184


EMXXXX Development Kit AT Command Reference,

VPN 2130394
MC55 / MC56 Siemens Cellular Engine, Doc ID MC55

/ MC56_ATC_V00.11
Verix Applications to ARM Porting Guide, VPN 23736
Verix V Operating System Programmers Manual,

<Installation directory>\VerixVAps\VRXSDK\Doc

VPN 23230
Verix V Operating System Programming Tools

Reference Manual, VPN 23231


Integrated Thermal Printer Applet help (itp_app.htm)
Troubleshooting Debugger Installation Problems help

(debughelp.htm)
Understanding the Verix Error Log help (errlog.htm)
Silicon Labs AT Commands and Reponses Guide,

VPN 24494
Conexant CX86500 SCXV Modem AT Command

Reference Manual, VPN E-102327


ConnectOne Interface Module AT Command

Programming Guide, VPN 23304

Tools
MakeFile Maker Tool Users Guide, VPN 22265
VerixVWizard.hlp

VeriFind
VeriFind Online Help, VPN 22622

<Installation directory>\VerixAps\VeriFind

VeriPrint
VeriPrint Online Help, VPN 22623

<Installation directory>\VerixAps\VeriPrint

VeriShield FST
VeriShield Online Help, VPN 22311

<Installation directory>Program Files\VeriShield File


Signing Tool\Help

Font Generation Tool


Font Generation Tool Help, VPN 24291

<Installation directory>Program
Files\FontGenerationTool

ACT Library
Verix/Verix V ACT2000 Programmers Manual, VPN

<Installation directory>\VerixVAps\ACT2000

23285

CardSlot Library
Verix/Verix V CardSlot Library Programmers Guide,

VPN 23288

Multi-App Conductor
12

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

<Installation directory>\VerixVAps\CardSlot

P REFACE
Whats New

Table 7

Related Documents (continued)

Document

Path

Multi-App Conductor for Verix and Verix V

<Installation directory>\VerixVAps\VMAC

Programmers Guide, VPN 23286

Terminal Management Agent


Verix/Verix V Terminal Management Agent

<Installation directory>\VerixVAps\VTMA

Programmers Guide, VPN 23287

Messenger
Verix/Verix V Messenger Application Users Guide,

<Installation directory>\VerixVAps\Messenger

VPN 23220

NOTE

Whats New

ReadMe files of the components are also in the respective paths mentioned in the
Table 7.

DTK components have been enhanced to support Vx810 PINpad. Following


are the major enhancements in DTK:

DTK components support logging through USBD device of Vx810


terminals.

VTMA has been enhanced to communicate to VeriCentre over IP.

VMAC has been enhanced to support new USBD device for arbitration.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

13

P REFACE
Whats New

14

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

CHAPTER 1
Development Suite Components
This chapter provides an overview of the software applications, tools and libraries
packaged in the Development Suite. The contents of the installed folders for each
component are also explained in this chapter.

Verix SDK

Verix SDK provides startup code, ANSI C standard libraries and related tools
required for the applications to run on Verix terminals. It also provides a standard
C-interface library for Verix applications. It has sample make files for compiling
and linking applications.
Verix SDK contains the following tools to create applications:

configuration files containing the standard compiler and linker options.

DDL -

utility for converting text files into Variable-Length Record (VLR) and
Compressed Variable-Length Record (CVLR) files.

utility for changing executable file parameters such as stack and


heap sizes.

LIBGEN and LIBCHK -

direct download utility for downloading files to the terminal.

VLR -

OUTHDR -

tools for creating libraries.

NOTE

Currently, shared libraries cannot have interfaces in C++.

Debugging Tools

Debugging tools for Verix terminals are:

DBMON -

VFI2K -

debug monitor program (runs on the terminal).

Windows DLL that adds Verix-specific extensions to the SDS


debugger.

Refer to the Verix Operating System Programmers Manual for more details.

Verix V SDK

The VeriFone SDK provides startup code, ANSI C standard libraries and related
tools for the applications to run on Verix V terminals. It also provides a standard Cinterface library for Verix V applications.
The Verix V SDK contains the following tools to create applications:
- direct download utility for downloading files to the terminal.

DDL

VRXCC -

tool for compiling and linking applications.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

15

D EVELOPMENT S UITE C OMPONENTS


ACT2000

Debugging Tools

VRXHDR -

VRXLIB -

VLR -

utility for changing executable file parameters such as stack and


heap sizes.
utility for creating static and shared libraries.

utility for converting text files into Verix Variable-Length Record (VLR)
and Compressed Variable-Length Record (CVLR) files.

Debugging tools for Verix V-based terminals are:

VRXDB -

debug monitor program (runs on the PC).

DBMON -

debug monitor program (runs on the terminal).

Refer to the Verix V Operating System Programmers Manual for more details.

ACT2000

Installed Folders

The Application Construction Toolkit (ACT) is a collection of C code modules,


designed to reduce the effort required to design and develop applications for
Verix/Verix V terminals. You can develop additional specialized functions using the
ACT modules as a base. This helps to control the size of the application by reusing code from the toolkit.
ACT installation folders contain:

Output - contains ACT2000 library.

Include - contains header files required for developing applications based on


the ACT2000 library.

Docs - contains the Verix/Verix V ACT2000 Programmers Manual.

Samples - contains following sample applications which demonstrate the


usage of libraries:

AIETEST -

SHARE -

PRINTER -

FORMATER -

XModem -

PIPTEST -

DBFMTEST -

demonstrates the capabilities of idle engine.

demonstrates using ACT2000 as shared library.

Prn950 -

demonstrates printer functionality.


demonstrates formatter functionality.

demonstrates modem functionality.


demonstrates PIP engine functionality.
demonstrates database and file management functionality.

demonstrates the support for external 950 printer connected to

COM1.

Prn250 -

demonstrates the support for external 250 printer connected to

COM1.

FmtrX50 -

demonstrates formatter functionality using the P250 and P950

printers.

16

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

D EVELOPMENT S UITE C OMPONENTS


CardSlot

CardSlot

The Verix/Verix V CardSlot Library is a layer above the OS that communicates


with ICCs (Integrated Chip Cards). This library provides a high-level interface
designed to be independent of the protocol between the chip card slot and the
ICC.
You can use the CardSlot Library to build Smart Card related transaction
applications on Verix/Verix V terminals. This library ensures correct interaction
between ICCs and terminals.

Installed Folders

VMAC

CardSlot installation folders contain:

Output - contains the CardSlot Library which can be directly linked to any
application.

Include - contains header files required for developing applications using


CardSlot Library.

Docs - contains the Verix/Verix V CardSlot Library Programmers Guide.

Verix/Verix V Multi-App Conductor (VMAC) is an application manager designed to


manage application selection, device usage, inter-task synchronization and
communications, and many other multi-application environment related
requirements on the Verix/Verix V terminals. If your applications are VMAC
compliant, even if developed independently, they can run together seamlessly on
the same Verix/Verix V terminal. Refer to the Multi-App Conductor for Verix and
Verix V Programmers Guide for details on making applications VMAC compliant.
VMAC is enhanced for managing the security requirement for USB devices. In
Vx670, the COM3, COM6 and Wi-Fi LAN are connected over USB and can be
used independently. VMAC is enhanced to support security on WLAN device.
COM3 and COM6 USB ports are not part of security architecture as they are
externally pluggable.

Installed Folders

VMAC installation folders contain:

Output - contains executables:

Device Manager is responsible for device (resource)


management within the Verix/Verix V terminals.

FrontEnd provides an easy to use interface for selecting


applications.

Inter Task Message Manager is responsible for running all


applications (executables) under the VMAC environment.

ApLoader -

VMAC shared libraries -

DevMan -

FrontEnd -

IMM -

ApLoader utility facilitates clearing and defragmenting of the


Flash before applications can be downloaded to the terminal.
shared library consisting of EESL, LOGSYS,

Varrec components.

Include - contains header files required for developing VMAC applications.


VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

17

D EVELOPMENT S UITE C OMPONENTS


TMA

Docs - contains Multi-App Conductor for Verix and Verix V Programmers


Guide.

Tools - contains resource compiler tool and the associated utilities.

Template - contains template file for Device Mapping Resource Table.

Samples - contains sample applications to demonstrate VMAC capabilities:

VMACEX1 -

demonstrates run time acquiring, printing and release of printer

device.

VMACEX2 -

demonstrates background tasks (in this example background

printing).

demonstrates reading and printing of magnetic card data on

DMLAB1 -

swiping.

DMLAB2 - demonstrates the display of COM data on the screen when it


arrives in COM2.

SCTEST -

demonstrates the detection of insertion and removal of ICC1 and

ICC2.

TMA

Installed Folders

18

This application uses VMAC and is not based on ACT. It


displays the current time on activation.
VMACsdk -

VeriFone terminals are monitored and managed by the Terminal Manager in


VeriCentre. Terminal Management Agent (TMA) facilitates the Terminal Manager
to retrieve the required terminal information. This is achieved by using VeriCentre
components such as; Remote Collection, Diagnostics and Message Management
Module. The communication between TMA and VeriCentre can be over Dial or IP.
TMA installation folders contain:

Output - contains TMA executable and signature file.

Include - contains header files for TMA application.

Docs - contains Verix/Verix V Terminal Management Agent Programmers


Guide.

Tools - consists of mimic.exe and the tmahost.mmc mimic script for


running the VC Simulator. VC Simulator simulates the protocol and
functionality of the remote diagnostics server of VeriCentre. You can use this
tool before testing your TMA-compliant applications with a test host of
VeriCentre.

Template - contains template file for TMA Front End.

Samples - contains sample applications to demonstrate TMA capabilities.

Demo1 - ACT2000 sample to demonstrate the application maintained


MIIDs.

Demo3 - SDK sample to demonstrate the application initiated TMA


session.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

D EVELOPMENT S UITE C OMPONENTS


Messenger

Messenger

Installed Folders

Tools
Installed Folders
NOTE

Messenger is an application, which acts as an interface for sending and receiving


messages between terminals and a computer running on VeriCentre composer
application. Messages sent from VeriCentre can be viewed on the terminal display
using the Messenger application.
Messenger installation folders contain:

Output - contains executable and signature files of Messenger application.

Include - contains header files required for Messenger application.

Docs - contains Verix/Verix V Messenger Application Users Guide.

Samples - contains ClientApp sample demonstrating Messenger interface.

Tools comprises of various tools and utilities for developing applications for Verix/
Verix V terminals.
Tools installation folder contains the following tools and utilities:
All tools are available in both Verix and Verix V unless otherwise specified in this
section.

Tools available in Verix

utility to transform SDS compiler error messages to VC++ format, so


that double-clicking on the error/warning line takes the developer to the line of
code containing the bug.

FMTERR -

Tools available in Verix V

FMTERRORARM -

MakeFileMaker -

API Converter -

utility to transform ARM compiler error messages to VC++


format, so that double-clicking on the error/warning line takes the developer to
the line of code containing the bug.
set of Java classes for converting Verix project make files to
Verix V-based terminals.
tool used for converting Verix programs to Verix V programs.

Tools available in both Verix and Verix V

- a custom application wizard to generate a sample application


project workspace. This workspace contains template code for developing an
application. The wizard guides you through a process of selecting the
following options and helps to generate a template code:

VERIXVWIZARD

Verix or Verix V is the target platform.

ACT2000 or SDK based application.

Single application or VMAC based application.

Application using static library or shared library.


VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

19

D EVELOPMENT S UITE C OMPONENTS


Memory Calculator

Memory
Calculator

FORMCVT -

PC-based utility that allows you to quickly and easily generate


TXO-compatible files, and to download them to Verix and Verix V-based
terminals.

GENDATA -

RCK2

utility for compiling printer template files.

TXOFILE -

utility for compiling gendata resource files.

- resource compiler to generate binary resource from ASCII templates


and resources.

The Memory Calculator tool is an MS Excel spreadsheet which calculates


memory requirement for deploying various combinations of the applications. On
entering the size of the application and the required terminal configuration, the
tool calculates the memory requirement. This enables you to decide on deploying
applications based on the availability of memory. You can select between multiple
download combinations. This tool also enables you to decide on the effective
combination of files (compressed or non-compressed) for any particular
download.
MS Excel 2003 must be installed to use this tool. The Memory Calculator.xls is
installed under:

Font
Generation
Tool

VerixAps folder, for Verix

VerixVAps folder, for Verix V

The Font Generation Tool is a GUI application which allows you to create, edit,
and manage display font files (VFT and FON), printer font files (PFT), and printer
logo files (LGO). The tool supports the following printers:

Omni 33xx ITP (Integrated Thermal Printer)

Omni 3600 ITP

Omni 37xx ITP

Vx5xx ITP

Vx6xx ITP

P950

The main advantage of using Font Generation Tool is that you can generate font
files without the knowledge of font file formats. The Font Generation Tool provides
the following functionalities:

20

Generate display font files (VFT and FON file formats): allows to edit and
create display font files in VFT and FON formats. These can be of 6x8, 8x16
and 16x16 resolutions.

Generate printer fonts (PFT file format): allows to create printer font files in the
PFT format in 5x8, 8x8 (supported by P950), 8x14 (32- and 42-column
resolution), 16x16, 24x24, 32x32, 48x48 and 64x64 resolutions. It also
enables editing of existing PFT files.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

D EVELOPMENT S UITE C OMPONENTS


VeriShield FST

Generate printer logo image files (LGO file format): allows to view printer logo
files used to print graphics on printable receipts.

Convert bitmap files to VFT and LGO files: supports the conversion of bitmaps
to display font or logo files. To convert a Windows bitmap file to display, font or
logo files, the bitmap file must be monochromatic. You can choose an area of
128x128 for Vx670 terminals and 128x64 for other terminals to convert a
bitmap to VFT file. To convert a bitmap file to printer logo file, select an area
not exceeding 384x240 pixels, which is the maximum resolution of printer.

Merging multiple VFT and FON font files: supports merging multiple VFT and
FON files into a single VFT or FON file. A wizard guides you through the steps
required for merging the files.
You can select characters by specifying the range from the input file to the
output file. Also, you can specify an offset value from where the input file
characters need to be merged into the output file.

Installed Folders

VeriShield FST

Convert standard Windows TTF fonts to VeriFone fonts.

Convert UNICODE fonts to VeriFone fonts.

Components installed in the Typical installation option are:

Bin - contains executables and batch files for Font Generation Tool.

Samples - contains display font files, printer font files, logo files, and bitmap
files.

The VeriShield FST is used for authenticating the files you download to the
terminal. Each file must be digitally signed using the smart card.

NOTE

Without authentication, applications do not execute on the terminals.

Installed Folders

VeriShield FST installation folder contains:

Certificate - contains the default certificate and key files.

Help - contains the VeriShield Online Help file.

Microsoft Smart Card Base components.

Smart Card reader drivers.

HP Multi Card Access Enabler for PKCS#11.

VeriShield FST.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

21

D EVELOPMENT S UITE C OMPONENTS


VeriFind

VeriFind

Installed Folders

VeriPrint

The VeriFind Test Automation Tool is an integrated testing tool that aids testing
applications written for Verix/Verix V terminals. This Windows-based tool
simulates user actions, such as key presses and magnetic card swipes, which
help automate the execution of test suites. It provides a scripting utility, file
transfer utility, screens on the terminal, RAM status, date and time as in the
terminal, and records user actions to play back later.
VeriFind installation folder contains:

VeriFind tool.

Data - contains a card data file.

Docs - contains file listing the recent changes.

Hlp - contains VeriFind Online Help.

SQAUtils - contains functions used for testing libraries and applications.

Target - contains files pertaining to different terminals.

Utils - contains utilities used by VeriFind.

Samples - contains samples demonstrating usage of VeriFind tool.

VeriPrint Printer Simulator is a generic printer simulator for various VeriFone


printers (for example, the P250, Omni 33xx ITP, Vx5xx ITP, Vx6xx ITP, or Omni
37xx ITP). This is a Windows-based tool. The main advantage of using VeriPrint is
to save printer stationery that would otherwise be used while testing and
debugging applications.

Installed Folders

VeriFind installation folder contains:

VeriPrint tool and required .dll files.

Hlp - contains VeriFind Online Help.

Sample - contains samples that demonstrate how to use the VeriPrint tool to
simulate Omni 33xx, Omni 36xx, Omni 37xx ITPs, Vx5xx ITP and Vx6xx ITPs.

22

VFIPrinters - contains configuration files for VeriFone printers.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

CHAPTER 2
Developing Applications
Application
Development
Environment

Applications for Verix and Verix V terminals are written in C or C++ programming
languages. These are compiled and linked on a PC, and then downloaded to the
terminal for execution in Verix/Verix V Operating System environment.
DEVELOPMENT PC

C SOURCE
FILES

VERIX AND VERIX V-BASED OMNI SERIES


TERMINAL

LIBRARIES

RUN

COMPILE AND
LINK

EXECUTABLE
APPLICATION

Figure 1

Creating an
Application for
Verix

OPERATING
SYSTEM

DOWNLOAD

SERVICE
CALLS

EXECUTABLE
APPLICATION

Application Development Environment

To create Verix-based applications:


Compile all the source files using SDS cross compiler.
For example, compile the files Test1 and Test2 using the following command:
$(VFSDK)\bin\KCL Test1 TEST2
You get the object files and Test1.out (takes the name of the first file specified
in the command).
KCL is a batch file which is used to compile and link the source files.
The object files corresponding to Test1 and Test2 are Test1.o and Test2.o
respectively.

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

23

D EVELOPING A PPLICATIONS
Creating an Application for Verix V

To allocate sufficient memory required for the application, use Outhdr command
as follows:
$(VFSDK)\bin\outhdr -t -s 15000 -h 5000 $(OutDir)
test1.out

Generating Static
Libraries

A static library can be created using the liber tool.


For example, run the following command:
$(SDS)\cmd\liber -cn test.a test1.o test2.o
where test.a is the destination static library file, and test1.o and test2.o
are object files of test1.c and test2.c respectively.
To generate object files, test1.o and test2.o, use the KCL command as
shown earlier in this section.

Generating Shared
Libraries

A shared library can be created using the libgen tool.


For example, generate a library file test.a and then use the following
command to generate the test.lib file. To create test.a, use the liber
command as shown in the previous section.
To generate a shared library, run the following command:
$(VFSDK)\bin\libgen test.a
This command reads the inputs from the test.lid file before generating the
shared library. Refer Verix Operating System Programmers Manual for more
details.

Creating an
Application for
Verix V

To create a Verix V-based application:

1 Compile all the source files (.c or .cpp) to object files (.o) using the Verix V
Compiler's (vrxcc) '-c' option.
For example, to generate the test1.o and test2.o object files by compiling
the test1.c and test2.c files respectively, use the command:
$(VRXSDK)\bin\vrxcc -c test1.c
$(VRXSDK)\bin\vrxcc -c test2.c
In addition, you can use the following options with the vrxcc:

'-I' to add a directory which contains the .h files (if any) to the include
search path.

'-g' to generate debugging information.

2 Create library - If a library name is specified as an output file name in the


above step using the -o option, the object files will be placed in the library.
For example, $(VRXSDK)\bin\vrxcc -c test1.c test2.c -o
test.lib
24

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

D EVELOPING A PPLICATIONS
Creating an Application for Verix V

Then .out file can be generated by linking the library with the .c file
containing the main() function.
For example, assuming that test.c is the file containing the main()
function, the output file testapp.out can be generated as follows:
$(VRXSDK)\bin\vrxcc test.c test.lib -o testapp.out

3 If the library is not created as mentioned in the step 2, the object files
generated in step 1 can be directly linked with the test.c to generate the
testapp.out output file.
For example, $(VRXSDK)\bin\vrxcc test.c test1.o test2.o -o
testapp.out

4 The vrxhdr tool can be used to set the stack and heap size of the output file:

-s option - to set the stack size.

-h option - to set the heap size.

For example, for the output file testapp.out generated in the previous
steps, the stack size can be set to 15000 and heap size to 5000 using:
$(VRXSDK)\bin\vrxhdr -s 15000 -h 5000 testapp.out

5 VeriShield FST is used for signing the output file. Make sure that the
outputfile.fst file is present.
For example, assuming that the testapp.fst file is present in the same
directory where make file is present. The following command generates the
output file:
$(VSFSTOOL)\filesignature .\testapp.fst -nogui
Here the -nogui option suppresses the user interface of the File Signing
Tool.

Creating Shared
Libraries

A shared library can be created using the object files with vrxcc and vrxlib
tools.
For example, to create a shared library test.lib using the object files test1.o
and test2.o, make sure that a library description file test.lid is present. The
library description file describes the library name and its functions (i.e., the
functions in test1.c and test2.c). It should contain library base name and
library id number fields.The shared library can be created using the command:
$(VRXSDK)\bin\vrxcc test1.o test2.o -o test.a
In addition to the standard compiler option, the following options can also be used:

shlabs

shpics - to create a position independent library.

- to create an absolute library.

$(VRXSDK)\bin\vrxlib test
VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

25

D EVELOPING A PPLICATIONS
Creating an Application for Verix V

The above command creates the shared library test.lib.


To link the above shared library with your application, download the shared library
to the flash drive in GID 15 and run the following command:
$(VRXSDK)\bin\vrxhdr -s 15000 -h 5000 -l test.lib=f:/
test.lib $(OutDir)\testapp.out
Refer the documents and ReadMe files of the respective components listed in the
Documentation section, for more information on the Development Suite
components.

26

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

D EVELOPING A PPLICATIONS
Creating an Application for Verix V

VERIX/VERIX V DEVELOPMENT SUITE GETTING STARTED GUIDE

27

VeriFone, Inc.
2099 Gateway Place, Suite 600
San Jose, CA, 95110 USA
1-800-VeriFone
www.verifone.com

Verix/Verix V Development Suite


Getting Started Guide
VeriFone Part Number 23901, Revision D

You might also like