Index: apr.dsp
===================================================================
RCS file: /home/cvspublic/apr/apr.dsp,v
retrieving revision 1.71
diff -u -r1.71 apr.dsp
--- apr.dsp	2001/05/23 14:15:31	1.71
+++ apr.dsp	2001/06/05 21:05:21
@@ -65,7 +65,7 @@
 # PROP Ignore_Export_Lib 0
 # PROP Target_Dir ""
 # ADD BASE CPP /nologo /MDd /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP /nologo /MDd /W3 /GX /ZI /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fd"LibD\apr" /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /ZI /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /FR /Fd"LibD\apr" /FD /c
 # ADD BASE RSC /l 0x409
 # ADD RSC /l 0x409
 BSC32=bscmake.exe
@@ -401,6 +401,22 @@
 # Begin Source File
 
 SOURCE=.\user\win32\userinfo.c
+# End Source File
+# End Group
+# Begin Group "memory"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms_std.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms_tracking.c
 # End Source File
 # End Group
 # End Group
Index: libapr.dsp
===================================================================
RCS file: /home/cvspublic/apr/libapr.dsp,v
retrieving revision 1.30
diff -u -r1.30 libapr.dsp
--- libapr.dsp	2001/05/23 14:15:29	1.30
+++ libapr.dsp	2001/06/05 21:05:21
@@ -409,6 +409,22 @@
 SOURCE=.\user\win32\userinfo.c
 # End Source File
 # End Group
+# Begin Group "memory"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms_std.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_sms_tracking.c
+# End Source File
+# End Group
 # End Group
 # Begin Group "Generated Header Files"
 
Index: include/apr.hw
===================================================================
RCS file: /home/cvspublic/apr/include/apr.hw,v
retrieving revision 1.66
diff -u -r1.66 apr.hw
--- include/apr.hw	2001/05/17 12:19:56	1.66
+++ include/apr.hw	2001/06/05 21:05:35
@@ -235,6 +235,8 @@
 typedef  int         gid_t;
 
 
+typedef struct apr_lock_t        apr_lock_t;
+typedef struct apr_sms_t         apr_sms_t;
 /* Mechanisms to properly type numeric literals */
 
 #define APR_INT64_C(val) (val##i64)
Index: include/arch/win32/apr_private.h
===================================================================
RCS file: /home/cvspublic/apr/include/arch/win32/apr_private.h,v
retrieving revision 1.23
diff -u -r1.23 apr_private.h
--- include/arch/win32/apr_private.h	2001/05/10 18:11:12	1.23
+++ include/arch/win32/apr_private.h	2001/06/05 21:05:39
@@ -149,6 +149,47 @@
 
 unsigned __stdcall SignalHandling(void *);
 int thread_ready(void);
+/* Macros to deal with using either a pool or an sms
+ * to do memory stuff...
+ */
+#define APR_CLEANUP_REGISTER(struct, data, func, scope) \
+    if (struct->pool) { \
+        apr_pool_cleanup_register(struct->pool, data, func, scope); \
+    } else { \
+        apr_sms_cleanup_register(struct->mem_sys, APR_CHILD_CLEANUP, \
+                                 data, func); \
+    }
+
+#define APR_CLEANUP_REMOVE(struct, data, func) \
+    if (struct->pool) { \
+        apr_pool_cleanup_kill(struct->pool, data, func); \
+    } else { \
+        apr_sms_cleanup_unregister(struct->mem_sys, APR_CHILD_CLEANUP, \
+                                   data, func); \
+    }
+
+#define APR_MEM_PSTRDUP(struct, ptr, str) \
+    if (struct->pool) { \
+        ptr = apr_pstrdup(struct->pool, str); \
+    } else { \
+        size_t len = strlen(str) + 1; \
+        ptr = (char*) apr_sms_calloc(struct->mem_sys, len); \
+        memcpy(ptr, str, len); \
+    }
+
+#define APR_MEM_MALLOC(ptr, struct, type) \
+    if (struct->pool) { \
+        ptr = (type *)apr_palloc(struct->pool, sizeof(type)); \
+    } else { \
+        ptr = (type *)apr_sms_malloc(struct->mem_sys, sizeof(type)); \
+    }
+
+#define APR_MEM_CALLOC(ptr, struct, type) \
+    if (struct->pool) { \
+        ptr = (type *)apr_pcalloc(struct->pool, sizeof(type)); \
+    } else { \
+        ptr = (type *)apr_sms_calloc(struct->mem_sys, sizeof(type)); \
+    }
 
 #endif  /*APR_PRIVATE_H*/
 #endif  /*WIN32*/
Index: include/arch/win32/locks.h
===================================================================
RCS file: /home/cvspublic/apr/include/arch/win32/locks.h,v
retrieving revision 1.10
diff -u -r1.10 locks.h
--- include/arch/win32/locks.h	2001/06/05 13:22:23	1.10
+++ include/arch/win32/locks.h	2001/06/05 21:05:39
@@ -68,7 +68,7 @@
     char *fname;
 };
 
-apr_status_t apr_lock_sms_create(apr_lock_t **lock, apr_locktype_e type,
+APR_DECLARE(apr_status_t) apr_lock_sms_create(apr_lock_t **lock, apr_locktype_e type,
                                  apr_lockscope_e scope, const char *fname,
                                  apr_sms_t *mem_sys);
 
Index: locks/win32/locks.c
===================================================================
RCS file: /home/cvspublic/apr/locks/win32/locks.c,v
retrieving revision 1.40
diff -u -r1.40 locks.c
--- locks/win32/locks.c	2001/06/05 13:22:50	1.40
+++ locks/win32/locks.c	2001/06/05 21:05:43
@@ -51,7 +51,8 @@
  * information on the Apache Software Foundation, please see
  * <http://www.apache.org/>.
  */
-
+#include "apr.h"
+#include "apr_private.h"
 #include "apr_general.h"
 #include "apr_strings.h"
 #include "win32/locks.h"
