Use close_handle().
[nssm.git] / io.h
diff --git a/io.h b/io.h
index 5b9e8ca..31f1e0d 100644 (file)
--- a/io.h
+++ b/io.h
 #define NSSM_STDERR_DISPOSITION OPEN_ALWAYS\r
 #define NSSM_STDERR_FLAGS FILE_ATTRIBUTE_NORMAL\r
 \r
-int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long);\r
+typedef struct {\r
+  TCHAR *service_name;\r
+  TCHAR *path;\r
+  unsigned long sharing;\r
+  unsigned long disposition;\r
+  unsigned long flags;\r
+  HANDLE read_handle;\r
+  HANDLE write_handle;\r
+  __int64 size;\r
+  unsigned long *tid_ptr;\r
+  unsigned long *rotate_online;\r
+  bool timestamp_log;\r
+  __int64 line_length;\r
+  bool copy_and_truncate;\r
+  unsigned long rotate_delay;\r
+} logger_t;\r
+\r
+void close_handle(HANDLE *, HANDLE *);\r
+void close_handle(HANDLE *);\r
+int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long, bool *);\r
 int set_createfile_parameter(HKEY, TCHAR *, TCHAR *, unsigned long);\r
-HANDLE append_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long);\r
-int get_output_handles(HKEY, STARTUPINFO *);\r
+int delete_createfile_parameter(HKEY, TCHAR *, TCHAR *);\r
+HANDLE write_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long);\r
+void rotate_file(TCHAR *, TCHAR *, unsigned long, unsigned long, unsigned long, unsigned long, bool);\r
+int get_output_handles(nssm_service_t *, STARTUPINFO *);\r
+int use_output_handles(nssm_service_t *, STARTUPINFO *);\r
 void close_output_handles(STARTUPINFO *);\r
+unsigned long WINAPI log_and_rotate(void *);\r
 \r
 #endif\r