summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/irpc.idl
blob: c5977ba53e94fa3099541ce91fb79309c1c5e956 (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
48
49
50
51
#include "idl_types.h"

/*
  definitions for irpc primitives
*/
[ uuid("e770c620-0b06-4b5e-8d87-a26e20f28340"),
  version(1.0),
  pointer_default(unique),
  pointer_default_top(unique)
] interface irpc
{
	typedef bitmap {
		IRPC_FLAG_REPLY    = 0x0001
	} irpc_flags;

	typedef [public] struct {
		GUID uuid;
		uint32 if_version;
		uint32 callnum;
		uint32 callid;
		irpc_flags flags;
		NTSTATUS status;
	} irpc_header;


	/******************************************************
         management calls for the nbt server
	******************************************************/
	typedef [v1_enum] enum {
		NBTD_INFO_STATISTICS
	} nbtd_info_level;

	typedef struct {
		hyper total_received;
		hyper total_sent;
		hyper query_count;
		hyper register_count;
		hyper release_count;
		hyper refresh_count;
	} nbtd_statistics;

	typedef union {
		[case(NBTD_INFO_STATISTICS)] nbtd_statistics *stats;
	} nbtd_info;

	void nbtd_information(
		[in]  nbtd_info_level level,
		[out,switch_is(level)] nbtd_info info
		);

}