]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.h
Revert "users: LocalUser constructor should call SetClientIP() on itself"
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.h
index 4b9ce80ec7befc667ff950765e822b2496bbad0f..85572fd64fdd6595768b073e8910d82808bf4b3e 100644 (file)
@@ -1,16 +1,24 @@
-/*       +------------------------------------+
- *       | Inspire Internet Relay Chat Daemon |
- *       +------------------------------------+
+/*
+ * 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>
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
+ * 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
+ * License as published by the Free Software Foundation, version 2.
  *
- * This program is free but copyrighted software; see
- *            the file COPYING for details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
  *
- * ---------------------------------------------------
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+
 /* Windows Port
    Wrapper Functions/Definitions
    By Burlex */
@@ -140,6 +148,8 @@ CoreExport const char * insp_inet_ntop(int af, const void * src, char * dst, soc
 /* Since when does the ISO C++ standard *remove* C functions?! */
 #define mkdir(file,mode) _mkdir(file)
 
+#define strncasecmp strnicmp
+
 /* Unix-style sleep (argument is in seconds) */
 __inline void sleep(int seconds) { Sleep(seconds * 1000); }
 
@@ -165,7 +175,7 @@ struct option
 };
 extern int optind;
 extern char optarg[514];
-int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
+int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
 
 /* Module Loading */
 #define dlopen(path, state) (void*)LoadLibrary(path)
@@ -189,11 +199,18 @@ struct DIR
        bool first;
 };
 
+struct timespec
+{
+       time_t tv_sec;
+       long tv_nsec;
+};
+
 CoreExport DIR * opendir(const char * path);
 CoreExport dirent * readdir(DIR * handle);
 CoreExport void closedir(DIR * handle);
 
-CoreExport int gettimeofday(struct timeval * tv, void * tz);
+const int CLOCK_REALTIME = 0;
+CoreExport int clock_gettime(int clock, struct timespec * tv);
 
 /* Disable these stupid warnings.. */
 #pragma warning(disable:4800)
@@ -229,14 +246,7 @@ class ServerConfig;
 /* Look up the nameserver in use from the registry on windows */
 CoreExport std::string FindNameServerWin();
 
-/* no uio.h on win, but win has alternatives in io.h rest is wrapped here */
-#define IOV_MAX 1024
-struct iovec
-{
-       size_t  iov_len;
-       void*   iov_base;
-};
-CoreExport ssize_t writev(int fd, const struct iovec* iov, int iovcnt);
+#define DISABLE_WRITEV
 
 /* Clear a windows console */
 CoreExport void ClearConsole();
@@ -247,11 +257,14 @@ CoreExport void WindowsForkKillOwner();
 
 CoreExport void ChangeWindowsSpecificPointers();
 
-CoreExport bool ValidateWindowsDnsServer(ServerConfig* conf, const char* tag, const char* value, ValueItem &data);
+CoreExport void FindDNS(std::string& server);
 
 CoreExport bool initwmi();
 CoreExport void donewmi();
 CoreExport int getcpu();
+CoreExport int random();
+CoreExport void srandom(unsigned seed);
+CoreExport int gettimeofday(timeval *tv, void *);
 
 #endif