KOBIL Chipkartenterminal Handbuch
7.6
Nutzung der CT-API am Beispiel der Krankenversicherungskarte
Im folgenden Beispiel wird die Anwendung der Funktionen CT_init, CT_data sowie
CT_close (ohne Behandlung der Rückgabewerte) demonstriert.
/* Beispiel zum Lesen einer Krankenversicherungskarte */
#inlcude <windows.h>
#include <stdio.h>
#include "ct_api.h"
int main(void)
{
unsigned char sad, dad;
unsigned char response[300];
unsigned char command[300];
int i;
unsigned int lenr;
int ct_port = 2;
int ctn = 1;
/* logische Terminal Number und Port COM2 auswählen */
if(CT_init(ctn, ct_port) != OK) {
printf("\nKartenleser nicht erreichbar. Port?");
return(1);
}
/* RESET CT */
sad = 2;
dad = 1;
lenr = sizeof(response);
command[0] = 0x20;
command[1] = 0x11;
command[2] = 0x00;
command[3] = 0x00;
command[4] = 0x00;
/* Funktion CT_data aufrufen und Rückgabewert anzeigen */
printf("Reset CT Returnwert: %d\nSW1-SW2:", CT_data(ctn, &dad,
&sad, 5, command, &lenr, response));
/* plattformspezifisches */
/* source address, destination
address werden als Zeiger über
geben, um diese auch für die
Antwort auswerten zu können */
/* Feld für die Antwort der
Funktion */
/* Kommandos hier max. 300
Zeichen lang */
/* Beispiel: COM 2 */
/* erstes Terminal */
/* Rückgabewert OK ? */
/* Programm beenden */
/* source = Host (PC) */
/* destination = CardTerminal
(Kartenleser) */
/* Maximale länge der Antwort
setzen */
/* CLA */
/* INS */
/* P1 */
/* P2 */
/* LEN */
Seite 31