]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/inspircd_win32wrapper.h
win: change ssize_t typedef to SSIZE_T
[user/henk/code/inspircd.git] / win / inspircd_win32wrapper.h
index 2218d930063d0d42aa40620a5f58679e511905b3..8cf9361b77f8b1b915085873408e6e6a14035ac2 100644 (file)
@@ -58,6 +58,7 @@
 
 /* Disable the deprecation warnings.. it spams :P */
 #define _CRT_SECURE_NO_DEPRECATE
+#define _WINSOCK_DEPRECATED_NO_WARNINGS
 
 /* Normal windows (platform-specific) includes */
 #include <winsock2.h>
 #define strcasecmp _stricmp
 #define strncasecmp _strnicmp
 
-typedef int ssize_t;
-
-/* Convert formatted (xxx.xxx.xxx.xxx) string to in_addr struct */
-CoreExport int insp_inet_pton(int af, const char * src, void * dst);
-
-/* Convert struct to formatted (xxx.xxx.xxx.xxx) string */
-CoreExport const char * insp_inet_ntop(int af, const void * src, char * dst, socklen_t cnt);
-
-/* inet_pton/ntop require at least NT 6.0 */
-#define inet_pton insp_inet_pton
-#define inet_ntop insp_inet_ntop
-
-/* Safe printf functions aren't defined in VC++ */
-#define snprintf _snprintf
-#define vsnprintf _vsnprintf
-
-#ifndef va_copy
-#define va_copy(dest, src) (dest = src)
-#endif
-
-/* Unix-style sleep (argument is in seconds) */
-__inline void sleep(int seconds) { Sleep(seconds * 1000); }
+typedef SSIZE_T ssize_t;
 
 /* _popen, _pclose */
 #define popen _popen
 #define pclose _pclose
 
-/* _access */
-#define access _access
-
-/* IPV4 only convert string to address struct */
-__inline int inet_aton(const char *cp, struct in_addr *addr)
-{
-       addr->s_addr = inet_addr(cp);
-       return (addr->s_addr == INADDR_NONE) ? 0 : 1;
-};
-
 /* getopt() wrapper */
 #define no_argument            0
 #define required_argument      1
@@ -149,12 +119,6 @@ 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);
@@ -189,12 +153,6 @@ CoreExport void closedir(DIR * handle);
 // warning C4706: assignment within conditional expression
 #pragma warning(disable:4706)
 
-// warning C4355: 'this' : used in base member initializer list
-// This warning is disabled by default since VC2012
-#if _MSC_VER < 1700
-#pragma warning(disable:4355)
-#endif
-
 /* Shared memory allocation functions */
 void * ::operator new(size_t iSize);
 void ::operator delete(void * ptr);
@@ -240,3 +198,11 @@ inline ssize_t writev(int fd, const WindowsIOVec* iov, int count)
                return sent;
        return -1;
 }
+
+// This wrapper is just so we don't need to do #ifdef _WIN32 everywhere in the socket code. It is
+// not actually used and does not need to be the same size as sockaddr_un on UNIX systems.
+struct sockaddr_un
+{
+       ADDRESS_FAMILY sun_family;
+       char sun_path[6];
+};