19 #ifndef OMPI_WIN_COMPAT_H
20 #define OMPI_WIN_COMPAT_H
25 #define _CRT_SECURE_NO_DEPRECATE
32 #define _WIN32_WINNT 0x0502
39 #define S_IFLNK 0xFFFF
40 #define S_IXUSR _S_IEXEC
41 #define S_IRUSR _S_IREAD
42 #define S_IWUSR _S_IWRITE
53 #ifndef WIN32_LEAN_AND_MEAN
54 #define WIN32_LEAN_AND_MEAN
64 #define FD_SETSIZE 1024
89 #define STDIN_FILENO 0
90 #define STDOUT_FILENO 1
91 #define STDERR_FILENO 2
92 typedef unsigned short mode_t;
94 typedef DWORD in_port_t;
95 typedef char* caddr_t;
96 typedef unsigned int uint;
99 #if defined(OMPI_BUILDING) && OMPI_BUILDING
100 #include "opal/win32/ompi_uio.h"
101 #include "opal/win32/ompi_time.h"
102 #include "opal/win32/ompi_utsname.h"
103 #include "opal/win32/ompi_util.h"
104 #include "opal/win32/ompi_misc.h"
105 #include "opal/win32/ompi_inet.h"
106 #include "opal/win32/ompi_socket.h"
114 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
123 #define getpid _getpid
124 #define strdup _strdup
125 #define putenv _putenv
126 #define getcwd _getcwd
130 #define access _access
133 #define unlink _unlink
138 #define fileno _fileno
139 #define isatty _isatty
140 #define execvp _execvp
141 #define S_ISDIR(STAT_MODE) ((STAT_MODE) & _S_IFDIR)
142 #define S_ISREG(STAT_MODE) ((STAT_MODE) & _S_IFREG)
143 #define strncasecmp _strnicmp
144 #define strcasecmp _stricmp
148 #define strtok_r strtok_s
149 #define srand48 srand
151 #define usleep(t) Sleep(t/1000)
152 #define posix_memalign(p, a, s) *p=_aligned_malloc(s,a)
159 #define pthread_atfork
161 #if defined(OMPI_BUILDING) && OMPI_BUILDING
162 #include "opal/win32/ompi_uio.h"
163 #include "opal/win32/ompi_utsname.h"
164 #include "opal/win32/ompi_util.h"
165 #include "opal/win32/ompi_inet.h"
166 #include "opal/win32/ompi_misc.h"
167 #include "opal/win32/ompi_socket.h"
170 #define strtok_r(s,d,p) *p = strtok(s,d)
174 #define MAXPATHLEN _MAX_PATH
175 #define MAXHOSTNAMELEN _MAX_PATH
176 #define PATH_MAX _MAX_PATH
177 #define WTERMSIG(EXIT_CODE) (1)
178 #define WIFEXITED(EXIT_CODE) (1)
179 #define WEXITSTATUS(EXIT_CODE) (EXIT_CODE)
180 #define WIFSIGNALED(EXIT_CODE) (0)
181 #define WIFSTOPPED(EXIT_CODE) (0)
182 #define WSTOPSIG(EXIT_CODE) (11)
184 #define mkdir(PATH, MODE) _mkdir((PATH))
185 #define nanosleep(tp, rem) Sleep(*tp.tv_sec*1000+*tp.tv_nsec/1000000)
186 #define pipe(array_fd) _pipe(array_fd, 1024, O_BINARY )
187 #define inet_ntop ompi_inet_ntop
188 #define inet_pton ompi_inet_pton
192 #define UINT64_MAX 0xffffffffffffffffULL
198 #define INT64_MAX 0x7fffffffffffffffLL
201 #define INT64_MIN (-0x7fffffffffffffffLL - 1)
204 #define UINT32_MAX 0xffffffff
210 #define INT32_MAX 0x7fffffff
213 #define INT32_MIN (-0x7fffffff - 1)
216 #define UINT16_MAX 0xffff
222 #define INT16_MAX 0x7fff
225 #define INT16_MIN (-0x7fff - 1)
228 #define UINT8_MAX 0xff
234 #define INT8_MAX 0x7f
237 #define INT8_MIN (-0x7f - 1)
241 #if !defined(HAVE_DECL___FUNC__)
242 #define HAVE_DECL___FUNC__ 1
296 #define in_addr_t uint32_t
301 #if defined(_MSC_VER) && _MSC_VER < 1600
315 #define LOG_WARNING 4
324 #define bzero(p, l) memset(p, 0, l)
325 #define bcopy(s, t, l) memmove(t, s, l)
330 #define ompi_debugger_notify_abort(x)
331 #define ompi_wait_for_debugger(x)