]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Fix compile errors with MacOS (#312)
authorpwpiwi <pwpiwi@users.noreply.github.com>
Wed, 7 Jun 2017 20:35:20 +0000 (22:35 +0200)
committerGitHub <noreply@github.com>
Wed, 7 Jun 2017 20:35:20 +0000 (22:35 +0200)
* Fix compile errors with MacOS
- _POSIX_C_SOURCE must not be defined for num_CPU()

* separate util_posix.c require changes in tools directory as well

* remove unnecessary self-include

17 files changed:
client/Makefile
client/cmdhf14a.c
client/cmdhfepa.c
client/cmdhfmf.c
client/cmdhfmfhard.c
client/cmdmain.c
client/flash.c
client/flasher.c
client/hardnested/hardnested_bruteforce.c
client/loclass/elite_crack.c
client/util.c
client/util.h
client/util_posix.c [new file with mode: 0644]
client/util_posix.h [new file with mode: 0644]
tools/mfkey/Makefile
tools/mfkey/mfkey32.c
tools/mfkey/mfkey64.c

index f6af8602801c30c1dd260865831af1a1899748fb..0d2ae25fc9a3640c5e16cdf0197c7014ee8c3456 100644 (file)
@@ -79,7 +79,8 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
 POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
 
 CORESRCS =     uart.c \
-                       util.c
+                       util.c \
+                       util_posix.c
 
 CMDSRCS =      crapto1/crapto1.c\
                        crapto1/crypto1.c\
index 58d1e8b24fb5e96c6d99587bf44019d3e5bb7529..258a55782bb1f72bc2e35f33564a2442f2b4785c 100644 (file)
@@ -15,6 +15,7 @@
 #include <string.h>
 #include <unistd.h>
 #include "util.h"
+#include "util_posix.h"
 #include "iso14443crc.h"
 #include "data.h"
 #include "proxmark3.h"
index e73f58340549bf3ff9ea933ae6046d747904b798..f3456afbea2a54f4f2c876e7d34a6c363b4d1766 100644 (file)
@@ -16,6 +16,7 @@
 #include <unistd.h>
 #include <stdio.h>
 #include "util.h"
+#include "util_posix.h"
 #include "proxmark3.h"
 #include "ui.h"
 #include "cmdparser.h"
index 3fde208f6ab520b7778f32f9313940e26b102529..4cb9577bc59fdfd772921d34685cc2c843aa6b52 100644 (file)
@@ -19,6 +19,7 @@
 #include "cmdmain.h"\r
 #include "cmdhfmfhard.h"\r
 #include "util.h"\r
+#include "util_posix.h"\r
 #include "usb_cmd.h"\r
 #include "ui.h"\r
 #include "mifarehost.h"\r
index 01dcc35d928fc2851add3f4a4bd6a8d966c0768d..6cd75af515cc92dcf17f3a9695dd041fc91df8e7 100644 (file)
@@ -28,6 +28,7 @@
 #include "cmdmain.h"
 #include "ui.h"
 #include "util.h"
+#include "util_posix.h"
 #include "crapto1/crapto1.h"
 #include "parity.h"
 #include "hardnested/hardnested_bruteforce.h"
index 44c11aeb7965d065992f0a6417c6fe73c0c84d47..f407cee4bf601e883206bfbaf4bbe453d8153306 100644 (file)
@@ -23,6 +23,7 @@
 #include "cmdlf.h"
 #include "cmdmain.h"
 #include "util.h"
+#include "util_posix.h"
 #include "cmdscript.h"
 #include "cmdcrc.h"
 
index 0b940e99df6bbf687f1cd3d9acf693a3ccc376a5..7622e8a5b56553939ed805504ff28d8ecc4090a6 100644 (file)
@@ -15,6 +15,7 @@
 #include <unistd.h>
 #include "proxmark3.h"
 #include "util.h"
+#include "util_posix.h"
 #include "flash.h"
 #include "elf.h"
 #include "proxendian.h"
index 0c1dbd71f1794a1fe4a6a33f2792f057878b5363..48317c1ee1eb8e5bd105a70e54d830d2f38ee404 100644 (file)
@@ -12,6 +12,7 @@
 #include <inttypes.h>
 #include "proxmark3.h"
 #include "util.h"
+#include "util_posix.h"
 #include "flash.h"
 #include "uart.h"
 #include "usb_cmd.h"
index 3218c1aa41a62260dfaee5abdcaa350cf73b2d94..3b1c5071bbc1d34520f6913525d98cbffcf9a2bb 100644 (file)
@@ -60,6 +60,7 @@ THE SOFTWARE.
 #include "hardnested_bf_core.h"
 #include "ui.h"
 #include "util.h"
+#include "util_posix.h"
 #include "crapto1/crapto1.h"
 #include "parity.h"
 
index e52c9a6a3fad585898843f91d17ba3017dceb36a..83fb85152da2e7760a6506271b3b202453d9496f 100644 (file)
@@ -41,6 +41,7 @@
 #include <string.h>
 #include <stdio.h>
 #include "util.h"
+#include "util_posix.h"
 #include "cipherutils.h"
 #include "cipher.h"
 #include "ikeys.h"
index 13067ec1d57b4773859a6affccb5e0969d05e213..0a92f15a00d3b56e879453f0c461a4e80f1b6566 100644 (file)
@@ -8,10 +8,6 @@
 // utilities
 //-----------------------------------------------------------------------------
 
-#if !defined(_WIN32)
-#define _POSIX_C_SOURCE        199309L                 // need nanosleep()
-#endif
-
 #include "util.h"
 
 #include <stdint.h>
 #include <time.h>
 #include "data.h"
 
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
 #define MAX_BIN_BREAK_LENGTH   (3072+384+1)
 
 #ifndef _WIN32
@@ -614,48 +614,7 @@ void clean_ascii(unsigned char *buf, size_t len) {
 }
 
 
-// Timer functions
-#if !defined (_WIN32)
-#include <errno.h>
-
-static void nsleep(uint64_t n) {
-  struct timespec timeout;
-  timeout.tv_sec = n/1000000000;
-  timeout.tv_nsec = n%1000000000;
-  while (nanosleep(&timeout, &timeout) && errno == EINTR);
-}
-
-void msleep(uint32_t n) {
-       nsleep(1000000 * n);
-}
-
-#endif // _WIN32
 
-// a milliseconds timer for performance measurement
-uint64_t msclock() {
-#if defined(_WIN32)
-    #include <sys/types.h>
-    
-    // WORKAROUND FOR MinGW (some versions - use if normal code does not compile)
-    // It has no _ftime_s and needs explicit inclusion of timeb.h
-    #include <sys/timeb.h>
-    struct _timeb t;
-    _ftime(&t);
-    return 1000 * t.time + t.millitm;
-    
-    // NORMAL CODE (use _ftime_s)
-       //struct _timeb t;
-    //if (_ftime_s(&t)) {
-       //      return 0;
-       //} else {
-       //      return 1000 * t.time + t.millitm;
-       //}
-#else
-       struct timespec t;
-       clock_gettime(CLOCK_MONOTONIC, &t);
-       return (t.tv_sec * 1000 + t.tv_nsec / 1000000);
-#endif
-}
 
 // determine number of logical CPU cores (use for multithreaded functions)
 extern int num_CPUs(void)
@@ -672,3 +631,4 @@ extern int num_CPUs(void)
        return 1;
 #endif
 }
+
index 55cc3877370e806d0a0db2d2127fb3e6d558abfd..640ef434d09260c9a74513e400eb4c961bbd1fa6 100644 (file)
@@ -77,16 +77,6 @@ extern void rol(uint8_t *data, const size_t len);
 
 extern void clean_ascii(unsigned char *buf, size_t len);
 
-// timer functions/macros
-#ifdef _WIN32
-# include <windows.h>
-# define sleep(n) Sleep(1000 *(n))
-# define msleep(n) Sleep((n))
-#else
-extern void msleep(uint32_t n);                // sleep n milliseconds
-#endif // _WIN32
-
-extern uint64_t msclock();                     // a milliseconds clock
 extern int num_CPUs(void);                     // number of logical CPUs
 
 #endif // UTIL_H__
diff --git a/client/util_posix.c b/client/util_posix.c
new file mode 100644 (file)
index 0000000..3e61b67
--- /dev/null
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// utilities requiring Posix library functions
+//-----------------------------------------------------------------------------
+
+#if !defined(_WIN32)
+#define _POSIX_C_SOURCE        199309L                 // need nanosleep()
+#else
+#include <windows.h>
+#endif
+
+#include "util_posix.h"
+#include <stdint.h>
+#include <time.h>
+
+
+// Timer functions
+#if !defined (_WIN32)
+#include <errno.h>
+
+static void nsleep(uint64_t n) {
+  struct timespec timeout;
+  timeout.tv_sec = n/1000000000;
+  timeout.tv_nsec = n%1000000000;
+  while (nanosleep(&timeout, &timeout) && errno == EINTR);
+}
+
+void msleep(uint32_t n) {
+       nsleep(1000000 * n);
+}
+#endif // _WIN32
+
+// a milliseconds timer for performance measurement
+uint64_t msclock() {
+#if defined(_WIN32)
+    #include <sys/types.h>
+    
+    // WORKAROUND FOR MinGW (some versions - use if normal code does not compile)
+    // It has no _ftime_s and needs explicit inclusion of timeb.h
+    #include <sys/timeb.h>
+    struct _timeb t;
+    _ftime(&t);
+    return 1000 * t.time + t.millitm;
+    
+    // NORMAL CODE (use _ftime_s)
+       //struct _timeb t;
+    //if (_ftime_s(&t)) {
+       //      return 0;
+       //} else {
+       //      return 1000 * t.time + t.millitm;
+       //}
+#else
+       struct timespec t;
+       clock_gettime(CLOCK_MONOTONIC, &t);
+       return (t.tv_sec * 1000 + t.tv_nsec / 1000000);
+#endif
+}
+
diff --git a/client/util_posix.h b/client/util_posix.h
new file mode 100644 (file)
index 0000000..dcf9d99
--- /dev/null
@@ -0,0 +1,26 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// utilities requiring Posix library functions
+//-----------------------------------------------------------------------------
+
+#ifndef UTIL_POSIX_H__
+#define UTIL_POSIX_H__
+
+#include <stdint.h>
+
+#ifdef _WIN32
+# include <windows.h>
+# define sleep(n) Sleep(1000 *(n))
+# define msleep(n) Sleep((n))
+#else
+extern void msleep(uint32_t n);                // sleep n milliseconds
+#endif // _WIN32
+
+extern uint64_t msclock();                     // a milliseconds clock
+
+#endif
index fc6170e4e3f4223437a50e43e8f9933576bcda9f..ede971dc7c9bc4cbf4680fd3e737f4ec1b02cb9a 100755 (executable)
@@ -4,7 +4,7 @@ LD = gcc
 CFLAGS = -std=c99 -D_ISOC99_SOURCE -I../../common -I../../client -Wall -O3
 LDFLAGS =
 
-OBJS = crypto1.o crapto1.o parity.o util.o mfkey.o
+OBJS = crypto1.o crapto1.o parity.o util_posix.o mfkey.o
 EXES = mfkey32 mfkey64
 WINEXES = $(patsubst %, %.exe, $(EXES))
 
index 4ab4bad4e10f65ffbaee1716e2f051ba9ac4e1f5..a5665ab2e398042bccba48b753b42e8862cb95fd 100755 (executable)
@@ -4,7 +4,8 @@
 #include <stdlib.h>
 #include "crapto1/crapto1.h"
 #include "mfkey.h"
-#include "util.h"
+#include "util_posix.h"
+
 
 // 32 bit recover key from 2 nonces
 int main (int argc, char *argv[]) {
index 1b0028125c89071eb12fa1fdcd506dd2d60dbdd2..8bf1d80134a6f2bea54ee4635f00a71233c0d20e 100755 (executable)
@@ -2,7 +2,7 @@
 #include <string.h>
 #include <inttypes.h>
 #include "crapto1/crapto1.h"
-#include "util.h"
+#include "util_posix.h"
 
 int main (int argc, char *argv[]) 
 {
Impressum, Datenschutz