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
15 TCHAR *service_name;
\r
17 unsigned long sharing;
\r
18 unsigned long disposition;
\r
19 unsigned long flags;
\r
21 HANDLE write_handle;
\r
23 unsigned long *tid_ptr;
\r
24 unsigned long *rotate_online;
\r
26 __int64 line_length;
\r
27 bool copy_and_truncate;
\r
28 unsigned long rotate_delay;
\r
31 void close_handle(HANDLE *, HANDLE *);
\r
32 void close_handle(HANDLE *);
\r
33 int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long, bool *);
\r
34 int set_createfile_parameter(HKEY, TCHAR *, TCHAR *, unsigned long);
\r
35 int delete_createfile_parameter(HKEY, TCHAR *, TCHAR *);
\r
36 HANDLE write_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long);
\r
37 void rotate_file(TCHAR *, TCHAR *, unsigned long, unsigned long, unsigned long, unsigned long, bool);
\r
38 int get_output_handles(nssm_service_t *, STARTUPINFO *);
\r
39 int use_output_handles(nssm_service_t *, STARTUPINFO *);
\r
40 void close_output_handles(STARTUPINFO *);
\r
41 void cleanup_loggers(nssm_service_t *);
\r
42 unsigned long WINAPI log_and_rotate(void *);
\r