• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/source3/rpc_server/
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 "../librpc/gen_ndr/srv_initshutdown.h"
25#include "../librpc/gen_ndr/srv_winreg.h"
26
27#undef DBGC_CLASS
28#define DBGC_CLASS DBGC_RPC_SRV
29
30
31/*******************************************************************
32 ********************************************************************/
33WERROR _initshutdown_Init(pipes_struct *p, struct initshutdown_Init *r)
34{
35	struct winreg_InitiateSystemShutdownEx s;
36
37	s.in.hostname = r->in.hostname;
38	s.in.message = r->in.message;
39	s.in.timeout = r->in.timeout;
40	s.in.force_apps = r->in.force_apps;
41	s.in.do_reboot = r->in.do_reboot;
42	s.in.reason = 0;
43
44	/* thunk down to _winreg_InitiateSystemShutdownEx()
45	   (just returns a status) */
46
47	return _winreg_InitiateSystemShutdownEx( p, &s );
48}
49
50/*******************************************************************
51 ********************************************************************/
52
53WERROR _initshutdown_InitEx(pipes_struct *p, struct initshutdown_InitEx *r)
54{
55	struct winreg_InitiateSystemShutdownEx s;
56	s.in.hostname = r->in.hostname;
57	s.in.message = r->in.message;
58	s.in.timeout = r->in.timeout;
59	s.in.force_apps = r->in.force_apps;
60	s.in.do_reboot = r->in.do_reboot;
61	s.in.reason = r->in.reason;
62
63	return _winreg_InitiateSystemShutdownEx( p, &s);
64}
65
66
67
68
69/*******************************************************************
70 reg_abort_shutdwon
71 ********************************************************************/
72
73WERROR _initshutdown_Abort(pipes_struct *p, struct initshutdown_Abort *r)
74{
75	struct winreg_AbortSystemShutdown s;
76	s.in.server = r->in.server;
77	return _winreg_AbortSystemShutdown( p, &s );
78}
79