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 lib/util_list.c */
8 BOOL
copy_policy_hnd (POLICY_HND
*dest
, const POLICY_HND
*src
);
9 BOOL
compare_rpc_hnd_node(const RPC_HND_NODE
*x
,
10 const RPC_HND_NODE
*y
);
11 BOOL
RpcHndList_set_connection(const POLICY_HND
*hnd
,
12 struct cli_connection
*con
);
13 BOOL
RpcHndList_del_connection(const POLICY_HND
*hnd
);
14 struct cli_connection
* RpcHndList_get_connection(const POLICY_HND
*hnd
);
16 /*The following definitions come from rpc_client/cli_connect.c */
18 void init_connections(void);
19 void free_connections(void);
20 void cli_connection_free(struct cli_connection
*con
);
21 void cli_connection_unlink(struct cli_connection
*con
);
22 BOOL
cli_connection_init(const char *srv_name
, char *pipe_name
,
23 struct cli_connection
**con
);
24 BOOL
cli_connection_init_auth(const char *srv_name
, char *pipe_name
,
25 struct cli_connection
**con
,
26 cli_auth_fns
* auth
, void *auth_creds
);
27 struct _cli_auth_fns
*cli_conn_get_authfns(struct cli_connection
*con
);
28 void *cli_conn_get_auth_creds(struct cli_connection
*con
);
29 BOOL
rpc_hnd_pipe_req(const POLICY_HND
* hnd
, uint8 op_num
,
30 prs_struct
* data
, prs_struct
* rdata
);
31 BOOL
rpc_con_pipe_req(struct cli_connection
*con
, uint8 op_num
,
32 prs_struct
* data
, prs_struct
* rdata
);
33 BOOL
rpc_con_ok(struct cli_connection
*con
);
35 /*The following definitions come from rpc_client/cli_login.c */
37 BOOL
cli_nt_setup_creds(struct cli_state
*cli
, unsigned char mach_pwd
[16]);
38 BOOL
cli_nt_srv_pwset(struct cli_state
*cli
, unsigned char *new_hashof_mach_pwd
);
39 BOOL
cli_nt_login_interactive(struct cli_state
*cli
, char *domain
, char *username
,
40 uint32 smb_userid_low
, char *password
,
41 NET_ID_INFO_CTR
*ctr
, NET_USER_INFO_3
*user_info3
);
42 BOOL
cli_nt_login_network(struct cli_state
*cli
, char *domain
, char *username
,
43 uint32 smb_userid_low
, char lm_chal
[8],
44 char *lm_chal_resp
, char *nt_chal_resp
,
45 NET_ID_INFO_CTR
*ctr
, NET_USER_INFO_3
*user_info3
);
46 BOOL
cli_nt_logoff(struct cli_state
*cli
, NET_ID_INFO_CTR
*ctr
);
48 /*The following definitions come from rpc_client/cli_lsarpc.c */
50 BOOL
do_lsa_open_policy(struct cli_state
*cli
,
51 char *system_name
, POLICY_HND
*hnd
,
53 BOOL
do_lsa_query_info_pol(struct cli_state
*cli
,
54 POLICY_HND
*hnd
, uint16 info_class
,
55 fstring domain_name
, DOM_SID
*domain_sid
);
56 BOOL
do_lsa_close(struct cli_state
*cli
, POLICY_HND
*hnd
);
57 BOOL
cli_lsa_get_domain_sid(struct cli_state
*cli
, char *server
);
58 uint32
lsa_open_policy(const char *system_name
, POLICY_HND
*hnd
,
59 BOOL sec_qos
, uint32 des_access
);
60 uint32
lsa_close(POLICY_HND
*hnd
);
61 uint32
lsa_lookup_sids(POLICY_HND
*hnd
, int num_sids
, DOM_SID
*sids
,
62 char ***names
, uint32
**types
, int *num_names
);
63 uint32
lsa_lookup_names(POLICY_HND
*hnd
, int num_names
, char **names
,
64 DOM_SID
**sids
, uint32
**types
, int *num_sids
);
66 /*The following definitions come from rpc_client/cli_netlogon.c */
68 BOOL
cli_net_logon_ctrl2(struct cli_state
*cli
, uint32 status_level
);
69 BOOL
cli_net_auth2(struct cli_state
*cli
, uint16 sec_chan
,
70 uint32 neg_flags
, DOM_CHAL
*srv_chal
);
71 BOOL
cli_net_req_chal(struct cli_state
*cli
, DOM_CHAL
*clnt_chal
, DOM_CHAL
*srv_chal
);
72 BOOL
cli_net_srv_pwset(struct cli_state
*cli
, uint8 hashed_mach_pwd
[16]);
73 BOOL
cli_net_sam_logon(struct cli_state
*cli
, NET_ID_INFO_CTR
*ctr
, NET_USER_INFO_3
*user_info3
);
74 BOOL
cli_net_sam_logoff(struct cli_state
*cli
, NET_ID_INFO_CTR
*ctr
);
75 BOOL
change_trust_account_password( char *domain
, char *remote_machine_list
);
77 /*The following definitions come from rpc_client/cli_pipe.c */
79 BOOL
rpc_api_pipe_req(struct cli_state
*cli
, uint8 op_num
,
80 prs_struct
*data
, prs_struct
*rdata
);
81 BOOL
rpc_pipe_bind(struct cli_state
*cli
, char *pipe_name
, char *my_name
);
82 void cli_nt_set_ntlmssp_flgs(struct cli_state
*cli
, uint32 ntlmssp_flgs
);
83 BOOL
cli_nt_session_open(struct cli_state
*cli
, char *pipe_name
);
84 void cli_nt_session_close(struct cli_state
*cli
);
86 /*The following definitions come from rpc_client/cli_reg.c */
88 BOOL
do_reg_connect(struct cli_state
*cli
, char *full_keyname
, char *key_name
,
90 BOOL
do_reg_open_hklm(struct cli_state
*cli
, uint16 unknown_0
, uint32 level
,
92 BOOL
do_reg_open_hku(struct cli_state
*cli
, uint16 unknown_0
, uint32 level
,
94 BOOL
do_reg_flush_key(struct cli_state
*cli
, POLICY_HND
*hnd
);
95 BOOL
do_reg_query_key(struct cli_state
*cli
, POLICY_HND
*hnd
,
96 char *class, uint32
*class_len
,
97 uint32
*num_subkeys
, uint32
*max_subkeylen
,
98 uint32
*max_subkeysize
, uint32
*num_values
,
99 uint32
*max_valnamelen
, uint32
*max_valbufsize
,
100 uint32
*sec_desc
, NTTIME
*mod_time
);
101 BOOL
do_reg_unknown_1a(struct cli_state
*cli
, POLICY_HND
*hnd
, uint32
*unk
);
102 BOOL
do_reg_query_info(struct cli_state
*cli
, POLICY_HND
*hnd
,
103 char *key_value
, uint32
* key_type
);
104 BOOL
do_reg_set_key_sec(struct cli_state
*cli
, POLICY_HND
*hnd
, SEC_DESC_BUF
*sec_desc_buf
);
105 BOOL
do_reg_get_key_sec(struct cli_state
*cli
, POLICY_HND
*hnd
, uint32
*sec_buf_size
, SEC_DESC_BUF
**ppsec_desc_buf
);
106 BOOL
do_reg_delete_val(struct cli_state
*cli
, POLICY_HND
*hnd
, char *val_name
);
107 BOOL
do_reg_delete_key(struct cli_state
*cli
, POLICY_HND
*hnd
, char *key_name
);
108 BOOL
do_reg_create_key(struct cli_state
*cli
, POLICY_HND
*hnd
,
109 char *key_name
, char *key_class
,
110 SEC_ACCESS
*sam_access
,
112 BOOL
do_reg_enum_key(struct cli_state
*cli
, POLICY_HND
*hnd
,
113 int key_index
, char *key_name
,
114 uint32
*unk_1
, uint32
*unk_2
,
116 BOOL
do_reg_create_val(struct cli_state
*cli
, POLICY_HND
*hnd
,
117 char *val_name
, uint32 type
, BUFFER3
*data
);
118 BOOL
do_reg_enum_val(struct cli_state
*cli
, POLICY_HND
*hnd
,
119 int val_index
, int max_valnamelen
, int max_valbufsize
,
121 uint32
*val_type
, BUFFER2
*value
);
122 BOOL
do_reg_open_entry(struct cli_state
*cli
, POLICY_HND
*hnd
,
123 char *key_name
, uint32 unk_0
,
124 POLICY_HND
*key_hnd
);
125 BOOL
do_reg_close(struct cli_state
*cli
, POLICY_HND
*hnd
);
127 /*The following definitions come from rpc_client/cli_samr.c */
129 BOOL
get_samr_query_usergroups(struct cli_state
*cli
,
130 POLICY_HND
*pol_open_domain
, uint32 user_rid
,
131 uint32
*num_groups
, DOM_GID
*gid
);
132 BOOL
get_samr_query_userinfo(struct cli_state
*cli
,
133 POLICY_HND
*pol_open_domain
,
135 uint32 user_rid
, SAM_USER_INFO_21
*usr
);
136 BOOL
do_samr_chgpasswd_user(struct cli_state
*cli
,
137 char *srv_name
, char *user_name
,
138 char nt_newpass
[516], uchar nt_oldhash
[16],
139 char lm_newpass
[516], uchar lm_oldhash
[16]);
140 BOOL
do_samr_unknown_38(struct cli_state
*cli
, char *srv_name
);
141 BOOL
do_samr_query_dom_info(struct cli_state
*cli
,
142 POLICY_HND
*domain_pol
, uint16 switch_value
);
143 BOOL
do_samr_enum_dom_users(struct cli_state
*cli
,
144 POLICY_HND
*pol
, uint16 num_entries
, uint16 unk_0
,
145 uint16 acb_mask
, uint16 unk_1
, uint32 size
,
146 struct acct_info
**sam
,
148 BOOL
do_samr_connect(struct cli_state
*cli
,
149 char *srv_name
, uint32 unknown_0
,
150 POLICY_HND
*connect_pol
);
151 BOOL
do_samr_open_user(struct cli_state
*cli
,
152 POLICY_HND
*pol
, uint32 unk_0
, uint32 rid
,
153 POLICY_HND
*user_pol
);
154 BOOL
do_samr_open_domain(struct cli_state
*cli
,
155 POLICY_HND
*connect_pol
, uint32 rid
, DOM_SID
*sid
,
156 POLICY_HND
*domain_pol
);
157 BOOL
do_samr_query_unknown_12(struct cli_state
*cli
,
158 POLICY_HND
*pol
, uint32 rid
, uint32 num_gids
, uint32
*gids
,
160 fstring als_names
[MAX_LOOKUP_SIDS
],
161 uint32 num_als_users
[MAX_LOOKUP_SIDS
]);
162 BOOL
do_samr_query_usergroups(struct cli_state
*cli
,
163 POLICY_HND
*pol
, uint32
*num_groups
, DOM_GID
*gid
);
164 BOOL
do_samr_query_userinfo(struct cli_state
*cli
,
165 POLICY_HND
*pol
, uint16 switch_value
, void* usr
);
166 BOOL
do_samr_close(struct cli_state
*cli
, POLICY_HND
*hnd
);
168 /*The following definitions come from rpc_client/cli_spoolss_notify.c */
170 BOOL
spoolss_disconnect_from_client( struct cli_state
*cli
);
171 BOOL
spoolss_connect_to_client( struct cli_state
*cli
, char *remote_machine
);
172 BOOL
cli_spoolss_reply_open_printer(struct cli_state
*cli
, char *printer
, uint32 localprinter
, uint32 type
, uint32
*status
, POLICY_HND
*handle
);
173 BOOL
cli_spoolss_reply_rrpcn(struct cli_state
*cli
, POLICY_HND
*handle
,
174 uint32 change_low
, uint32 change_high
, uint32
*status
);
175 BOOL
cli_spoolss_reply_close_printer(struct cli_state
*cli
, POLICY_HND
*handle
, uint32
*status
);
177 /*The following definitions come from rpc_client/cli_srvsvc.c */
179 BOOL
do_srv_net_srv_conn_enum(struct cli_state
*cli
,
180 char *server_name
, char *qual_name
,
181 uint32 switch_value
, SRV_CONN_INFO_CTR
*ctr
,
182 uint32 preferred_len
,
184 BOOL
do_srv_net_srv_sess_enum(struct cli_state
*cli
,
185 char *server_name
, char *qual_name
,
186 uint32 switch_value
, SRV_SESS_INFO_CTR
*ctr
,
187 uint32 preferred_len
,
189 BOOL
do_srv_net_srv_share_enum(struct cli_state
*cli
,
191 uint32 switch_value
, SRV_R_NET_SHARE_ENUM
*r_o
,
192 uint32 preferred_len
, ENUM_HND
*hnd
);
193 BOOL
do_srv_net_srv_file_enum(struct cli_state
*cli
,
194 char *server_name
, char *qual_name
,
195 uint32 switch_value
, SRV_FILE_INFO_CTR
*ctr
,
196 uint32 preferred_len
,
198 BOOL
do_srv_net_srv_get_info(struct cli_state
*cli
,
199 char *server_name
, uint32 switch_value
, SRV_INFO_CTR
*ctr
);
201 /*The following definitions come from rpc_client/cli_use.c */
203 void init_cli_use(void);
204 void free_cli_use(void);
205 struct cli_state
*cli_net_use_add(const char *srv_name
,
206 const struct ntuser_creds
*usr_creds
,
207 BOOL reuse
, BOOL
*is_new
);
208 BOOL
cli_net_use_del(const char *srv_name
,
209 const struct ntuser_creds
*usr_creds
,
210 BOOL force_close
, BOOL
*connection_closed
);
211 void cli_net_use_enum(uint32
*num_cons
, struct use_info
***use
);
212 void cli_use_wait_keyboard(void);
214 /*The following definitions come from rpc_client/cli_wkssvc.c */
216 BOOL
do_wks_query_info(struct cli_state
*cli
,
217 char *server_name
, uint32 switch_value
,
218 WKS_INFO_100
*wks100
);
220 /*The following definitions come from rpc_client/ncacn_np_use.c */
222 BOOL
ncacn_np_use_del(const char *srv_name
, const char *pipe_name
,
223 const vuser_key
* key
,
224 BOOL force_close
, BOOL
*connection_closed
);
225 struct ncacn_np
*ncacn_np_initialise(struct ncacn_np
*msrpc
,
226 const vuser_key
* key
);
227 struct ncacn_np
*ncacn_np_use_add(const char *pipe_name
,
228 const vuser_key
* key
,
229 const char *srv_name
,
230 const struct ntuser_creds
*ntc
,
231 BOOL reuse
, BOOL
*is_new_connection
);
232 #endif /* _PROTO_H_ */