Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill the useless win32/config.h
[simgrid.git] / src / portable.h
index 6da7550..5aca544 100644 (file)
@@ -1,7 +1,7 @@
 /* portable -- header loading to write portable code                         */
 /* loads much more stuff than sysdep.h since the latter is in public interface*/
 
-/* Copyright (c) 2004-2010, 2012-2014. The SimGrid Team.
+/* Copyright (c) 2004-2010, 2012-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 
 #include "internal_config.h"
 #include "xbt/misc.h"
-/* 
- * win32 or win64 (__XBT_WIN32 is defined for win32 and win64 applications, __TOS_WIN__ is defined by xlC).
-*/
 #ifdef _XBT_WIN32
-# include "win32/config.h"
 # include <windows.h>
 #endif
 
 
 #include <fcntl.h>
 
+#ifdef _XBT_WIN32
+  #ifndef EWOULDBLOCK
+  #define EWOULDBLOCK WSAEWOULDBLOCK
+  #endif
+
+  #ifndef EINPROGRESS
+  #define EINPROGRESS WSAEINPROGRESS
+  #endif
+
+  #ifndef ETIMEDOUT
+  #define ETIMEDOUT   WSAETIMEDOUT
+  #endif
+
+  #ifdef S_IRGRP
+    #undef S_IRGRP
+  #endif
+  #define S_IRGRP 0
+
+  #ifdef S_IWGRP
+    #undef S_IWGRP
+  #endif
+  #define S_IWGRP 0
+#endif
+
 #ifdef HAVE_SYS_STAT_H
 #  include <sys/stat.h>
 #endif
@@ -99,8 +119,8 @@ extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt,
 
 /* prototype of GNU functions  */
 #if (defined(__GNUC__) && !defined(__cplusplus))
-extern int asprintf(char **ptr, const char *fmt, /*args */ ...);
-extern int vasprintf(char **ptr, const char *fmt, va_list ap);
+XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */ ...);
+XBT_PUBLIC(int) vasprintf(char **ptr, const char *fmt, va_list ap);
 #endif
 
 extern int asnprintf(char **ptr, size_t str_m, const char *fmt, /*args */
@@ -108,17 +128,6 @@ extern int asnprintf(char **ptr, size_t str_m, const char *fmt, /*args */
 extern int vasnprintf(char **ptr, size_t str_m, const char *fmt,
                       va_list ap);
 
-/*
- * That's needed to protect solaris's printf from ever seing NULL associated to a %s format
- * (without adding an extra check on working platforms :)
- */
-
-#ifdef PRINTF_NULL_WORKING
-#  define PRINTF_STR(a) (a)
-#else
-#  define PRINTF_STR(a) (a)?:"(null)"
-#endif
-
 /*
  * What we need to extract the backtrace in exception handling code
  */