+int CmdEM410xWrite(const char *Cmd)
+{
+ uint64_t id = 0;
+ unsigned int card;
+
+ sscanf(Cmd, "%" PRIx64 " %d", &id, &card);
+
+ if (id >= 0x10000000000) {
+ PrintAndLog("Error! Given EM410x ID is longer than 40 bits.\n");
+ return 0;
+ }
+
+ if (card > 1) {
+ PrintAndLog("Error! Bad card type selected.\n");
+ return 0;
+ }
+
+ PrintAndLog("Writing %s tag with UID 0x%010" PRIx64, card ? "T55x7":"T5555", id);
+ UsbCommand c = {CMD_EM410X_WRITE_TAG, {card, (uint32_t)(id >> 32), (uint32_t)id}};
+ SendCommand(&c);
+
+ return 0;
+}
+
+static command_t CommandTable[] =