aboutsummaryrefslogtreecommitdiff
path: root/win/inspircd_win32wrapper.h
Commit message (Expand)AuthorAgeFilesLines
* Win32: Rewrite the service wrapper•••Edited original commit to pass MAX_PATH as nSize to GetModuleFileNameA() instead of 101 after approval from author @ChrisTX (Attila Molnar) Fixes #404 reported by @crchauffe Gravatar ChrisTX2013-03-251-0/+15
* Replace printf(_c) with iostreamGravatar ChrisTX2012-10-141-3/+0
* Windows: In-depth cleanup (see details)•••-Fix x64 builds for Windows. Now all configurations compile. -Remove the non-working rebase stuff. -Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now. -Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2 -Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need. -Enable optimizations for release builds. -De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure -Add the VC++ specific bad files in .gitignore -Disable PID writing on Windows. This is only making sense for *nix builds. -Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working) -Removed certain unused functions and variables -Remove stdint defines from the windows wrapper -Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds. -Re-evaluated the warnings list, commented it. -Moved inspircd_config/_version to include/ to match *nix -Removed the creation of inspircd_se_config, as it isn't used at all. -Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out) -Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly. -Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down) -Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded. -Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways) -Removed the unused ClearConsole() -Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate. -Made inet_aton an inline function for increased performance -C4800, performance warning about bool forcing, resolved at all occurrences. -C4701, uninitialized variable 'cached', resolved at all occurrences. -dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance. -Removed the wrong CRT debug flags. This drains a lot of performance. -Removed the clock_gettime/gettimeofday wrappers -Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function. -Added a block of C4355 for < VS2012 -Update project files for c870714 Gravatar ChrisTX2012-10-121-121/+48
* Windows: Use the WinAPI for DNS server retrievalGravatar ChrisTX2012-10-041-3/+0
* Fixed Windows build, int32_t is already defined in stdint.h.•••Add GnuTLS support for Windows. Made NSIS script include extra DLL files if supplied and include the conf/aliases and conf/modules example configuration files. Added make_gnutls_cert.bat to generate GnuTLS certificates on Windows. Fixed typo in gnutlscert.pm. Gravatar Adam2012-07-091-1/+0
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+16
* Fix extras compilation under WindowsGravatar Adam2011-06-181-1/+1
* Fixed Windows build on VS 2010Gravatar Adam2011-04-101-1/+12
* Remove excessive gettimeofday system calls•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-181-1/+2
* Fix up finding dns server to use for windows to match latest configreader cha...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11892 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-171-1/+1
* Define DISABLE_WRITEV and use the IOHook single-copy method for Windows send()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11848 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-121-8/+1
* Include psapi.h to fix stats.cpp compiling.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11840 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-111-0/+1
* 3rd time lucky? Fix again for setsockopt.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11825 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-3/+0
* Slight tweak to setsockopt fix.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11824 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-0/+3
* * Fix inspsocket to not include uio.h on windows.•••* Wrap writev and some structs to fix inspsocket compile on win. * Fix a few compile errors due to latest trunk changes in win32wrapper code. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11822 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-101-0/+11
* Remove InspIRCd* parameters and fields•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-4/+3
* win: vs2010 requires this to link in process memory retrieval stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11521 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-08-151-0/+9
* win: don't define error constants on VS2009, they're defined for us (finally)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11520 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-08-151-6/+8
* Fix types on Windows. Hooray for not supporting stdint.h. Thanks to Special.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11471 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-08-031-2/+2
* Fix our getops implementation on windows. Have optind available, and make sur...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11466 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-08-021-0/+1
* No forget using windows' broken inet_pton and inet_ntop, they are not POSIX c...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11460 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-08-021-4/+6
* Since Windows SDK6.0a inet_pton and inet_ntop is defined if (NTDDI_VERSION >=...•••Fixes the breakage Brain mentions in r11407. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11459 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-08-021-0/+2
* more fixes. inet_pton is now in error, this is because the windows 6.0 sdk de...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11407 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2009-06-121-2/+3
* usleep() is no longer needed, and should not be needed in the future•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11252 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-03-231-3/+0
* Update all wiki links to point to the new wiki. This was done automatically w...•••for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar psychon2009-03-151-1/+1
* Fix win32 build issue.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11204 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-03-101-0/+1
* Update copyrights for 2009.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-01-021-1/+1
* Place CRT debug defines in win32wrapper.h, so they are defined everywhere. Th...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10917 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-12-271-0/+7
* Patch by dz to remove the one usage of strdup/strtok_r, which is very un-C++ ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10543 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2008-09-141-3/+0
* sql api and m_mysql compile fixes for windows•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10393 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-09-051-0/+2
* Properly give the service specific exit code on failure to start. Now we just...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10240 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-241-0/+2
* work in progress•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10238 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-241-0/+2
* add support for windows service. This now is part of inspircd itself being as...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10193 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-211-0/+3
* properly coreexport the getcpu() function etc•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10184 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-201-9/+9
* WMI calls for getting cpu percentage of current process. This code was a biat...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10179 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-201-0/+5
* fix compile errors under debug profile in windows.•••fix some warnings too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10108 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-08-061-0/+2
* Base stuff for named pipe IPC•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9910 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-06-151-11/+0
* Make FD_SETSIZE larger. We wont ever have this many users via select() on win...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9726 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-05-151-1/+1
* Mapping for mkdir() to _mkdir() for windows•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9473 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-04-121-0/+3
* Why the fuck are standard functions all prefixed with a _ on windows???•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9046 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-02-261-0/+1
* #define _popen popen•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9036 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-02-261-0/+4
* Fix here too, to allow FD_SETSIZE > 64. If this doesnt work it will need to b...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8890 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-02-101-0/+3
* Header update: 2007 -> 2008•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-01-101-1/+1
* Fix here too•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8237 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-201-0/+3
* Remove crashdump stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8192 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-10-141-6/+1
* * Fixed some incorrect declarations in IOCPEngine•••* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix} * Fixed several compilation issues under Win32 * Fixed calls to close() which should've been changed to SE->Close() + Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable. + Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar burlex2007-09-041-0/+10
* Move the close() wrapper out of the win32wrapper.h, and into its new proper p...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7812 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-231-3/+0
* Craquity craq De-craq!•••This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-08-231-6/+0
* * include/caller.h will now compile correctly on Windows platforms.•••+ Implemented gettimeofday in win32 wrapper, link rtt's will now display in milliseconds. * SocketEngine::BoundsCheckFd will now handle Windows event handler cases correctly. (fixing writing to sockets not working) * Fixed VC71 project. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7723 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar burlex2007-08-151-0/+2
* make sure that the pointers are set up correctly for win32•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7600 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-07-271-0/+2