1 // This file is part of BOINC.
2 // http://boinc.berkeley.edu
3 // Copyright (C) 2008 University of California
4 //
5 // BOINC is free software; you can redistribute it and/or modify it
6 // under the terms of the GNU Lesser General Public License
7 // as published by the Free Software Foundation,
8 // either version 3 of the License, or (at your option) any later version.
9 //
10 // BOINC is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 // See the GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with BOINC.  If not, see <http://www.gnu.org/licenses/>.
17 
18 #ifndef BOINC_SYSMON_WIN_H
19 #define BOINC_SYSMON_WIN_H
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 extern bool is_remote_desktop();
26 
27 extern int initialize_system_monitor(int argc, char** argv);
28 extern int initialize_service_dispatcher(int argc, char** argv);
29 extern int cleanup_system_monitor();
30 
31 // Internal name of the service
32 #define SZSERVICENAME        "BOINC"
33 
34 // Displayed name of the service
35 #define SZSERVICEDISPLAYNAME "BOINC"
36 
37 // Displayed description of the service
38 #define SZSERVICEDESCRIPTION "Berkeley Open Infrastructure for Network Computing"
39 
40 // Service Accepted Actions
41 #define SERVICE_ACCEPTED_ACTIONS  ( \
42     SERVICE_ACCEPT_STOP | \
43     SERVICE_ACCEPT_PAUSE_CONTINUE | \
44     SERVICE_ACCEPT_SHUTDOWN )
45 
46 // Service Control Manager Routines
47 extern VOID WINAPI BOINCServiceMain(DWORD dwArgc, LPTSTR *lpszArgv);
48 extern VOID WINAPI BOINCServiceCtrl(DWORD dwCtrlCode);
49 extern BOOL		ReportStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint);
50 extern VOID		LogEventErrorMessage(LPTSTR lpszMsg);
51 extern VOID		LogEventWarningMessage(LPTSTR lpszMsg);
52 extern VOID		LogEventInfoMessage(LPTSTR lpszMsg);
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif
59