update.
[chise/xemacs-chise.git.1] / src / mem-limits.h
index 8dd2c49..1798f0e 100644 (file)
@@ -27,8 +27,8 @@ Boston, MA 02111-1307, USA.  */
    getrlimit() should be preferred to ulimit().
    On Linux, ulimit() is deprecated and always returns -1. */
 
-#ifndef _XEMACS_MEM_LIMITS_H_
-#define _XEMACS_MEM_LIMITS_H_
+#ifndef INCLUDED_mem_limits_h_
+#define INCLUDED_mem_limits_h_
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -38,10 +38,6 @@ Boston, MA 02111-1307, USA.  */
 #include <ulimit.h>
 #endif
 
-#ifdef MSDOS
-#include <dpmi.h>
-#endif
-
 /* Some systems need this before <sys/resource.h>.  */
 #include <sys/types.h>
 
@@ -62,24 +58,16 @@ extern int etext, __data_start; weak_symbol (__data_start)
 #endif
 
 #if defined(__bsdi__) || defined(__NetBSD__) || defined(__linux__) || defined(__OpenBSD__)
-#if defined(__linux__) && defined (powerpc)    /*Added by Fukui*/
-#else                                  /*Added by Fukui*/
 #define BSD4_2
-#endif                                 /*Added by Fukui*/
 #endif
 
 #ifndef BSD4_2
 #ifndef USG
-#ifndef MSDOS
-#ifndef WINDOWSNT
-#ifndef __CYGWIN32__
-#if defined(__linux__) && defined(powerpc)     /*Added Kaoru Fukui*/
-#else                                          /*Added Kaoru Fukui*/
+#ifndef WIN32_NATIVE
+#ifndef CYGWIN
 #include <sys/vlimit.h>
-#endif                         /*Added by Fukui*/
-#endif /* not __CYGWIN32__ */
-#endif /* not WINDOWSNT */
-#endif /* not MSDOS */
+#endif /* not CYGWIN */
+#endif /* not WIN32_NATIVE */
 #endif /* not USG */
 #else /* if BSD4_2 */
 #include <sys/time.h>
@@ -96,24 +84,17 @@ typedef void *POINTER;
 typedef char *POINTER;
 #endif
 
-#ifndef __CYGWIN32__
+#ifndef CYGWIN
 typedef unsigned long SIZE;
 #endif
 
-extern POINTER start_of_data ();
-#ifdef DATA_SEG_BITS
-#define EXCEEDS_LISP_PTR(ptr) \
-  (((EMACS_UINT) (ptr) & ~DATA_SEG_BITS) >> VALBITS)
-#else
-#define EXCEEDS_LISP_PTR(ptr) ((EMACS_UINT) (ptr) >> VALBITS)
-#endif
+extern POINTER start_of_data (void);
+#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;
@@ -128,9 +109,9 @@ extern char etext;
 static POINTER data_space_start;
 
 /* Number of bytes of writable memory we can expect to be able to get */
-extern unsigned int lim_data;
+extern unsigned long lim_data;
 
-#ifdef HEAP_IN_DATA
+#if defined (HEAP_IN_DATA) && !defined(PDUMP)
 extern unsigned long static_heap_size;
 extern int initialized;
 static void
@@ -138,11 +119,11 @@ get_lim_data (void)
 {
   if (!initialized)
     {
-      lim_data = (unsigned int) -1; /* static_heap_size; */
+      lim_data = (unsigned long) -1; /* static_heap_size; */
     }
   else
     {
-      lim_data = (unsigned int) -1;
+      lim_data = (unsigned long) -1;
     }
 }
 #else
@@ -150,25 +131,25 @@ get_lim_data (void)
 static void
 get_lim_data (void)
 {
-  lim_data = (unsigned int) -1;
+  lim_data = (unsigned long) -1;
 }
 #else /* not NO_LIM_DATA */
 
-#ifdef USG
+#if defined(USG) && !defined(LINUX)
 
 static void
 get_lim_data (void)
 {
-  lim_data = (unsigned int) -1;
+  lim_data = (unsigned long) -1;
 
   /* Use the ulimit call, if we seem to have it.  */
-#if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX)
+#if !defined (ULIMIT_BREAK_VALUE)
   lim_data = ulimit (3, 0);
 #endif
 
   /* If that didn't work, just use the macro's value.  */
 #ifdef ULIMIT_BREAK_VALUE
-  if (lim_data == (unsigned int) -1)
+  if (lim_data == (unsigned long) -1)
     lim_data = ULIMIT_BREAK_VALUE;
 #endif
 
@@ -176,7 +157,7 @@ get_lim_data (void)
 }
 
 #else /* not USG */
-#if defined( WINDOWSNT )
+#if defined( WIN32_NATIVE )
 
 static void
 get_lim_data (void)
@@ -186,24 +167,13 @@ get_lim_data (void)
 }
 
 #else
-#if !defined (BSD4_2) && !defined (__osf__)
+#if !defined (BSD4_2) && !defined (__osf__) && !defined(LINUX)
 
-#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 */
 
@@ -220,9 +190,9 @@ get_lim_data (void)
 #endif
 }
 #endif /* BSD4_2 */
-#endif /* not WINDOWSNT */
+#endif /* not WIN32_NATIVE */
 #endif /* not USG */
 #endif /* not NO_LIM_DATA */
 #endif /* not HEAP_IN_DATA */
 
-#endif /* _XEMACS_MEM_LIMITS_H_ */
+#endif /* INCLUDED_mem_limits_h_ */