de39cf004688972b0732ad67f52565c0e520f966
[nssm.git] / process.h
1 #ifndef PROCESS_H\r
2 #define PROCESS_H\r
3 \r
4 #include <tlhelp32.h>\r
5 \r
6 typedef struct {\r
7   TCHAR *name;\r
8   HANDLE process_handle;\r
9   unsigned long pid;\r
10   unsigned long exitcode;\r
11   unsigned long stop_method;\r
12   unsigned long kill_console_delay;\r
13   unsigned long kill_window_delay;\r
14   unsigned long kill_threads_delay;\r
15   SERVICE_STATUS_HANDLE status_handle;\r
16   SERVICE_STATUS *status;\r
17   FILETIME creation_time;\r
18   FILETIME exit_time;\r
19   int signalled;\r
20 } kill_t;\r
21 \r
22 typedef int (*walk_function_t)(nssm_service_t *, kill_t *);\r
23 \r
24 HANDLE get_debug_token();\r
25 void service_kill_t(nssm_service_t *, kill_t *);\r
26 int get_process_creation_time(HANDLE, FILETIME *);\r
27 int get_process_exit_time(HANDLE, FILETIME *);\r
28 int check_parent(kill_t *, PROCESSENTRY32 *, unsigned long);\r
29 int CALLBACK kill_window(HWND, LPARAM);\r
30 int kill_threads(nssm_service_t *, kill_t *);\r
31 int kill_threads(kill_t *);\r
32 int kill_console(nssm_service_t *, kill_t *);\r
33 int kill_console(kill_t *);\r
34 int kill_process(nssm_service_t *, kill_t *);\r
35 int kill_process(kill_t *);\r
36 void walk_process_tree(nssm_service_t *, walk_function_t, kill_t *, unsigned long);\r
37 void kill_process_tree(kill_t *, unsigned long);\r
38 \r
39 #endif\r