16 #ifndef PG_WIN32_PORT_H 17 #define PG_WIN32_PORT_H 35 #define _WINSOCK_DEPRECATED_NO_WARNINGS 42 #if !defined(__MINGW64_VERSION_MAJOR) || defined(_MSC_VER) 56 #define fstat microsoft_native_fstat 57 #define stat microsoft_native_stat 63 #define mkdir(a,b) mkdir(a) 65 #define ftruncate(a,b) chsize(a,b) 68 #define fsync(fd) _commit(fd) 75 #define HAVE_FSYNC_WRITETHROUGH 76 #define FSYNC_WRITETHROUGH_IS_FSYNC 83 #undef HAVE_UNION_SEMUN 84 #define HAVE_UNION_SEMUN 1 89 #define IPC_PRIVATE 234564 90 #define IPC_NOWAIT 2048 101 #define SETVAL 131072 102 #define GETPID 262144 143 #define WIFEXITED(w) (((w) & 0XFFFFFF00) == 0) 144 #define WIFSIGNALED(w) (!WIFEXITED(w)) 145 #define WEXITSTATUS(w) (w) 146 #define WTERMSIG(w) (w) 148 #define sigmask(sig) ( 1 << ((sig)-1) ) 154 #define SIG_DFL ((pqsigfunc)0) 155 #define SIG_ERR ((pqsigfunc)-1) 156 #define SIG_IGN ((pqsigfunc)1) 178 #ifndef HAVE_GETTIMEOFDAY 187 #define ITIMER_REAL 0 190 struct timeval it_interval;
191 struct timeval it_value;
200 #define pgoff_t __int64 203 #define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin) 204 #define ftello(stream) _ftelli64(stream) 207 #define fseeko(stream, offset, origin) fseeko64(stream, offset, origin) 210 #define ftello(stream) ftello64(stream) 223 extern int pgsymlink(
const char *oldpath,
const char *newpath);
224 extern int pgreadlink(
const char *path,
char *
buf,
size_t size);
227 #define symlink(oldpath, newpath) pgsymlink(oldpath, newpath) 228 #define readlink(path, buf, size) pgreadlink(path, buf, size) 235 #ifndef PLPERL_HAVE_UID_GID 274 #define fstat(fileno, sb) _pgfstat64(fileno, sb) 275 #define stat(path, sb) _pgstat64(path, sb) 276 #define lstat(path, sb) _pgstat64(path, sb) 280 #define S_IRUSR _S_IREAD 283 #define S_IWUSR _S_IWRITE 286 #define S_IXUSR _S_IEXEC 289 #define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) 316 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) 319 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) 328 #define O_DSYNC 0x0080 341 #define EAGAIN WSAEWOULDBLOCK 343 #define EINTR WSAEINTR 345 #define EMSGSIZE WSAEMSGSIZE 347 #define EAFNOSUPPORT WSAEAFNOSUPPORT 349 #define EWOULDBLOCK WSAEWOULDBLOCK 351 #define ECONNABORTED WSAECONNABORTED 353 #define ECONNRESET WSAECONNRESET 355 #define EINPROGRESS WSAEINPROGRESS 357 #define EISCONN WSAEISCONN 359 #define ENOBUFS WSAENOBUFS 360 #undef EPROTONOSUPPORT 361 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT 363 #define ECONNREFUSED WSAECONNREFUSED 365 #define ENOTSOCK WSAENOTSOCK 367 #define EOPNOTSUPP WSAEOPNOTSUPP 369 #define EADDRINUSE WSAEADDRINUSE 371 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL 373 #define EHOSTDOWN WSAEHOSTDOWN 375 #define EHOSTUNREACH WSAEHOSTUNREACH 377 #define ENETDOWN WSAENETDOWN 379 #define ENETRESET WSAENETRESET 381 #define ENETUNREACH WSAENETUNREACH 383 #define ENOTCONN WSAENOTCONN 391 #define locale_t _locale_t 392 #define tolower_l _tolower_l 393 #define toupper_l _toupper_l 394 #define towlower_l _towlower_l 395 #define towupper_l _towupper_l 396 #define isdigit_l _isdigit_l 397 #define iswdigit_l _iswdigit_l 398 #define isalpha_l _isalpha_l 399 #define iswalpha_l _iswalpha_l 400 #define isalnum_l _isalnum_l 401 #define iswalnum_l _iswalnum_l 402 #define isupper_l _isupper_l 403 #define iswupper_l _iswupper_l 404 #define islower_l _islower_l 405 #define iswlower_l _iswlower_l 406 #define isgraph_l _isgraph_l 407 #define iswgraph_l _iswgraph_l 408 #define isprint_l _isprint_l 409 #define iswprint_l _iswprint_l 410 #define ispunct_l _ispunct_l 411 #define iswpunct_l _iswpunct_l 412 #define isspace_l _isspace_l 413 #define iswspace_l _iswspace_l 414 #define strcoll_l _strcoll_l 415 #define strxfrm_l _strxfrm_l 416 #define wcscoll_l _wcscoll_l 417 #define wcstombs_l _wcstombs_l 418 #define mbstowcs_l _mbstowcs_l 426 #if defined(setlocale) 436 #define setlocale(a,b) pgwin32_setlocale(a,b) 445 #define UNBLOCKED_SIGNAL_QUEUE() (pg_signal_queue & ~pg_signal_mask) 446 #define PG_SIGNAL_COUNT 32 454 #define kill(pid,sig) pgkill(pid,sig) 459 #define socket(af, type, protocol) pgwin32_socket(af, type, protocol) 460 #define bind(s, addr, addrlen) pgwin32_bind(s, addr, addrlen) 461 #define listen(s, backlog) pgwin32_listen(s, backlog) 462 #define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen) 463 #define connect(s, name, namelen) pgwin32_connect(s, name, namelen) 464 #define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout) 465 #define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags) 466 #define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags) 469 int pgwin32_bind(SOCKET s,
struct sockaddr *addr,
int addrlen);
471 SOCKET
pgwin32_accept(SOCKET s,
struct sockaddr *addr,
int *addrlen);
473 int pgwin32_select(
int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
const struct timeval *timeout);
496 #define putenv(x) pgwin32_putenv(x) 497 #define setenv(x,y,z) pgwin32_setenv(x,y,z) 498 #define unsetenv(x) pgwin32_unsetenv(x) 511 typedef long ssize_t;
513 typedef __int64 ssize_t;
516 typedef unsigned short mode_t;
523 #define DLSUFFIX ".dll" 527 #if (defined(_MSC_VER) && (_MSC_VER < 1900)) || \ 528 defined(__MINGW32__) || defined(__MINGW64__) 543 #define HAVE_BUGGY_STRTOF 1 int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue)
int pgwin32_setenv(const char *name, const char *value, int overwrite)
HANDLE pgwin32_signal_event
int pgwin32_listen(SOCKET s, int backlog)
int pgwin32_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout)
void pgwin32_install_crashdump_handler(void)
void pgwin32_dispatch_queued_signals(void)
HANDLE pgwin32_initial_signal_pipe
int pgwin32_putenv(const char *)
int _pgstat64(const char *name, struct stat *buf)
void _dosmaperr(unsigned long)
void pg_queue_signal(int signum)
SOCKET pgwin32_socket(int af, int type, int protocol)
BOOL AddUserToTokenDacl(HANDLE hToken)
int pgwin32_unsetenv(const char *name)
int _pgfstat64(int fileno, struct stat *buf)
int pgwin32_ReserveSharedMemoryRegion(HANDLE)
PGDLLIMPORT int pg_signal_mask
int pgwin32_bind(SOCKET s, struct sockaddr *addr, int addrlen)
int pgkill(int pid, int sig)
int pgwin32_is_service(void)
int pgreadlink(const char *path, char *buf, size_t size)
int pgwin32_is_admin(void)
int pgwin32_waitforsinglesocket(SOCKET s, int what, int timeout)
PGDLLIMPORT volatile int pg_signal_queue
int pgwin32_send(SOCKET s, const void *buf, int len, int flags)
int pgwin32_recv(SOCKET s, char *buf, int len, int flags)
void pgwin32_signal_initialize(void)
static void overwrite(PGconn *conn, Oid lobjId, int start, int len)
char * pgwin32_setlocale(int category, const char *locale)
HANDLE pgwin32_create_signal_listener(pid_t pid)
int pgwin32_connect(SOCKET s, const struct sockaddr *name, int namelen)
SOCKET pgwin32_accept(SOCKET s, struct sockaddr *addr, int *addrlen)
bool pgwin32_is_junction(const char *path)
int pgsymlink(const char *oldpath, const char *newpath)