+#define CMD_FPGA_MAJOR_MODE_OFF 0x0500
+
+// For mifare commands
+#define CMD_MIFARE_SET_DBGMODE 0x0600
+#define CMD_MIFARE_EML_MEMCLR 0x0601
+#define CMD_MIFARE_EML_MEMSET 0x0602
+#define CMD_MIFARE_EML_MEMGET 0x0603
+#define CMD_MIFARE_EML_CARDLOAD 0x0604
+
+// magic chinese card commands
+#define CMD_MIFARE_CSETBLOCK 0x0605
+#define CMD_MIFARE_CGETBLOCK 0x0606
+#define CMD_MIFARE_CIDENT 0x0607
+
+#define CMD_SIMULATE_MIFARE_CARD 0x0610
+
+#define CMD_READER_MIFARE 0x0611
+#define CMD_MIFARE_NESTED 0x0612
+#define CMD_MIFARE_ACQUIRE_ENCRYPTED_NONCES 0x0613
+
+#define CMD_MIFARE_READBL 0x0620
+#define CMD_MIFAREU_READBL 0x0720
+#define CMD_MIFARE_READSC 0x0621
+#define CMD_MIFAREU_READCARD 0x0721
+#define CMD_MIFARE_WRITEBL 0x0622
+#define CMD_MIFAREU_WRITEBL 0x0722
+#define CMD_MIFAREU_WRITEBL_COMPAT 0x0723
+
+#define CMD_MIFARE_CHKKEYS 0x0623
+
+#define CMD_MIFARE_SNIFFER 0x0630
+//ultralightC
+#define CMD_MIFAREUC_AUTH 0x0724
+//0x0725 and 0x0726 no longer used
+#define CMD_MIFAREUC_SETPWD 0x0727
+
+
+// mifare desfire
+#define CMD_MIFARE_DESFIRE_READBL 0x0728
+#define CMD_MIFARE_DESFIRE_WRITEBL 0x0729
+#define CMD_MIFARE_DESFIRE_AUTH1 0x072a
+#define CMD_MIFARE_DESFIRE_AUTH2 0x072b
+#define CMD_MIFARE_DES_READER 0x072c
+#define CMD_MIFARE_DESFIRE_INFO 0x072d
+#define CMD_MIFARE_DESFIRE 0x072e
+
+#define CMD_HF_SNIFFER 0x0800
+
+#define CMD_UNKNOWN 0xFFFF
+
+
+//Mifare simulation flags
+#define FLAG_INTERACTIVE 0x01
+#define FLAG_4B_UID_IN_DATA 0x02
+#define FLAG_7B_UID_IN_DATA 0x04
+#define FLAG_10B_UID_IN_DATA 0x08
+#define FLAG_NR_AR_ATTACK 0x10
+#define FLAG_RANDOM_NONCE 0x20
+
+
+//Iclass reader flags
+#define FLAG_ICLASS_READER_ONLY_ONCE 0x01
+#define FLAG_ICLASS_READER_CC 0x02
+#define FLAG_ICLASS_READER_CSN 0x04
+#define FLAG_ICLASS_READER_CONF 0x08
+#define FLAG_ICLASS_READER_AA 0x10
+#define FLAG_ICLASS_READER_ONE_TRY 0x20
+#define FLAG_ICLASS_READER_CEDITKEY 0x40
+
+
+//hw tune args
+#define FLAG_TUNE_LF 1
+#define FLAG_TUNE_HF 2
+#define FLAG_TUNE_ALL 3