s4-repl: add a debug to make it easier to monitor replication
[Samba/aatanasov.git] / source4 / librpc / idl / irpc.idl
blob41787355a9b091b8277cdc8e1b1d59e06b34618b
1 #include "idl_types.h"
3 import "misc.idl", "security.idl", "nbt.idl";
5 /*
6 definitions for irpc primitives
7 */
8 [ uuid("e770c620-0b06-4b5e-8d87-a26e20f28340"),
9 version(1.0),
10 pointer_default(unique)
11 ] interface irpc
13 typedef bitmap {
14 IRPC_FLAG_REPLY = 0x0001
15 } irpc_flags;
17 typedef [public] struct {
18 GUID uuid;
19 uint32 if_version;
20 uint32 callnum;
21 uint32 callid;
22 irpc_flags flags;
23 NTSTATUS status;
24 } irpc_header;
26 /******************************************************
27 uptime call - supported by all messaging servers
28 *******************************************************/
29 void irpc_uptime([out,ref] NTTIME *start_time);
31 /******************************************************
32 management calls for the nbt server
33 ******************************************************/
34 typedef [v1_enum] enum {
35 NBTD_INFO_STATISTICS
36 } nbtd_info_level;
38 typedef struct {
39 hyper total_received;
40 hyper total_sent;
41 hyper query_count;
42 hyper register_count;
43 hyper release_count;
44 } nbtd_statistics;
46 typedef [switch_type(nbtd_info_level)] union {
47 [case(NBTD_INFO_STATISTICS)] nbtd_statistics *stats;
48 } nbtd_info;
50 void nbtd_information(
51 [in] nbtd_info_level level,
52 [out,switch_is(level)] nbtd_info info
55 /* Send a GetDCName from the privilaged port (owned by nbtd),
56 * and await a reply */
58 void nbtd_getdcname(
59 [in] astring domainname,
60 [in] astring ip_address,
61 [in] astring my_computername,
62 [in] astring my_accountname,
63 [in] uint32 account_control,
64 [in] dom_sid *domain_sid,
65 [out,unique] astring *dcname
68 typedef struct {
69 ipv4address addr;
70 } nbtd_proxy_wins_addr;
72 void nbtd_proxy_wins_challenge(
73 [in] nbt_name name,
74 [in,out] uint32 num_addrs,
75 [in,out] nbtd_proxy_wins_addr addrs[num_addrs]
78 void nbtd_proxy_wins_release_demand(
79 [in] nbt_name name,
80 [in] uint32 num_addrs,
81 [in] nbtd_proxy_wins_addr addrs[num_addrs]
85 Generic Kerberos package call (on the NETLOGON pipe, as a SamLogon)
87 The normal use for this call is to check the PAC signature in the KDC
89 The KDC has the routines to check this, so it is easier to
90 proxy the request over by IRPC than set up the environment
93 void kdc_check_generic_kerberos(
94 [in] DATA_BLOB generic_request,
95 [out] DATA_BLOB generic_reply
98 /******************************************************
99 management calls for the smb server
100 ******************************************************/
101 typedef [v1_enum] enum {
102 SMBSRV_INFO_SESSIONS,
103 SMBSRV_INFO_TCONS
104 } smbsrv_info_level;
106 typedef struct {
107 hyper vuid;
108 astring account_name;
109 astring domain_name;
110 astring client_ip;
111 NTTIME connect_time;
112 NTTIME auth_time;
113 NTTIME last_use_time;
114 } smbsrv_session_info;
116 typedef struct {
117 uint32 num_sessions;
118 [size_is(num_sessions)] smbsrv_session_info *sessions;
119 } smbsrv_sessions;
121 typedef struct {
122 uint32 tid;
123 astring share_name;
124 astring client_ip;
125 NTTIME connect_time;
126 NTTIME last_use_time;
127 } smbsrv_tcon_info;
129 typedef struct {
130 uint32 num_tcons;
131 [size_is(num_tcons)] smbsrv_tcon_info *tcons;
132 } smbsrv_tcons;
134 typedef [switch_type(smbsrv_info_level)] union {
135 [case(SMBSRV_INFO_SESSIONS)] smbsrv_sessions sessions;
136 [case(SMBSRV_INFO_TCONS)] smbsrv_tcons tcons;
137 } smbsrv_info;
139 void smbsrv_information(
140 [in] smbsrv_info_level level,
141 [out,switch_is(level)] smbsrv_info info