0327efa7f4870a4ebb54272c1962dfaee08a9aec
[sbcl.git] / src / runtime / save.h
1 /*
2  * This software is part of the SBCL system. See the README file for
3  * more information.
4  *
5  * This software is derived from the CMU CL system, which was
6  * written at Carnegie Mellon University and released into the
7  * public domain. The software is in the public domain and is
8  * provided with absolutely no warranty. See the COPYING and CREDITS
9  * files for more information.
10  */
11
12 #ifndef _SAVE_H_
13 #define _SAVE_H_
14 #include <limits.h>
15 #include "core.h"
16
17 #define COMPRESSION_LEVEL_NONE INT_MIN
18
19 extern FILE* open_core_for_saving(char *filename);
20 extern void *load_runtime(char *runtime_path, size_t *size_out);
21 extern FILE *prepare_to_save(char *filename, boolean prepend_runtime, void **runtime_bytes, size_t *runtime_size);
22 extern boolean save_runtime_to_filehandle(FILE *output, void *runtime_bytes, size_t runtime_size);
23 extern boolean save_to_filehandle(FILE *file, char *filename, lispobj initfun,
24                                   boolean make_executable, boolean keep_runtime_options,
25                                   int core_compression_level);
26 extern boolean save(char *filename, lispobj initfun, boolean prepend_runtime,
27                     boolean keep_runtime_options,
28                     boolean compressed_core, int core_compression_level);
29
30 #endif