aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_windows.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-24 11:13:37 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-25 15:19:06 +0200
commitaf442a22d956464e7df703b290fa49d78dda3dfa (patch)
treeb50403630f29373cfb711a711fbfd24d632ce2ba /executor/common_windows.h
parent255e8b5e54e93fc77302a546dbb7a932412d1bde (diff)
executor, sys/windows: initial windows support
Diffstat (limited to 'executor/common_windows.h')
-rw-r--r--executor/common_windows.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/executor/common_windows.h b/executor/common_windows.h
new file mode 100644
index 000000000..80c197a4a
--- /dev/null
+++ b/executor/common_windows.h
@@ -0,0 +1,50 @@
+// Copyright 2017 syzkaller project authors. All rights reserved.
+// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+// This file is shared between executor and csource package.
+
+#include <windows.h>
+
+#define doexit exit
+#define NORETURN
+
+#include "common.h"
+
+#if defined(SYZ_EXECUTOR) || defined(SYZ_HANDLE_SEGV)
+static void install_segv_handler()
+{
+}
+
+// TODO(dvyukov): implement me
+#define NONFAILING(...) \
+ __try { \
+ __VA_ARGS__; \
+ } __except (EXCEPTION_EXECUTE_HANDLER) { \
+ }
+#endif
+
+#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT))
+static uint64_t current_time_ms()
+{
+ return GetTickCount64();
+}
+#endif
+
+#if defined(SYZ_EXECUTOR)
+static void sleep_ms(uint64_t ms)
+{
+ Sleep(ms);
+}
+#endif
+
+#if defined(SYZ_EXECUTOR) || defined(SYZ_FAULT_INJECTION)
+static int inject_fault(int nth)
+{
+ return 0;
+}
+
+static int fault_injected(int fail_fd)
+{
+ return 0;
+}
+#endif