/* DeviceControlCodes.h */ 

#ifndef __DEVICECONTROLCODES_H__
#define __DEVICECONTROLCODES_H__

typedef enum EFTDeviceControlClass
{
	/* device codes */ 
	EFT_DCC_CARD_READER				= 0x01,
	EFT_DCC_TERMINAL_CONFIGURATION	= 0x02,
	EFT_DCC_FINANCIAL_FLOW			= 0x03,
	EFT_DCC_TERMINAL_UI				= 0x04,
	EFT_DCC_DCC						= 0x05,
	EFT_DCC_VOUCHER					= 0x06,
	EFT_DCC_PAY_AT_THE_TABLE		= 0x07,
	EFT_DCC_IFSF					= 0x08,
	EFT_DCC_EXTRA					= 0x09,

	/* driver internal codes */ 
	EFT_DCC_DRIVER_SESSION			= 0x20,

	/* PCD codes */ 
	EFT_DCC_PCD						= 0x80
}
EFTDeviceControlClass;

typedef enum EFTDeviceControlAction
{
	/* class EFT_DCC_CARD_READER */ 
	EFT_DCA_CR_CARD_RETRACT			= 0x01,
	EFT_DCA_CR_CARD_REPOSITION		= 0x02,
	EFT_DCA_CR_SHUTTER_OPEN			= 0x03,
	EFT_DCA_CR_SHUTTER_CLOSE		= 0x04,
	EFT_DCA_CR_CARD_EJECT			= 0x05,

	/* class EFT_DCC_TERMINAL_CONFIGURATION */ 
	EFT_DCA_TC_CONFIGURE			= 0x01,
	EFT_DCA_TC_INITIALIZE			= 0x02,
	EFT_DCA_TC_CONFIGINIT			= 0x03,
	EFT_DCA_TC_DOWNLOAD				= 0x04,
	EFT_DCA_TC_REBOOT				= 0x09,

	/* class EFT_DCC_FINANCIAL_FLOW */ 
	EFT_DCA_FF_SUBMISSION			= 0x01,

	/* class EFT_DCC_TERMINAL_UI */ 
	EFT_DCA_TU_SERVICE_MENU			= 0x01,
	EFT_DCA_TU_ACTIVATE_UI			= 0x02,

	/* class EFT_DCC_DCC */ 
	EFT_DCA_DC_EXCHANGE_RATE		= 0x01,

	/* class EFT_DCC_VOUCHER */ 
	EFT_DCA_DC_VS_SERVICES			= 0x01,

	/* class EFT_DCC_DRIVER_SESSION */ 
	EFT_DCA_DS_DEVICE_LIST			= 0x01,
	EFT_DCA_DS_SHUTDOWN				= 0x02,
	EFT_DCA_DS_INIT_RECEIPT			= 0x03,
	EFT_DCA_DS_GET_DEVICE			= 0x04,
	EFT_DCA_DS_RELEASE_DEVICE		= 0x05,
	EFT_DCA_DS_GET_TERMINAL_INFO	= 0x06,
	EFT_DCA_DS_GET_DEVICE_FORCED	= 0x07,
	EFT_DCA_DS_GET_DEVICE_FORCED_AND_GIVE_BACK	= 0x08,

	/* class	EFT_DCC_PAY_AT_THE_TABLE */
	EFT_DCA_PA_GENERAL_OK			= 0x00,
	EFT_DCA_PA_TOTAL_AMOUNT			= 0x01,
	EFT_DCA_PA_ACTOR_INFO			= 0x02,
	EFT_DCA_PA_GENERIC_ERROR		= 0x90,
	EFT_DCA_PA_ERROR_REFNUM			= 0x91,
	EFT_DCA_PA_ERROR_AMOUNT			= 0x92,
	EFT_DCA_PA_ERROR_ACTOR			= 0x93,

	/* class	EFT_DCC_IFSF */
	EFT_DCA_IFSFDisplayText			= 0x01,
	EFT_DCA_IFSFDisplayResource		= 0x02,
	EFT_DCA_IFSFGetKeyInput			= 0x03,
	EFT_DCA_IFSFPinCheck			= 0x04,

	/* class	EFT_DCC_EXTRA */
	EFT_DCA_EX_Login				= 0x01,
	EFT_DCA_EX_Logout				= 0x02,
	EFT_DCA_EX_Hold					= 0x03,
}
EFTDeviceControlAction;

#endif
