2015
|
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
|
2367
|
36 static Rawbyte dumped_data[MAX_SIZE+4096+4] = {
|
2015
|
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
|
2367
|
55 dumped_data_size (void)
|
2015
|
56 {
|
2367
|
57 return dumped_data[0] | (dumped_data[1] << 8) | (dumped_data[2] << 16) |
|
|
58 (dumped_data[3] << 24);
|
2015
|
59 }
|
|
60
|
|
61 size_t
|
2367
|
62 dumped_data_max_size (void)
|
2015
|
63 {
|
|
64 return MAX_SIZE;
|
|
65 }
|
|
66
|
|
67 size_t
|
2367
|
68 dumped_data_align_offset (void)
|
2015
|
69 {
|
2367
|
70 EMACS_INT iptr = (EMACS_INT) dumped_data;
|
2015
|
71 EMACS_INT iptr2;
|
2367
|
72 iptr2 = (iptr + 4 + 4095) & ~(EMACS_INT) 4095;
|
2015
|
73
|
2367
|
74 return iptr2 - iptr;
|
2015
|
75 }
|
|
76
|
2367
|
77 Rawbyte *
|
|
78 dumped_data_get (void)
|
2015
|
79 {
|
2367
|
80 EMACS_INT iptr = (EMACS_INT) dumped_data;
|
|
81 iptr = (iptr + 4 + 4095) & ~(EMACS_INT) 4095;
|
|
82 return (Rawbyte *) iptr;
|
2015
|
83 }
|
|
84
|