preparing for release of alpha.0.8
[Samba.git] / source / include / rpc_client_proto.h
blob140801c04758b2d9b11b16bcb98db1ab8c5dbdad
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 */
8 BOOL at_add_job(
9 char *srv_name, AT_JOB_INFO *info, char *command,
10 uint32 *jobid);
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,
20 void *id);
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],
56 DOM_CRED * cred);
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,
64 prs_struct * rdata);
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,
83 const char *domain,
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,
92 uint32 luid_low,
93 const char *general,
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,
97 uint32 luid_low,
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,
106 int lm_chal_len,
107 const char *nt_chal_resp,
108 int nt_chal_len,
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,
113 const char *domain,
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,
138 int num_names,
139 char **names,
140 DOM_SID ** sids, uint32 ** types, int *num_sids);
141 BOOL lsa_lookup_sids(POLICY_HND *hnd,
142 int num_sids,
143 DOM_SID ** sids,
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,
160 uint16 sec_chan,
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,
175 uint32 database_id,
176 uint32 *num_deltas,
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,
189 int max_send_pdu);
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,
193 int max_send_pdu);
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,
197 int max_send_pdu);
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,
205 uint16 * fnum);
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,
221 char *key_name,
222 uint32 access_mask,
223 POLICY_HND *reg_hnd);
224 BOOL reg_open_hkcr( struct cli_connection *con,
225 uint16 unknown_0, uint32 level,
226 POLICY_HND *hnd);
227 BOOL reg_open_hklm( struct cli_connection *con,
228 uint16 unknown_0, uint32 level,
229 POLICY_HND *hnd);
230 BOOL reg_open_hku( struct cli_connection *con,
231 uint16 unknown_0, uint32 level,
232 POLICY_HND *hnd);
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,
245 uint32 sec_info,
246 uint32 sec_buf_size, SEC_DESC *sec_buf);
247 BOOL reg_get_key_sec( POLICY_HND *hnd,
248 uint32 sec_info,
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,
255 POLICY_HND *key);
256 BOOL reg_enum_key( POLICY_HND *hnd,
257 int key_index, char *key_name,
258 uint32 *unk_1, uint32 *unk_2,
259 time_t *mod_time);
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,
264 fstring val_name,
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,
281 SAM_UNK_CTR *ctr);
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,
301 uint32 type,
302 SEC_DESC_BUF *buf);
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,
331 const DOM_SID *sid);
332 BOOL samr_open_domain( const POLICY_HND *connect_pol,
333 uint32 ace_perms,
334 const DOM_SID *sid,
335 POLICY_HND *domain_pol);
336 BOOL samr_query_lookup_domain( POLICY_HND *pol, const char *dom_name,
337 DOM_SID *dom_sid);
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,
343 uint32 *num_names,
344 char ***names,
345 uint32 **type);
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,
354 DOM_GID **gid);
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,
358 void* usr);
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,
364 uint32 *num_entries,
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,
370 uint32 level,
371 uint32 *count,
372 void ***printers);
373 uint32 spoolss_enum_jobs( const POLICY_HND *hnd,
374 uint32 firstjob,
375 uint32 numofjobs,
376 uint32 level,
377 uint32 *buf_size,
378 uint32 *count,
379 void ***jobs);
380 BOOL spoolss_open_printer_ex( const char *printername,
381 uint32 cbbuf, uint32 devmod, uint32 des_access,
382 const char *station, const char *username,
383 POLICY_HND *hnd);
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,
392 ENUM_HND *hnd);
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,
396 ENUM_HND *hnd);
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,
400 ENUM_HND *hnd);
401 BOOL srv_net_srv_share_enum( char *srv_name,
402 uint32 switch_value, SRV_SHARE_INFO_CTR *ctr,
403 uint32 preferred_len,
404 ENUM_HND *hnd);
405 BOOL srv_net_srv_share_get_info(const char *srv_name,
406 const char *share_name,
407 uint32 info_level);
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,
411 ENUM_HND *hnd);
412 BOOL srv_net_srv_get_info( char *srv_name, uint32 switch_value,
413 SRV_INFO_CTR *ctr);
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,
419 uint32 des_access,
420 POLICY_HND *hnd);
421 BOOL svc_open_service( POLICY_HND *scm_hnd,
422 const char *srv_name,
423 uint32 des_access,
424 POLICY_HND *hnd);
425 BOOL svc_enum_svcs( POLICY_HND *hnd,
426 uint32 services_type, uint32 services_state,
427 uint32 *buf_size, uint32 *resume_hnd,
428 uint32 *dos_error,
429 ENUM_SRVC_STATUS **svcs, uint32 *num_svcs);
430 BOOL svc_stop_service( POLICY_HND *hnd,
431 uint32 unknown);
432 BOOL svc_start_service( POLICY_HND *hnd,
433 uint32 argc,
434 char **argv);
435 BOOL svc_query_svc_cfg( POLICY_HND *hnd,
436 QUERY_SERVICE_CONFIG *cfg,
437 uint32 *buf_size);
438 BOOL svc_close(POLICY_HND *hnd);
439 BOOL svc_change_svc_cfg( POLICY_HND *hnd,
440 uint32 service_type, uint32 start_type,
441 uint32 unknown_0,
442 uint32 error_control,
443 char* bin_path_name, char* load_order_grp,
444 uint32 tag_id,
445 char* dependencies, char* service_start_name,
446 char* password,
447 char* disp_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],
496 uint16 sec_chan);
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,
515 const char *domain,
516 const DOM_SID *sid,
517 uint32 user_rid, uint16 info_level,
518 USER_INFO_FN(usr_inf));
519 uint32 sam_query_usergroups( const POLICY_HND *pol_dom,
520 const char *domain,
521 const DOM_SID *sid,
522 uint32 user_rid,
523 const char *user_name,
524 uint32 *num_groups,
525 DOM_GID **gid,
526 char ***name,
527 uint32 **type,
528 USER_MEM_FN(usr_mem));
529 void msrpc_sam_user( const POLICY_HND *pol_dom, const POLICY_HND *pol_blt,
530 const char* domain,
531 const DOM_SID *sid1,
532 const DOM_SID *blt_sid1,
533 uint32 user_rid, uint16 info_level,
534 char *user_name,
535 USER_FN(usr_fn),
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,
540 const char* domain,
541 const DOM_SID *sid,
542 char *user_name,
543 USER_FN(usr_fn),
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,
548 const char* domain,
549 const DOM_SID *sid1,
550 struct acct_info **sam,
551 uint32 *num_sam_entries,
552 USER_FN(usr_fn),
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,
557 const DOM_SID *sid1,
558 uint32 switch_value, SAM_UNK_CTR *ctr);
559 BOOL query_aliasinfo( const POLICY_HND *pol_dom,
560 const char *domain,
561 const DOM_SID *sid,
562 uint32 alias_rid,
563 ALIAS_INFO_FN(grp_inf));
564 BOOL sam_query_aliasmem(const char *srv_name,
565 const POLICY_HND *pol_dom,
566 uint32 alias_rid,
567 uint32 *num_names,
568 DOM_SID ***sids,
569 char ***name,
570 uint32 **type);
571 BOOL req_aliasmem_info(const char* srv_name,
572 const POLICY_HND *pol_dom,
573 const char *domain,
574 const DOM_SID *sid,
575 uint32 alias_rid,
576 const char *alias_name,
577 ALIAS_MEM_FN(als_mem));
578 BOOL sam_query_groupmem( const POLICY_HND *pol_dom,
579 uint32 group_rid,
580 uint32 *num_names,
581 uint32 **rid_mem,
582 char ***name,
583 uint32 **type);
584 BOOL query_groupinfo( const POLICY_HND *pol_dom,
585 const char *domain,
586 const DOM_SID *sid,
587 uint32 group_rid,
588 GROUP_INFO_FN(grp_inf));
589 BOOL req_groupmem_info( const POLICY_HND *pol_dom,
590 const char *domain,
591 const DOM_SID *sid,
592 uint32 group_rid,
593 const char *group_name,
594 GROUP_MEM_FN(grp_mem));
595 uint32 msrpc_sam_get_first_domain( const char* srv_name,
596 char *dom_name,
597 DOM_SID *dom_sid);
598 uint32 msrpc_sam_enum_domains( const char* srv_name,
599 struct acct_info **sam,
600 uint32 *num_sam_entries,
601 DOMAIN_FN(dom_fn),
602 DOMAIN_INFO_FN(dom_inf_fn));
603 uint32 msrpc_sam_enum_groups( const char* srv_name,
604 const char* domain,
605 const DOM_SID *sid1,
606 struct acct_info **sam,
607 uint32 *num_sam_entries,
608 GROUP_FN(grp_fn),
609 GROUP_INFO_FN(grp_inf_fn),
610 GROUP_MEM_FN(grp_mem_fn));
611 uint32 msrpc_sam_enum_aliases( const char* srv_name,
612 const char* domain,
613 const DOM_SID *sid1,
614 struct acct_info **sam,
615 uint32 *num_sam_entries,
616 ALIAS_FN(als_fn),
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,
622 uint32 *rid);
623 BOOL create_samr_domain_alias( POLICY_HND *pol_open_domain,
624 const char *acct_name, const char *acct_desc,
625 uint32 *rid);
626 BOOL create_samr_domain_group( POLICY_HND *pol_open_domain,
627 const char *acct_name, const char *acct_desc,
628 uint32 *rid);
629 BOOL get_samr_query_usergroups( const POLICY_HND *pol_open_domain,
630 uint32 user_rid,
631 uint32 *num_groups, DOM_GID **gid);
632 BOOL delete_samr_dom_group( POLICY_HND *pol_open_domain,
633 uint32 group_rid);
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,
640 uint32 alias_rid);
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,
646 uint32 info_level,
647 uint32 user_rid, void *usr);
648 BOOL set_samr_set_userinfo( const POLICY_HND *pol_open_domain,
649 uint32 info_level,
650 uint32 user_rid, void *usr);
651 BOOL get_samr_query_userinfo( const POLICY_HND *pol_open_domain,
652 uint32 info_level,
653 uint32 user_rid, SAM_USERINFO_CTR *ctr);
654 BOOL get_samr_query_groupinfo(
655 const POLICY_HND *pol_open_domain,
656 uint32 info_level,
657 uint32 group_rid, GROUP_INFO_CTR *ctr);
658 BOOL get_samr_query_aliasinfo(
659 const POLICY_HND *pol_open_domain,
660 uint32 info_level,
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,
665 uint32 *rid);
666 BOOL msrpc_sam_query_dispinfo(const char* srv_name, const char* domain,
667 DOM_SID *sid1,
668 uint16 switch_value,
669 uint32 *num_entries, SAM_DISPINFO_CTR *ctr,
670 DISP_FN(disp_fn));
671 BOOL msrpc_sam_ntchange_pwd(const char* srv_name,
672 const char* domain,
673 const char *ntuser,
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,
693 BOOL reuse);
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,
702 BOOL redir,
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_ */