Mercurial > hg > xemacs-beta
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_ */