1 /* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.17 2004/02/08 22:28:57 neilc Exp $ */
3 /* undefine and redefine after #include */
11 /* Must be here to avoid conflicting with prototype in windows.h */
12 #define mkdir(a,b) mkdir(a)
18 /* defines for dynamic linking on Win32 platform */
19 #if defined(__CYGWIN__) || defined(__MINGW32__)
21 #if __GNUC__ && ! defined (__declspec)
22 #error You need egcs 1.1 or newer for compiling!
26 #define DLLIMPORT __declspec (dllexport)
27 #else /* not BUILDING_DLL */
28 #define DLLIMPORT __declspec (dllimport)
31 #elif defined(WIN32) && defined(_MSC_VER) /* not CYGWIN or MingW */
34 #define DLLIMPORT __declspec (dllexport)
36 #define DLLIMPORT __declspec (dllimport)
39 #else /* not CYGWIN, not MSVC, not MingW */
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)
106 /* In libpq/pqsignal.c */
107 #define kill(pid,sig) pqkill(pid,sig)
108 int pqkill(int pid, int sig);
111 /* Some extra signals */
115 #define SIGABRT 22 /* Set to match W32 value -- not UNIX
124 #define SIGTTOU 22 /* Same as SIGABRT -- no problem, I hope */
131 int tz_minuteswest; /* Minutes west of GMT. */
132 int tz_dsttime; /* Nonzero if DST is ever in effect. */
138 * Supplement to <sys/types.h>.
142 #define pid_t unsigned long
146 #define ushort unsigned short
149 * Supplement to <sys/stat.h>.
153 #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
154 #define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
156 #define S_IRUSR _S_IREAD
157 #define S_IWUSR _S_IWRITE
158 #define S_IXUSR _S_IEXEC
159 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
162 * Supplement to <errno.h>.
167 #define EINTR WSAEINTR
168 #define EAGAIN WSAEWOULDBLOCK
169 #define EMSGSIZE WSAEMSGSIZE
170 #define EAFNOSUPPORT WSAEAFNOSUPPORT
171 #define EWOULDBLOCK WSAEWOULDBLOCK
172 #define ECONNRESET WSAECONNRESET
173 #define EINPROGRESS WSAEINPROGRESS