/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2020 Matt Schatz <genius3000@g3k.solutions>
* Copyright (C) 2013-2015 Attila Molnar <attilamolnar@hush.com>
- * Copyright (C) 2013, 2015, 2018-2019 Sadie Powell <sadie@witchery.services>
+ * 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>
#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)
#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.
ADDRESS_FAMILY sun_family;
char sun_path[6];
};
+
+struct WindowsStream
+{
+ WORD BackgroundColor;
+ WORD ForegroundColor;
+ HANDLE Handle;
+ WindowsStream(DWORD handle);
+};