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