Module: CTAPICore
- Included in:
- CTAPI
- Defined in:
- ext/ctapicore.c,
ext/ctapicore.c
Overview
The CTAPICore that interfaces with the shared library for your cardterminal. The following constants are defined in this module:
CT
CTBCS_CLA
CTBCS_DATA_STATUS_CARD
CTBCS_DATA_STATUS_CARD_CONNECT
CTBCS_DATA_STATUS_NOCARD
CTBCS_INS_EJECT
CTBCS_INS_REQUEST
CTBCS_INS_RESET
CTBCS_INS_STATUS
CTBCS_MIN_COMMAND_SIZE
CTBCS_MIN_RESPONSE_SIZE
CTBCS_P1_CT_KERNEL
CTBCS_P1_DISPLAY
CTBCS_P1_INTERFACE1
CTBCS_P1_INTERFACE10
CTBCS_P1_INTERFACE11
CTBCS_P1_INTERFACE12
CTBCS_P1_INTERFACE13
CTBCS_P1_INTERFACE14
CTBCS_P1_INTERFACE2
CTBCS_P1_INTERFACE3
CTBCS_P1_INTERFACE4
CTBCS_P1_INTERFACE5
CTBCS_P1_INTERFACE6
CTBCS_P1_INTERFACE7
CTBCS_P1_INTERFACE8
CTBCS_P1_INTERFACE9
CTBCS_P1_KEYPAD
CTBCS_P2_REQUEST_GET_ATR
CTBCS_P2_REQUEST_GET_HIST
CTBCS_P2_REQUEST_NO_RESP
CTBCS_P2_RESET_GET_ATR
CTBCS_P2_RESET_GET_HIST
CTBCS_P2_RESET_NO_RESP
CTBCS_P2_STATUS_ICC
CTBCS_P2_STATUS_MANUFACTURER
CTBCS_SW1_COMMAND_NOT_ALLOWED
CTBCS_SW1_EJECT_NOT_REMOVED
CTBCS_SW1_EJECT_OK
CTBCS_SW1_EJECT_REMOVED
CTBCS_SW1_ICC_ERROR
CTBCS_SW1_OK
CTBCS_SW1_REQUEST_ASYNC_OK
CTBCS_SW1_REQUEST_CARD_PRESENT
CTBCS_SW1_REQUEST_ERROR
CTBCS_SW1_REQUEST_NO_CARD
CTBCS_SW1_REQUEST_SYNC_OK
CTBCS_SW1_REQUEST_TIMER_ERROR
CTBCS_SW1_RESET_ASYNC_OK
CTBCS_SW1_RESET_CT_OK
CTBCS_SW1_RESET_ERROR
CTBCS_SW1_RESET_SYNC_OK
CTBCS_SW1_WRONG_CLA
CTBCS_SW1_WRONG_INS
CTBCS_SW1_WRONG_LENGTH
CTBCS_SW1_WRONG_PARAM
CTBCS_SW2_COMMAND_NOT_ALLOWED
CTBCS_SW2_EJECT_NOT_REMOVED
CTBCS_SW2_EJECT_OK
CTBCS_SW2_EJECT_REMOVED
CTBCS_SW2_ICC_ERROR
CTBCS_SW2_OK
CTBCS_SW2_REQUEST_ASYNC_OK
CTBCS_SW2_REQUEST_CARD_PRESENT
CTBCS_SW2_REQUEST_ERROR
CTBCS_SW2_REQUEST_NO_CARD
CTBCS_SW2_REQUEST_SYNC_OK
CTBCS_SW2_REQUEST_TIMER_ERROR
CTBCS_SW2_RESET_ASYNC_OK
CTBCS_SW2_RESET_CT_OK
CTBCS_SW2_RESET_ERROR
CTBCS_SW2_RESET_SYNC_OK
CTBCS_SW2_WRONG_CLA
CTBCS_SW2_WRONG_INS
CTBCS_SW2_WRONG_LENGTH
CTBCS_SW2_WRONG_PARAM
ERR_CT
ERR_HTSI
ERR_INVALID
ERR_MEMORY
ERR_TRANS
HOST
HTSIError
ICC1
ICC10
ICC11
ICC12
ICC13
ICC14
ICC2
ICC3
ICC4
ICC5
ICC6
ICC7
ICC8
ICC9
MAX_APDULEN
OK
PORT_COM1
PORT_COM2
PORT_COM3
PORT_COM4
PORT_LPT1
PORT_LPT2
PORT_Modem
PORT_Printer
Defined Under Namespace
Classes: CTAPIError, CardterminalError, HTSIError, InvalidError, MemoryError, TransmissionError, UnknownError
Constant Summary collapse
- CTBCS_MIN_COMMAND_SIZE =
INT2NUM(2)
- CTBCS_MIN_RESPONSE_SIZE =
INT2NUM(2)
- CTBCS_CLA =
INT2NUM(0x20)
- CTBCS_INS_RESET =
INT2NUM(0x11)
- CTBCS_INS_REQUEST =
INT2NUM(0x12)
- CTBCS_INS_STATUS =
INT2NUM(0x13)
- CTBCS_INS_EJECT =
INT2NUM(0x15)
- CTBCS_P1_CT_KERNEL =
INT2NUM(0x00)
- CTBCS_P1_INTERFACE1 =
INT2NUM(0x01)
- CTBCS_P1_INTERFACE2 =
INT2NUM(0x02)
- CTBCS_P1_INTERFACE3 =
INT2NUM(0x03)
- CTBCS_P1_INTERFACE4 =
INT2NUM(0x04)
- CTBCS_P1_INTERFACE5 =
INT2NUM(0x05)
- CTBCS_P1_INTERFACE6 =
INT2NUM(0x06)
- CTBCS_P1_INTERFACE7 =
INT2NUM(0x07)
- CTBCS_P1_INTERFACE8 =
INT2NUM(0x08)
- CTBCS_P1_INTERFACE9 =
INT2NUM(0x09)
- CTBCS_P1_INTERFACE10 =
INT2NUM(0x0A)
- CTBCS_P1_INTERFACE11 =
INT2NUM(0x0B)
- CTBCS_P1_INTERFACE12 =
INT2NUM(0x0C)
- CTBCS_P1_INTERFACE13 =
INT2NUM(0x0D)
- CTBCS_P1_INTERFACE14 =
INT2NUM(0x0E)
- CTBCS_P1_DISPLAY =
INT2NUM(0x40)
- CTBCS_P1_KEYPAD =
INT2NUM(0x50)
- CTBCS_P2_RESET_NO_RESP =
INT2NUM(0x00)
- CTBCS_P2_RESET_GET_ATR =
INT2NUM(0x01)
- CTBCS_P2_RESET_GET_HIST =
INT2NUM(0x02)
- CTBCS_P2_REQUEST_NO_RESP =
INT2NUM(0x00)
- CTBCS_P2_REQUEST_GET_ATR =
INT2NUM(0x01)
- CTBCS_P2_REQUEST_GET_HIST =
INT2NUM(0x02)
- CTBCS_P2_STATUS_MANUFACTURER =
INT2NUM(0x46)
- CTBCS_P2_STATUS_ICC =
INT2NUM(0x80)
- CTBCS_SW1_OK =
INT2NUM(0x90)
- CTBCS_SW2_OK =
INT2NUM(0x00)
- CTBCS_SW1_WRONG_LENGTH =
INT2NUM(0x67)
- CTBCS_SW2_WRONG_LENGTH =
INT2NUM(0x00)
- CTBCS_SW1_COMMAND_NOT_ALLOWED =
INT2NUM(0x69)
- CTBCS_SW2_COMMAND_NOT_ALLOWED =
INT2NUM(0x00)
- CTBCS_SW1_WRONG_PARAM =
INT2NUM(0x6A)
- CTBCS_SW2_WRONG_PARAM =
INT2NUM(0x00)
- CTBCS_SW1_WRONG_INS =
INT2NUM(0x6D)
- CTBCS_SW2_WRONG_INS =
INT2NUM(0x00)
- CTBCS_SW1_WRONG_CLA =
INT2NUM(0x6E)
- CTBCS_SW2_WRONG_CLA =
INT2NUM(0x00)
- CTBCS_SW1_ICC_ERROR =
INT2NUM(0x6F)
- CTBCS_SW2_ICC_ERROR =
INT2NUM(0x00)
- CTBCS_SW1_RESET_CT_OK =
INT2NUM(0x90)
- CTBCS_SW2_RESET_CT_OK =
INT2NUM(0x00)
- CTBCS_SW1_RESET_SYNC_OK =
INT2NUM(0x90)
- CTBCS_SW2_RESET_SYNC_OK =
INT2NUM(0x00)
- CTBCS_SW1_RESET_ASYNC_OK =
INT2NUM(0x90)
- CTBCS_SW2_RESET_ASYNC_OK =
INT2NUM(0x01)
- CTBCS_SW1_RESET_ERROR =
INT2NUM(0x64)
- CTBCS_SW2_RESET_ERROR =
INT2NUM(0x00)
- CTBCS_SW1_REQUEST_SYNC_OK =
INT2NUM(0x90)
- CTBCS_SW2_REQUEST_SYNC_OK =
INT2NUM(0x00)
- CTBCS_SW1_REQUEST_ASYNC_OK =
INT2NUM(0x90)
- CTBCS_SW2_REQUEST_ASYNC_OK =
INT2NUM(0x01)
- CTBCS_SW1_REQUEST_NO_CARD =
INT2NUM(0x62)
- CTBCS_SW2_REQUEST_NO_CARD =
INT2NUM(0x00)
- CTBCS_SW1_REQUEST_CARD_PRESENT =
INT2NUM(0x62)
- CTBCS_SW2_REQUEST_CARD_PRESENT =
INT2NUM(0x01)
- CTBCS_SW1_REQUEST_ERROR =
INT2NUM(0x64)
- CTBCS_SW2_REQUEST_ERROR =
INT2NUM(0x00)
- CTBCS_SW1_REQUEST_TIMER_ERROR =
INT2NUM(0x69)
- CTBCS_SW2_REQUEST_TIMER_ERROR =
INT2NUM(0x00)
- CTBCS_SW1_EJECT_OK =
INT2NUM(0x90)
- CTBCS_SW2_EJECT_OK =
INT2NUM(0x00)
- CTBCS_SW1_EJECT_REMOVED =
INT2NUM(0x90)
- CTBCS_SW2_EJECT_REMOVED =
INT2NUM(0x01)
- CTBCS_SW1_EJECT_NOT_REMOVED =
INT2NUM(0x62)
- CTBCS_SW2_EJECT_NOT_REMOVED =
INT2NUM(0x00)
- CTBCS_DATA_STATUS_NOCARD =
INT2NUM(0x00)
- CTBCS_DATA_STATUS_CARD =
INT2NUM(0x01)
- CTBCS_DATA_STATUS_CARD_CONNECT =
INT2NUM(0x05)
- MAX_APDULEN =
INT2NUM(MAX_APDULEN)
- OK =
INT2NUM(0)
- ERR_INVALID =
INT2NUM(-1)
- ERR_CT =
INT2NUM(-8)
- ERR_TRANS =
INT2NUM(-10)
- ERR_MEMORY =
INT2NUM(-11)
- ERR_HTSI =
INT2NUM(-128)
- PORT_COM1 =
INT2NUM(0)
- PORT_COM2 =
INT2NUM(1)
- PORT_COM3 =
INT2NUM(2)
- PORT_COM4 =
INT2NUM(3)
- PORT_Printer =
INT2NUM(4)
- PORT_Modem =
INT2NUM(5)
- PORT_LPT1 =
INT2NUM(6)
- PORT_LPT2 =
INT2NUM(7)
- CT =
INT2NUM(1)
- HOST =
INT2NUM(2)
- ICC1 =
INT2NUM(0)
- ICC2 =
INT2NUM(2)
- ICC3 =
INT2NUM(3)
- ICC4 =
INT2NUM(4)
- ICC5 =
INT2NUM(5)
- ICC6 =
INT2NUM(6)
- ICC7 =
INT2NUM(7)
- ICC8 =
INT2NUM(8)
- ICC9 =
INT2NUM(9)
- ICC10 =
INT2NUM(10)
- ICC11 =
INT2NUM(11)
- ICC12 =
INT2NUM(12)
- ICC13 =
INT2NUM(13)
- ICC14 =
INT2NUM(14)
Class Method Summary collapse
-
.ct_close(*args) ⇒ Object
A wrapper function for the CT API CT_close(ctn) function.
-
.ct_data(*args) ⇒ Object
A wrapper function for the CT API CT_data function.
-
.ct_init(*args) ⇒ Object
A wrapper function for the CT API CT_init(ctn, pn) function.
Class Method Details
.ct_close(*args) ⇒ Object
A wrapper function for the CT API CT_close(ctn) function. It takes a cardterminal number as the only argument. See ctapi(3) for more information.
260 261 262 263 264 265 266 267 268 269 270 |
# File 'ext/ctapicore.c', line 260
static VALUE
ctapi_ct_close(int argc, VALUE *argv, VALUE self) {
unsigned short arg1 ;
if ((argc < 1) || (argc > 1))
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc);
arg1 = NUM2USHRT(argv[0]);
ct_close(arg1);
return Qnil;
}
|
.ct_data(*args) ⇒ Object
A wrapper function for the CT API CT_data function. This one is much nicer than the original CT_data because is has fewer arguments: ct_data(ctn, dad, sad, cmd) where ctn is the cardterminal number, dad is the destination address number, sad is the source address number and cmd is the command as a String. See ctapi(3) for more information.
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 |
# File 'ext/ctapicore.c', line 232
static VALUE
ctapi_ct_data(int argc, VALUE *argv, VALUE self) {
unsigned short arg1 ;
unsigned int arg2 ;
unsigned int arg3 ;
char *arg4 ;
unsigned short length;
char *result;
unsigned short lr;
VALUE vresult = Qnil;
if ((argc < 4) || (argc > 4))
rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)", argc);
arg1 = NUM2USHRT(argv[0]);
arg2 = NUM2UINT(argv[1]);
arg3 = NUM2UINT(argv[2]);
arg4 = RSTRING(argv[3])->ptr;
length = RSTRING(argv[3])->len;
result = (char *) ct_data(arg1, arg2, arg3, arg4, length, &lr);
vresult = rb_str_new(result, lr);
ruby_xfree(result);
return vresult;
}
|
.ct_init(*args) ⇒ Object
A wrapper function for the CT API CT_init(ctn, pn) function. The first argument is a cardterminal number, the second argument is an identifier for the interface as a portnumber. See ctapi(3) for more information.
211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'ext/ctapicore.c', line 211
static VALUE
ctapi_ct_init(int argc, VALUE *argv, VALUE self) {
unsigned short arg1 ;
unsigned short arg2 ;
if ((argc < 2) || (argc > 2))
rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)", argc);
arg1 = NUM2USHRT(argv[0]);
arg2 = NUM2USHRT(argv[1]);
ct_init(arg1, arg2);
return Qnil;
}
|