1 #ifndef _RPC_CLIENT_PROTO_H_
2 #define _RPC_CLIENT_PROTO_H_
3 /* This file is automatically generated with "make proto". DO NOT EDIT */
6 /*The following definitions come from rpc_client/cli_atsvc.c */
9 char *srv_name
, AT_JOB_INFO
*info
, char *command
,
11 BOOL
at_del_job( char *srv_name
, uint32 min_jobid
, uint32 max_jobid
);
12 BOOL
at_enum_jobs( char *srv_name
, uint32
*num_jobs
,
13 AT_ENUM_INFO
*jobs
, char ***commands
);
14 BOOL
at_query_job(char *srv_name
,
15 uint32 jobid
, AT_JOB_INFO
*job
, fstring command
);
17 /*The following definitions come from rpc_client/cli_brs.c */
19 BOOL
brs_query_info( const char *srv_name
, uint32 switch_value
,
22 /*The following definitions come from rpc_client/cli_connect.c */
24 void init_connections(void);
25 void free_connections(void);
26 void cli_connection_free(struct cli_connection
*con
);
27 void cli_connection_unlink(struct cli_connection
*con
);
28 BOOL
cli_connection_init(const char *srv_name
, const char *pipe_name
,
29 struct cli_connection
**con
);
30 BOOL
cli_connection_init_auth(const char *srv_name
, const char *pipe_name
,
31 struct cli_connection
**con
,
32 cli_auth_fns
* auth
, void *auth_creds
);
33 BOOL
cli_connection_getsrv(const char *srv_name
, const char *pipe_name
,
34 struct cli_connection
**con
);
35 BOOL
cli_connection_get(const POLICY_HND
* pol
, struct cli_connection
**con
);
36 BOOL
cli_pol_link(POLICY_HND
* to
, const POLICY_HND
* from
);
37 BOOL
cli_get_usr_sesskey(const POLICY_HND
* pol
, uchar usr_sess_key
[16]);
38 BOOL
cli_set_con_usr_sesskey(struct cli_connection
*con
,
39 const uchar usr_sess_key
[16]);
40 const vuser_key
*cli_con_sec_ctx(struct cli_connection
*con
);
41 struct cli_auth_fns
*cli_conn_get_authfns(struct cli_connection
*con
);
42 void *cli_conn_get_auth_creds(struct cli_connection
*con
);
43 void *cli_conn_get_auth_info(struct cli_connection
*con
);
44 BOOL
cli_conn_set_auth_info(struct cli_connection
*con
, void *auth_info
);
45 struct ntdom_info
*cli_conn_get_ntinfo(struct cli_connection
*con
);
46 BOOL
cli_get_con_sesskey(struct cli_connection
*con
, uchar sess_key
[16]);
47 BOOL
cli_con_get_srvname(struct cli_connection
*con
, char *srv_name
);
48 BOOL
cli_get_sesskey(const POLICY_HND
* pol
, uchar sess_key
[16]);
49 BOOL
cli_get_sesskey_srv(const char *srv_name
, uchar sess_key
[16]);
50 void cli_con_gen_next_creds(struct cli_connection
*con
,
51 DOM_CRED
* new_clnt_cred
);
52 void cli_con_get_cli_cred(struct cli_connection
*con
, DOM_CRED
* clnt_cred
);
53 BOOL
cli_con_deal_with_creds(struct cli_connection
*con
,
54 DOM_CRED
* rcv_srv_cred
);
55 BOOL
cli_con_set_creds(const char *srv_name
, const uchar sess_key
[16],
57 BOOL
rpc_hnd_pipe_req(const POLICY_HND
* hnd
, uint8 op_num
,
58 prs_struct
* data
, prs_struct
* rdata
);
59 BOOL
rpc_con_pipe_req(struct cli_connection
*con
, uint8 op_num
,
60 prs_struct
* data
, prs_struct
* rdata
);
61 BOOL
rpc_api_write(struct cli_connection
*con
, prs_struct
* data
);
62 BOOL
rpc_api_rcv_pdu(struct cli_connection
*con
, prs_struct
* rdata
);
63 BOOL
rpc_api_send_rcv_pdu(struct cli_connection
*con
, prs_struct
* data
,
65 BOOL
set_policy_con(struct policy_cache
*cache
, POLICY_HND
* hnd
,
66 struct cli_connection
*con
,
67 void (*free_fn
) (struct cli_connection
*));
68 BOOL
get_policy_con(struct policy_cache
*cache
, const POLICY_HND
* hnd
,
69 struct cli_connection
**con
);
71 /*The following definitions come from rpc_client/cli_eventlog.c */
73 BOOL
event_open(const char* srv_name
, const char *log
, POLICY_HND
*hnd
);
74 BOOL
event_close( POLICY_HND
*hnd
);
75 BOOL
event_numofeventlogrec( POLICY_HND
*hnd
, uint32
*number
);
76 BOOL
event_readeventlog(POLICY_HND
*hnd
,
77 uint32 number
, uint32 flags
, uint32 offset
,
78 uint32
*number_of_bytes
, EVENTLOGRECORD
*ev
);
80 /*The following definitions come from rpc_client/cli_login.c */
82 uint32
cli_nt_setup_creds(const char *srv_name
,
84 const char *myhostname
,
85 const char *trust_acct
,
86 const uchar trust_pwd
[16], uint16 sec_chan
);
87 BOOL
cli_nt_srv_pwset(const char *srv_name
, const char *myhostname
,
88 const char *trust_acct
,
89 const uchar
* new_hashof_trust_pwd
, uint16 sec_chan
);
90 BOOL
cli_nt_login_general(const char *srv_name
, const char *myhostname
,
91 const char *domain
, const char *username
,
94 NET_ID_INFO_CTR
* ctr
, NET_USER_INFO_3
* user_info3
);
95 BOOL
cli_nt_login_interactive(const char *srv_name
, const char *myhostname
,
96 const char *domain
, const char *username
,
98 const uchar
* lm_owf_user_pwd
,
99 const uchar
* nt_owf_user_pwd
,
100 NET_ID_INFO_CTR
* ctr
,
101 NET_USER_INFO_3
* user_info3
);
102 BOOL
cli_nt_login_network(const char *srv_name
, const char *myhostname
,
103 const char *domain
, const char *username
,
104 uint32 luid_low
, const char lm_chal
[8],
105 const char *lm_chal_resp
,
107 const char *nt_chal_resp
,
109 NET_ID_INFO_CTR
* ctr
, NET_USER_INFO_3
* user_info3
);
110 BOOL
cli_nt_logoff(const char *srv_name
, const char *myhostname
,
111 NET_ID_INFO_CTR
* ctr
);
112 BOOL
net_sam_sync(const char *srv_name
,
114 const char *myhostname
,
115 const char *trust_acct
,
116 uchar trust_passwd
[16],
117 SAM_DELTA_HDR hdr_deltas
[MAX_SAM_DELTAS
],
118 SAM_DELTA_CTR deltas
[MAX_SAM_DELTAS
], uint32
* num_deltas
);
120 /*The following definitions come from rpc_client/cli_lsarpc.c */
122 BOOL
get_domain_sids(const char *domain
, DOM_SID
* sid3
, DOM_SID
* sid5
);
123 BOOL
get_trust_sid_and_domain(const char *myname
, char *server
,
124 DOM_SID
* sid
, char *domain
, size_t len
);
125 BOOL
lsa_open_policy(const char *system_name
, POLICY_HND
*hnd
,
126 BOOL sec_qos
, uint32 des_access
);
127 BOOL
lsa_open_policy2(const char *system_name
, POLICY_HND
*hnd
,
128 BOOL sec_qos
, uint32 des_access
);
129 BOOL
lsa_create_secret(const POLICY_HND
*hnd
,
130 const char *secret_name
,
131 uint32 des_access
, POLICY_HND
*hnd_secret
);
132 BOOL
lsa_open_secret(const POLICY_HND
*hnd
,
133 const char *secret_name
,
134 uint32 des_access
, POLICY_HND
*hnd_secret
);
135 uint32
lsa_set_secret(POLICY_HND
*hnd
, const STRING2
* secret
);
136 BOOL
lsa_query_secret(POLICY_HND
*hnd
, STRING2
* secret
, NTTIME
* last_update
);
137 BOOL
lsa_lookup_names(POLICY_HND
*hnd
,
140 DOM_SID
** sids
, uint32
** types
, int *num_sids
);
141 BOOL
lsa_lookup_sids(POLICY_HND
*hnd
,
144 char ***names
, uint32
** types
, int *num_names
);
145 BOOL
lsa_query_sec_obj(const POLICY_HND
*hnd
, uint32 sec_info
,
146 SEC_DESC_BUF
*sec_buf
);
147 BOOL
lsa_query_info_pol(POLICY_HND
*hnd
, uint16 info_class
,
148 fstring domain_name
, DOM_SID
* domain_sid
);
149 BOOL
lsa_enum_trust_dom(POLICY_HND
*hnd
, uint32
* enum_ctx
,
150 uint32
* num_doms
, char ***names
, DOM_SID
*** sids
);
151 BOOL
lsa_close(POLICY_HND
*hnd
);
153 /*The following definitions come from rpc_client/cli_netlogon.c */
155 void gen_next_creds( struct ntdom_info
*nt
, DOM_CRED
*new_clnt_cred
);
156 BOOL
cli_net_logon_ctrl2(const char* srv_name
, uint32 status_level
);
157 uint32
cli_net_auth2(const char *srv_name
,
158 const char *trust_acct
,
159 const char *acct_name
,
161 uint32
*neg_flags
, DOM_CHAL
*srv_chal
);
162 uint32
cli_net_req_chal( const char *srv_name
, const char* myhostname
,
163 DOM_CHAL
*clnt_chal
, DOM_CHAL
*srv_chal
);
164 BOOL
cli_net_srv_pwset(const char* srv_name
,
165 const char* myhostname
,
166 const char* trust_acct
,
167 const uint8 hashed_trust_pwd
[16],
168 uint16 sec_chan_type
);
169 uint32
cli_net_sam_logon(const char* srv_name
, const char* myhostname
,
170 NET_ID_INFO_CTR
*ctr
,
171 NET_USER_INFO_3
*user_info3
);
172 BOOL
cli_net_sam_logoff(const char* srv_name
, const char* myhostname
,
173 NET_ID_INFO_CTR
*ctr
);
174 BOOL
cli_net_sam_sync( const char* srv_name
, const char* myhostname
,
177 SAM_DELTA_HDR
*hdr_deltas
,
178 SAM_DELTA_CTR
*deltas
);
180 /*The following definitions come from rpc_client/cli_pipe.c */
182 BOOL
create_rpc_request(prs_struct
* rhdr
, uint16 vuid
,
183 uint8 op_num
, uint8 flags
, int data_len
, int auth_len
);
184 BOOL
rpc_api_pipe_req(struct cli_connection
*con
, uint8 opnum
,
185 prs_struct
* data
, prs_struct
* rdata
);
186 BOOL
cli_send_and_rcv_pdu_trans(struct cli_connection
*con
,
187 struct cli_state
*cli
, uint16 fnum
,
188 prs_struct
* data
, prs_struct
* rdata
,
190 BOOL
cli_send_and_rcv_pdu_rw(struct cli_connection
*con
,
191 struct cli_state
*cli
, uint16 fnum
,
192 prs_struct
* data
, prs_struct
* rdata
,
194 BOOL
cli_send_and_rcv_pdu(struct cli_connection
*con
,
195 struct cli_state
*cli
, uint16 fnum
,
196 prs_struct
* data
, prs_struct
* rdata
,
198 BOOL
cli_rcv_pdu(struct cli_connection
*con
,
199 struct cli_state
*cli
, uint16 fnum
, prs_struct
*rdata
);
200 BOOL
rpc_pipe_bind(struct cli_connection
*con
,
201 const char *pipe_name
,
202 RPC_IFACE
* abstract
, RPC_IFACE
* transfer
);
203 void cli_nt_set_ntlmssp_flgs(struct cli_state
*cli
, uint32 ntlmssp_flgs
);
204 BOOL
cli_nt_session_open(struct cli_state
*cli
, const char *pipe_name
,
206 void cli_nt_session_close(struct cli_state
*cli
, uint16 fnum
);
208 /*The following definitions come from rpc_client/cli_pipe_netsec.c */
211 /*The following definitions come from rpc_client/cli_pipe_noauth.c */
214 /*The following definitions come from rpc_client/cli_pipe_ntlmssp.c */
217 /*The following definitions come from rpc_client/cli_reg.c */
219 BOOL
reg_connect( const char* srv_name
,
220 const char *full_keyname
,
223 POLICY_HND
*reg_hnd
);
224 BOOL
reg_open_hkcr( struct cli_connection
*con
,
225 uint16 unknown_0
, uint32 level
,
227 BOOL
reg_open_hklm( struct cli_connection
*con
,
228 uint16 unknown_0
, uint32 level
,
230 BOOL
reg_open_hku( struct cli_connection
*con
,
231 uint16 unknown_0
, uint32 level
,
233 BOOL
reg_flush_key( POLICY_HND
*hnd
);
234 BOOL
reg_query_key( POLICY_HND
*hnd
,
235 char *key_class
, uint32
*class_len
,
236 uint32
*num_subkeys
, uint32
*max_subkeylen
,
237 uint32
*max_subkeysize
, uint32
*num_values
,
238 uint32
*max_valnamelen
, uint32
*max_valbufsize
,
239 uint32
*sec_desc
, NTTIME
*mod_time
);
240 BOOL
reg_unknown_1a( POLICY_HND
*hnd
, uint32
*unk
);
241 BOOL
reg_query_info( POLICY_HND
*hnd
,
242 const char* val_name
,
243 uint32
*type
, BUFFER2
*buffer
);
244 BOOL
reg_set_key_sec( POLICY_HND
*hnd
,
246 uint32 sec_buf_size
, SEC_DESC
*sec_buf
);
247 BOOL
reg_get_key_sec( POLICY_HND
*hnd
,
249 uint32
*sec_buf_size
, SEC_DESC_BUF
*sec_buf
);
250 BOOL
reg_delete_val( POLICY_HND
*hnd
, char *val_name
);
251 BOOL
reg_delete_key( POLICY_HND
*hnd
, char *key_name
);
252 BOOL
reg_create_key( POLICY_HND
*hnd
,
253 char *key_name
, char *key_class
,
254 SEC_ACCESS
*sam_access
,
256 BOOL
reg_enum_key( POLICY_HND
*hnd
,
257 int key_index
, char *key_name
,
258 uint32
*unk_1
, uint32
*unk_2
,
260 BOOL
reg_create_val( POLICY_HND
*hnd
,
261 char *val_name
, uint32 type
, BUFFER3
*data
);
262 BOOL
reg_enum_val( POLICY_HND
*hnd
,
263 int val_index
, int max_valnamelen
, int max_valbufsize
,
265 uint32
*val_type
, BUFFER2
*value
);
266 BOOL
reg_open_entry( POLICY_HND
*hnd
,
267 char *key_name
, uint32 unk_0
,
268 POLICY_HND
*key_hnd
);
269 BOOL
reg_close( POLICY_HND
*hnd
);
270 BOOL
reg_shutdown(const char *srv_name
,
271 const char *msg
, uint32 timeout
, uint16 flags
);
273 /*The following definitions come from rpc_client/cli_samr.c */
275 BOOL
samr_chgpasswd_user( struct cli_connection
*con
,
276 const char *srv_name
, const char *user_name
,
277 const char nt_newpass
[516], const uchar nt_oldhash
[16],
278 const char lm_newpass
[516], const uchar lm_oldhash
[16]);
279 BOOL
samr_get_dom_pwinfo(struct cli_connection
*con
, const char *srv_name
);
280 BOOL
samr_query_dom_info( POLICY_HND
*domain_pol
, uint16 switch_value
,
282 uint32
samr_enum_domains( POLICY_HND
*pol
,
283 uint32
*start_idx
, uint32 size
,
284 struct acct_info
**sam
,
285 uint32
*num_sam_domains
);
286 uint32
samr_enum_dom_groups( POLICY_HND
*pol
,
287 uint32
*start_idx
, uint32 size
,
288 struct acct_info
**sam
,
289 uint32
*num_sam_groups
);
290 uint32
samr_enum_dom_aliases( POLICY_HND
*pol
,
291 uint32
*start_idx
, uint32 size
,
292 struct acct_info
**sam
,
293 uint32
*num_sam_aliases
);
294 uint32
samr_enum_dom_users( POLICY_HND
*pol
, uint32
*start_idx
,
295 uint16 acb_mask
, uint16 unk_1
, uint32 size
,
296 struct acct_info
**sam
,
297 uint32
*num_sam_users
);
298 BOOL
samr_connect( const char *srv_name
, uint32 access_mask
,
299 POLICY_HND
*connect_pol
);
300 BOOL
samr_query_sec_obj( const POLICY_HND
*pol
,
303 BOOL
samr_open_user( const POLICY_HND
*pol
,
304 uint32 unk_0
, uint32 rid
,
305 POLICY_HND
*user_pol
);
306 BOOL
samr_open_alias( const POLICY_HND
*domain_pol
,
307 uint32 flags
, uint32 rid
,
308 POLICY_HND
*alias_pol
);
309 BOOL
samr_del_aliasmem( POLICY_HND
*alias_pol
, DOM_SID
*sid
);
310 BOOL
samr_add_aliasmem( POLICY_HND
*alias_pol
, DOM_SID
*sid
);
311 BOOL
samr_delete_dom_alias( POLICY_HND
*alias_pol
);
312 uint32
samr_create_dom_user( POLICY_HND
*domain_pol
, const char *acct_name
,
313 uint32 unk_0
, uint32 unk_1
,
314 POLICY_HND
*user_pol
, uint32
*rid
);
315 BOOL
samr_create_dom_alias( POLICY_HND
*domain_pol
, const char *acct_name
,
316 POLICY_HND
*alias_pol
, uint32
*rid
);
317 BOOL
samr_query_aliasinfo( POLICY_HND
*alias_pol
, uint16 switch_value
,
318 ALIAS_INFO_CTR
*ctr
);
319 BOOL
samr_set_aliasinfo( POLICY_HND
*alias_pol
, ALIAS_INFO_CTR
*ctr
);
320 BOOL
samr_open_group( const POLICY_HND
*domain_pol
,
321 uint32 flags
, uint32 rid
,
322 POLICY_HND
*group_pol
);
323 BOOL
samr_del_groupmem( POLICY_HND
*group_pol
, uint32 rid
);
324 BOOL
samr_add_groupmem( POLICY_HND
*group_pol
, uint32 rid
);
325 BOOL
samr_delete_dom_user( POLICY_HND
*user_pol
);
326 BOOL
samr_delete_dom_group( POLICY_HND
*group_pol
);
327 BOOL
samr_create_dom_group( POLICY_HND
*domain_pol
, const char *acct_name
,
328 POLICY_HND
*group_pol
, uint32
*rid
);
329 BOOL
samr_set_groupinfo( POLICY_HND
*group_pol
, GROUP_INFO_CTR
*ctr
);
330 BOOL
samr_unknown_2d( const POLICY_HND
*domain_pol
,
332 BOOL
samr_open_domain( const POLICY_HND
*connect_pol
,
335 POLICY_HND
*domain_pol
);
336 BOOL
samr_query_lookup_domain( POLICY_HND
*pol
, const char *dom_name
,
338 BOOL
samr_query_lookup_names(const POLICY_HND
*pol
, uint32 flags
,
339 uint32 num_names
, char **names
,
340 uint32
*num_rids
, uint32
**rids
, uint32
**types
);
341 BOOL
samr_query_lookup_rids( const POLICY_HND
*pol
, uint32 flags
,
342 uint32 num_rids
, const uint32
*rids
,
346 BOOL
samr_query_aliasmem( const POLICY_HND
*alias_pol
,
347 uint32
*num_mem
, DOM_SID2
*sid
);
348 BOOL
samr_query_useraliases( const POLICY_HND
*pol
,
349 uint32
*ptr_sid
, DOM_SID2
*sid
,
350 uint32
*num_aliases
, uint32
**rid
);
351 BOOL
samr_query_groupmem( POLICY_HND
*group_pol
,
352 uint32
*num_mem
, uint32
**rid
, uint32
**attr
);
353 BOOL
samr_query_usergroups( POLICY_HND
*pol
, uint32
*num_groups
,
355 BOOL
samr_query_groupinfo( POLICY_HND
*pol
,
356 uint16 switch_value
, GROUP_INFO_CTR
* ctr
);
357 BOOL
samr_set_userinfo2( POLICY_HND
*pol
, uint16 switch_value
,
359 BOOL
samr_set_userinfo( POLICY_HND
*pol
, uint16 switch_value
, void* usr
);
360 BOOL
samr_query_userinfo( POLICY_HND
*pol
, uint16 switch_value
,
361 SAM_USERINFO_CTR
*ctr
);
362 BOOL
samr_close( POLICY_HND
*hnd
);
363 BOOL
samr_query_dispinfo( POLICY_HND
*pol_domain
, uint16 level
,
365 SAM_DISPINFO_CTR
*ctr
);
367 /*The following definitions come from rpc_client/cli_spoolss.c */
369 BOOL
spoolss_enum_printers(uint32 flags
, const char *srv_name
,
373 uint32
spoolss_enum_jobs( const POLICY_HND
*hnd
,
380 BOOL
spoolss_open_printer_ex( const char *printername
,
381 uint32 cbbuf
, uint32 devmod
, uint32 des_access
,
382 const char *station
, const char *username
,
384 BOOL
spoolss_closeprinter(POLICY_HND
*hnd
);
386 /*The following definitions come from rpc_client/cli_srvsvc.c */
388 BOOL
srv_net_srv_tprt_enum(
389 const char *srv_name
,
390 uint32 switch_value
, SRV_TPRT_INFO_CTR
*ctr
,
391 uint32 preferred_len
,
393 BOOL
srv_net_srv_conn_enum( char *srv_name
, char *qual_name
,
394 uint32 switch_value
, SRV_CONN_INFO_CTR
*ctr
,
395 uint32 preferred_len
,
397 BOOL
srv_net_srv_sess_enum( char *srv_name
, char *qual_name
, char *user_name
,
398 uint32 switch_value
, SRV_SESS_INFO_CTR
*ctr
,
399 uint32 preferred_len
,
401 BOOL
srv_net_srv_share_enum( char *srv_name
,
402 uint32 switch_value
, SRV_SHARE_INFO_CTR
*ctr
,
403 uint32 preferred_len
,
405 BOOL
srv_net_srv_share_get_info(const char *srv_name
,
406 const char *share_name
,
408 BOOL
srv_net_srv_file_enum( char *srv_name
, char *qual_name
, uint32 file_id
,
409 uint32 switch_value
, SRV_FILE_INFO_CTR
*ctr
,
410 uint32 preferred_len
,
412 BOOL
srv_net_srv_get_info( char *srv_name
, uint32 switch_value
,
414 BOOL
srv_net_remote_tod( char *srv_name
, TIME_OF_DAY_INFO
*tod
);
416 /*The following definitions come from rpc_client/cli_svcctl.c */
418 BOOL
svc_open_sc_man( const char *srv_name
, char *db_name
,
421 BOOL
svc_open_service( POLICY_HND
*scm_hnd
,
422 const char *srv_name
,
425 BOOL
svc_enum_svcs( POLICY_HND
*hnd
,
426 uint32 services_type
, uint32 services_state
,
427 uint32
*buf_size
, uint32
*resume_hnd
,
429 ENUM_SRVC_STATUS
**svcs
, uint32
*num_svcs
);
430 BOOL
svc_stop_service( POLICY_HND
*hnd
,
432 BOOL
svc_start_service( POLICY_HND
*hnd
,
435 BOOL
svc_query_svc_cfg( POLICY_HND
*hnd
,
436 QUERY_SERVICE_CONFIG
*cfg
,
438 BOOL
svc_close(POLICY_HND
*hnd
);
439 BOOL
svc_change_svc_cfg( POLICY_HND
*hnd
,
440 uint32 service_type
, uint32 start_type
,
442 uint32 error_control
,
443 char* bin_path_name
, char* load_order_grp
,
445 char* dependencies
, char* service_start_name
,
449 /*The following definitions come from rpc_client/cli_use.c */
451 void init_cli_use(void);
452 void free_cli_use(void);
453 struct cli_state
*cli_net_use_add(const char *srv_name
,
454 const struct ntuser_creds
*usr_creds
,
455 BOOL redir
, BOOL reuse
, BOOL
*is_new
);
456 BOOL
cli_net_use_del(const char *srv_name
,
457 const struct ntuser_creds
*usr_creds
,
458 BOOL force_close
, BOOL
*connection_closed
);
459 void cli_net_use_enum(uint32
* num_cons
, struct use_info
***use
);
460 void cli_use_wait_keyboard(void);
462 /*The following definitions come from rpc_client/cli_wkssvc.c */
464 BOOL
wks_query_info( char *srv_name
, uint32 switch_value
,
465 WKS_INFO_100
*wks100
);
467 /*The following definitions come from rpc_client/msrpc_lsarpc.c */
469 uint32
lookup_lsa_names(const char *srv_name
,
470 uint32 num_names
, char **names
,
471 uint32
* num_sids
, DOM_SID
** sids
, uint32
** types
);
472 uint32
lookup_lsa_name(const char *domain
,
473 char *name
, DOM_SID
* sid
, uint32
* type
);
474 uint32
lookup_lsa_sid(const char *domain
,
475 DOM_SID
* sid
, char *name
, uint32
* type
);
476 BOOL
msrpc_lsa_create_secret(const char *srv_name
, const char *secret_name
,
477 uint32 access_rights
);
478 void secret_store_data(STRING2
* secret
, const char* data
, int len
);
479 void secret_store_data2(STRING2
* secret
, const char* data
, int len
);
480 BOOL
msrpc_lsa_set_secret(const char *srv_name
,
481 const char *secret_name
, const char *data
, int len
);
482 BOOL
msrpc_lsa_query_secret(const char *srv_name
,
483 const char *secret_name
,
484 STRING2
* secret
, NTTIME
* last_update
);
485 BOOL
secret_get_data(const STRING2
*secret
, uchar
*data
, uint32
*len
);
486 BOOL
msrpc_lsa_query_trust_passwd(const char *srv_name
,
487 const char *secret_name
,
488 uchar trust_passwd
[16],
489 NTTIME
* last_update
);
491 /*The following definitions come from rpc_client/msrpc_netlogon.c */
493 BOOL
modify_trust_password(const char *domain
, const char *srv_name
,
494 const uchar orig_trust_passwd_hash
[16],
495 const uchar new_trust_passwd_hash
[16],
497 uint32
check_domain_security(const char *orig_user
, const char *domain
,
498 const uchar
* challenge
,
499 const char *smb_apasswd
, int smb_apasslen
,
500 const char *smb_ntpasswd
, int smb_ntpasslen
,
501 NET_USER_INFO_3
* info3
);
503 /*The following definitions come from rpc_client/msrpc_samr.c */
505 uint32
lookup_sam_domainname(const char *srv_name
,
506 const char *domain
, DOM_SID
*sid
);
507 uint32
lookup_sam_names(const char *domain
, const DOM_SID
*sid
,
508 uint32 num_names
, char **names
,
509 uint32
*num_rids
, uint32
**rids
, uint32
**types
);
510 uint32
lookup_sam_name(const char *domain
, DOM_SID
*sid
,
511 char *name
, uint32
*rid
, uint32
*type
);
512 uint32
lookup_sam_rid(const char *domain
, DOM_SID
*sid
,
513 uint32 rid
, char *name
, uint32
*type
);
514 BOOL
req_user_info( const POLICY_HND
*pol_dom
,
517 uint32 user_rid
, uint16 info_level
,
518 USER_INFO_FN(usr_inf
));
519 uint32
sam_query_usergroups( const POLICY_HND
*pol_dom
,
523 const char *user_name
,
528 USER_MEM_FN(usr_mem
));
529 void msrpc_sam_user( const POLICY_HND
*pol_dom
, const POLICY_HND
*pol_blt
,
532 const DOM_SID
*blt_sid1
,
533 uint32 user_rid
, uint16 info_level
,
536 USER_INFO_FN(usr_inf_fn
),
537 USER_MEM_FN(usr_grp_fn
),
538 USER_MEM_FN(usr_als_fn
));
539 BOOL
msrpc_sam_query_user( const char* srv_name
,
544 USER_INFO_FN(usr_inf_fn
),
545 USER_MEM_FN(usr_grp_fn
),
546 USER_MEM_FN(usr_als_fn
));
547 int msrpc_sam_enum_users( const char* srv_name
,
550 struct acct_info
**sam
,
551 uint32
*num_sam_entries
,
553 USER_INFO_FN(usr_inf_fn
),
554 USER_MEM_FN(usr_grp_fn
),
555 USER_MEM_FN(usr_als_fn
));
556 BOOL
sam_query_dominfo(const char* srv_name
,
558 uint32 switch_value
, SAM_UNK_CTR
*ctr
);
559 BOOL
query_aliasinfo( const POLICY_HND
*pol_dom
,
563 ALIAS_INFO_FN(grp_inf
));
564 BOOL
sam_query_aliasmem(const char *srv_name
,
565 const POLICY_HND
*pol_dom
,
571 BOOL
req_aliasmem_info(const char* srv_name
,
572 const POLICY_HND
*pol_dom
,
576 const char *alias_name
,
577 ALIAS_MEM_FN(als_mem
));
578 BOOL
sam_query_groupmem( const POLICY_HND
*pol_dom
,
584 BOOL
query_groupinfo( const POLICY_HND
*pol_dom
,
588 GROUP_INFO_FN(grp_inf
));
589 BOOL
req_groupmem_info( const POLICY_HND
*pol_dom
,
593 const char *group_name
,
594 GROUP_MEM_FN(grp_mem
));
595 uint32
msrpc_sam_get_first_domain( const char* srv_name
,
598 uint32
msrpc_sam_enum_domains( const char* srv_name
,
599 struct acct_info
**sam
,
600 uint32
*num_sam_entries
,
602 DOMAIN_INFO_FN(dom_inf_fn
));
603 uint32
msrpc_sam_enum_groups( const char* srv_name
,
606 struct acct_info
**sam
,
607 uint32
*num_sam_entries
,
609 GROUP_INFO_FN(grp_inf_fn
),
610 GROUP_MEM_FN(grp_mem_fn
));
611 uint32
msrpc_sam_enum_aliases( const char* srv_name
,
614 struct acct_info
**sam
,
615 uint32
*num_sam_entries
,
617 ALIAS_INFO_FN(als_inf_fn
),
618 ALIAS_MEM_FN(als_mem_fn
));
619 BOOL
create_samr_domain_user( POLICY_HND
*pol_dom
,
620 char *acct_name
, uint16 acb_info
,
621 const char* password
, int plen
,
623 BOOL
create_samr_domain_alias( POLICY_HND
*pol_open_domain
,
624 const char *acct_name
, const char *acct_desc
,
626 BOOL
create_samr_domain_group( POLICY_HND
*pol_open_domain
,
627 const char *acct_name
, const char *acct_desc
,
629 BOOL
get_samr_query_usergroups( const POLICY_HND
*pol_open_domain
,
631 uint32
*num_groups
, DOM_GID
**gid
);
632 BOOL
delete_samr_dom_group( POLICY_HND
*pol_open_domain
,
634 BOOL
get_samr_query_groupmem(
635 const POLICY_HND
*pol_open_domain
,
636 uint32 group_rid
, uint32
*num_mem
,
637 uint32
**rid
, uint32
**attr
);
638 BOOL
delete_samr_dom_alias(
639 POLICY_HND
*pol_open_domain
,
641 BOOL
get_samr_query_aliasmem(
642 const POLICY_HND
*pol_open_domain
,
643 uint32 alias_rid
, uint32
*num_mem
, DOM_SID2
*sid
);
644 BOOL
set_samr_set_userinfo2(
645 POLICY_HND
*pol_open_domain
,
647 uint32 user_rid
, void *usr
);
648 BOOL
set_samr_set_userinfo( const POLICY_HND
*pol_open_domain
,
650 uint32 user_rid
, void *usr
);
651 BOOL
get_samr_query_userinfo( const POLICY_HND
*pol_open_domain
,
653 uint32 user_rid
, SAM_USERINFO_CTR
*ctr
);
654 BOOL
get_samr_query_groupinfo(
655 const POLICY_HND
*pol_open_domain
,
657 uint32 group_rid
, GROUP_INFO_CTR
*ctr
);
658 BOOL
get_samr_query_aliasinfo(
659 const POLICY_HND
*pol_open_domain
,
661 uint32 alias_rid
, ALIAS_INFO_CTR
*ctr
);
662 BOOL
msrpc_sam_create_dom_user(const char* srv_name
, DOM_SID
*sid1
,
663 char *acct_name
, uint16 acb_info
,
664 const char *password
, int plen
,
666 BOOL
msrpc_sam_query_dispinfo(const char* srv_name
, const char* domain
,
669 uint32
*num_entries
, SAM_DISPINFO_CTR
*ctr
,
671 BOOL
msrpc_sam_ntchange_pwd(const char* srv_name
,
674 const uchar lm_oldhash
[16],
675 const uchar nt_oldhash
[16],
676 const char* new_passwd
);
677 BOOL
msrpc_sam_ntpasswd_set(const char* srv_name
, const char *user
,
678 struct ntuser_creds
*samr_creds
,
679 const uchar lm_newpass
[516],
680 const uchar lm_hshhash
[16],
681 const uchar nt_newpass
[516],
682 const uchar nt_hshhash
[16]);
683 BOOL
msrpc_sam_query_userinfo(const char* srv_name
, const DOM_SID
*sid
,
684 const char *user_name
, uint16 info_level
,
685 SAM_USERINFO_CTR
*ctr
);
687 /*The following definitions come from rpc_client/ncacn_np_use.c */
689 BOOL
ncacn_np_establish_connection(struct ncacn_np
*cli
,
690 const char *srv_name
,
691 const struct ntuser_creds
*ntc
,
692 const char *pipe_name
, BOOL redir
,
694 void init_ncacn_np_use(void);
695 void free_ncacn_np_use(void);
696 struct ncacn_np
*ncacn_np_initialise(struct ncacn_np
*msrpc
,
697 const vuser_key
* key
);
698 struct ncacn_np
*ncacn_np_use_add(const char *pipe_name
,
699 const vuser_key
* key
,
700 const char *srv_name
,
701 const struct ntuser_creds
*ntc
,
703 BOOL reuse
, BOOL
*is_new_connection
);
704 BOOL
ncacn_np_use_del(const char *pipe_name
,
705 const vuser_key
* key
,
706 BOOL force_close
, BOOL
*connection_closed
);
707 void ncacn_np_use_enum(uint32
* num_cons
, struct use_info
***use
);
709 /*The following definitions come from rpc_client/ncalrpc_l_use.c */
711 void init_ncalrpc_use(void);
712 void free_ncalrpc_use(void);
713 struct msrpc_local
*ncalrpc_l_use_add(const char *pipe_name
,
714 const vuser_key
* key
,
715 BOOL redir
, BOOL reuse
, BOOL
*is_new
);
716 BOOL
ncalrpc_l_use_del(const char *pipe_name
,
717 const vuser_key
* key
,
718 BOOL force_close
, BOOL
*connection_closed
);
719 void ncalrpc_l_use_enum(uint32
* num_cons
, struct use_info
***use
);
720 void ncalrpc_use_wait_keyboard(void);
721 #endif /* _RPC_CLIENT_PROTO_H_ */