1 /* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.10 2003/05/15 16:35:29 momjian Exp $ */
3 /* undefine and redefine after #include */
10 /* Must be here to avoid conflicting with prototype in windows.h */
11 #define mkdir(a,b) mkdir(a)
17 /* defines for dynamic linking on Win32 platform */
20 #if __GNUC__ && ! defined (__declspec)
21 #error You need egcs 1.1 or newer for compiling!
25 #define DLLIMPORT __declspec (dllexport)
26 #else /* not BUILDING_DLL */
27 #define DLLIMPORT __declspec (dllimport)
30 #elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN */
33 #define DLLIMPORT __declspec (dllexport)
35 #define DLLIMPORT __declspec (dllimport)
38 #else /* not CYGWIN, not MSVC */
47 #undef HAVE_UNION_SEMUN
48 #define HAVE_UNION_SEMUN 1
53 #define IPC_PRIVATE 234564
54 #define IPC_NOWAIT 2048
75 int shmdt(const void *shmaddr);
76 void* shmat(int memId, void* shmaddr, int flag);
77 int shmctl(int shmid, int flag, struct shmid_ds * dummy);
78 int shmget(int memKey, int size, int flag);
88 unsigned short *array;
98 int semctl(int semId, int semNum, int flag, union semun);
99 int semget(int semKey, int semNum, int flags);
100 int semop(int semId, struct sembuf * sops, int flag);
102 #define sleep(sec) (Sleep(sec * 1000), /* no return value */ 0)
104 /* Some extra signals */
108 #define SIGABRT 22 /* Set to match W32 value -- not UNIX value */
116 #define SIGTTOU 22 /* Same as SIGABRT -- no problem, I hope */
123 int tz_minuteswest; /* Minutes west of GMT. */
124 int tz_dsttime; /* Nonzero if DST is ever in effect. */
130 * Supplement to <sys/types.h>.
134 #define pid_t unsigned long
138 #define ushort unsigned short
141 * Supplement to <sys/stat.h>.
145 #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
146 #define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
148 #define S_IRUSR _S_IREAD
149 #define S_IWUSR _S_IWRITE
150 #define S_IXUSR _S_IEXEC
151 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
154 * Supplement to <errno.h>.
159 #define EINTR WSAEINTR
160 #define EAGAIN WSAEWOULDBLOCK
161 #define EMSGSIZE WSAEMSGSIZE
162 #define EAFNOSUPPORT WSAEAFNOSUPPORT
163 #define EWOULDBLOCK WSAEWOULDBLOCK
164 #define ECONNRESET WSAECONNRESET
165 #define EINPROGRESS WSAEINPROGRESS
168 * Supplement to <math.h>.
171 #define finite _finite
172 extern double rint(double x);
175 * Supplement to <stdio.h>.
177 #define snprintf _snprintf
178 #define vsnprintf _vsnprintf