Mercurial > emacs
annotate src/w32heap.h @ 12417:b4d39d2b9795 libc-950722 libc-950723
(AIX4): More robust release numbering discovery.
author | Richard Kenner <kenner@gnu.org> |
---|---|
date | Wed, 28 Jun 1995 21:57:23 +0000 |
parents | 89ccf3b3208d |
children | ee40177f6c68 |
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 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License as published by the | |
8 Free Software Foundation; either version 2, or (at your option) any later | |
9 version. | |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, but WITHOUT | |
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
14 more details. | |
15 | |
16 You should have received a copy of the GNU General Public License along | |
17 with GNU Emacs; see the file COPYING. If not, write to the Free Software | |
18 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
19 | |
20 Geoff Voelker (voelker@cs.washington.edu) 7-29-94 | |
21 */ | |
22 | |
23 #ifndef NTHEAP_H_ | |
24 #define NTHEAP_H_ | |
25 | |
26 #include <windows.h> | |
27 | |
28 /* | |
29 * Heap related stuff. | |
30 */ | |
11944
89ccf3b3208d
(get_data_region_base): Undefined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
9803
diff
changeset
|
31 #define get_reserved_heap_size() reserved_heap_size |
9803 | 32 #define get_committed_heap_size() (get_data_end () - get_data_start ()) |
33 #define get_heap_start() get_data_start () | |
34 #define get_heap_end() get_data_end () | |
35 #define get_page_size() sysinfo_cache.dwPageSize | |
36 #define get_allocation_unit() sysinfo_cache.dwAllocationGranularity | |
37 #define get_processor_type() sysinfo_cache.dwProcessorType | |
38 #define get_nt_major_version() nt_major_version | |
39 #define get_nt_minor_version() nt_minor_version | |
40 | |
41 extern unsigned char *get_data_start(); | |
42 extern unsigned char *get_data_end(); | |
43 extern unsigned long data_region_size; | |
11944
89ccf3b3208d
(get_data_region_base): Undefined.
Geoff Voelker <voelker@cs.washington.edu>
parents:
9803
diff
changeset
|
44 extern unsigned long reserved_heap_size; |
9803 | 45 extern SYSTEM_INFO sysinfo_cache; |
46 extern BOOL need_to_recreate_heap; | |
47 extern int nt_major_version; | |
48 extern int nt_minor_version; | |
49 | |
50 /* Emulation of Unix sbrk(). */ | |
51 extern void *sbrk (unsigned long size); | |
52 | |
53 /* Recreate the heap created during dumping. */ | |
54 extern void recreate_heap (char *executable_path); | |
55 | |
56 /* Round the heap to this size. */ | |
57 extern void round_heap (unsigned long size); | |
58 | |
59 /* Load in the dumped .bss section. */ | |
60 extern void read_in_bss (char *name); | |
61 | |
62 /* Map in the dumped heap. */ | |
63 extern void map_in_heap (char *name); | |
64 | |
65 /* Cache system info, e.g., the NT page size. */ | |
66 extern void cache_system_info (void); | |
67 | |
68 /* Round ADDRESS up to be aligned with ALIGN. */ | |
69 extern unsigned char *round_to_next (unsigned char *address, | |
70 unsigned long align); | |
71 | |
72 #endif /* NTHEAP_H_ */ |