cfad47cfa3/tads3/vmsave.h

4b825dc642cb6eb9a060e54bf8d69288fbee4904cfad47cfa334b206c65f22086bcc5d63e6f70944
1
/* $Header$ */
2
3
/* 
4
 *   Copyright (c) 1999, 2002 Michael J. Roberts.  All Rights Reserved.
5
 *   
6
 *   Please see the accompanying license file, LICENSE.TXT, for information
7
 *   on using and copying this software.  
8
 */
9
/*
10
Name
11
  vmsave.h - save/restore VM state
12
Function
13
  Saves/restores VM state to/from a file.
14
Notes
15
  
16
Modified
17
  08/02/99 MJRoberts  - Creation
18
*/
19
20
#ifndef VMSAVE_H
21
#define VMSAVE_H
22
23
#include "vmglob.h"
24
25
class CVmSaveFile
26
{
27
public:
28
    /* save state to a file */
29
    static void save(VMG_ class CVmFile *fp);
30
31
    /* 
32
     *   given a saved state file, read the name of the image file that
33
     *   created it 
34
     */
35
    static int restore_get_image(osfildef *fp,
36
                                 char *fname_buf, size_t fname_buf_len);
37
38
    /* 
39
     *   Restore state from a file.  Returns zero on success, or a
40
     *   VMERR_xxx code indicating the problem on failure.  
41
     */
42
    static int restore(VMG_ class CVmFile *fp);
43
44
    /* reset the VM to the initial image file state */
45
    static void reset(VMG0_);
46
};
47
48
#endif /* VMSAVE_H */