diff src/mem-limits.h @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents de805c49cfc1
children
line wrap: on
line diff
--- a/src/mem-limits.h	Mon Aug 13 11:19:22 2007 +0200
+++ b/src/mem-limits.h	Mon Aug 13 11:20:41 2007 +0200
@@ -27,8 +27,8 @@
    getrlimit() should be preferred to ulimit().
    On Linux, ulimit() is deprecated and always returns -1. */
 
-#ifndef INCLUDED_mem_limits_h_
-#define INCLUDED_mem_limits_h_
+#ifndef _XEMACS_MEM_LIMITS_H_
+#define _XEMACS_MEM_LIMITS_H_
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -38,6 +38,10 @@
 #include <ulimit.h>
 #endif
 
+#ifdef MSDOS
+#include <dpmi.h>
+#endif
+
 /* Some systems need this before <sys/resource.h>.  */
 #include <sys/types.h>
 
@@ -66,14 +70,16 @@
 
 #ifndef BSD4_2
 #ifndef USG
-#ifndef WIN32_NATIVE
-#ifndef CYGWIN
+#ifndef MSDOS
+#ifndef WINDOWSNT
+#ifndef __CYGWIN32__
 #if defined(__linux__) && defined(powerpc)	/*Added Kaoru Fukui*/
 #else						/*Added Kaoru Fukui*/
 #include <sys/vlimit.h>
 #endif				/*Added by Fukui*/
-#endif /* not CYGWIN */
-#endif /* not WIN32_NATIVE */
+#endif /* not __CYGWIN32__ */
+#endif /* not WINDOWSNT */
+#endif /* not MSDOS */
 #endif /* not USG */
 #else /* if BSD4_2 */
 #include <sys/time.h>
@@ -90,7 +96,7 @@
 typedef char *POINTER;
 #endif
 
-#ifndef CYGWIN
+#ifndef __CYGWIN32__
 typedef unsigned long SIZE;
 #endif
 
@@ -98,9 +104,11 @@
 #define EXCEEDS_LISP_PTR(ptr) 0
 
 #ifdef BSD
+#ifndef DATA_SEG_BITS
 extern int etext;
 #define start_of_data() &etext
 #endif
+#endif
 
 #else  /* not emacs */
 extern char etext;
@@ -117,7 +125,7 @@
 /* Number of bytes of writable memory we can expect to be able to get */
 extern unsigned int lim_data;
 
-#if defined (HEAP_IN_DATA) && !defined(PDUMP)
+#ifdef HEAP_IN_DATA
 extern unsigned long static_heap_size;
 extern int initialized;
 static void
@@ -163,7 +171,7 @@
 }
 
 #else /* not USG */
-#if defined( WIN32_NATIVE )
+#if defined( WINDOWSNT )
 
 static void
 get_lim_data (void)
@@ -175,11 +183,22 @@
 #else
 #if !defined (BSD4_2) && !defined (__osf__)
 
+#ifdef MSDOS
+void
+get_lim_data (void)
+{
+  _go32_dpmi_meminfo info;
+
+  _go32_dpmi_get_free_memory_information (&info);
+  lim_data = info.available_memory;
+}
+#else /* not MSDOS */
 static void
 get_lim_data (void)
 {
   lim_data = vlimit (LIM_DATA, -1);
 }
+#endif /* not MSDOS */
 
 #else /* BSD4_2 */
 
@@ -196,9 +215,9 @@
 #endif
 }
 #endif /* BSD4_2 */
-#endif /* not WIN32_NATIVE */
+#endif /* not WINDOWSNT */
 #endif /* not USG */
 #endif /* not NO_LIM_DATA */
 #endif /* not HEAP_IN_DATA */
 
-#endif /* INCLUDED_mem_limits_h_ */
+#endif /* _XEMACS_MEM_LIMITS_H_ */