r8168: after testing I saw that w2k3 uses unique pointers on the mgmt pipe
[sfrench/samba-autobuild/.git] / source4 / librpc / idl / mgmt.idl
1 #include "idl_types.h"
2
3 /*
4   dcerpc remote management interface
5 */
6
7 [
8   uuid("afa8bd80-7d8a-11c9-bef4-08002b102989"), 
9   version(1.0),
10   pointer_default(unique),
11   pointer_default_top(unique),
12   endpoint("ncalrpc:[EPMAPPER]", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]"),
13   helpstring("DCE/RPC Remote Management")
14
15 interface mgmt
16 {
17         typedef struct {
18                 dcerpc_syntax_id *id;
19         } dcerpc_syntax_id_p;
20
21         typedef struct {
22                 uint32              count;
23                 [size_is(count)] dcerpc_syntax_id_p if_id[*];
24         } rpc_if_id_vector_t;
25
26
27         /***********************/
28         /* Function 0x00       */
29         WERROR mgmt_inq_if_ids (
30                 [out]       rpc_if_id_vector_t      *if_id_vector
31                 );
32
33
34
35         /***********************/
36         /* Function 0x01       */
37
38
39         /* these are the array indexes in the statistics array */
40         const int MGMT_STATS_CALLS_IN       = 0;
41         const int MGMT_STATS_CALLS_OUT      = 1;
42         const int MGMT_STATS_PKTS_IN        = 2;
43         const int MGMT_STATS_PKTS_OUT       = 3;
44         const int MGMT_STATS_ARRAY_MAX_SIZE = 4;
45
46         typedef struct {
47                 uint32 count;
48                 [size_is(count)] uint32 statistics[*];
49         } mgmt_statistics;
50
51         WERROR mgmt_inq_stats (
52                 [in]        uint32             max_count,
53                 [in]        uint32             unknown,
54                 [out]       mgmt_statistics        statistics
55                 );
56
57
58         /***********************/
59         /* Function 0x02       */
60         boolean32 mgmt_is_server_listening (
61                 [out]       error_status_t          status
62                 );
63
64
65         /***********************/
66         /* Function 0x03       */
67         WERROR mgmt_stop_server_listening ();
68
69
70         /***********************/
71         /* Function 0x04       */
72         WERROR mgmt_inq_princ_name (
73                 [in]        uint32                  authn_proto,
74                 [in]        uint32                  princ_name_size,
75                 [out]       ascstr                  princ_name
76                 );
77 }