diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index fc5c6e83c192de2629e451fc935020df80780844..9e5f8f9457a264e7c97464cfebdcefa3201297fd 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.5 2003/03/25 16:15:44 petere Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/port/sysv_shmem.c,v 1.6 2003/04/24 21:23:01 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -30,6 +30,10 @@
 #include <kernel/OS.h>
 #endif
 
+#ifdef WIN32
+#include "win32/shmem.h"
+#endif
+
 #include "miscadmin.h"
 #include "storage/ipc.h"
 #include "storage/pg_shmem.h"
diff --git a/src/backend/port/win32/sem.c b/src/backend/port/win32/sema.c
similarity index 99%
rename from src/backend/port/win32/sem.c
rename to src/backend/port/win32/sema.c
index 90296bd7ebd03398673c0ab1a1db53b1fbce89fa..489918fa97a2d87ef353875ac4cf24bd235f1370 100644
--- a/src/backend/port/win32/sem.c
+++ b/src/backend/port/win32/sema.c
@@ -1,6 +1,6 @@
 /*-------------------------------------------------------------------------
  *
- * sem.c
+ * sema.c
  *	  Microsoft Windows Win32 Semaphores Emulation
  *
  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
@@ -10,6 +10,7 @@
 
 #include "postgres.h"
 #include "storage/shmem.h"
+#include "sema.h"
 
 #include <errno.h>
 
diff --git a/src/backend/port/win32/shm.c b/src/backend/port/win32/shmem.c
similarity index 98%
rename from src/backend/port/win32/shm.c
rename to src/backend/port/win32/shmem.c
index 833f13c4cf0e2d96cef35cf75bca478061759138..8e560118506e3fbf865d5892ab35c3ad2afe314f 100644
--- a/src/backend/port/win32/shm.c
+++ b/src/backend/port/win32/shmem.c
@@ -1,6 +1,6 @@
 /*-------------------------------------------------------------------------
  *
- * shm.c
+ * shmem.c
  *	  Microsoft Windows Win32 Shared Memory Emulation
  *
  * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
@@ -9,7 +9,6 @@
  */
 
 #include "postgres.h"
-#include "windows.h"
 
 #include <stdio.h>
 #include <errno.h>
diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index a117be863afe1bc6140ff902b2e92efd4f90a995..ecd79368fb9b2b0602ee85d737fd7ff9f08ead1c 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.7 2003/04/18 01:03:42 momjian Exp $ */
+/* $Header: /cvsroot/pgsql/src/include/port/win32.h,v 1.8 2003/04/24 21:23:01 momjian Exp $ */
 
 #include <port/win32defs.h>
 
@@ -32,6 +32,56 @@
 
 #endif
 
+/*
+ *	IPC defines
+ */
+#define IPC_RMID 256
+#define IPC_CREAT 512
+#define IPC_EXCL 1024
+#define IPC_PRIVATE 234564
+#define IPC_NOWAIT	2048
+#define IPC_STAT 4096
+
+
+/*
+ *	Shared memory
+ */
+struct shmid_ds
+{
+	int		dummy;
+	int		shm_nattch;
+};
+
+int   shmdt(const void *shmaddr);
+void* shmat(int memId, void* shmaddr, int flag);
+int   shmctl(int shmid, int flag, struct shmid_ds * dummy);
+int   shmget(int memKey, int size, int flag);
+
+
+/*
+ *	Semaphores
+ */
+union semun
+{
+	int 		val;
+	struct semid_ds *buf;
+	unsigned short *array;
+};
+
+struct sembuf
+{
+	int 		sem_flg;
+	int 		sem_op;
+	int 		sem_num;
+};
+
+int	  semctl(int semId, int semNum, int flag, union semun);
+int	  semget(int semKey, int semNum, int flags);
+int	  semop(int semId, struct sembuf * sops, int flag);
+
+
+/* FROM SRA */
+
 /*
  * Supplement to <sys/types.h>.
  */