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