]> git.decadent.org.uk Git - ion3.git/blob - ioncore/exec.h
[svn-inject] Installing original source of ion3
[ion3.git] / ioncore / exec.h
1 /*
2  * ion/ioncore/exec.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2006. 
5  *
6  * Ion is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  */
11
12 #ifndef ION_IONCORE_EXEC_H
13 #define ION_IONCORE_EXEC_H
14
15 #include "common.h"
16 #include "rootwin.h"
17 #include <libextl/extl.h>
18
19 enum{
20     IONCORE_SM_RESIGN,
21     IONCORE_SM_SHUTDOWN,
22     IONCORE_SM_RESTART,
23     IONCORE_SM_RESTART_OTHER,
24     IONCORE_SM_SNAPSHOT
25 };
26
27 extern void ioncore_do_exec(const char *cmd);
28 extern bool ioncore_exec_on_rootwin(WRootWin *rootwin, const char *cmd);
29 extern bool ioncore_exec(const char *cmd);
30 extern void ioncore_setup_environ(int scr);
31 extern bool ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh);
32
33 extern bool ioncore_set_smhook(void (*fn)(int what));
34
35 extern void ioncore_restart_other(const char *cmd);
36 extern void ioncore_restart();
37 extern void ioncore_shutdown();
38 extern void ioncore_resign();
39 extern void ioncore_snapshot();
40
41 extern void ioncore_do_exit();
42 extern void ioncore_do_restart();
43 extern bool ioncore_do_snapshot();
44
45 extern void ioncore_emergency_snapshot();
46
47 #endif /* ION_IONCORE_EXEC_H */