]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/emv/emvjson.h
Emv scan (#691)
[proxmark3-svn] / client / emv / emvjson.h
diff --git a/client/emv/emvjson.h b/client/emv/emvjson.h
new file mode 100644 (file)
index 0000000..a518d7b
--- /dev/null
@@ -0,0 +1,35 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2018 Merlok
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// EMV json logic
+//-----------------------------------------------------------------------------
+#ifndef EMVJSON_H__
+#define EMVJSON_H__
+
+#include <jansson.h>
+#include "tlv.h"
+
+typedef struct {
+       tlv_tag_t Tag;
+       char *Name;
+} ApplicationDataElm;
+
+extern char* GetApplicationDataName(tlv_tag_t tag);
+
+extern int JsonSaveStr(json_t *root, char *path, char *value);
+extern int JsonSaveBufAsHex(json_t *elm, char *path, uint8_t *data, size_t datalen);
+extern int JsonSaveHex(json_t *elm, char *path, uint64_t data, int datalen);
+
+extern int JsonSaveTLVValue(json_t *root, char *path, struct tlvdb *tlvdbelm);
+extern int JsonSaveTLVElm(json_t *elm, char *path, struct tlv *tlvelm, bool saveName, bool saveValue, bool saveAppDataLink);
+extern int JsonSaveTLVTreeElm(json_t *elm, char *path, struct tlvdb *tlvdbelm, bool saveName, bool saveValue, bool saveAppDataLink);
+
+extern int JsonSaveTLVTree(json_t *root, json_t *elm, char *path, struct tlvdb *tlvdbelm);
+
+extern bool ParamLoadFromJson(struct tlvdb *tlv);
+
+#endif
\ No newline at end of file
Impressum, Datenschutz