aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2020-10-30 09:33:21 +0100
committerSimon Rozman <simon@rozman.si>2020-10-31 10:41:48 +0100
commiteeb42a5f1224137c65b357e8edacc0165d9f6699 (patch)
tree54df8c7e5adb023772e11a3f63eb8f28d4bf0233
parentapi: cleanup driver selection logic (diff)
downloadwintun-eeb42a5f1224137c65b357e8edacc0165d9f6699.tar.xz
wintun-eeb42a5f1224137c65b357e8edacc0165d9f6699.zip
api: make #ifdef-s more descriptive
Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>
-rw-r--r--api/adapter.c10
-rw-r--r--api/api.h7
-rw-r--r--api/rundll32.c2
3 files changed, 13 insertions, 6 deletions
diff --git a/api/adapter.c b/api/adapter.c
index 5f6b2cd..a922dda 100644
--- a/api/adapter.c
+++ b/api/adapter.c
@@ -329,7 +329,7 @@ AdapterDeleteAllOurs(void)
void
AdapterInit(void)
{
-#if defined(_M_IX86) || defined(_M_ARM)
+#ifdef MAYBE_WOW64
typedef BOOL(WINAPI * IsWow64Process2_t)(
_In_ HANDLE hProcess, _Out_ USHORT * pProcessMachine, _Out_opt_ USHORT * pNativeMachine);
HANDLE Kernel32;
@@ -1255,7 +1255,7 @@ CreateTemporaryDirectory(_Out_cap_c_(MAX_PATH) WCHAR *RandomTempSubDirectory)
return ERROR_SUCCESS;
}
-#if defined(_M_IX86) || defined(_M_ARM)
+#ifdef MAYBE_WOW64
typedef struct _PROCESS_STDOUT_STATE
{
@@ -1546,7 +1546,7 @@ WintunCreateAdapter(
_Out_ WINTUN_ADAPTER **Adapter,
_Inout_ BOOL *RebootRequired)
{
-#if defined(_M_IX86) || defined(_M_ARM)
+#ifdef MAYBE_WOW64
if (NativeMachine != IMAGE_FILE_PROCESS)
return CreateAdapterNatively(Pool, Name, RequestedGUID, Adapter, RebootRequired);
#endif
@@ -1598,7 +1598,7 @@ cleanupDirectory:
return Result;
}
-#if defined(_M_IX86) || defined(_M_ARM)
+#ifdef MAYBE_WOW64
static WINTUN_STATUS
DeleteAdapterNatively(_In_ const WINTUN_ADAPTER *Adapter, _Inout_ BOOL *RebootRequired)
@@ -1639,7 +1639,7 @@ cleanupArgv:
WINTUN_STATUS WINAPI
WintunDeleteAdapter(_In_ const WINTUN_ADAPTER *Adapter, _Inout_ BOOL *RebootRequired)
{
-#if defined(_M_IX86) || defined(_M_ARM)
+#ifdef MAYBE_WOW64
if (NativeMachine != IMAGE_FILE_PROCESS)
return DeleteAdapterNatively(Adapter, RebootRequired);
#endif
diff --git a/api/api.h b/api/api.h
index 10cb6e0..0291e17 100644
--- a/api/api.h
+++ b/api/api.h
@@ -14,6 +14,13 @@
# define _L(x) __L(x)
#endif
+#if defined(_M_IX86) || defined(_M_ARM)
+#define MAYBE_WOW64
+#endif
+#if defined(_M_AMD64) || defined(_M_ARM64) || defined(_DEBUG)
+#define ACCEPT_WOW64
+#endif
+
extern HINSTANCE ResourceModule;
extern HANDLE ModuleHeap;
extern SECURITY_ATTRIBUTES *SecurityAttributes;
diff --git a/api/rundll32.c b/api/rundll32.c
index dcd6628..ae722b5 100644
--- a/api/rundll32.c
+++ b/api/rundll32.c
@@ -7,7 +7,7 @@
#define EXPORT comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__)
-#if defined(_M_AMD64) || defined(_M_ARM64) || defined(_DEBUG)
+#ifdef ACCEPT_WOW64
static DWORD
WriteFormatted(_In_ DWORD StdHandle, _In_z_ const WCHAR *Template, ...)