frankb df38f37
/***************************************************************************
frankb df38f37
 * CT-API library for the REINER SCT cyberJack pinpad/e-com USB.
frankb df38f37
 * Copyright (C) 2001  REINER SCT
frankb df38f37
 * Author: Matthias Bruestle
frankb df38f37
 * Support: support@reiner-sct.com
frankb df38f37
 *
frankb df38f37
 * This library is free software; you can redistribute it and/or
frankb df38f37
 * modify it under the terms of the GNU Lesser General Public
frankb df38f37
 * License as published by the Free Software Foundation; either
frankb df38f37
 * version 2.1 of the License, or (at your option) any later version.
frankb df38f37
 *
frankb df38f37
 * This library is distributed in the hope that it will be useful,
frankb df38f37
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
frankb df38f37
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
frankb df38f37
 * Lesser General Public License for more details.
frankb df38f37
 *
frankb df38f37
 * You should have received a copy of the GNU Lesser General Public
frankb df38f37
 * License along with this library; if not, write to the Free Software
frankb df38f37
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
frankb df38f37
 *
frankb df38f37
 * File: ctapi.h
frankb df38f37
 * CVS: $Id$
frankb df38f37
 ***************************************************************************/
frankb df38f37
frankb df38f37
#ifndef H_CTAPI
frankb df38f37
#define H_CTAPI
frankb df38f37
frankb df38f37
/* More uniqe defines */
frankb df38f37
frankb df38f37
#define CT_API_AD_HOST		2
frankb df38f37
#define CT_API_AD_REMOTE	5
frankb df38f37
frankb df38f37
#define CT_API_AD_CT		1
frankb df38f37
#define CT_API_AD_ICC1		0
frankb df38f37
#define CT_API_AD_ICC2		2
frankb df38f37
#define CT_API_AD_ICC3		3
frankb df38f37
#define CT_API_AD_ICC4		4
frankb df38f37
#define CT_API_AD_ICC5		5
frankb df38f37
#define CT_API_AD_ICC6		6
frankb df38f37
#define CT_API_AD_ICC7		7
frankb df38f37
#define CT_API_AD_ICC8		8
frankb df38f37
#define CT_API_AD_ICC9		9
frankb df38f37
#define CT_API_AD_ICC10		10
frankb df38f37
#define CT_API_AD_ICC11		11
frankb df38f37
#define CT_API_AD_ICC12		12
frankb df38f37
#define CT_API_AD_ICC13		13
frankb df38f37
#define CT_API_AD_ICC14		14
frankb df38f37
frankb df38f37
#define CT_API_RV_OK		0
frankb df38f37
#define CT_API_RV_ERR_INVALID	-1
frankb df38f37
#define CT_API_RV_ERR_CT	-8
frankb df38f37
#define CT_API_RV_ERR_TRANS	-10
frankb df38f37
#define CT_API_RV_ERR_MEMORY	-11
frankb df38f37
#define CT_API_RV_ERR_HOST	-127
frankb df38f37
#define CT_API_RV_ERR_HTSI	-128
frankb df38f37
frankb df38f37
/* MUSCLE style defines */
frankb df38f37
frankb df38f37
#define OK			 0	/* Success */
frankb df38f37
#define ERR_INVALID		-1	/* Invalid Data */
frankb df38f37
#define ERR_CT			-8	/* CT Error */
frankb df38f37
#define ERR_TRANS		-10	/* Transmission Error */
frankb df38f37
#define ERR_MEMORY		-11	/* Memory Allocate Error */
frankb df38f37
#define ERR_HOST		-127	/* Host Error */
frankb df38f37
#define ERR_HTSI		-128	/* HTSI Error */
frankb df38f37
 
frankb df38f37
#define PORT_COM1		0	/* COM 1 */
frankb df38f37
#define PORT_COM2		1	/* COM 2 */
frankb df38f37
#define PORT_COM3		2	/* COM 3 */
frankb df38f37
#define PORT_COM4		3	/* COM 4 */
frankb df38f37
#define PORT_Printer		4	/* Printer Port (MAC) */
frankb df38f37
#define PORT_Modem		5	/* Modem Port (MAC)   */
frankb df38f37
#define PORT_LPT1		6	/* LPT 1 */
frankb df38f37
#define PORT_LPT2		7	/* LPT 2 */
frankb df38f37
frankb df38f37
#define CT			1
frankb df38f37
#define HOST			2
frankb df38f37
frankb df38f37
// Short
frankb df38f37
#define CJ_CTAPI_MAX_LENC	4+1+255+1
frankb df38f37
#define CJ_CTAPI_MAX_LENR	256+2
frankb df38f37
// Extended
frankb df38f37
//#define CJ_CTAPI_MAX_LENC	5+2+65535+2
frankb df38f37
//#define CJ_CTAPI_MAX_LENR	65536+2
frankb df38f37
// Maximum for CTAPI
frankb df38f37
//#define CJ_CTAPI_MAX_LENC	65535
frankb df38f37
//#define CJ_CTAPI_MAX_LENR	65535
frankb df38f37
frankb df38f37
frankb df38f37
typedef unsigned char IU8;
frankb df38f37
typedef unsigned short IU16;
frankb df38f37
frankb df38f37
typedef signed char IS8;
frankb df38f37
typedef signed short IS16;
frankb df38f37
frankb df38f37
#ifdef __cplusplus
frankb df38f37
extern "C" {
frankb df38f37
#endif /* __cplusplus */
frankb df38f37
frankb df38f37
IS8 CT_init( IU16 ctn, IU16 pn );
frankb df38f37
IS8 CT_data( IU16 ctn, IU8 *dad, IU8 *sad, IU16 lenc, IU8 *command, IU16 *lenr,
frankb df38f37
	IU8 *response );
frankb df38f37
IS8 CT_close( IU16 ctn );
frankb df38f37
frankb df38f37
/* Proprietary extension */
frankb df38f37
IS8 CT_keycb( IU16 ctn, void (* cb)(IU16 ctn, IU8 status) );
frankb df38f37
frankb df38f37
#ifdef __cplusplus
frankb df38f37
}
frankb df38f37
#endif /* __cplusplus */
frankb df38f37
#endif /* H_CTAPI */
frankb df38f37