Line data Source code
1 : /* 2 : * Unix SMB/CIFS implementation. 3 : * RPC Pipe client / server routines 4 : * Copyright (C) Andrew Tridgell 1992-1997. 5 : * Copyright (C) Gerald Carter 2006. 6 : * 7 : * This program is free software; you can redistribute it and/or modify 8 : * it under the terms of the GNU General Public License as published by 9 : * the Free Software Foundation; either version 3 of the License, or 10 : * (at your option) any later version. 11 : * 12 : * This program is distributed in the hope that it will be useful, 13 : * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 : * GNU General Public License for more details. 16 : * 17 : * You should have received a copy of the GNU General Public License 18 : * along with this program; if not, see <http://www.gnu.org/licenses/>. 19 : */ 20 : 21 : /* Implementation of registry functions. */ 22 : 23 : #include "includes.h" 24 : #include "ntdomain.h" 25 : #include "librpc/gen_ndr/ndr_initshutdown.h" 26 : #include "librpc/gen_ndr/ndr_initshutdown_scompat.h" 27 : #include "librpc/gen_ndr/ndr_winreg.h" 28 : #include "librpc/gen_ndr/ndr_winreg_scompat.h" 29 : 30 : #undef DBGC_CLASS 31 : #define DBGC_CLASS DBGC_RPC_SRV 32 : 33 : 34 : /******************************************************************* 35 : ********************************************************************/ 36 0 : WERROR _initshutdown_Init(struct pipes_struct *p, struct initshutdown_Init *r) 37 : { 38 0 : struct winreg_InitiateSystemShutdownEx s; 39 : 40 0 : s.in.hostname = r->in.hostname; 41 0 : s.in.message = r->in.message; 42 0 : s.in.timeout = r->in.timeout; 43 0 : s.in.force_apps = r->in.force_apps; 44 0 : s.in.do_reboot = r->in.do_reboot; 45 0 : s.in.reason = 0; 46 : 47 : /* thunk down to _winreg_InitiateSystemShutdownEx() 48 : (just returns a status) */ 49 : 50 0 : return _winreg_InitiateSystemShutdownEx( p, &s ); 51 : } 52 : 53 : /******************************************************************* 54 : ********************************************************************/ 55 : 56 0 : WERROR _initshutdown_InitEx(struct pipes_struct *p, struct initshutdown_InitEx *r) 57 : { 58 0 : struct winreg_InitiateSystemShutdownEx s; 59 0 : s.in.hostname = r->in.hostname; 60 0 : s.in.message = r->in.message; 61 0 : s.in.timeout = r->in.timeout; 62 0 : s.in.force_apps = r->in.force_apps; 63 0 : s.in.do_reboot = r->in.do_reboot; 64 0 : s.in.reason = r->in.reason; 65 : 66 0 : return _winreg_InitiateSystemShutdownEx( p, &s); 67 : } 68 : 69 : 70 : 71 : 72 : /******************************************************************* 73 : reg_abort_shutdwon 74 : ********************************************************************/ 75 : 76 0 : WERROR _initshutdown_Abort(struct pipes_struct *p, struct initshutdown_Abort *r) 77 : { 78 0 : struct winreg_AbortSystemShutdown s; 79 0 : s.in.server = r->in.server; 80 0 : return _winreg_AbortSystemShutdown( p, &s ); 81 : } 82 : 83 : /* include the generated boilerplate */ 84 : #include "librpc/gen_ndr/ndr_initshutdown_scompat.c"