Merge branch 'for-upstream' of git://repo.or.cz/qemu/agraf
[qemu.git] / libcacard / vcard_emul_type.h
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