Robert Relyea | 111a38b | 2010-11-28 16:36:38 +0200 | [diff] [blame] | 1 | /* |
| 2 | * This header file abstracts the different card types. The goal is new card |
| 3 | * types can easily be added by simply changing this file and |
| 4 | * vcard_emul_type.c. It is currently not a requirement to dynamically add new |
| 5 | * card types. |
| 6 | * |
| 7 | * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. |
| 8 | * See the COPYING.LIB file in the top-level directory. |
| 9 | */ |
| 10 | |
| 11 | #ifndef VCARD_EMUL_TYPE_H |
| 12 | #define VCARD_EMUL_TYPE_H 1 |
| 13 | #include "vcardt.h" |
| 14 | #include "vreadert.h" |
| 15 | |
| 16 | /* |
| 17 | * types |
| 18 | */ |
| 19 | typedef enum { |
| 20 | VCARD_EMUL_NONE = 0, |
| 21 | VCARD_EMUL_CAC, |
| 22 | VCARD_EMUL_PASSTHRU |
| 23 | } VCardEmulType; |
| 24 | |
| 25 | /* functions used by the rest of the emulator */ |
| 26 | VCardStatus vcard_init(VReader *vreader, VCard *vcard, VCardEmulType type, |
| 27 | const char *params, unsigned char * const *cert, |
| 28 | int cert_len[], VCardKey *key[], int cert_count); |
| 29 | VCardEmulType vcard_emul_type_select(VReader *vreader); |
| 30 | VCardEmulType vcard_emul_type_from_string(const char *type_string); |
| 31 | |
| 32 | #endif |