root/mtcpinterface.h
/* [<][>][^][v][top][bottom][index][help] */
1 /****************************************************************************
2 * Copyright (C) 2006-2008 by Jason Ansel, Kapil Arya, and Gene Cooperman *
3 * jansel@csail.mit.edu, kapil@ccs.neu.edu, gene@ccs.neu.edu *
4 * *
5 * This file is part of DMTCP. *
6 * *
7 * DMTCP is free software: you can redistribute it and/or *
8 * modify it under the terms of the GNU Lesser General Public License as *
9 * published by the Free Software Foundation, either version 3 of the *
10 * License, or (at your option) any later version. *
11 * *
12 * DMTCP is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU Lesser General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with DMTCP:dmtcp/src. If not, see *
19 * <http://www.gnu.org/licenses/>. *
20 ****************************************************************************/
21
22 #ifndef DMTCPMTCPINTERFACE_H
23 #define DMTCPMTCPINTERFACE_H
24
25 #include <sys/types.h>
26
27 namespace dmtcp
28 {
29 void initializeMtcpEngine();
30
31 void callbackSleepBetweenCheckpoint(int sec);
32 void callbackPreCheckpoint();
33 void callbackPostCheckpoint(int isRestart, char* mtcpRestoreArgvStartAddr);
34 void callbackPreSuspendUserThread();
35 void callbackPreResumeUserThread(int isRestart);
36 void callbackHoldsAnyLocks(int *retval);
37
38 //these next two are defined in dmtcpplugin.cpp
39 void userHookTrampoline_preCkpt();
40 void userHookTrampoline_postCkpt(bool isRestart);
41 }
42 #endif