-//Mifare simulation flags
-#define FLAG_INTERACTIVE 0x01
-#define FLAG_4B_UID_IN_DATA 0x02
-#define FLAG_7B_UID_IN_DATA 0x04
-#define FLAG_NR_AR_ATTACK 0x08
+// Mifare simulation flags
+#define FLAG_INTERACTIVE (1<<0)
+#define FLAG_4B_UID_IN_DATA (1<<1)
+#define FLAG_7B_UID_IN_DATA (1<<2)
+#define FLAG_NR_AR_ATTACK (1<<4)
+#define FLAG_RANDOM_NONCE (1<<5)
+
+
+// iCLASS reader flags
+#define FLAG_ICLASS_READER_INIT (1<<0)
+#define FLAG_ICLASS_READER_CC (1<<1)
+#define FLAG_ICLASS_READER_CSN (1<<2)
+#define FLAG_ICLASS_READER_CONF (1<<3)
+#define FLAG_ICLASS_READER_AA (1<<4)
+#define FLAG_ICLASS_READER_CREDITKEY (1<<5)
+#define FLAG_ICLASS_READER_CLEARTRACE (1<<6)
+
+
+// iCLASS simulation modes
+#define ICLASS_SIM_MODE_CSN 0
+#define ICLASS_SIM_MODE_CSN_DEFAULT 1
+#define ICLASS_SIM_MODE_READER_ATTACK 2
+#define ICLASS_SIM_MODE_FULL 3
+#define ICLASS_SIM_MODE_READER_ATTACK_KEYROLL 4
+#define ICLASS_SIM_MODE_EXIT_AFTER_MAC 5 // note: device internal only