Mercurial > hg > xemacs-beta
comparison src/ntheap.h @ 100:4be1180a9e89 r20-1b2
Import from CVS: tag r20-1b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:15:11 +0200 |
parents | |
children | 15872534500d |
comparison
equal
deleted
inserted
replaced
99:2d83cbd90d8d | 100:4be1180a9e89 |
---|---|
1 /* Heap management routines (including unexec) for XEmacs on Windows NT. | |
2 Copyright (C) 1994 Free Software Foundation, Inc. | |
3 | |
4 This file is part of XEmacs. | |
5 | |
6 XEmacs 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 | |
9 later version. | |
10 | |
11 XEmacs 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 | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with XEmacs; see the file COPYING. If not, write to the Free | |
18 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
19 02111-1307, USA. | |
20 | |
21 Geoff Voelker (voelker@cs.washington.edu) 7-29-94 */ | |
22 | |
23 /* Adapted for XEmacs by David Hobley <david@spook-le0.cia.com.au> */ | |
24 | |
25 #ifndef NTHEAP_H_ | |
26 #define NTHEAP_H_ | |
27 | |
28 #include <windows.h> | |
29 | |
30 /* | |
31 * Heap related stuff. | |
32 */ | |
33 #define get_reserved_heap_size() reserved_heap_size | |
34 #define get_committed_heap_size() (get_data_end () - get_data_start ()) | |
35 #define get_heap_start() get_data_start () | |
36 #define get_heap_end() get_data_end () | |
37 #define get_page_size() sysinfo_cache.dwPageSize | |
38 #define get_allocation_unit() sysinfo_cache.dwAllocationGranularity | |
39 #define get_processor_type() sysinfo_cache.dwProcessorType | |
40 #define get_nt_major_version() nt_major_version | |
41 #define get_nt_minor_version() nt_minor_version | |
42 | |
43 extern unsigned char *get_data_start(); | |
44 extern unsigned char *get_data_end(); | |
45 extern unsigned long data_region_size; | |
46 extern unsigned long reserved_heap_size; | |
47 extern SYSTEM_INFO sysinfo_cache; | |
48 extern BOOL need_to_recreate_heap; | |
49 extern int nt_major_version; | |
50 extern int nt_minor_version; | |
51 | |
52 /* Emulation of Unix sbrk(). */ | |
53 extern void *sbrk (unsigned long size); | |
54 | |
55 /* Recreate the heap created during dumping. */ | |
56 extern void recreate_heap (char *executable_path); | |
57 | |
58 /* Round the heap to this size. */ | |
59 extern void round_heap (unsigned long size); | |
60 | |
61 /* Load in the dumped .bss section. */ | |
62 extern void read_in_bss (char *name); | |
63 | |
64 /* Map in the dumped heap. */ | |
65 extern void map_in_heap (char *name); | |
66 | |
67 /* Cache system info, e.g., the NT page size. */ | |
68 extern void cache_system_info (void); | |
69 | |
70 /* Round ADDRESS up to be aligned with ALIGN. */ | |
71 extern unsigned char *round_to_next (unsigned char *address, | |
72 unsigned long align); | |
73 | |
74 #endif /* NTHEAP_H_ */ |