Mercurial > emacs
annotate src/w32heap.h @ 18472:128090c7c0ef libc-970628 libc-970629 libc-970630 libc-970701 libc-970702 libc-970703 libc-970704 libc-970705
(-mingw32*): New OS.
author | Richard Kenner <kenner@gnu.org> |
---|---|
date | Fri, 27 Jun 1997 19:20:14 +0000 |
parents | 481b7874a1e9 |
children | 6b326be52f18 |
rev | line source |
---|---|
9803 | 1 /* Heap management routines (including unexec) for GNU Emacs on Windows NT. |
2 Copyright (C) 1994 Free Software Foundation, Inc. | |
3 | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
4 This file is part of GNU Emacs. |
9803 | 5 |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
6 GNU Emacs is free software; you can redistribute it and/or modify |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
7 it under the terms of the GNU General Public License as published by |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
8 the Free Software Foundation; either version 2, or (at your option) |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
9 any later version. |
9803 | 10 |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
11 GNU Emacs is distributed in the hope that it will be useful, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
14 GNU General Public License for more details. |
9803 | 15 |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
16 You should have received a copy of the GNU General Public License |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
17 along with GNU Emacs; see the file COPYING. If not, write to |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11944
diff
changeset
|
19 Boston, MA 02111-1307, USA. |
9803 | 20 |
21 Geoff Voelker (voelker@cs.washington.edu) 7-29-94 | |
22 */ | |
23 | |
24 #ifndef NTHEAP_H_ | |
25 #define NTHEAP_H_ | |
26 | |
27 #include <windows.h> | |
28 | |
29 /* | |
30 * Heap related stuff. | |
31 */ | |
11944
89ccf3b3208d
(get_data_region_base): Undefined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
9803
diff
changeset
|
32 #define get_reserved_heap_size() reserved_heap_size |
9803 | 33 #define get_committed_heap_size() (get_data_end () - get_data_start ()) |
34 #define get_heap_start() get_data_start () | |
35 #define get_heap_end() get_data_end () | |
36 #define get_page_size() sysinfo_cache.dwPageSize | |
37 #define get_allocation_unit() sysinfo_cache.dwAllocationGranularity | |
38 #define get_processor_type() sysinfo_cache.dwProcessorType | |
16588
481b7874a1e9
Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14186
diff
changeset
|
39 #define get_w32_major_version() w32_major_version |
481b7874a1e9
Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14186
diff
changeset
|
40 #define get_w32_minor_version() w32_minor_version |
9803 | 41 |
42 extern unsigned char *get_data_start(); | |
43 extern unsigned char *get_data_end(); | |
44 extern unsigned long data_region_size; | |
11944
89ccf3b3208d
(get_data_region_base): Undefined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
9803
diff
changeset
|
45 extern unsigned long reserved_heap_size; |
9803 | 46 extern SYSTEM_INFO sysinfo_cache; |
47 extern BOOL need_to_recreate_heap; | |
16588
481b7874a1e9
Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14186
diff
changeset
|
48 extern int w32_major_version; |
481b7874a1e9
Change identifiers of the form win32* to w32*.
Geoff Voelker <voelker@cs.washington.edu>
parents:
14186
diff
changeset
|
49 extern int w32_minor_version; |
9803 | 50 |
51 /* Emulation of Unix sbrk(). */ | |
52 extern void *sbrk (unsigned long size); | |
53 | |
54 /* Recreate the heap created during dumping. */ | |
55 extern void recreate_heap (char *executable_path); | |
56 | |
57 /* Round the heap to this size. */ | |
58 extern void round_heap (unsigned long size); | |
59 | |
60 /* Load in the dumped .bss section. */ | |
61 extern void read_in_bss (char *name); | |
62 | |
63 /* Map in the dumped heap. */ | |
64 extern void map_in_heap (char *name); | |
65 | |
66 /* Cache system info, e.g., the NT page size. */ | |
67 extern void cache_system_info (void); | |
68 | |
69 /* Round ADDRESS up to be aligned with ALIGN. */ | |
70 extern unsigned char *round_to_next (unsigned char *address, | |
71 unsigned long align); | |
72 | |
73 #endif /* NTHEAP_H_ */ |