Mercurial > hg > xemacs-beta
comparison src/dump-data.c @ 2015:2364237fbc0f
[xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
Moving the dump file inside the executable
author | olivierg |
---|---|
date | Thu, 15 Apr 2004 20:56:23 +0000 |
parents | |
children | aaa6e4c4e653 |
comparison
equal
deleted
inserted
replaced
2014:92f7301e4a23 | 2015:2364237fbc0f |
---|---|
1 /* Static array to put the dumped data in and its management | |
2 Copyright (C) 2003 Olivier Galibert | |
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 | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 /* Synched up with: Not in FSF. */ | |
22 | |
23 /* Mule-ized? Mwahahahahahaha */ | |
24 | |
25 /* Magic values by Larry McVoy to prevent every known compiler, including | |
26 an especially perverse HP-UX one, from putting the array in BSS. | |
27 */ | |
28 | |
29 | |
30 #include <config.h> | |
31 #include "lisp.h" | |
32 #include "dump-data.h" | |
33 | |
34 /* 4 bytes for the data size, 4096 for alignment */ | |
35 | |
36 static unsigned char dumped_data[MAX_SIZE+4096+4] = { | |
37 255, | |
38 6, | |
39 1, | |
40 2, | |
41 3, | |
42 4, | |
43 255, | |
44 3, | |
45 9, | |
46 62, | |
47 255, | |
48 10, | |
49 4, | |
50 61, | |
51 255 | |
52 }; | |
53 | |
54 size_t | |
55 dumped_data_size(void) | |
56 { | |
57 return dumped_data[0] | (dumped_data[1] << 8) | (dumped_data[2] << 16) | (dumped_data[3] << 24); | |
58 } | |
59 | |
60 size_t | |
61 dumped_data_max_size(void) | |
62 { | |
63 return MAX_SIZE; | |
64 } | |
65 | |
66 size_t | |
67 dumped_data_align_offset(void) | |
68 { | |
69 EMACS_INT iptr = (EMACS_INT)dumped_data; | |
70 EMACS_INT iptr2; | |
71 iptr2 = (iptr+4+4095) & ~(EMACS_INT)4095; | |
72 | |
73 return iptr2-iptr; | |
74 } | |
75 | |
76 unsigned char * | |
77 dumped_data_get(void) | |
78 { | |
79 EMACS_INT iptr = (EMACS_INT)dumped_data; | |
80 iptr = (iptr+4+4095) & ~(EMACS_INT)4095; | |
81 return (unsigned char *)iptr; | |
82 } | |
83 |