Add dirent.h
[tinc] / src / process.c
index f596eb6..7deaadf 100644 (file)
 
 /* If zero, don't detach from the terminal. */
 bool do_detach = true;
-bool sigalrm = false;
 
 extern char **g_argv;
-extern bool use_logfile;
-extern bool use_syslog;
+
+/* If nonzero, use syslog instead of stderr in no-detach mode. */
+bool use_syslog = false;
+
+/* If nonzero, write log entries to a separate file. */
+bool use_logfile = false;
 
 /* Some functions the less gifted operating systems might lack... */
 
@@ -47,7 +50,8 @@ static SERVICE_STATUS_HANDLE statushandle = 0;
 
 static bool install_service(void) {
        char command[4096] = "\"";
-       SERVICE_DESCRIPTION description = {"Virtual Private Network daemon"};
+       char description_buffer[] = "Virtual Private Network daemon";
+       SERVICE_DESCRIPTION description = {description_buffer};
 
        manager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
 
@@ -108,7 +112,7 @@ static bool install_service(void) {
 
 io_t stop_io;
 
-DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID data, LPVOID context) {
+static DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID data, LPVOID context) {
        (void)type;
        (void)data;
        (void)context;
@@ -142,7 +146,7 @@ DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID data, LPVOID conte
        return NO_ERROR;
 }
 
-VOID WINAPI run_service(DWORD argc, LPTSTR *argv) {
+static VOID WINAPI run_service(DWORD argc, LPTSTR *argv) {
        extern int main2(int argc, char **argv);
 
        status.dwServiceType = SERVICE_WIN32;