3 import
"misc.idl", "security.idl", "nbt.idl", "netlogon.idl";
6 definitions for irpc primitives
8 [ uuid("e770c620-0b06-4b5e-8d87-a26e20f28340"),
10 pointer_default(unique)
14 IRPC_FLAG_REPLY
= 0x0001
18 security_token
*token
;
21 typedef [public] struct {
28 [subcontext
(4)] irpc_creds creds
;
29 [flag
(NDR_ALIGN8
)] DATA_BLOB _pad
;
32 /******************************************************
33 uptime call - supported by all messaging servers
34 *******************************************************/
35 void irpc_uptime
([out,ref] NTTIME
*start_time
);
37 /******************************************************
38 management calls for the nbt server
39 ******************************************************/
40 typedef [v1_enum] enum {
52 typedef [switch_type(nbtd_info_level
)] union {
53 [case(NBTD_INFO_STATISTICS
)] nbtd_statistics
*stats
;
56 void nbtd_information
(
57 [in] nbtd_info_level level
,
58 [out,switch_is(level
)] nbtd_info info
61 /* Send a GetDCName from the privileged port (owned by nbtd),
62 * and await a reply */
65 [in] astring domainname
,
66 [in] astring ip_address
,
67 [in] astring my_computername
,
68 [in] astring my_accountname
,
69 [in] uint32 account_control
,
70 [in] dom_sid
*domain_sid
,
71 [out,unique] astring
*dcname
76 } nbtd_proxy_wins_addr
;
78 void nbtd_proxy_wins_challenge
(
80 [in,out] uint32 num_addrs
,
81 [in,out] nbtd_proxy_wins_addr addrs
[num_addrs
]
84 void nbtd_proxy_wins_release_demand
(
86 [in] uint32 num_addrs
,
87 [in] nbtd_proxy_wins_addr addrs
[num_addrs
]
91 Generic Kerberos package call (on the NETLOGON pipe, as a SamLogon)
93 The normal use for this call is to check the PAC signature in the KDC
95 The KDC has the routines to check this, so it is easier to
96 proxy the request over by IRPC than set up the environment
99 void kdc_check_generic_kerberos
(
100 [in] DATA_BLOB generic_request
,
101 [out] DATA_BLOB generic_reply
104 /******************************************************
105 management calls for the smb server
106 ******************************************************/
107 typedef [v1_enum] enum {
108 SMBSRV_INFO_SESSIONS
,
114 astring account_name
;
119 NTTIME last_use_time
;
120 } smbsrv_session_info
;
124 [size_is(num_sessions
)] smbsrv_session_info
*sessions
;
132 NTTIME last_use_time
;
137 [size_is(num_tcons
)] smbsrv_tcon_info
*tcons
;
140 typedef [switch_type(smbsrv_info_level
)] union {
141 [case(SMBSRV_INFO_SESSIONS
)] smbsrv_sessions sessions
;
142 [case(SMBSRV_INFO_TCONS
)] smbsrv_tcons tcons
;
145 void smbsrv_information
(
146 [in] smbsrv_info_level level
,
147 [out,switch_is(level
)] smbsrv_info info
151 called when samba should shutdown
153 void samba_terminate
(
157 /******************************************************
158 management calls for the drepl server
159 ******************************************************/
161 * Force dreplsrv to fefresh internal cache.
162 * @param partition_dn Partition to refresh cacheh for.
163 * If empy/NULL, refresh all partitions.
165 WERROR dreplsrv_refresh
();
168 called when role transfer is requested via LDAP
170 typedef [v1_enum] enum {
173 DREPL_INFRASTRUCTURE_MASTER
,
178 WERROR drepl_takeFSMORole
(
179 [in] drepl_role_master role
183 * message to tell the drepl server to initiate a REPL_SECRET
184 * replication of a users secrets
186 void drepl_trigger_repl_secret
(
191 message to do RODC DNS updates via the dnsupdate task
193 NTSTATUS dnsupdate_RODC
(
194 [in,unique] dom_sid
*dom_sid
,
195 [in,unique] [string,charset
(UTF16
)] uint16
*site_name
,
197 [in,out,ref] NL_DNS_NAME_INFO_ARRAY
*dns_names