// hf mf hardnested command
//-----------------------------------------------------------------------------
-int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t *trgkey, bool nonce_file_read, bool nonce_file_write, bool slow);
+#ifndef CMDHFMFHARD_H__
+#define CMDHFMFHARD_H__
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <pthread.h>
+#include <locale.h>
+#include <math.h>
+#include "proxmark3.h" // time_t , PRIu32
+#include "sleep.h"
+#include "cmdmain.h"
+#include "ui.h"
+#include "util.h"
+#include "nonce2key/crapto1.h"
+#include "nonce2key/crypto1_bs.h"
+#include "parity.h"
+// don't include for APPLE/mac which has malloc stuff elsewhere.
+#ifndef __APPLE__
+ #include <malloc.h>
+#endif
+#include <assert.h>
+
+int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t *trgkey, bool nonce_file_read, bool nonce_file_write, bool slow, int tests, uint64_t *foundkey);
+
+#endif