summaryrefslogtreecommitdiff
path: root/source3/librpc/idl/initshutdown.idl
blob: 8555ed0c5cd33a57f292bdd237e1074b7b436d6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "idl_types.h"

/*
  initshutdown interface definition
*/

[ 
  uuid("894de0c0-0d55-11d3-a322-00c04fa321a1"),
  version(1.0),
  endpoint("ncacn_np:[\\pipe\\InitShutdown]"),
  pointer_default(unique),
  helpstring("Init shutdown service"),
  keepref
] interface initshutdown
{
	typedef struct {
		[value(strlen_m_term(name))] uint32 name_size;
		[flag(STR_LEN4|STR_NOTERM)] string name;
	} initshutdown_String_sub;

	typedef [public] struct {
		[value(strlen_m(r->name->name)*2)] uint16 name_len;
		[value(strlen_m_term(r->name->name)*2)] uint16 name_size;
		initshutdown_String_sub *name;
	} initshutdown_String;

	WERROR initshutdown_Init(
		[in,unique] uint16 *hostname,
		[in,unique] initshutdown_String *message,
		[in] uint32 timeout,
		[in] uint8 force_apps,
		[in] uint8 reboot
	);

	WERROR initshutdown_Abort(
		[in,unique] uint16 *server
	);

	WERROR initshutdown_InitEx(
  		[in,unique] uint16 *hostname,
		[in,unique] initshutdown_String *message,
		[in] uint32 timeout,
		[in] uint8 force_apps,
		[in] uint8 reboot,
		[in] uint32 reason
	);
}