RegisterPowerSettingNotification is unnecessary.
[nssm.git] / io.h
1 #ifndef IO_H\r
2 #define IO_H\r
3 \r
4 #define NSSM_STDIN_SHARING FILE_SHARE_WRITE\r
5 #define NSSM_STDIN_DISPOSITION OPEN_EXISTING\r
6 #define NSSM_STDIN_FLAGS FILE_ATTRIBUTE_NORMAL\r
7 #define NSSM_STDOUT_SHARING (FILE_SHARE_READ | FILE_SHARE_WRITE)\r
8 #define NSSM_STDOUT_DISPOSITION OPEN_ALWAYS\r
9 #define NSSM_STDOUT_FLAGS FILE_ATTRIBUTE_NORMAL\r
10 #define NSSM_STDERR_SHARING (FILE_SHARE_READ | FILE_SHARE_WRITE)\r
11 #define NSSM_STDERR_DISPOSITION OPEN_ALWAYS\r
12 #define NSSM_STDERR_FLAGS FILE_ATTRIBUTE_NORMAL\r
13 \r
14 typedef struct {\r
15   TCHAR *service_name;\r
16   TCHAR *path;\r
17   unsigned long sharing;\r
18   unsigned long disposition;\r
19   unsigned long flags;\r
20   HANDLE read_handle;\r
21   HANDLE write_handle;\r
22   __int64 size;\r
23   unsigned long *tid_ptr;\r
24   unsigned long *rotate_online;\r
25   bool copy_and_truncate;\r
26   unsigned long rotate_delay;\r
27 } logger_t;\r
28 \r
29 int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long, bool *);\r
30 int set_createfile_parameter(HKEY, TCHAR *, TCHAR *, unsigned long);\r
31 int delete_createfile_parameter(HKEY, TCHAR *, TCHAR *);\r
32 HANDLE write_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long);\r
33 void rotate_file(TCHAR *, TCHAR *, unsigned long, unsigned long, unsigned long, unsigned long, bool);\r
34 int get_output_handles(nssm_service_t *, STARTUPINFO *);\r
35 void close_output_handles(STARTUPINFO *);\r
36 unsigned long WINAPI log_and_rotate(void *);\r
37 \r
38 #endif\r