1 /* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.8 2003/04/24 21:23:01 momjian Exp $ */
3 #include <port/win32defs.h>
8 /* defines for dynamic linking on Win32 platform */
11 #if __GNUC__ && ! defined (__declspec)
12 #error You need egcs 1.1 or newer for compiling!
16 #define DLLIMPORT __declspec (dllexport)
17 #else /* not BUILDING_DLL */
18 #define DLLIMPORT __declspec (dllimport)
21 #elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
24 #define DLLIMPORT __declspec (dllexport)
26 #define DLLIMPORT __declspec (dllimport)
29 #else /* not CYGWIN, not MSVC */
41 #define IPC_PRIVATE 234564
42 #define IPC_NOWAIT 2048
55 int shmdt(const void *shmaddr);
56 void* shmat(int memId, void* shmaddr, int flag);
57 int shmctl(int shmid, int flag, struct shmid_ds * dummy);
58 int shmget(int memKey, int size, int flag);
68 unsigned short *array;
78 int semctl(int semId, int semNum, int flag, union semun);
79 int semget(int semKey, int semNum, int flags);
80 int semop(int semId, struct sembuf * sops, int flag);
86 * Supplement to <sys/types.h>.
90 #define pid_t unsigned long
94 #define ushort unsigned short
97 * Supplement to <sys/stat.h>.
101 #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
102 #define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
104 #define S_IRUSR _S_IREAD
105 #define S_IWUSR _S_IWRITE
106 #define S_IXUSR _S_IEXEC
107 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
110 * Supplement to <errno.h>.
115 #define EINTR WSAEINTR
116 #define EAGAIN WSAEWOULDBLOCK
117 #define EMSGSIZE WSAEMSGSIZE
118 #define EAFNOSUPPORT WSAEAFNOSUPPORT
119 #define EWOULDBLOCK WSAEWOULDBLOCK
120 #define ECONNRESET WSAECONNRESET
121 #define EINPROGRESS WSAEINPROGRESS
124 * Supplement to <math.h>.
127 #define finite _finite
128 extern double rint(double x);
131 * Supplement to <stdio.h>.
133 #define snprintf _snprintf
134 #define vsnprintf _vsnprintf