X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=io.h;h=2bb678200b826e8f25f7b29a0723f4142739be6a;hb=6adc886e1fa296f67aacef0c01994e302e8caf86;hp=2056868928d501ec39dbce103dc7329e760befa7;hpb=aec569efa48339e6e886b1420af6bb101699d33b;p=nssm.git diff --git a/io.h b/io.h index 2056868..2bb6782 100644 --- a/io.h +++ b/io.h @@ -11,12 +11,29 @@ #define NSSM_STDERR_DISPOSITION OPEN_ALWAYS #define NSSM_STDERR_FLAGS FILE_ATTRIBUTE_NORMAL -int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long); +typedef struct { + TCHAR *service_name; + TCHAR *path; + unsigned long sharing; + unsigned long disposition; + unsigned long flags; + HANDLE read_handle; + HANDLE write_handle; + __int64 size; + unsigned long *tid_ptr; + unsigned long *rotate_online; + bool copy_and_truncate; + unsigned long rotate_delay; +} logger_t; + +int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long, bool *); int set_createfile_parameter(HKEY, TCHAR *, TCHAR *, unsigned long); int delete_createfile_parameter(HKEY, TCHAR *, TCHAR *); -HANDLE append_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long); -void rotate_file(TCHAR *, TCHAR *, unsigned long, unsigned long, unsigned long); -int get_output_handles(nssm_service_t *, HKEY, STARTUPINFO *); +HANDLE write_to_file(TCHAR *, unsigned long, SECURITY_ATTRIBUTES *, unsigned long, unsigned long); +void rotate_file(TCHAR *, TCHAR *, unsigned long, unsigned long, unsigned long, unsigned long, bool); +int get_output_handles(nssm_service_t *, STARTUPINFO *); +int use_output_handles(nssm_service_t *, STARTUPINFO *); void close_output_handles(STARTUPINFO *); +unsigned long WINAPI log_and_rotate(void *); #endif