X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/51e8c46a3af99bc05dcbaf7267bd1434c42c192e..32efc702b311abc93b94630c4f48a38221413aef:/src/mem-limits.h diff --git a/src/mem-limits.h b/src/mem-limits.h index 3bb40dff56..578cf59f12 100644 --- a/src/mem-limits.h +++ b/src/mem-limits.h @@ -1,5 +1,5 @@ /* Includes for memory limit warnings. - Copyright (C) 1990, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright (C) 1990, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -15,10 +15,12 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ #ifdef MSDOS #include +extern int etext; #endif /* Some systems need this before . */ @@ -30,20 +32,28 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define BSD4_2 /* Tell code below to use getrlimit. */ /* Old Linux startup code won't define __data_start. */ -extern int etext, __data_start; weak_symbol (__data_start) +extern int etext, __data_start; weak_extern (__data_start) #define start_of_data() (&__data_start ?: &etext) #else /* not _LIBC */ -#if defined (__osf__) && (defined (__mips) || defined (mips) || defined(__alpha)) -#include -#include +#ifdef HAVE_SYS_RESOURCE_H +# include +# include +#else +# if HAVE_SYS_VLIMIT_H +# include /* Obsolete, says glibc */ +# endif #endif #ifdef __bsdi__ #define BSD4_2 #endif +#ifdef CYGWIN +#define BSD4_2 +#endif + #ifndef BSD4_2 #ifndef USG #ifndef MSDOS @@ -61,11 +71,7 @@ extern int etext, __data_start; weak_symbol (__data_start) /* The important properties of this type are that 1) it's a pointer, and 2) arithmetic on it should work as if the size of the object pointed to has a size of 1. */ -#ifdef __STDC__ -typedef void *POINTER; -#else -typedef char *POINTER; -#endif +typedef POINTER_TYPE *POINTER; typedef unsigned long SIZE; @@ -82,12 +88,18 @@ extern POINTER start_of_data (); #define EXCEEDS_LISP_PTR(ptr) ((EMACS_UINT) (ptr) >> VALBITS) #endif -#ifdef BSD +#ifdef DATA_START +#define start_of_data() ((char *)DATA_START) +#endif + +#ifdef BSD_SYSTEM #ifndef DATA_SEG_BITS +#ifndef DATA_START extern char etext; #define start_of_data() &etext #endif #endif +#endif #else /* not emacs */ extern char etext; @@ -101,7 +113,7 @@ extern char etext; static POINTER data_space_start; /* Number of bytes of writable memory we can expect to be able to get */ -static unsigned int lim_data; +static unsigned long lim_data; #ifdef NO_LIM_DATA static void @@ -121,7 +133,7 @@ get_lim_data () lim_data = -1; /* Use the ulimit call, if we seem to have it. */ -#if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX) +#if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX) lim_data = ulimit (3, 0); #endif @@ -140,8 +152,8 @@ get_lim_data () static void get_lim_data () { - extern unsigned long data_region_size; - lim_data = data_region_size; + extern unsigned long reserved_heap_size; + lim_data = reserved_heap_size; } #else @@ -182,3 +194,6 @@ get_lim_data () #endif /* not WINDOWSNT */ #endif /* not USG */ #endif /* not NO_LIM_DATA */ + +/* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5 + (do not change this comment) */