X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fprocess.c;h=7d528f7ec2df8e6aa074ef5110bfae83a7a10509;hb=28b7a53b693f6b4e70218a926e68a36ece54cda1;hp=c6cb53607a7c25c28b37dd30ca8510982d5b1a9c;hpb=f6e87ab476a0faf8b124ecaaa27f967d825e6457;p=tinc diff --git a/src/process.c b/src/process.c index c6cb5360..7d528f7e 100644 --- a/src/process.c +++ b/src/process.c @@ -1,7 +1,7 @@ /* process.c -- process management functions Copyright (C) 1999-2005 Ivo Timmermans, - 2000-2013 Guus Sliepen + 2000-2018 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,25 +20,17 @@ #include "system.h" -#include "conf.h" -#include "connection.h" -#include "control.h" -#include "device.h" -#include "edge.h" -#include "event.h" #include "logger.h" #include "names.h" -#include "net.h" -#include "node.h" #include "process.h" -#include "subnet.h" -#include "utils.h" -#include "xalloc.h" #include "version.h" +#ifdef HAVE_MINGW +#include "utils.h" +#endif + /* If zero, don't detach from the terminal. */ bool do_detach = true; -bool sigalrm = false; extern char **g_argv; extern bool use_logfile; @@ -54,7 +46,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); @@ -115,7 +108,11 @@ static bool install_service(void) { io_t stop_io; -DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID boe, LPVOID bah) { +static DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID data, LPVOID context) { + (void)type; + (void)data; + (void)context; + switch(request) { case SERVICE_CONTROL_INTERROGATE: SetServiceStatus(statushandle, &status); @@ -145,7 +142,7 @@ DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID boe, LPVOID bah) { 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;