]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.h
Update copyright headers.
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.h
index 6b69e1a6d3ced27d083a397048112aec3dbfc20a..b2ca05229692f9b1f8add017a4148664749dc6c0 100644 (file)
@@ -1,9 +1,17 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
- *   Copyright (C) 2007 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2020 Matt Schatz <genius3000@g3k.solutions>
+ *   Copyright (C) 2013-2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2013, 2015, 2018-2019, 2021 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2013 ChrisTX <xpipe@hotmail.de>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2011, 2014, 2019 Adam <Adam@anope.org>
+ *   Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
+ *   Copyright (C) 2007-2009 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2007-2008 Craig Edwards <brain@inspircd.org>
+ *   Copyright (C) 2007, 2009 Dennis Friis <peavey@inspircd.org>
+ *   Copyright (C) 2007 burlex <burlex@e03df62e-2008-0410-955e-edbf42e46eb7>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -43,7 +51,7 @@
 #define VC_EXTRALEAN
 #define WIN32_LEAN_AND_MEAN
 
-/* Macros for exporting symbols - dependant on what is being compiled */
+/* Macros for exporting symbols - dependent on what is being compiled */
 
 #ifdef DLL_BUILD
 #define CoreExport __declspec(dllimport)
 #define DllExport __declspec(dllimport)
 #endif
 
+// File numbers for standard streams.
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+
 /* Redirect main() through a different method in win32service.cpp, to intercept service startup */
 #define ENTRYPOINT CoreExport int smain(int argc, char** argv)
 
@@ -94,6 +107,8 @@ typedef SSIZE_T ssize_t;
 #define popen _popen
 #define pclose _pclose
 #define getpid _getpid
+#define dup _dup
+#define fdopen _fdopen
 
 // warning: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'
 // Normally, this is a huge problem, but due to our new/delete remap, we can ignore it.
@@ -125,6 +140,9 @@ typedef SSIZE_T ssize_t;
 // warning C4706: assignment within conditional expression
 #pragma warning(disable:4706)
 
+// warning C4800: 'type' : forcing value to bool 'true' or 'false' (performance warning)
+#pragma warning(disable:4800)
+
 /* Shared memory allocation functions */
 void * ::operator new(size_t iSize);
 void ::operator delete(void * ptr);
@@ -178,3 +196,11 @@ struct sockaddr_un
        ADDRESS_FAMILY sun_family;
        char sun_path[6];
 };
+
+struct WindowsStream
+{
+       WORD BackgroundColor;
+       WORD ForegroundColor;
+       HANDLE Handle;
+       WindowsStream(DWORD handle);
+};