CT-API driver for Towitoko Chiprive card terminals
Copyright (C) 1998 Carlos Prados

Author: Carlos Prados 
Mailto: cprados@atos-ods.es

For license information, see file COPYING

This is a CT-API and CT-BCS compilant driver for Towitoko Chipdrive 
smart card terminals.

FEATURES:

	- ISO 7816-3 T=0 fully compliant. 
	- CT-BCS fully compliant.
	- Works with ISO 7816-3 direct convention cards  
	- Tested Platforms: Linux, FreeBSD and Solaris.
        - Fixed PnP Support.
	- MUSCLE PC/SC IFD handler.

FUTURE GOALS:

	- Support for T=1 and memory cards.
	- Support for inverse convention cards.

INSTALLATION: 

See file INSTALL for full explanation. Briefly you have to do the following:

	- Change to directory to source installation directory:

	  $ cd tow_chpdv-drv-<release>

	- Configure Makefile for your platform: 
	
	  $ ./configure

	  or 

	  $ ./configure --enable-debug

	  to get a lot of debuging information at run time

	- Compile the source code:

	  $ make

	- Install the libraries under /usr/local/lib:
	
	  $ su
	  # make install

USAGE:

Compilation procedure generates two shared (.so) libraries one implementing 
CT-API interface and other implementing PC/SC IFD Handler interface. 
Applications should use -llibrary to link the library and -Ldir to locate the
library instalation directory.

For instance to compile a program that uses CT-API library you 
should use:

gcc program.c -lctapi-towitoko -L/usr/local/lib -o program 

On execution LD_LIBRARY_PATH environment variable must be set to the
directory were the libraries are installed. 

The files ctapi.h and ctbcs.h are the interface files of the CT-API driver, and 
should be included in the source of the program that calls shared object 
functions. 

DRIVER STRUCTURE:

You can modify this driver to fit your needs if you wish. Just take a 
look at COPYING file first. Driver is composed of following source files:

    - src/ifd-handler: MUSCLE PC/SC IFD Handler by David Corcoran.

    - src/ct-api: CT-API interface:

	* defines.h: global defines and macros.
	* serial.c, serial.h: input/output functions for serial port
	  communication.
	* towitoko.c, towitoko.h: terminal protocol specific routines.
	* atr.c, atr.h: smartcard answer to reset decodification 
	  functions.
	* ctapi.c, ctapi.h: CT-API implementation, and functions  
	  for T=0, T=1 and CT-BCS commands.
	* ctbcs.h: constants related to CT-BCS commands, to control reader
	  by mean of CT_data function

RELATED URL's:

The latest version of this driver can be downloaded from:
http://pcsc.virtualdave.com/~cprados

Towitoko elecronics home page
http://www.towitoko.com

For information on other CT-API Linux drivers see:
http://www.quasi-niere.org/mkt/reg.html 

Information about using Towitoko on Palm Pilot
http://www.citi.umich.edu/projects/sinciti/smartcard/

MUSCLE project home page:
http://www.linuxnet.com
