summaryrefslogtreecommitdiff
path: root/vcard_emul_type.h
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2010-08-08 17:16:08 +0300
committerAlon Levy <alevy@redhat.com>2010-08-08 17:16:08 +0300
commitc34b4421653815c54e66dbd5dc9ac7239c3aa614 (patch)
tree78648e132100f1dfaafd0220c75dbe41d8c6e17d /vcard_emul_type.h
parentd561895862eb34615cc3812a57af493ace266607 (diff)
missed files
Diffstat (limited to 'vcard_emul_type.h')
-rw-r--r--vcard_emul_type.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/vcard_emul_type.h b/vcard_emul_type.h
new file mode 100644
index 0000000..a17dbbd
--- /dev/null
+++ b/vcard_emul_type.h
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ */
+
+#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
+} VCardEmulType;
+
+/* functions used by the rest of the emulator */
+VCardStatus vcard_init(VCard *vcard, VCardEmulType type, const char * flags,
+ 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(char *type_string);
+
+/* forward declarations of emul type functions used by vcard_emul_type.c */
+VCardStatus cac_card_init(VCard *vcard, const char * flags, unsigned char *const *cert,
+ int cert_len[], VCardKey *key[], int cert_count);
+VCardStatus cac_is_cac_card(VReader *reader);
+#endif