s3-includes: only include ntdomain.h where needed.
[kai/samba.git] / source3 / rpc_server / initshutdown / srv_initshutdown_nt.c
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 #include "ntdomain.h"
27
28 #undef DBGC_CLASS
29 #define DBGC_CLASS DBGC_RPC_SRV
30
31
32 /*******************************************************************
33  ********************************************************************/
34 WERROR _initshutdown_Init(struct pipes_struct *p, struct initshutdown_Init *r)
35 {
36         struct winreg_InitiateSystemShutdownEx s;
37
38         s.in.hostname = r->in.hostname;
39         s.in.message = r->in.message;
40         s.in.timeout = r->in.timeout;
41         s.in.force_apps = r->in.force_apps;
42         s.in.do_reboot = r->in.do_reboot;
43         s.in.reason = 0;
44
45         /* thunk down to _winreg_InitiateSystemShutdownEx()
46            (just returns a status) */
47
48         return _winreg_InitiateSystemShutdownEx( p, &s );
49 }
50
51 /*******************************************************************
52  ********************************************************************/
53
54 WERROR _initshutdown_InitEx(struct pipes_struct *p, struct initshutdown_InitEx *r)
55 {
56         struct winreg_InitiateSystemShutdownEx s;
57         s.in.hostname = r->in.hostname;
58         s.in.message = r->in.message;
59         s.in.timeout = r->in.timeout;
60         s.in.force_apps = r->in.force_apps;
61         s.in.do_reboot = r->in.do_reboot;
62         s.in.reason = r->in.reason;
63
64         return _winreg_InitiateSystemShutdownEx( p, &s);
65 }
66
67
68
69
70 /*******************************************************************
71  reg_abort_shutdwon
72  ********************************************************************/
73
74 WERROR _initshutdown_Abort(struct pipes_struct *p, struct initshutdown_Abort *r)
75 {
76         struct winreg_AbortSystemShutdown s;
77         s.in.server = r->in.server;
78         return _winreg_AbortSystemShutdown( p, &s );
79 }