123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #ifndef NIXIO_MINGW_COMPAT_H_
- #define NIXIO_MINGW_COMPAT_H_
- #include <winsock2.h>
- #include <ws2tcpip.h>
- #include <io.h>
- #include <process.h>
- #include <stdint.h>
- #include <sys/stat.h>
- #include <errno.h>
- typedef unsigned int uint;
- typedef unsigned long ulong;
- #define S_ISLNK(m) 0
- #define S_ISSOCK(m) 0
- #define EWOULDBLOCK WSAEWOULDBLOCK
- #define EAFNOSUPPORT WSAEAFNOSUPPORT
- #define ENOPROTOOPT WSAENOPROTOOPT
- #define SHUT_RD SD_RECEIVE
- #define SHUT_WR SD_SEND
- #define SHUT_RDWR SD_BOTH
- #define pipe(fds) _pipe(fds, 65536, 0)
- #define fsync _commit
- #define lseek lseek64
- #define stat _stati64
- #define lstat _stati64
- #define fstat _fstati64
- #define F_LOCK 1
- #define F_ULOCK 0
- #define F_TLOCK 2
- #define F_TEST 3
- int nixio__mgw_lockf(int fd, int cmd, off_t len);
- #define lockf nixio__mgw_lockf
- const char* nixio__mgw_inet_ntop
- (int af, const void *src, char *dst, socklen_t size);
- #define inet_ntop nixio__mgw_inet_ntop
- int nixio__mgw_inet_pton (int af, const char *src, void *dst);
- #define inet_pton nixio__mgw_inet_pton
- #ifndef POLLIN
- #define POLLIN 0x001
- #define POLLOUT 0x004
- #define POLLERR 0x008
- struct pollfd {
- int fd;
- short events;
- short revents;
- };
- #endif
- typedef int nfds_t;
- int nixio__mgw_poll(struct pollfd *fds, nfds_t nfds, int timeout);
- #define poll nixio__mgw_poll
- struct timespec {
- time_t tv_sec;
- long tv_nsec;
- };
- int nixio__mgw_nanosleep(const struct timespec *req, struct timespec *rem);
- #define nanosleep nixio__mgw_nanosleep
- char* nixio__mgw_realpath(const char *path, char *resolved);
- #define realpath nixio__mgw_realpath
- int nixio__mgw_link(const char *oldpath, const char *newpath);
- #define link nixio__mgw_link
- int nixio__mgw_utimes(const char *filename, const struct timeval times[2]);
- #define utimes nixio__mgw_utimes
- #define setenv(k, v, o) !SetEnvironmentVariable(k, v)
- #define unsetenv(k) !SetEnvironmentVariable(k, NULL)
- #define execv(p, a) execv(p, (const char* const*)a)
- #define execvp(p, a) execvp(p, (const char* const*)a)
- #define execve(p, a, e) execve(p, (const char* const*)a, (const char* const*)e)
- #define mkdir(p, m) mkdir(p)
- #define nixio__perror_s(L) \
- errno = WSAGetLastError(); \
- return nixio__perror(L);
- #define nixio__pstatus_s(L, c) \
- errno = WSAGetLastError(); \
- return nixio__pstatus(L, c);
- #define NIXIO_WSA_CONSTANT(x) \
- lua_pushinteger(L, x); \
- lua_setfield(L, -2, #x+3);
- void nixio_open__mingw(lua_State *L);
- #endif /* NIXIO_MINGW_COMPAT_H_ */
|