2006-09-21 21:51:06 +04:00
/*
* Unix SMB / CIFS implementation .
* RPC Pipe client / server routines
* Copyright ( C ) Andrew Tridgell 1992 - 1997.
* Copyright ( C ) Gerald Carter 2006.
*
* 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
2007-07-09 23:25:36 +04:00
* the Free Software Foundation ; either version 3 of the License , or
2006-09-21 21:51:06 +04:00
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2007-07-10 09:23:25 +04:00
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
2006-09-21 21:51:06 +04:00
*/
/* Implementation of registry functions. */
# include "includes.h"
2009-11-26 20:21:28 +03:00
# include "../librpc/gen_ndr/srv_initshutdown.h"
# include "../librpc/gen_ndr/srv_winreg.h"
2006-09-21 21:51:06 +04:00
# undef DBGC_CLASS
# define DBGC_CLASS DBGC_RPC_SRV
/*******************************************************************
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2007-01-18 13:18:59 +03:00
WERROR _initshutdown_Init ( pipes_struct * p , struct initshutdown_Init * r )
2006-09-21 21:51:06 +04:00
{
2007-01-18 13:18:59 +03:00
struct winreg_InitiateSystemShutdownEx s ;
s . in . hostname = r - > in . hostname ;
s . in . message = r - > in . message ;
s . in . timeout = r - > in . timeout ;
s . in . force_apps = r - > in . force_apps ;
2008-07-03 23:21:33 +04:00
s . in . do_reboot = r - > in . do_reboot ;
2007-01-18 13:18:59 +03:00
s . in . reason = 0 ;
2006-09-21 21:51:06 +04:00
/* thunk down to _winreg_InitiateSystemShutdownEx()
( just returns a status ) */
2007-01-18 13:18:59 +03:00
return _winreg_InitiateSystemShutdownEx ( p , & s ) ;
2006-09-21 21:51:06 +04:00
}
/*******************************************************************
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2007-01-18 13:18:59 +03:00
WERROR _initshutdown_InitEx ( pipes_struct * p , struct initshutdown_InitEx * r )
2006-09-21 21:51:06 +04:00
{
2007-01-18 13:18:59 +03:00
struct winreg_InitiateSystemShutdownEx s ;
s . in . hostname = r - > in . hostname ;
s . in . message = r - > in . message ;
s . in . timeout = r - > in . timeout ;
s . in . force_apps = r - > in . force_apps ;
2008-07-03 23:21:33 +04:00
s . in . do_reboot = r - > in . do_reboot ;
2007-01-18 13:18:59 +03:00
s . in . reason = r - > in . reason ;
return _winreg_InitiateSystemShutdownEx ( p , & s ) ;
2006-09-21 21:51:06 +04:00
}
/*******************************************************************
reg_abort_shutdwon
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2007-01-18 13:18:59 +03:00
WERROR _initshutdown_Abort ( pipes_struct * p , struct initshutdown_Abort * r )
2006-09-21 21:51:06 +04:00
{
2007-01-18 13:18:59 +03:00
struct winreg_AbortSystemShutdown s ;
s . in . server = r - > in . server ;
return _winreg_AbortSystemShutdown ( p , & s ) ;
2006-09-21 21:51:06 +04:00
}