aboutsummaryrefslogtreecommitdiff
path: root/butl/win32-utility
diff options
context:
space:
mode:
Diffstat (limited to 'butl/win32-utility')
-rw-r--r--butl/win32-utility52
1 files changed, 52 insertions, 0 deletions
diff --git a/butl/win32-utility b/butl/win32-utility
new file mode 100644
index 0000000..c74eb66
--- /dev/null
+++ b/butl/win32-utility
@@ -0,0 +1,52 @@
+// file : butl/win32-utility -*- C++ -*-
+// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BUTL_WIN32_UTILITY
+#define BUTL_WIN32_UTILITY
+
+// Use this header to include <windows.h> and a couple of Win32-specific
+// utilities.
+//
+
+#ifdef _WIN32
+
+// Try to include <windows.h> so that it doesn't mess other things up.
+//
+#ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# ifndef NOMINMAX // No min and max macros.
+# define NOMINMAX
+# include <windows.h>
+# undef NOMINMAX
+# else
+# include <windows.h>
+# endif
+# undef WIN32_LEAN_AND_MEAN
+#else
+# ifndef NOMINMAX
+# define NOMINMAX
+# include <windows.h>
+# undef NOMINMAX
+# else
+# include <windows.h>
+# endif
+#endif
+
+#include <string>
+
+namespace butl
+{
+ namespace win32
+ {
+ std::string
+ error_msg (DWORD code);
+
+ std::string
+ last_error_msg ();
+ }
+};
+
+#endif // _WIN32
+
+#endif // BUTL_WIN32_UTILITY