diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index 98a93224f6992aad2369cb691095fbb6b8e4bc1c..9049fb4327f832d2c1478f8ce5f769bd33f0f47b 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.41 2004/12/01 23:42:26 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.42 2004/12/26 19:20:33 tgl Exp $ */
 
 /* undefine and redefine after #include */
 #undef mkdir
@@ -7,6 +7,9 @@
 #include <windows.h>
 #include <winsock.h>
 #include <process.h>
+#include <signal.h>
+#include <errno.h>
+
 #undef near
 
 /* Must be here to avoid conflicting with prototype in windows.h */
@@ -103,16 +106,15 @@ int			semget(int semKey, int semNum, int flags);
 int			semop(int semId, struct sembuf * sops, int flag);
 
 
-/* In backend/port/win32/signal.c */
-extern DLLIMPORT HANDLE pgwin32_signal_event;
-extern HANDLE pgwin32_initial_signal_pipe;
-
-void		pgwin32_signal_initialize(void);
-HANDLE		pgwin32_create_signal_listener(pid_t pid);
-void		pgwin32_dispatch_queued_signals(void);
-void		pg_queue_signal(int signum);
+/*
+ * Signal stuff
+ */
+#define WEXITSTATUS(w)	(((w) >> 8) & 0xff)
+#define WIFEXITED(w)	(((w) & 0xff) == 0)
+#define WIFSIGNALED(w)	(((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
+#define WTERMSIG(w)		((w) & 0x7f)
 
-#define sigmask(sig) ( 1 << (sig-1) )
+#define sigmask(sig) ( 1 << ((sig)-1) )
 
 /* Signal function return values */
 #undef SIG_DFL
@@ -122,44 +124,6 @@ void		pg_queue_signal(int signum);
 #define SIG_ERR ((pqsigfunc)-1)
 #define SIG_IGN ((pqsigfunc)1)
 
-#ifndef FRONTEND
-#define pg_usleep(t) pgwin32_backend_usleep(t)
-void		pgwin32_backend_usleep(long microsec);
-#endif
-
-/* In backend/port/win32/socket.c */
-#ifndef FRONTEND
-#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
-#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen)
-#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
-#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout)
-#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags)
-#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags)
-
-SOCKET		pgwin32_socket(int af, int type, int protocol);
-SOCKET		pgwin32_accept(SOCKET s, struct sockaddr * addr, int *addrlen);
-int			pgwin32_connect(SOCKET s, const struct sockaddr * name, int namelen);
-int			pgwin32_select(int nfds, fd_set *readfs, fd_set *writefds, fd_set *exceptfds, const struct timeval * timeout);
-int			pgwin32_recv(SOCKET s, char *buf, int len, int flags);
-int			pgwin32_send(SOCKET s, char *buf, int len, int flags);
-
-const char *pgwin32_socket_strerror(int err);
-int pgwin32_waitforsinglesocket(SOCKET s, int what);
-
-/* in backend/port/win32/security.c */
-extern int	pgwin32_is_admin(void);
-extern int	pgwin32_is_service(void);
-#endif
-
-/* in backend/port/win32/error.c */
-void		_dosmaperr(unsigned long);
-
-
-#define WEXITSTATUS(w)	(((w) >> 8) & 0xff)
-#define WIFEXITED(w)	(((w) & 0xff) == 0)
-#define WIFSIGNALED(w)	(((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
-#define WTERMSIG(w)		((w) & 0x7f)
-
 /* Some extra signals */
 #define SIGHUP				1
 #define SIGQUIT				3
@@ -222,7 +186,6 @@ typedef int pid_t;
 /*
  * Supplement to <errno.h>.
  */
-#include <errno.h>
 #undef EAGAIN
 #undef EINTR
 #define EINTR WSAEINTR
@@ -237,3 +200,45 @@ typedef int pid_t;
 #define ECONNREFUSED WSAECONNREFUSED
 #define EBADFD WSAENOTSOCK
 #define EOPNOTSUPP WSAEOPNOTSUPP
+
+
+/* In backend/port/win32/signal.c */
+extern DLLIMPORT HANDLE pgwin32_signal_event;
+extern HANDLE pgwin32_initial_signal_pipe;
+
+void		pgwin32_signal_initialize(void);
+HANDLE		pgwin32_create_signal_listener(pid_t pid);
+void		pgwin32_dispatch_queued_signals(void);
+void		pg_queue_signal(int signum);
+
+#ifndef FRONTEND
+#define pg_usleep(t) pgwin32_backend_usleep(t)
+void		pgwin32_backend_usleep(long microsec);
+#endif
+
+/* In backend/port/win32/socket.c */
+#ifndef FRONTEND
+#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
+#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen)
+#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
+#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout)
+#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags)
+#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags)
+
+SOCKET		pgwin32_socket(int af, int type, int protocol);
+SOCKET		pgwin32_accept(SOCKET s, struct sockaddr * addr, int *addrlen);
+int			pgwin32_connect(SOCKET s, const struct sockaddr * name, int namelen);
+int			pgwin32_select(int nfds, fd_set *readfs, fd_set *writefds, fd_set *exceptfds, const struct timeval * timeout);
+int			pgwin32_recv(SOCKET s, char *buf, int len, int flags);
+int			pgwin32_send(SOCKET s, char *buf, int len, int flags);
+
+const char *pgwin32_socket_strerror(int err);
+int pgwin32_waitforsinglesocket(SOCKET s, int what);
+
+/* in backend/port/win32/security.c */
+extern int	pgwin32_is_admin(void);
+extern int	pgwin32_is_service(void);
+#endif
+
+/* in backend/port/win32/error.c */
+extern void _dosmaperr(unsigned long);