X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/3ac59c7fed24cc69e2c9f626e5e4392769779e13..0b0b182fe26cf7b94eb8480ef1d4a674981491b8:/include/mifare.h?ds=sidebyside

diff --git a/include/mifare.h b/include/mifare.h
index 403132ac..bd78dda6 100644
--- a/include/mifare.h
+++ b/include/mifare.h
@@ -11,7 +11,7 @@
 #ifndef _MIFARE_H_
 #define _MIFARE_H_
 
-#include "../include/common.h"
+#include "common.h"
 
 //-----------------------------------------------------------------------------
 // ISO 14443A
@@ -26,14 +26,54 @@ typedef struct {
 } __attribute__((__packed__)) iso14a_card_select_t;
 
 typedef enum ISO14A_COMMAND {
-	ISO14A_CONNECT = 1,
-	ISO14A_NO_DISCONNECT = 2,
-	ISO14A_APDU = 4,
-	ISO14A_RAW = 8,
-	ISO14A_REQUEST_TRIGGER = 0x10,
-	ISO14A_APPEND_CRC = 0x20,
-	ISO14A_SET_TIMEOUT = 0x40,
-	ISO14A_NO_SELECT = 0x80
+	ISO14A_CONNECT = 			(1 << 0),
+	ISO14A_NO_DISCONNECT =		(1 << 1),
+	ISO14A_APDU = 				(1 << 2),
+	ISO14A_RAW =				(1 << 3),
+	ISO14A_REQUEST_TRIGGER =	(1 << 4),
+	ISO14A_APPEND_CRC =			(1 << 5),
+	ISO14A_SET_TIMEOUT =		(1 << 6),
+	ISO14A_NO_SELECT =			(1 << 7),
+	ISO14A_TOPAZMODE =			(1 << 8)
 } iso14a_command_t;
 
+
+//-----------------------------------------------------------------------------
+// ISO 14443B
+//-----------------------------------------------------------------------------
+typedef struct {
+	byte_t uid[10];
+	byte_t uidlen;
+	byte_t atqb[7];
+	byte_t chipid;
+	byte_t cid;
+} __attribute__((__packed__)) iso14b_card_select_t;
+
+
+typedef enum ISO14B_COMMAND {
+	ISO14B_CONNECT = 			(1 << 0),
+	ISO14B_DISCONNECT =			(1 << 1),
+	ISO14B_APDU = 				(1 << 2),
+	ISO14B_RAW =				(1 << 3),
+	ISO14B_REQUEST_TRIGGER =	(1 << 4),
+	ISO14B_APPEND_CRC =			(1 << 5),
+	ISO14B_SELECT_STD =			(1 << 6),
+	ISO14B_SELECT_SR =			(1 << 7)
+} iso14b_command_t;
+
+//-----------------------------------------------------------------------------
+// "hf 14a sim x", "hf mf sim x" attacks
+//-----------------------------------------------------------------------------
+typedef struct {
+  uint32_t cuid;
+  uint8_t  sector;
+  uint8_t  keytype;
+  uint32_t nonce;
+  uint32_t ar;
+  uint32_t nr;
+  uint32_t nonce2;
+  uint32_t ar2;
+  uint32_t nr2;
+} nonces_t;
+
 #endif // _MIFARE_H_