X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=process.h;h=3b4aab92ee6ccfa9e4b69e0882f2f945b1e80c11;hb=62f28c55d444d846579159133dbe091809a2c08b;hp=2e402e498124f99f9f424e19dbb08b60ae372d24;hpb=c62455090e89f70865658c318d6e2ad491bc3647;p=nssm.git diff --git a/process.h b/process.h index 2e402e4..3b4aab9 100644 --- a/process.h +++ b/process.h @@ -1,36 +1,43 @@ -#ifndef PROCESS_H -#define PROCESS_H - -#include - -typedef struct { - TCHAR *name; - HANDLE process_handle; - unsigned long pid; - unsigned long exitcode; - unsigned long stop_method; - unsigned long kill_console_delay; - unsigned long kill_window_delay; - unsigned long kill_threads_delay; - SERVICE_STATUS_HANDLE status_handle; - SERVICE_STATUS *status; - FILETIME creation_time; - FILETIME exit_time; - int signalled; -} kill_t; - -void service_kill_t(nssm_service_t *, kill_t *); -int get_process_creation_time(HANDLE, FILETIME *); -int get_process_exit_time(HANDLE, FILETIME *); -int check_parent(kill_t *, PROCESSENTRY32 *, unsigned long); -int CALLBACK kill_window(HWND, LPARAM); -int kill_threads(nssm_service_t *, kill_t *); -int kill_threads(kill_t *); -int kill_console(nssm_service_t *, kill_t *); -int kill_console(kill_t *); -int kill_process(nssm_service_t *, kill_t *); -int kill_process(kill_t *); -void kill_process_tree(nssm_service_t *, kill_t *, unsigned long); -void kill_process_tree(kill_t *, unsigned long); - -#endif +#ifndef PROCESS_H +#define PROCESS_H + +#include +#include + +typedef struct { + TCHAR *name; + HANDLE process_handle; + unsigned long depth; + unsigned long pid; + unsigned long exitcode; + unsigned long stop_method; + unsigned long kill_console_delay; + unsigned long kill_window_delay; + unsigned long kill_threads_delay; + SERVICE_STATUS_HANDLE status_handle; + SERVICE_STATUS *status; + FILETIME creation_time; + FILETIME exit_time; + int signalled; +} kill_t; + +typedef int (*walk_function_t)(nssm_service_t *, kill_t *); + +HANDLE get_debug_token(); +void service_kill_t(nssm_service_t *, kill_t *); +int get_process_creation_time(HANDLE, FILETIME *); +int get_process_exit_time(HANDLE, FILETIME *); +int check_parent(kill_t *, PROCESSENTRY32 *, unsigned long); +int CALLBACK kill_window(HWND, LPARAM); +int kill_threads(nssm_service_t *, kill_t *); +int kill_threads(kill_t *); +int kill_console(nssm_service_t *, kill_t *); +int kill_console(kill_t *); +int kill_process(nssm_service_t *, kill_t *); +int kill_process(kill_t *); +int print_process(nssm_service_t *, kill_t *); +int print_process(kill_t *); +void walk_process_tree(nssm_service_t *, walk_function_t, kill_t *, unsigned long); +void kill_process_tree(kill_t *, unsigned long); + +#endif