mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
client utilities (libpq.dll and psql.exe) for win32 (missing defines, adjustments to includes, pedantic casting, non-existent functions) per: http://developer.postgresql.org/docs/postgres/install-win32.html. It compiles cleanly under Windows 2000 using Visual Studio .net. Also compiles clean and passes all regression tests (regular and contrib) under Linux. In addition to a review by the usual suspects, it would be very desirable for someone well versed in the peculiarities of win32 to take a look. Joe Conway
41 lines
865 B
C
41 lines
865 B
C
#ifndef __win32_h_included
|
|
#define __win32_h_included
|
|
|
|
/*
|
|
* strcasecmp() is not in Windows, stricmp is, though
|
|
*/
|
|
#define strcasecmp(a,b) stricmp(a,b)
|
|
#define strncasecmp(a,b,c) _strnicmp(a,b,c)
|
|
|
|
/*
|
|
* Some other compat functions
|
|
*/
|
|
#define open(a,b,c) _open(a,b,c)
|
|
#define close(a) _close(a)
|
|
#define read(a,b,c) _read(a,b,c)
|
|
#define write(a,b,c) _write(a,b,c)
|
|
#define popen(a,b) _popen(a,b)
|
|
#define pclose(a) _pclose(a)
|
|
#define vsnprintf(a,b,c,d) _vsnprintf(a,b,c,d)
|
|
#define snprintf _snprintf
|
|
|
|
/*
|
|
* crypt not available (yet)
|
|
*/
|
|
#define crypt(a,b) ((char *) a)
|
|
|
|
#undef EAGAIN /* doesn't apply on sockets */
|
|
#undef EINTR
|
|
#define EINTR WSAEINTR
|
|
#define EWOULDBLOCK WSAEWOULDBLOCK
|
|
#define ECONNRESET WSAECONNRESET
|
|
#define EINPROGRESS WSAEINPROGRESS
|
|
|
|
/*
|
|
* support for handling Windows Socket errors
|
|
*/
|
|
extern const char *winsock_strerror(int eno);
|
|
|
|
|
|
#endif
|