#ifndef COMPAT_H #define COMPAT_H #ifdef _WIN32 #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include #include #include #include #include #else #include #include #include #include #include #include #include #include #endif static inline int socket_err_is_retriable(int err) { #ifdef _WIN32 return err == WSAEWOULDBLOCK || err == WSAEINTR; #else return err == EAGAIN || err == EWOULDBLOCK || err == EINTR; #endif } static inline int compat_getpid(void) { #ifdef _WIN32 return _getpid(); #else return (int)getpid(); #endif } static inline int compat_mkdir(const char *path, int mode) { #ifdef _WIN32 (void)mode; return _mkdir(path); #else return mkdir(path, mode); #endif } #endif