OpenMPI  0.1.1
crs_dmtcp.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 The Trustees of Indiana University.
3  * All rights reserved.
4  * Copyright (c) 2010-2011 Alex Brick <bricka@ccs.neu.edu>.
5  * All rights reserved.
6  *
7  * $COPYRIGHT$
8  *
9  * Additional copyrights may follow
10  *
11  * $HEADER$
12  */
13 
14 /**
15  * @file
16  *
17  * DMTCP CRS component
18  *
19  */
20 
21 #ifndef MCA_CRS_DMTCP_EXPORT_H
22 #define MCA_CRS_DMTCP_EXPORT_H
23 
24 #include "opal_config.h"
25 
26 
27 #include "opal/mca/mca.h"
28 #include "opal/mca/crs/crs.h"
29 #include "opal/mca/base/base.h"
30 
31 /* JJH NOTE: Include your library header here */
32 /* #include <libmtcp.h> */
33 #include <mtcp.h>
34 
35 BEGIN_C_DECLS
36 
37  /*
38  * Local Component Structure
39  */
41  /** Base CRS component */
43 
44  /** JJH: Add additional items here as needed internally */
45  };
47  OPAL_MODULE_DECLSPEC extern opal_crs_dmtcp_component_t mca_crs_dmtcp_component;
48 
49  /*
50  * Component query command
51  * - Called during opal_init() to determine if this component should be selected.
52  */
53  int opal_crs_dmtcp_component_query(mca_base_module_t **module, int *priority);
54 
55  /*
56  * Module functions
57  */
58  int opal_crs_dmtcp_module_init(void);
59  int opal_crs_dmtcp_module_finalize(void);
60 
61  /*
62  * Actual CRS funcationality
63  */
64  int opal_crs_dmtcp_checkpoint( pid_t pid,
65  opal_crs_base_snapshot_t *snapshot,
67  opal_crs_state_type_t *state);
68 
69  int opal_crs_dmtcp_restart( opal_crs_base_snapshot_t *snapshot,
70  bool spawn_child,
71  pid_t *child_pid);
72 
73  int opal_crs_dmtcp_disable_checkpoint(void);
74  int opal_crs_dmtcp_enable_checkpoint(void);
75 
76  int opal_crs_dmtcp_prelaunch(int32_t rank,
77  char *base_snapshot_dir,
78  char **app,
79  char **cwd,
80  char ***argv,
81  char ***env);
82 
83  int opal_crs_dmtcp_reg_thread(void);
84 
85 END_C_DECLS
86 
87 #endif /* MCA_CRS_DMTCP_EXPORT_H */
Common type for all MCA modules.
Definition: mca.h:100
Top-level interface for all MCA components.
Definition: crs_dmtcp.h:40
Structure for Single process snapshot Each component is assumed to have extened this definition in th...
Definition: crs.h:107
Structure for CRS components.
Definition: crs.h:248
opal_crs_base_component_t super
Base CRS component.
Definition: crs_dmtcp.h:42
Checkpoint and Restart Service (CRS) Interface.
opal_crs_state_type_t
States of the module.
Definition: crs.h:60