2 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
3 * See the COPYING.LIB file in the top-level directory.
9 * these should come from some common spice header file
13 #define MIN(x, y) ((x) > (y) ? (y) : (x))
14 #define MAX(x, y) ((x) > (y) ? (x) : (y))
17 typedef struct VCardStruct VCard;
18 typedef struct VCardAPDUStruct VCardAPDU;
19 typedef struct VCardResponseStruct VCardResponse;
20 typedef struct VCardBufferResponseStruct VCardBufferResponse;
21 typedef struct VCardAppletStruct VCardApplet;
22 typedef struct VCardAppletPrivateStruct VCardAppletPrivate;
23 typedef struct VCardKeyStruct VCardKey; /* opaque */
24 typedef struct VCardEmulStruct VCardEmul;
45 typedef VCardStatus (*VCardProcessAPDU)(VCard *card, VCardAPDU *apdu,
46 VCardResponse **response);
47 typedef VCardStatus (*VCardResetApplet)(VCard *card, int channel);
48 typedef void (*VCardAppletPrivateFree) (VCardAppletPrivate *);
49 typedef void (*VCardEmulFree) (VCardEmul *);
50 typedef void (*VCardGetAtr) (VCard *, unsigned char *atr, int *atr_len);
52 struct VCardBufferResponseStruct {
53 unsigned char *buffer;
55 unsigned char *current;