/* * This header file abstracts the different card types. The goal is new card * types can easily be added by simply changing this file and * vcard_emul_type.c. It is currently not a requirement to dynamically add new * card types. * * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. * See the COPYING.LIB file in the top-level directory. */ #ifndef VCARD_EMUL_TYPE_H #define VCARD_EMUL_TYPE_H 1 #include "vcardt.h" #include "vreadert.h" /* * types */ typedef enum { VCARD_EMUL_NONE = 0, VCARD_EMUL_CAC, VCARD_EMUL_PASSTHRU } VCardEmulType; /* functions used by the rest of the emulator */ VCardStatus vcard_init(VReader *vreader, VCard *vcard, VCardEmulType type, const char *params, unsigned char * const *cert, int cert_len[], VCardKey *key[], int cert_count); VCardEmulType vcard_emul_type_select(VReader *vreader); VCardEmulType vcard_emul_type_from_string(const char *type_string); #endif