1 #ifndef _RPC_PARSE_PROTO_H_
2 #define _RPC_PARSE_PROTO_H_
3 /* This file is automatically generated with "make proto". DO NOT EDIT */
6 /*The following definitions come from lib/msrpc-client.c */
8 BOOL
receive_msrpc(int fd
, prs_struct
* data
, unsigned int timeout
);
9 BOOL
msrpc_send(int fd
, prs_struct
* ps
);
10 BOOL
msrpc_receive(int fd
, prs_struct
* ps
);
11 BOOL
ncalrpc_l_connect(struct msrpc_local
*msrpc
, const char *pipe_name
);
12 void ncalrpc_l_close_socket(struct msrpc_local
*msrpc
);
13 void ncalrpc_l_sockopt(struct msrpc_local
*msrpc
, char *options
);
14 BOOL
ncalrpc_l_connect_auth(struct msrpc_local
*msrpc
,
15 const vuser_key
* key
, const char *pipename
);
16 struct msrpc_local
*ncalrpc_l_initialise(struct msrpc_local
*msrpc
,
17 const vuser_key
* key
);
18 void ncalrpc_l_shutdown(struct msrpc_local
*msrpc
);
19 BOOL
ncalrpc_l_establish_connection(struct msrpc_local
*msrpc
,
20 const char *pipe_name
);
22 /*The following definitions come from rpc_parse/parse_at.c */
24 BOOL
make_at_q_add_job(AT_Q_ADD_JOB
*q_a
, char *server
,
25 AT_JOB_INFO
*info
, char *command
);
26 BOOL
at_io_job_info(char *desc
, AT_JOB_INFO
*info
, prs_struct
*ps
, int depth
);
27 BOOL
at_io_q_add_job(char *desc
, AT_Q_ADD_JOB
*q_a
, prs_struct
*ps
, int depth
);
28 BOOL
at_io_r_add_job(char *desc
, AT_R_ADD_JOB
*r_a
, prs_struct
*ps
, int depth
);
29 BOOL
make_at_q_del_job(AT_Q_DEL_JOB
*q_a
, char *server
, uint32 min_jobid
,
31 BOOL
at_io_q_del_job(char *desc
, AT_Q_DEL_JOB
*q_d
, prs_struct
*ps
, int depth
);
32 BOOL
at_io_r_del_job(char *desc
, AT_R_DEL_JOB
*r_d
, prs_struct
*ps
, int depth
);
33 BOOL
make_at_q_enum_jobs(AT_Q_ENUM_JOBS
*q_e
, char *server
);
34 BOOL
at_io_q_enum_jobs(char *desc
, AT_Q_ENUM_JOBS
*q_e
, prs_struct
*ps
, int depth
);
35 BOOL
at_io_r_enum_jobs(char *desc
, AT_R_ENUM_JOBS
*r_e
, prs_struct
*ps
, int depth
);
36 BOOL
make_at_q_query_job(AT_Q_QUERY_JOB
*q_q
, char *server
, uint32 jobid
);
37 BOOL
at_io_q_query_job(char *desc
, AT_Q_QUERY_JOB
*q_q
, prs_struct
*ps
, int depth
);
38 BOOL
at_io_r_query_job(char *desc
, AT_R_QUERY_JOB
*r_q
, prs_struct
*ps
, int depth
);
40 /*The following definitions come from rpc_parse/parse_brs.c */
42 BOOL
make_brs_q_query_info(BRS_Q_QUERY_INFO
*q_u
,
43 const char *server
, uint16 switch_value
) ;
44 BOOL
brs_io_q_query_info(char *desc
, BRS_Q_QUERY_INFO
*q_u
, prs_struct
*ps
, int depth
);
45 BOOL
make_brs_info_100(BRS_INFO_100
*inf
);
46 BOOL
make_brs_r_query_info(BRS_R_QUERY_INFO
*r_u
,
47 uint32 switch_value
, void *inf
,
49 BOOL
brs_io_r_query_info(char *desc
, BRS_R_QUERY_INFO
*r_u
, prs_struct
*ps
, int depth
);
51 /*The following definitions come from rpc_parse/parse_eventlog.c */
53 BOOL
make_eventlog_q_open(EVENTLOG_Q_OPEN
*q_u
, const char *journal
, char *unk
);
54 BOOL
eventlog_io_q_open(char *desc
, EVENTLOG_Q_OPEN
*q_u
, prs_struct
*ps
, int depth
);
55 BOOL
eventlog_io_r_open(char *desc
, EVENTLOG_R_OPEN
*r_u
, prs_struct
*ps
, int depth
);
56 BOOL
make_eventlog_q_close(EVENTLOG_Q_CLOSE
*q_u
, POLICY_HND
*pol
);
57 BOOL
eventlog_io_q_close(char *desc
, EVENTLOG_Q_CLOSE
*q_u
, prs_struct
*ps
, int depth
);
58 BOOL
eventlog_io_r_close(char *desc
, EVENTLOG_R_CLOSE
*r_u
, prs_struct
*ps
, int depth
);
59 BOOL
make_eventlog_q_numofeventlogrec(EVENTLOG_Q_NUMOFEVENTLOGREC
*q_u
, POLICY_HND
*pol
);
60 BOOL
eventlog_io_q_numofeventlogrec(char *desc
,EVENTLOG_Q_NUMOFEVENTLOGREC
*q_u
, prs_struct
*ps
, int depth
);
61 BOOL
eventlog_io_r_numofeventlogrec(char *desc
, EVENTLOG_R_NUMOFEVENTLOGREC
*r_u
, prs_struct
*ps
, int depth
);
62 BOOL
make_eventlog_q_readeventlog(EVENTLOG_Q_READEVENTLOG
*q_u
, POLICY_HND
*pol
,
63 uint32 flags
, uint32 offset
, uint32 number_of_bytes
);
64 BOOL
eventlog_io_q_readeventlog(char *desc
, EVENTLOG_Q_READEVENTLOG
*q_u
, prs_struct
*ps
, int depth
);
65 BOOL
eventlog_io_r_readeventlog(char *desc
, EVENTLOG_R_READEVENTLOG
*r_u
, prs_struct
*ps
, int depth
);
67 /*The following definitions come from rpc_parse/parse_lsa.c */
69 BOOL
make_lsa_trans_name(LSA_TRANS_NAME
* trn
, UNISTR2
* uni_name
,
70 uint32 sid_name_use
, char *name
, uint32 idx
);
71 int make_dom_ref_uni(DOM_R_REF
* ref
, const UNISTR2
* uni_domname
,
72 const DOM_SID
* dom_sid
);
73 int make_dom_ref(DOM_R_REF
* ref
, const char *domname
,
74 const DOM_SID
* dom_sid
);
75 BOOL
make_lsa_sec_qos(LSA_SEC_QOS
* qos
, uint16 imp_lev
, uint8 ctxt
,
76 uint8 eff
, uint32 unknown
);
77 BOOL
make_lsa_obj_attr(LSA_OBJ_ATTR
* attr
, uint32 attributes
,
79 BOOL
make_q_open_pol(LSA_Q_OPEN_POL
* r_q
, uint16 system_name
,
81 uint32 desired_access
, LSA_SEC_QOS
* qos
);
82 BOOL
lsa_io_q_open_pol(char *desc
, LSA_Q_OPEN_POL
* r_q
, prs_struct
* ps
,
84 BOOL
lsa_io_r_open_pol(char *desc
, LSA_R_OPEN_POL
* r_p
, prs_struct
* ps
,
86 BOOL
make_q_open_pol2(LSA_Q_OPEN_POL2
* r_q
, const char *server_name
,
88 uint32 desired_access
, LSA_SEC_QOS
* qos
);
89 BOOL
lsa_io_q_open_pol2(char *desc
, LSA_Q_OPEN_POL2
* r_q
, prs_struct
* ps
,
91 BOOL
lsa_io_r_open_pol2(char *desc
, LSA_R_OPEN_POL2
* r_p
, prs_struct
* ps
,
93 BOOL
make_q_query_sec_obj(LSA_Q_QUERY_SEC_OBJ
* q_q
, const POLICY_HND
*hnd
,
95 BOOL
lsa_io_q_query_sec_obj(char *desc
, LSA_Q_QUERY_SEC_OBJ
* q_q
, prs_struct
* ps
,
97 BOOL
lsa_io_r_query_sec_obj(char *desc
, LSA_R_QUERY_SEC_OBJ
*r_u
, prs_struct
*ps
, int depth
);
98 BOOL
make_q_query(LSA_Q_QUERY_INFO
* q_q
, POLICY_HND
*hnd
, uint16 info_class
);
99 BOOL
lsa_io_q_query(char *desc
, LSA_Q_QUERY_INFO
* q_q
, prs_struct
* ps
,
101 BOOL
make_q_create_secret(LSA_Q_CREATE_SECRET
* q_o
,
102 const POLICY_HND
*pol_hnd
, const char *secret_name
,
103 uint32 desired_access
);
104 BOOL
lsa_io_q_create_secret(char *desc
, LSA_Q_CREATE_SECRET
* q_o
,
105 prs_struct
* ps
, int depth
);
106 BOOL
lsa_io_r_create_secret(char *desc
, LSA_R_CREATE_SECRET
* r_o
,
107 prs_struct
* ps
, int depth
);
108 BOOL
make_q_open_secret(LSA_Q_OPEN_SECRET
* q_o
, const POLICY_HND
*pol_hnd
,
109 const char *secret_name
, uint32 desired_access
);
110 BOOL
lsa_io_q_open_secret(char *desc
, LSA_Q_OPEN_SECRET
* q_o
,
111 prs_struct
* ps
, int depth
);
112 BOOL
lsa_io_r_open_secret(char *desc
, LSA_R_OPEN_SECRET
* r_o
,
113 prs_struct
* ps
, int depth
);
114 BOOL
lsa_io_secret_value(char *desc
, LSA_SECRET_VALUE
* value
,
115 prs_struct
* ps
, int depth
);
116 BOOL
lsa_io_secret_info(char *desc
, LSA_SECRET_INFO
* info
, prs_struct
* ps
,
118 BOOL
lsa_io_secret(char *desc
, LSA_SECRET
* q_q
, prs_struct
* ps
, int depth
);
119 BOOL
make_q_query_secret(LSA_Q_QUERY_SECRET
* q_q
, POLICY_HND
*pol
,
120 const STRING2
*secret
, const NTTIME
* update
);
121 BOOL
lsa_io_q_query_secret(char *desc
, LSA_Q_QUERY_SECRET
* q_q
,
122 prs_struct
* ps
, int depth
);
123 BOOL
lsa_io_r_query_secret(char *desc
, LSA_R_QUERY_SECRET
* r_q
,
124 prs_struct
* ps
, int depth
);
125 BOOL
lsa_io_q_set_secret(char *desc
, LSA_Q_SET_SECRET
* q_q
, prs_struct
* ps
,
127 BOOL
lsa_io_r_set_secret(char *desc
, LSA_R_SET_SECRET
* r_q
, prs_struct
* ps
,
129 BOOL
make_q_enum_trust_dom(LSA_Q_ENUM_TRUST_DOM
* q_e
,
131 uint32 enum_context
, uint32 preferred_len
);
132 BOOL
lsa_io_q_enum_trust_dom(char *desc
, LSA_Q_ENUM_TRUST_DOM
* q_e
,
133 prs_struct
* ps
, int depth
);
134 BOOL
make_r_enum_trust_dom(LSA_R_ENUM_TRUST_DOM
* r_e
, int32 enum_context
,
136 UNISTR2
* domain_names
, DOM_SID
** domain_sids
,
138 BOOL
lsa_io_r_enum_trust_dom(char *desc
, LSA_R_ENUM_TRUST_DOM
* r_e
,
139 prs_struct
* ps
, int depth
);
140 void lsa_free_r_enum_trust_dom(LSA_R_ENUM_TRUST_DOM
* r_e
);
141 BOOL
lsa_io_r_query(char *desc
, LSA_R_QUERY_INFO
* r_q
, prs_struct
* ps
,
143 BOOL
make_lsa_sid_enum(LSA_SID_ENUM
* sen
, uint32 num_entries
,
145 BOOL
make_q_lookup_sids(LSA_Q_LOOKUP_SIDS
* q_l
, POLICY_HND
*hnd
,
146 int num_sids
, DOM_SID
** sids
, uint16 level
);
147 BOOL
lsa_io_q_lookup_sids(char *desc
, LSA_Q_LOOKUP_SIDS
* q_s
,
148 prs_struct
* ps
, int depth
);
149 BOOL
lsa_io_r_lookup_sids(char *desc
, LSA_R_LOOKUP_SIDS
* r_s
,
150 prs_struct
* ps
, int depth
);
151 BOOL
make_q_lookup_names(LSA_Q_LOOKUP_NAMES
* q_l
, POLICY_HND
*hnd
,
152 uint32 num_names
, char **names
);
153 BOOL
lsa_io_q_lookup_names(char *desc
, LSA_Q_LOOKUP_NAMES
* q_r
,
154 prs_struct
* ps
, int depth
);
155 BOOL
lsa_io_r_lookup_names(char *desc
, LSA_R_LOOKUP_NAMES
* r_r
,
156 prs_struct
* ps
, int depth
);
157 BOOL
make_lsa_q_close(LSA_Q_CLOSE
* q_c
, POLICY_HND
*hnd
);
158 BOOL
lsa_io_q_close(char *desc
, LSA_Q_CLOSE
* q_c
, prs_struct
* ps
, int depth
);
159 BOOL
lsa_io_r_close(char *desc
, LSA_R_CLOSE
* r_c
, prs_struct
* ps
, int depth
);
161 /*The following definitions come from rpc_parse/parse_netsec.c */
163 BOOL
rpc_hdr_netsec_auth_chk(RPC_HDR_AUTH
*rai
);
164 BOOL
make_rpc_auth_netsec_neg(RPC_AUTH_NETSEC_NEG
*neg
,
167 BOOL
smb_io_rpc_auth_netsec_neg(char *desc
, RPC_AUTH_NETSEC_NEG
*neg
, prs_struct
*ps
, int depth
);
168 BOOL
make_rpc_auth_netsec_resp(RPC_AUTH_NETSEC_RESP
*rsp
, uint32 flags
);
169 BOOL
smb_io_rpc_auth_netsec_resp(char *desc
, RPC_AUTH_NETSEC_RESP
*rsp
, prs_struct
*ps
, int depth
);
170 BOOL
rpc_auth_netsec_chk(RPC_AUTH_NETSEC_CHK
*chk
);
171 BOOL
make_rpc_auth_netsec_chk(RPC_AUTH_NETSEC_CHK
*chk
,
173 const uchar data1
[8],
174 const uchar data3
[8],
175 const uchar data8
[8]);
176 BOOL
smb_io_rpc_auth_netsec_chk(char *desc
, RPC_AUTH_NETSEC_CHK
*chk
, prs_struct
*ps
, int depth
);
177 BOOL
netsec_encode(struct netsec_auth_struct
*a
,
178 RPC_AUTH_NETSEC_CHK
*verf
,
179 char *data
, size_t data_len
);
180 BOOL
netsec_decode(struct netsec_auth_struct
*a
,
181 RPC_AUTH_NETSEC_CHK
*verf
,
182 char *data
, size_t data_len
);
184 /*The following definitions come from rpc_parse/parse_reg.c */
186 BOOL
make_reg_q_open_hkcr(REG_Q_OPEN_HKCR
*q_o
,
187 uint16 unknown_0
, uint32 level
);
188 BOOL
reg_io_q_open_hkcr(char *desc
, REG_Q_OPEN_HKCR
*r_q
, prs_struct
*ps
, int depth
);
189 BOOL
reg_io_r_open_hkcr(char *desc
, REG_R_OPEN_HKCR
*r_r
, prs_struct
*ps
, int depth
);
190 BOOL
make_reg_q_open_hklm(REG_Q_OPEN_HKLM
*q_o
,
191 uint16 unknown_0
, uint32 access_mask
);
192 BOOL
reg_io_q_open_hklm(char *desc
, REG_Q_OPEN_HKLM
*r_q
, prs_struct
*ps
, int depth
);
193 BOOL
reg_io_r_open_hklm(char *desc
, REG_R_OPEN_HKLM
*r_r
, prs_struct
*ps
, int depth
);
194 BOOL
make_reg_q_flush_key(REG_Q_FLUSH_KEY
*q_u
, POLICY_HND
*pol
);
195 BOOL
reg_io_q_flush_key(char *desc
, REG_Q_FLUSH_KEY
*r_q
, prs_struct
*ps
, int depth
);
196 BOOL
reg_io_r_flush_key(char *desc
, REG_R_FLUSH_KEY
*r_r
, prs_struct
*ps
, int depth
);
197 BOOL
make_reg_q_create_key(REG_Q_CREATE_KEY
*q_c
, POLICY_HND
*hnd
,
198 char *key_name
, char *key_class
,
199 SEC_ACCESS
*sam_access
,
200 SEC_DESC_BUF
*sec_buf
,
201 int sec_len
, SEC_DESC
*sec
);
202 BOOL
reg_io_q_create_key(char *desc
, REG_Q_CREATE_KEY
*r_q
, prs_struct
*ps
, int depth
);
203 BOOL
reg_io_r_create_key(char *desc
, REG_R_CREATE_KEY
*r_r
, prs_struct
*ps
, int depth
);
204 BOOL
make_reg_q_delete_val(REG_Q_DELETE_VALUE
*q_c
, POLICY_HND
*hnd
,
206 BOOL
reg_io_q_delete_val(char *desc
, REG_Q_DELETE_VALUE
*r_q
, prs_struct
*ps
, int depth
);
207 BOOL
reg_io_r_delete_val(char *desc
, REG_R_DELETE_VALUE
*r_r
, prs_struct
*ps
, int depth
);
208 BOOL
make_reg_q_delete_key(REG_Q_DELETE_KEY
*q_c
, POLICY_HND
*hnd
,
210 BOOL
reg_io_q_delete_key(char *desc
, REG_Q_DELETE_KEY
*r_q
, prs_struct
*ps
, int depth
);
211 BOOL
reg_io_r_delete_key(char *desc
, REG_R_DELETE_KEY
*r_r
, prs_struct
*ps
, int depth
);
212 BOOL
make_reg_q_query_key(REG_Q_QUERY_KEY
*q_o
, POLICY_HND
*hnd
,
213 uint32 max_class_len
);
214 BOOL
reg_io_q_query_key(char *desc
, REG_Q_QUERY_KEY
*r_q
, prs_struct
*ps
, int depth
);
215 BOOL
reg_io_r_query_key(char *desc
, REG_R_QUERY_KEY
*r_r
, prs_struct
*ps
, int depth
);
216 BOOL
make_reg_q_unk_1a(REG_Q_UNK_1A
*q_o
, POLICY_HND
*hnd
);
217 BOOL
reg_io_q_unk_1a(char *desc
, REG_Q_UNK_1A
*r_q
, prs_struct
*ps
, int depth
);
218 BOOL
reg_io_r_unk_1a(char *desc
, REG_R_UNK_1A
*r_r
, prs_struct
*ps
, int depth
);
219 BOOL
make_reg_q_open_hku(REG_Q_OPEN_HKU
*q_o
,
220 uint16 unknown_0
, uint32 level
);
221 BOOL
reg_io_q_open_hku(char *desc
, REG_Q_OPEN_HKU
*r_q
, prs_struct
*ps
, int depth
);
222 BOOL
reg_io_r_open_hku(char *desc
, REG_R_OPEN_HKU
*r_r
, prs_struct
*ps
, int depth
);
223 BOOL
make_reg_q_close(REG_Q_CLOSE
*q_c
, POLICY_HND
*hnd
);
224 BOOL
reg_io_q_close(char *desc
, REG_Q_CLOSE
*q_u
, prs_struct
*ps
, int depth
);
225 BOOL
reg_io_r_close(char *desc
, REG_R_CLOSE
*r_u
, prs_struct
*ps
, int depth
);
226 BOOL
make_reg_q_set_key_sec(REG_Q_SET_KEY_SEC
*q_i
, POLICY_HND
*pol
,
228 uint32 buf_len
, SEC_DESC
*sec_desc
);
229 BOOL
reg_io_q_set_key_sec(char *desc
, REG_Q_SET_KEY_SEC
*r_q
, prs_struct
*ps
, int depth
);
230 BOOL
reg_io_r_set_key_sec(char *desc
, REG_R_SET_KEY_SEC
*r_q
, prs_struct
*ps
, int depth
);
231 BOOL
make_reg_q_get_key_sec(REG_Q_GET_KEY_SEC
*q_i
, POLICY_HND
*pol
,
233 uint32 buf_len
, SEC_DESC_BUF
*sec_buf
);
234 BOOL
reg_io_q_get_key_sec(char *desc
, REG_Q_GET_KEY_SEC
*r_q
, prs_struct
*ps
, int depth
);
235 BOOL
reg_io_r_get_key_sec(char *desc
, REG_R_GET_KEY_SEC
*r_q
, prs_struct
*ps
, int depth
);
236 BOOL
make_reg_q_info(REG_Q_INFO
*q_i
, POLICY_HND
*pol
, const char *val_name
,
237 uint8 major
, uint8 minor
);
238 BOOL
reg_io_q_info(char *desc
, REG_Q_INFO
*r_q
, prs_struct
*ps
, int depth
);
239 BOOL
make_reg_r_info(REG_R_INFO
*r_r
,
240 uint32
*type
, BUFFER2
*buf
,
242 BOOL
reg_io_r_info(char *desc
, REG_R_INFO
*r_r
, prs_struct
*ps
, int depth
);
243 BOOL
make_reg_q_enum_val(REG_Q_ENUM_VALUE
*q_i
, POLICY_HND
*pol
,
244 uint32 val_idx
, uint32 max_val_len
,
246 BOOL
reg_io_q_enum_val(char *desc
, REG_Q_ENUM_VALUE
*q_q
, prs_struct
*ps
, int depth
);
247 BOOL
reg_io_r_enum_val(char *desc
, REG_R_ENUM_VALUE
*r_q
, prs_struct
*ps
, int depth
);
248 BOOL
make_reg_q_create_val(REG_Q_CREATE_VALUE
*q_i
, POLICY_HND
*pol
,
249 char *val_name
, uint32 type
,
251 BOOL
reg_io_q_create_val(char *desc
, REG_Q_CREATE_VALUE
*q_q
, prs_struct
*ps
, int depth
);
252 BOOL
reg_io_r_create_val(char *desc
, REG_R_CREATE_VALUE
*r_q
, prs_struct
*ps
, int depth
);
253 BOOL
make_reg_q_enum_key(REG_Q_ENUM_KEY
*q_i
, POLICY_HND
*pol
, uint32 key_idx
);
254 BOOL
reg_io_q_enum_key(char *desc
, REG_Q_ENUM_KEY
*q_q
, prs_struct
*ps
, int depth
);
255 BOOL
reg_io_r_enum_key(char *desc
, REG_R_ENUM_KEY
*r_q
, prs_struct
*ps
, int depth
);
256 BOOL
make_reg_q_open_entry(REG_Q_OPEN_ENTRY
*r_q
, POLICY_HND
*pol
,
257 char *key_name
, uint32 access_mask
);
258 BOOL
reg_io_q_open_entry(char *desc
, REG_Q_OPEN_ENTRY
*r_q
, prs_struct
*ps
, int depth
);
259 BOOL
make_reg_r_open_entry(REG_R_OPEN_ENTRY
*r_r
,
260 POLICY_HND
*pol
, uint32 status
);
261 BOOL
reg_io_r_open_entry(char *desc
, REG_R_OPEN_ENTRY
*r_r
, prs_struct
*ps
, int depth
);
262 BOOL
make_reg_q_shutdown(REG_Q_SHUTDOWN
*q_i
,
263 const char *msg
, uint32 timeout
, uint16 flags
);
264 BOOL
reg_io_q_shutdown(char *desc
, REG_Q_SHUTDOWN
*q_q
, prs_struct
*ps
, int depth
);
265 BOOL
reg_io_r_shutdown(char *desc
, REG_R_SHUTDOWN
*r_q
, prs_struct
*ps
, int depth
);
267 /*The following definitions come from rpc_parse/parse_rpc.c */
269 BOOL
make_rpc_hdr(RPC_HDR
* hdr
, enum RPC_PKT_TYPE pkt_type
, uint8 flags
,
270 uint32 call_id
, int frag_len
, int auth_len
);
271 BOOL
smb_io_rpc_hdr(char *desc
, RPC_HDR
* rpc
, prs_struct
* ps
, int depth
);
272 BOOL
is_complete_pdu(prs_struct
* ps
);
273 BOOL
smb_io_rpc_hdr_nack(char *desc
, RPC_HDR_NACK
* rpc
, prs_struct
* ps
,
275 BOOL
smb_io_rpc_hdr_fault(char *desc
, RPC_HDR_FAULT
* rpc
, prs_struct
* ps
,
277 BOOL
make_rpc_hdr_rb(RPC_HDR_RB
* rpc
,
278 uint16 max_tsize
, uint16 max_rsize
, uint32 assoc_gid
,
279 uint32 num_elements
, uint16 context_id
,
280 uint8 num_syntaxes
, RPC_IFACE
* abstract
,
281 RPC_IFACE
* transfer
);
282 BOOL
smb_io_rpc_hdr_rb(char *desc
, RPC_HDR_RB
* rpc
, prs_struct
* ps
,
284 BOOL
make_rpc_hdr_ba(RPC_HDR_BA
* rpc
,
285 uint16 max_tsize
, uint16 max_rsize
, uint32 assoc_gid
,
286 const char *pipe_addr
,
287 uint8 num_results
, uint16 result
, uint16 reason
,
288 RPC_IFACE
* transfer
);
289 BOOL
smb_io_rpc_hdr_ba(char *desc
, RPC_HDR_BA
* rpc
, prs_struct
* ps
,
291 BOOL
make_rpc_hdr_req(RPC_HDR_REQ
* hdr
, uint32 alloc_hint
, uint16 vuid
,
293 BOOL
smb_io_rpc_hdr_req(char *desc
, RPC_HDR_REQ
* rpc
, prs_struct
* ps
,
295 BOOL
smb_io_rpc_hdr_resp(char *desc
, RPC_HDR_RESP
* rpc
, prs_struct
* ps
,
297 BOOL
make_rpc_hdr_autha(RPC_HDR_AUTHA
* rai
,
298 uint16 max_tsize
, uint16 max_rsize
,
299 uint8 auth_type
, uint8 auth_level
,
300 uint8 stub_type_len
);
301 BOOL
smb_io_rpc_hdr_autha(char *desc
, RPC_HDR_AUTHA
* rai
, prs_struct
* ps
,
303 BOOL
make_rpc_hdr_auth(RPC_HDR_AUTH
* rai
,
304 uint8 auth_type
, uint8 auth_level
,
305 uint8 stub_type_len
, uint32 ptr
);
306 BOOL
smb_io_rpc_hdr_auth(char *desc
, RPC_HDR_AUTH
* rai
, prs_struct
* ps
,
308 BOOL
make_rpc_auth_verifier(RPC_AUTH_VERIFIER
* rav
,
309 char *signature
, uint32 msg_type
);
310 BOOL
smb_io_rpc_auth_verifier(char *desc
, RPC_AUTH_VERIFIER
* rav
,
311 prs_struct
* ps
, int depth
);
312 BOOL
rpc_auth_verifier_chk(RPC_AUTH_VERIFIER
* rav
,
313 char *signature
, uint32 msg_type
);
315 /*The following definitions come from rpc_parse/parse_samr.c */
317 BOOL
make_samr_q_close_hnd(SAMR_Q_CLOSE_HND
*q_c
, POLICY_HND
*hnd
);
318 BOOL
samr_io_q_close_hnd(char *desc
, SAMR_Q_CLOSE_HND
*q_u
, prs_struct
*ps
, int depth
);
319 BOOL
samr_io_r_close_hnd(char *desc
, SAMR_R_CLOSE_HND
*r_u
, prs_struct
*ps
, int depth
);
320 BOOL
make_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN
*q_u
,
321 POLICY_HND
*pol
, const char *dom_name
);
322 BOOL
samr_io_q_lookup_domain(char *desc
, SAMR_Q_LOOKUP_DOMAIN
*q_u
, prs_struct
*ps
, int depth
);
323 BOOL
make_samr_r_lookup_domain(SAMR_R_LOOKUP_DOMAIN
*r_u
,
324 DOM_SID
*dom_sid
, uint32 status
);
325 BOOL
samr_io_r_lookup_domain(char *desc
, SAMR_R_LOOKUP_DOMAIN
*r_u
, prs_struct
*ps
, int depth
);
326 BOOL
make_samr_q_unknown_2d(SAMR_Q_UNKNOWN_2D
*q_u
,
327 const POLICY_HND
*dom_pol
,
329 BOOL
samr_io_q_unknown_2d(char *desc
, SAMR_Q_UNKNOWN_2D
*q_u
, prs_struct
*ps
, int depth
);
330 BOOL
samr_io_r_unknown_2d(char *desc
, SAMR_R_UNKNOWN_2D
*r_u
, prs_struct
*ps
, int depth
);
331 BOOL
make_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN
*q_u
,
332 const POLICY_HND
*connect_pol
, uint32 flags
,
334 BOOL
samr_io_q_open_domain(char *desc
, SAMR_Q_OPEN_DOMAIN
*q_u
, prs_struct
*ps
, int depth
);
335 BOOL
samr_io_r_open_domain(char *desc
, SAMR_R_OPEN_DOMAIN
*r_u
, prs_struct
*ps
, int depth
);
336 BOOL
make_samr_q_get_usrdom_pwinfo(SAMR_Q_GET_USRDOM_PWINFO
*q_u
, POLICY_HND
*user_pol
);
337 BOOL
samr_io_q_get_usrdom_pwinfo(char *desc
, SAMR_Q_GET_USRDOM_PWINFO
*q_u
, prs_struct
*ps
, int depth
);
338 BOOL
make_samr_r_get_usrdom_pwinfo(SAMR_R_GET_USRDOM_PWINFO
*q_u
, uint32 status
);
339 BOOL
samr_io_r_get_usrdom_pwinfo(char *desc
, SAMR_R_GET_USRDOM_PWINFO
*r_u
, prs_struct
*ps
, int depth
);
340 BOOL
make_samr_q_query_sec_obj(SAMR_Q_QUERY_SEC_OBJ
*q_u
,
341 const POLICY_HND
*user_pol
, uint32 sec_info
);
342 BOOL
samr_io_q_query_sec_obj(char *desc
, SAMR_Q_QUERY_SEC_OBJ
*q_u
, prs_struct
*ps
, int depth
);
343 BOOL
make_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO
*q_u
,
344 POLICY_HND
*domain_pol
, uint16 switch_value
);
345 BOOL
samr_io_q_query_dom_info(char *desc
, SAMR_Q_QUERY_DOMAIN_INFO
*q_u
, prs_struct
*ps
, int depth
);
346 BOOL
make_unk_info3(SAM_UNK_INFO_3
*u_3
);
347 BOOL
make_unk_info6(SAM_UNK_INFO_6
*u_6
);
348 BOOL
make_unk_info7(SAM_UNK_INFO_7
*u_7
);
349 BOOL
make_unk_info2(SAM_UNK_INFO_2
*u_2
, char *domain
, char *server
);
350 BOOL
make_unk_info1(SAM_UNK_INFO_1
*u_1
);
351 BOOL
make_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO
*r_u
,
352 uint16 switch_value
, SAM_UNK_CTR
*ctr
,
354 BOOL
samr_io_r_query_dom_info(char *desc
, SAMR_R_QUERY_DOMAIN_INFO
*r_u
, prs_struct
*ps
, int depth
);
355 BOOL
samr_io_r_query_sec_obj(char *desc
, SAMR_R_QUERY_SEC_OBJ
*r_u
, prs_struct
*ps
, int depth
);
356 BOOL
make_sam_entry(SAM_ENTRY
*sam
, uint32 len_sam_name
, uint32 rid
);
357 BOOL
make_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS
*q_e
, POLICY_HND
*pol
,
359 uint16 acb_mask
, uint16 unk_1
, uint32 size
);
360 BOOL
samr_io_q_enum_dom_users(char *desc
, SAMR_Q_ENUM_DOM_USERS
*q_e
, prs_struct
*ps
, int depth
);
361 BOOL
make_samr_r_enum_dom_users(SAMR_R_ENUM_DOM_USERS
*r_u
,
363 uint32 num_sam_entries
);
364 BOOL
samr_io_r_enum_dom_users(char *desc
, SAMR_R_ENUM_DOM_USERS
*r_u
, prs_struct
*ps
, int depth
);
365 BOOL
make_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO
*q_e
, POLICY_HND
*pol
,
366 uint16 switch_level
, uint32 start_idx
,
368 BOOL
samr_io_q_query_dispinfo(char *desc
, SAMR_Q_QUERY_DISPINFO
*q_e
, prs_struct
*ps
, int depth
);
369 BOOL
make_sam_dispinfo_1(SAM_DISPINFO_1
*sam
, uint32
*num_entries
,
370 uint32
*data_size
, uint32 start_idx
,
371 SAM_USER_INFO_21 pass
[MAX_SAM_ENTRIES
]);
372 BOOL
make_sam_dispinfo_2(SAM_DISPINFO_2
*sam
, uint32
*num_entries
,
373 uint32
*data_size
, uint32 start_idx
,
374 SAM_USER_INFO_21 pass
[MAX_SAM_ENTRIES
]);
375 BOOL
make_sam_dispinfo_3(SAM_DISPINFO_3
*sam
, uint32
*num_entries
,
376 uint32
*data_size
, uint32 start_idx
,
378 BOOL
make_sam_dispinfo_4(SAM_DISPINFO_4
*sam
, uint32
*num_entries
,
379 uint32
*data_size
, uint32 start_idx
,
380 SAM_USER_INFO_21 pass
[MAX_SAM_ENTRIES
]);
381 BOOL
make_sam_dispinfo_5(SAM_DISPINFO_5
*sam
, uint32
*num_entries
,
382 uint32
*data_size
, uint32 start_idx
,
384 BOOL
make_samr_r_query_dispinfo(SAMR_R_QUERY_DISPINFO
*r_u
,
385 uint32 num_entries
, uint32 data_size
,
386 uint16 switch_level
, SAM_DISPINFO_CTR
*ctr
,
388 BOOL
samr_io_r_query_dispinfo(char *desc
, SAMR_R_QUERY_DISPINFO
*r_u
, prs_struct
*ps
, int depth
);
389 BOOL
make_samr_q_open_group(SAMR_Q_OPEN_GROUP
*q_c
,
390 const POLICY_HND
*hnd
,
391 uint32 access_mask
, uint32 rid
);
392 BOOL
samr_io_q_open_group(char *desc
, SAMR_Q_OPEN_GROUP
*q_u
, prs_struct
*ps
, int depth
);
393 BOOL
samr_io_r_open_group(char *desc
, SAMR_R_OPEN_GROUP
*r_u
, prs_struct
*ps
, int depth
);
394 BOOL
make_samr_group_info1(GROUP_INFO1
*gr1
,
395 char *acct_name
, char *acct_desc
,
397 BOOL
samr_io_group_info1(char *desc
, GROUP_INFO1
*gr1
, prs_struct
*ps
, int depth
);
398 BOOL
make_samr_group_info4(GROUP_INFO4
*gr4
, const char *acct_desc
);
399 BOOL
samr_io_group_info4(char *desc
, GROUP_INFO4
*gr4
, prs_struct
*ps
, int depth
);
400 BOOL
samr_group_info_ctr(char *desc
, GROUP_INFO_CTR
*ctr
, prs_struct
*ps
, int depth
);
401 BOOL
make_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP
*q_e
,
403 const char *acct_desc
);
404 BOOL
samr_io_q_create_dom_group(char *desc
, SAMR_Q_CREATE_DOM_GROUP
*q_e
, prs_struct
*ps
, int depth
);
405 BOOL
samr_io_r_create_dom_group(char *desc
, SAMR_R_CREATE_DOM_GROUP
*r_u
, prs_struct
*ps
, int depth
);
406 BOOL
make_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP
*q_c
, POLICY_HND
*hnd
);
407 BOOL
samr_io_q_delete_dom_group(char *desc
, SAMR_Q_DELETE_DOM_GROUP
*q_u
, prs_struct
*ps
, int depth
);
408 BOOL
samr_io_r_delete_dom_group(char *desc
, SAMR_R_DELETE_DOM_GROUP
*r_u
, prs_struct
*ps
, int depth
);
409 BOOL
make_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM
*q_e
,
412 BOOL
samr_io_q_del_groupmem(char *desc
, SAMR_Q_DEL_GROUPMEM
*q_e
, prs_struct
*ps
, int depth
);
413 BOOL
make_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM
*r_u
, POLICY_HND
*pol
,
415 BOOL
samr_io_r_del_groupmem(char *desc
, SAMR_R_DEL_GROUPMEM
*r_u
, prs_struct
*ps
, int depth
);
416 BOOL
make_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM
*q_e
,
419 BOOL
samr_io_q_add_groupmem(char *desc
, SAMR_Q_ADD_GROUPMEM
*q_e
, prs_struct
*ps
, int depth
);
420 BOOL
make_samr_r_add_groupmem(SAMR_R_ADD_GROUPMEM
*r_u
, POLICY_HND
*pol
,
422 BOOL
samr_io_r_add_groupmem(char *desc
, SAMR_R_ADD_GROUPMEM
*r_u
, prs_struct
*ps
, int depth
);
423 BOOL
make_samr_q_set_groupinfo(SAMR_Q_SET_GROUPINFO
*q_e
,
424 POLICY_HND
*pol
, GROUP_INFO_CTR
*ctr
);
425 BOOL
samr_io_q_set_groupinfo(char *desc
, SAMR_Q_SET_GROUPINFO
*q_e
, prs_struct
*ps
, int depth
);
426 BOOL
make_samr_r_set_groupinfo(SAMR_R_SET_GROUPINFO
*r_u
,
428 BOOL
samr_io_r_set_groupinfo(char *desc
, SAMR_R_SET_GROUPINFO
*r_u
, prs_struct
*ps
, int depth
);
429 BOOL
make_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO
*q_e
,
431 uint16 switch_level
);
432 BOOL
samr_io_q_query_groupinfo(char *desc
, SAMR_Q_QUERY_GROUPINFO
*q_e
, prs_struct
*ps
, int depth
);
433 BOOL
make_samr_r_query_groupinfo(SAMR_R_QUERY_GROUPINFO
*r_u
, GROUP_INFO_CTR
*ctr
,
435 BOOL
samr_io_r_query_groupinfo(char *desc
, SAMR_R_QUERY_GROUPINFO
*r_u
, prs_struct
*ps
, int depth
);
436 BOOL
make_samr_q_query_groupmem(SAMR_Q_QUERY_GROUPMEM
*q_c
, POLICY_HND
*hnd
);
437 BOOL
samr_io_q_query_groupmem(char *desc
, SAMR_Q_QUERY_GROUPMEM
*q_u
, prs_struct
*ps
, int depth
);
438 BOOL
make_samr_r_query_groupmem(SAMR_R_QUERY_GROUPMEM
*r_u
,
439 uint32 num_entries
, uint32
*rid
, uint32
*attr
, uint32 status
);
440 BOOL
samr_io_r_query_groupmem(char *desc
, SAMR_R_QUERY_GROUPMEM
*r_u
, prs_struct
*ps
, int depth
);
441 void samr_free_r_query_groupmem(SAMR_R_QUERY_GROUPMEM
*r_u
);
442 BOOL
make_samr_q_query_usergroups(SAMR_Q_QUERY_USERGROUPS
*q_u
,
444 BOOL
samr_io_q_query_usergroups(char *desc
, SAMR_Q_QUERY_USERGROUPS
*q_u
, prs_struct
*ps
, int depth
);
445 BOOL
make_samr_r_query_usergroups(SAMR_R_QUERY_USERGROUPS
*r_u
,
446 uint32 num_gids
, DOM_GID
*gid
, uint32 status
);
447 BOOL
samr_io_gids(char *desc
, uint32
*num_gids
, DOM_GID
**gid
, prs_struct
*ps
, int depth
);
448 BOOL
samr_io_r_query_usergroups(char *desc
, SAMR_R_QUERY_USERGROUPS
*r_u
, prs_struct
*ps
, int depth
);
449 BOOL
make_samr_q_enum_domains(SAMR_Q_ENUM_DOMAINS
*q_e
,
450 const POLICY_HND
*pol
,
451 uint32 start_idx
, uint32 size
);
452 BOOL
samr_io_q_enum_domains(char *desc
, SAMR_Q_ENUM_DOMAINS
*q_e
, prs_struct
*ps
, int depth
);
453 BOOL
make_samr_r_enum_domains(SAMR_R_ENUM_DOMAINS
*r_u
,
454 uint32 next_idx
, uint32 num_sam_entries
);
455 BOOL
samr_io_r_enum_domains(char *desc
, SAMR_R_ENUM_DOMAINS
*r_u
, prs_struct
*ps
, int depth
);
456 BOOL
make_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS
*q_e
,
457 const POLICY_HND
*pol
,
458 uint32 start_idx
, uint32 size
);
459 BOOL
samr_io_q_enum_dom_groups(char *desc
, SAMR_Q_ENUM_DOM_GROUPS
*q_e
, prs_struct
*ps
, int depth
);
460 BOOL
make_samr_r_enum_dom_groups(SAMR_R_ENUM_DOM_GROUPS
*r_u
,
461 uint32 next_idx
, uint32 num_sam_entries
);
462 BOOL
samr_io_r_enum_dom_groups(char *desc
, SAMR_R_ENUM_DOM_GROUPS
*r_u
, prs_struct
*ps
, int depth
);
463 BOOL
make_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES
*q_e
, POLICY_HND
*pol
,
464 uint32 start_idx
, uint32 size
);
465 BOOL
samr_io_q_enum_dom_aliases(char *desc
, SAMR_Q_ENUM_DOM_ALIASES
*q_e
, prs_struct
*ps
, int depth
);
466 BOOL
make_samr_r_enum_dom_aliases(SAMR_R_ENUM_DOM_ALIASES
*r_u
,
468 uint32 num_sam_entries
);
469 BOOL
samr_io_r_enum_dom_aliases(char *desc
, SAMR_R_ENUM_DOM_ALIASES
*r_u
, prs_struct
*ps
, int depth
);
470 BOOL
make_samr_alias_info3(ALIAS_INFO3
*al3
, const char *acct_desc
);
471 BOOL
samr_io_alias_info3(char *desc
, ALIAS_INFO3
*al3
, prs_struct
*ps
, int depth
);
472 BOOL
samr_alias_info_ctr(char *desc
, ALIAS_INFO_CTR
*ctr
, prs_struct
*ps
, int depth
);
473 BOOL
make_samr_q_query_aliasinfo(SAMR_Q_QUERY_ALIASINFO
*q_e
,
474 const POLICY_HND
*pol
, uint16 switch_level
);
475 BOOL
samr_io_q_query_aliasinfo(char *desc
, SAMR_Q_QUERY_ALIASINFO
*q_e
, prs_struct
*ps
, int depth
);
476 BOOL
make_samr_r_query_aliasinfo(SAMR_R_QUERY_ALIASINFO
*r_u
,
477 ALIAS_INFO_CTR
*ctr
, uint32 status
);
478 BOOL
samr_io_r_query_aliasinfo(char *desc
, SAMR_R_QUERY_ALIASINFO
*r_u
, prs_struct
*ps
, int depth
);
479 BOOL
make_samr_q_set_aliasinfo(SAMR_Q_SET_ALIASINFO
*q_u
,
480 const POLICY_HND
*hnd
,
481 ALIAS_INFO_CTR
*ctr
);
482 BOOL
samr_io_q_set_aliasinfo(char *desc
, SAMR_Q_SET_ALIASINFO
*q_u
, prs_struct
*ps
, int depth
);
483 BOOL
samr_io_r_set_aliasinfo(char *desc
, SAMR_R_SET_ALIASINFO
*r_u
, prs_struct
*ps
, int depth
);
484 BOOL
make_samr_q_query_useraliases(SAMR_Q_QUERY_USERALIASES
*q_u
,
485 const POLICY_HND
*hnd
,
487 uint32
*ptr_sid
, DOM_SID2
*sid
);
488 BOOL
samr_io_q_query_useraliases(char *desc
, SAMR_Q_QUERY_USERALIASES
*q_u
, prs_struct
*ps
, int depth
);
489 void samr_free_q_query_useraliases(SAMR_Q_QUERY_USERALIASES
*q_u
);
490 BOOL
make_samr_r_query_useraliases(SAMR_R_QUERY_USERALIASES
*r_u
,
491 uint32 num_rids
, uint32
*rid
, uint32 status
);
492 BOOL
samr_io_rids(char *desc
, uint32
*num_rids
, uint32
**rid
, prs_struct
*ps
, int depth
);
493 BOOL
samr_io_r_query_useraliases(char *desc
, SAMR_R_QUERY_USERALIASES
*r_u
, prs_struct
*ps
, int depth
);
494 BOOL
make_samr_q_open_alias(SAMR_Q_OPEN_ALIAS
*q_u
, const POLICY_HND
*pol
,
495 uint32 unknown_0
, uint32 rid
);
496 BOOL
samr_io_q_open_alias(char *desc
, SAMR_Q_OPEN_ALIAS
*q_u
, prs_struct
*ps
, int depth
);
497 BOOL
samr_io_r_open_alias(char *desc
, SAMR_R_OPEN_ALIAS
*r_u
, prs_struct
*ps
, int depth
);
498 BOOL
make_samr_q_lookup_rids(SAMR_Q_LOOKUP_RIDS
*q_u
,
499 const POLICY_HND
*pol
, uint32 flags
,
500 uint32 num_rids
, const uint32
*rid
);
501 BOOL
samr_io_q_lookup_rids(char *desc
, SAMR_Q_LOOKUP_RIDS
*q_u
, prs_struct
*ps
, int depth
);
502 void samr_free_q_lookup_rids(SAMR_Q_LOOKUP_RIDS
*q_u
);
503 BOOL
make_samr_r_lookup_rids(SAMR_R_LOOKUP_RIDS
*r_u
,
504 uint32 num_names
, UNIHDR
*hdr_name
, UNISTR2
*uni_name
,
506 BOOL
samr_io_r_lookup_rids(char *desc
, SAMR_R_LOOKUP_RIDS
*r_u
, prs_struct
*ps
, int depth
);
507 void samr_free_r_lookup_rids(SAMR_R_LOOKUP_RIDS
*r_u
);
508 BOOL
make_samr_q_delete_alias(SAMR_Q_DELETE_DOM_ALIAS
*q_u
, POLICY_HND
*hnd
);
509 BOOL
samr_io_q_delete_alias(char *desc
, SAMR_Q_DELETE_DOM_ALIAS
*q_u
, prs_struct
*ps
, int depth
);
510 BOOL
samr_io_r_delete_alias(char *desc
, SAMR_R_DELETE_DOM_ALIAS
*r_u
, prs_struct
*ps
, int depth
);
511 BOOL
make_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS
*q_u
, POLICY_HND
*hnd
,
512 const char *acct_desc
);
513 BOOL
samr_io_q_create_dom_alias(char *desc
, SAMR_Q_CREATE_DOM_ALIAS
*q_u
, prs_struct
*ps
, int depth
);
514 BOOL
samr_io_r_create_dom_alias(char *desc
, SAMR_R_CREATE_DOM_ALIAS
*r_u
, prs_struct
*ps
, int depth
);
515 BOOL
make_samr_q_add_aliasmem(SAMR_Q_ADD_ALIASMEM
*q_u
, POLICY_HND
*hnd
,
517 BOOL
samr_io_q_add_aliasmem(char *desc
, SAMR_Q_ADD_ALIASMEM
*q_u
, prs_struct
*ps
, int depth
);
518 BOOL
samr_io_r_add_aliasmem(char *desc
, SAMR_R_ADD_ALIASMEM
*r_u
, prs_struct
*ps
, int depth
);
519 BOOL
make_samr_q_del_aliasmem(SAMR_Q_DEL_ALIASMEM
*q_u
, POLICY_HND
*hnd
,
521 BOOL
samr_io_q_del_aliasmem(char *desc
, SAMR_Q_DEL_ALIASMEM
*q_u
, prs_struct
*ps
, int depth
);
522 BOOL
samr_io_r_del_aliasmem(char *desc
, SAMR_R_DEL_ALIASMEM
*r_u
, prs_struct
*ps
, int depth
);
523 BOOL
make_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS
*q_c
, POLICY_HND
*hnd
);
524 BOOL
samr_io_q_delete_dom_alias(char *desc
, SAMR_Q_DELETE_DOM_ALIAS
*q_u
, prs_struct
*ps
, int depth
);
525 BOOL
make_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS
*r_u
,
527 BOOL
samr_io_r_delete_dom_alias(char *desc
, SAMR_R_DELETE_DOM_ALIAS
*r_u
, prs_struct
*ps
, int depth
);
528 BOOL
make_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM
*q_c
,
529 const POLICY_HND
*hnd
);
530 BOOL
samr_io_q_query_aliasmem(char *desc
, SAMR_Q_QUERY_ALIASMEM
*q_u
, prs_struct
*ps
, int depth
);
531 BOOL
make_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM
*r_u
,
532 uint32 num_sids
, DOM_SID2
*sid
, uint32 status
);
533 BOOL
samr_io_r_query_aliasmem(char *desc
, SAMR_R_QUERY_ALIASMEM
*r_u
, prs_struct
*ps
, int depth
);
534 BOOL
make_samr_q_lookup_names(SAMR_Q_LOOKUP_NAMES
*q_u
,
535 const POLICY_HND
*pol
, uint32 flags
,
536 uint32 num_names
, char **name
);
537 BOOL
samr_io_q_lookup_names(char *desc
, SAMR_Q_LOOKUP_NAMES
*q_u
, prs_struct
*ps
, int depth
);
538 void samr_free_q_lookup_names(SAMR_Q_LOOKUP_NAMES
*q_l
);
539 BOOL
make_samr_r_lookup_names(SAMR_R_LOOKUP_NAMES
*r_u
,
541 const uint32
*rid
, const uint32
*type
,
543 BOOL
samr_io_r_lookup_names(char *desc
, SAMR_R_LOOKUP_NAMES
*r_u
, prs_struct
*ps
, int depth
);
544 void samr_free_r_lookup_names(SAMR_R_LOOKUP_NAMES
*r_l
);
545 BOOL
make_samr_q_delete_dom_user(SAMR_Q_DELETE_DOM_USER
*q_c
, POLICY_HND
*hnd
);
546 BOOL
samr_io_q_delete_dom_user(char *desc
, SAMR_Q_DELETE_DOM_USER
*q_u
, prs_struct
*ps
, int depth
);
547 BOOL
samr_io_r_delete_dom_user(char *desc
, SAMR_R_DELETE_DOM_USER
*r_u
, prs_struct
*ps
, int depth
);
548 BOOL
make_samr_q_open_user(SAMR_Q_OPEN_USER
*q_u
,
549 const POLICY_HND
*pol
,
550 uint32 access_mask
, uint32 rid
);
551 BOOL
samr_io_q_open_user(char *desc
, SAMR_Q_OPEN_USER
*q_u
, prs_struct
*ps
, int depth
);
552 BOOL
samr_io_r_open_user(char *desc
, SAMR_R_OPEN_USER
*r_u
, prs_struct
*ps
, int depth
);
553 BOOL
make_samr_q_create_user(SAMR_Q_CREATE_USER
*q_u
,
556 uint16 acb_info
, uint32 access_mask
);
557 BOOL
samr_io_q_create_user(char *desc
, SAMR_Q_CREATE_USER
*q_u
, prs_struct
*ps
, int depth
);
558 BOOL
samr_io_r_create_user(char *desc
, SAMR_R_CREATE_USER
*r_u
, prs_struct
*ps
, int depth
);
559 BOOL
make_samr_q_query_userinfo(SAMR_Q_QUERY_USERINFO
*q_u
,
560 POLICY_HND
*hnd
, uint16 switch_value
);
561 BOOL
samr_io_q_query_userinfo(char *desc
, SAMR_Q_QUERY_USERINFO
*q_u
, prs_struct
*ps
, int depth
);
562 BOOL
make_sam_user_info12(SAM_USER_INFO_12
*usr
,
564 const uint8 lm_pwd
[16],
565 const uint8 nt_pwd
[16]);
566 BOOL
sam_io_user_info12(char *desc
, SAM_USER_INFO_12
*u
, prs_struct
*ps
, int depth
);
567 BOOL
make_sam_user_info10(SAM_USER_INFO_10
*usr
,
569 BOOL
sam_io_user_info10(char *desc
, SAM_USER_INFO_10
*usr
, prs_struct
*ps
, int depth
);
570 BOOL
make_sam_user_info11(SAM_USER_INFO_11
*usr
,
576 BOOL
sam_io_user_info11(char *desc
, SAM_USER_INFO_11
*usr
, prs_struct
*ps
, int depth
);
577 BOOL
make_sam_user_info24(SAM_USER_INFO_24
*usr
,
578 const char newpass
[516], uint16 passlen
);
579 BOOL
make_sam_user_info23W(SAM_USER_INFO_23
*usr
,
581 const NTTIME
*logon_time
, /* all zeros */
582 const NTTIME
*logoff_time
, /* all zeros */
583 const NTTIME
*kickoff_time
, /* all zeros */
584 const NTTIME
*pass_last_set_time
, /* all zeros */
585 const NTTIME
*pass_can_change_time
, /* all zeros */
586 const NTTIME
*pass_must_change_time
, /* all zeros */
588 const UNISTR2
*user_name
,
589 const UNISTR2
*full_name
,
590 const UNISTR2
*home_dir
,
591 const UNISTR2
*dir_drive
,
592 const UNISTR2
*log_scr
,
593 const UNISTR2
*prof_path
,
595 const UNISTR2
*wkstas
,
596 const UNISTR2
*unk_str
,
597 const UNISTR2
*mung_dial
,
599 uint32 user_rid
, /* 0x0000 0000 */
612 BOOL
make_sam_user_info23A(SAM_USER_INFO_23
*usr
,
614 NTTIME
*logon_time
, /* all zeros */
615 NTTIME
*logoff_time
, /* all zeros */
616 NTTIME
*kickoff_time
, /* all zeros */
617 NTTIME
*pass_last_set_time
, /* all zeros */
618 NTTIME
*pass_can_change_time
, /* all zeros */
619 NTTIME
*pass_must_change_time
, /* all zeros */
621 char *user_name
, /* NULL */
632 uint32 user_rid
, /* 0x0000 0000 */
645 BOOL
make_sam_user_info21W(SAM_USER_INFO_21
*usr
,
647 const NTTIME
*logon_time
,
648 const NTTIME
*logoff_time
,
649 const NTTIME
*kickoff_time
,
650 const NTTIME
*pass_last_set_time
,
651 const NTTIME
*pass_can_change_time
,
652 const NTTIME
*pass_must_change_time
,
654 const UNISTR2
*user_name
,
655 const UNISTR2
*full_name
,
656 const UNISTR2
*home_dir
,
657 const UNISTR2
*dir_drive
,
658 const UNISTR2
*log_scr
,
659 const UNISTR2
*prof_path
,
661 const UNISTR2
*wkstas
,
662 const UNISTR2
*unk_str
,
663 const UNISTR2
*mung_dial
,
665 const uchar lm_pwd
[16],
666 const uchar nt_pwd
[16],
674 const LOGON_HRS
*hrs
,
677 BOOL
make_sam_user_info21A(SAM_USER_INFO_21
*usr
,
681 NTTIME
*kickoff_time
,
682 NTTIME
*pass_last_set_time
,
683 NTTIME
*pass_can_change_time
,
684 NTTIME
*pass_must_change_time
,
706 BOOL
sam_io_user_info21(char *desc
, SAM_USER_INFO_21
*usr
, prs_struct
*ps
, int depth
);
707 uint32
make_samr_userinfo_ctr_usr21(SAM_USERINFO_CTR
*ctr
,
709 const SAM_USER_INFO_21
*usr
);
710 BOOL
make_samr_userinfo_ctr(SAM_USERINFO_CTR
*ctr
, const uchar
*sess_key
,
711 uint16 switch_value
, void *info
);
712 BOOL
samr_io_userinfo_ctr(char *desc
, SAM_USERINFO_CTR
*ctr
, prs_struct
*ps
, int depth
);
713 void free_samr_userinfo_ctr(SAM_USERINFO_CTR
*ctr
);
714 BOOL
make_samr_r_query_userinfo(SAMR_R_QUERY_USERINFO
*r_u
,
715 SAM_USERINFO_CTR
*ctr
, uint32 status
);
716 BOOL
samr_io_r_query_userinfo(char *desc
, SAMR_R_QUERY_USERINFO
*r_u
, prs_struct
*ps
, int depth
);
717 BOOL
make_samr_q_set_userinfo(SAMR_Q_SET_USERINFO
*q_u
,
719 uint16 switch_value
, void *info
);
720 BOOL
samr_io_q_set_userinfo(char *desc
, SAMR_Q_SET_USERINFO
*q_u
, prs_struct
*ps
, int depth
);
721 void free_samr_q_set_userinfo(SAMR_Q_SET_USERINFO
*q_u
);
722 BOOL
make_samr_r_set_userinfo(SAMR_R_SET_USERINFO
*r_u
, uint32 status
);
723 BOOL
samr_io_r_set_userinfo(char *desc
, SAMR_R_SET_USERINFO
*r_u
, prs_struct
*ps
, int depth
);
724 BOOL
make_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2
*q_u
,
727 SAM_USERINFO_CTR
*ctr
);
728 BOOL
samr_io_q_set_userinfo2(char *desc
, SAMR_Q_SET_USERINFO2
*q_u
, prs_struct
*ps
, int depth
);
729 void free_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2
*q_u
);
730 BOOL
make_samr_r_set_userinfo2(SAMR_R_SET_USERINFO2
*r_u
,
732 BOOL
samr_io_r_set_userinfo2(char *desc
, SAMR_R_SET_USERINFO2
*r_u
, prs_struct
*ps
, int depth
);
733 BOOL
make_samr_q_connect(SAMR_Q_CONNECT
*q_u
,
734 const char *srv_name
, uint32 access_mask
);
735 BOOL
samr_io_q_connect(char *desc
, SAMR_Q_CONNECT
*q_u
, prs_struct
*ps
, int depth
);
736 BOOL
samr_io_r_connect(char *desc
, SAMR_R_CONNECT
*r_u
, prs_struct
*ps
, int depth
);
737 BOOL
make_samr_q_connect_anon(SAMR_Q_CONNECT_ANON
*q_u
);
738 BOOL
samr_io_q_connect_anon(char *desc
, SAMR_Q_CONNECT_ANON
*q_u
, prs_struct
*ps
, int depth
);
739 BOOL
samr_io_r_connect_anon(char *desc
, SAMR_R_CONNECT_ANON
*r_u
, prs_struct
*ps
, int depth
);
740 BOOL
make_samr_q_get_dom_pwinfo(SAMR_Q_GET_DOM_PWINFO
*q_u
, const char *srv_name
);
741 BOOL
samr_io_q_get_dom_pwinfo(char *desc
, SAMR_Q_GET_DOM_PWINFO
*q_u
, prs_struct
*ps
, int depth
);
742 BOOL
samr_io_r_get_dom_pwinfo(char *desc
, SAMR_R_GET_DOM_PWINFO
*r_u
, prs_struct
*ps
, int depth
);
743 BOOL
make_enc_passwd(SAMR_ENC_PASSWD
*pwd
, const char pass
[512]);
744 BOOL
samr_io_enc_passwd(char *desc
, SAMR_ENC_PASSWD
*pwd
, prs_struct
*ps
, int depth
);
745 BOOL
make_enc_hash(SAMR_ENC_HASH
*hsh
, const uchar hash
[16]);
746 BOOL
samr_io_enc_hash(char *desc
, SAMR_ENC_HASH
*hsh
, prs_struct
*ps
, int depth
);
747 BOOL
make_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER
*q_u
,
748 const char *dest_host
, const char *user_name
,
749 const char nt_newpass
[516],
750 const uchar nt_oldhash
[16],
751 const char lm_newpass
[516],
752 const uchar lm_oldhash
[16]);
753 BOOL
samr_io_q_chgpasswd_user(char *desc
, SAMR_Q_CHGPASSWD_USER
*q_u
, prs_struct
*ps
, int depth
);
754 BOOL
make_samr_r_chgpasswd_user(SAMR_R_CHGPASSWD_USER
*r_u
, uint32 status
);
755 BOOL
samr_io_r_chgpasswd_user(char *desc
, SAMR_R_CHGPASSWD_USER
*r_u
, prs_struct
*ps
, int depth
);
757 /*The following definitions come from rpc_parse/parse_sec.c */
759 BOOL
make_sec_access(SEC_ACCESS
*t
, uint32 mask
);
760 BOOL
sec_io_access(char *desc
, SEC_ACCESS
*t
, prs_struct
*ps
, int depth
);
761 BOOL
make_sec_ace(SEC_ACE
*t
, DOM_SID
*sid
, uint8 type
, SEC_ACCESS mask
, uint8 flag
);
762 BOOL
sec_io_ace(char *desc
, SEC_ACE
*t
, prs_struct
*ps
, int depth
);
763 BOOL
make_sec_acl(SEC_ACL
*t
, uint16 revision
, int num_aces
, SEC_ACE
*ace
);
764 void free_sec_acl(SEC_ACL
*t
);
765 BOOL
sec_io_acl(char *desc
, SEC_ACL
*t
, prs_struct
*ps
, int depth
);
766 int make_sec_desc(SEC_DESC
*t
, uint16 revision
, uint16 type
,
767 DOM_SID
*owner_sid
, DOM_SID
*grp_sid
,
768 SEC_ACL
*sacl
, SEC_ACL
*dacl
);
769 void free_sec_desc(SEC_DESC
*t
);
770 BOOL
sec_io_desc(char *desc
, SEC_DESC
*t
, prs_struct
*ps
, int depth
);
771 BOOL
make_sec_desc_buf(SEC_DESC_BUF
*buf
, int len
, SEC_DESC
*data
);
772 void free_sec_desc_buf(SEC_DESC_BUF
*buf
);
773 BOOL
sec_io_desc_buf(char *desc
, SEC_DESC_BUF
*sec
, prs_struct
*ps
, int depth
);
775 /*The following definitions come from rpc_parse/parse_spoolss.c */
777 BOOL
make_systemtime(SYSTEMTIME
*systime
, struct tm
*unixtime
);
778 BOOL
smb_io_notify_info_data_strings(char *desc
,SPOOL_NOTIFY_INFO_DATA
*data
,
779 prs_struct
*ps
, int depth
);
780 BOOL
spoolss_io_r_open_printer_ex(char *desc
, SPOOL_R_OPEN_PRINTER_EX
*r_u
, prs_struct
*ps
, int depth
);
781 BOOL
make_spoolss_q_open_printer_ex(SPOOL_Q_OPEN_PRINTER_EX
*q_u
,
782 const char *printername
,
783 uint32 cbbuf
, uint32 devmod
, uint32 des_access
,
785 const char *username
);
786 BOOL
spoolss_io_q_open_printer_ex(char *desc
, SPOOL_Q_OPEN_PRINTER_EX
*q_u
, prs_struct
*ps
, int depth
);
787 BOOL
make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA
*q_u
,
791 BOOL
spoolss_io_q_getprinterdata(char *desc
, SPOOL_Q_GETPRINTERDATA
*q_u
, prs_struct
*ps
, int depth
);
792 BOOL
spoolss_io_r_getprinterdata(char *desc
, SPOOL_R_GETPRINTERDATA
*r_u
, prs_struct
*ps
, int depth
);
793 BOOL
make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER
*q_u
, POLICY_HND
*hnd
);
794 BOOL
spoolss_io_q_closeprinter(char *desc
, SPOOL_Q_CLOSEPRINTER
*q_u
, prs_struct
*ps
, int depth
);
795 BOOL
spoolss_io_r_closeprinter(char *desc
, SPOOL_R_CLOSEPRINTER
*r_u
, prs_struct
*ps
, int depth
);
796 BOOL
spoolss_io_q_startdocprinter(char *desc
, SPOOL_Q_STARTDOCPRINTER
*q_u
, prs_struct
*ps
, int depth
);
797 BOOL
spoolss_io_r_startdocprinter(char *desc
, SPOOL_R_STARTDOCPRINTER
*r_u
, prs_struct
*ps
, int depth
);
798 BOOL
spoolss_io_q_enddocprinter(char *desc
, SPOOL_Q_ENDDOCPRINTER
*q_u
, prs_struct
*ps
, int depth
);
799 BOOL
spoolss_io_r_enddocprinter(char *desc
, SPOOL_R_ENDDOCPRINTER
*r_u
, prs_struct
*ps
, int depth
);
800 BOOL
spoolss_io_q_startpageprinter(char *desc
, SPOOL_Q_STARTPAGEPRINTER
*q_u
, prs_struct
*ps
, int depth
);
801 BOOL
spoolss_io_r_startpageprinter(char *desc
, SPOOL_R_STARTPAGEPRINTER
*r_u
, prs_struct
*ps
, int depth
);
802 BOOL
spoolss_io_q_endpageprinter(char *desc
, SPOOL_Q_ENDPAGEPRINTER
*q_u
, prs_struct
*ps
, int depth
);
803 BOOL
spoolss_io_r_endpageprinter(char *desc
, SPOOL_R_ENDPAGEPRINTER
*r_u
, prs_struct
*ps
, int depth
);
804 BOOL
spoolss_io_q_writeprinter(char *desc
, SPOOL_Q_WRITEPRINTER
*q_u
, prs_struct
*ps
, int depth
);
805 BOOL
spoolss_io_r_writeprinter(char *desc
, SPOOL_R_WRITEPRINTER
*r_u
, prs_struct
*ps
, int depth
);
806 BOOL
spoolss_io_q_rffpcnex(char *desc
, SPOOL_Q_RFFPCNEX
*q_u
,
807 prs_struct
*ps
, int depth
);
808 BOOL
spoolss_io_r_rffpcnex(char *desc
, SPOOL_R_RFFPCNEX
*r_u
,
809 prs_struct
*ps
, int depth
);
810 BOOL
spoolss_io_q_rfnpcnex(char *desc
, SPOOL_Q_RFNPCNEX
*q_u
,
811 prs_struct
*ps
, int depth
);
812 BOOL
spoolss_io_r_rfnpcnex(char *desc
,
813 SPOOL_R_RFNPCNEX
*r_u
,
814 prs_struct
*ps
, int depth
);
815 BOOL
spoolss_io_free_buffer(BUFFER
*buffer
);
816 BOOL
spoolss_io_q_getprinterdriver2(char *desc
,
817 SPOOL_Q_GETPRINTERDRIVER2
*q_u
,
818 prs_struct
*ps
, int depth
);
819 BOOL
spoolss_io_r_getprinterdriver2(char *desc
, SPOOL_R_GETPRINTERDRIVER2
*r_u
,
820 prs_struct
*ps
, int depth
);
821 BOOL
make_spoolss_q_enumprinters(SPOOL_Q_ENUMPRINTERS
*q_u
,
823 const char* servername
,
826 BOOL
spoolss_io_q_enumprinters(char *desc
, SPOOL_Q_ENUMPRINTERS
*q_u
,
827 prs_struct
*ps
, int depth
);
828 void free_r_enumprinters(SPOOL_R_ENUMPRINTERS
*r_u
);
829 BOOL
spoolss_io_r_enumprinters(char *desc
,
830 SPOOL_R_ENUMPRINTERS
*r_u
,
831 prs_struct
*ps
, int depth
);
832 BOOL
spoolss_io_r_getprinter(char *desc
,
833 SPOOL_R_GETPRINTER
*r_u
,
834 prs_struct
*ps
, int depth
);
835 BOOL
make_spoolss_q_getprinter(SPOOL_Q_GETPRINTER
*q_u
,
839 BOOL
spoolss_io_q_getprinter(char *desc
, SPOOL_Q_GETPRINTER
*q_u
,
840 prs_struct
*ps
, int depth
);
841 BOOL
spoolss_io_r_setprinter(char *desc
, SPOOL_R_SETPRINTER
*r_u
, prs_struct
*ps
, int depth
);
842 BOOL
spoolss_io_q_setprinter(char *desc
, SPOOL_Q_SETPRINTER
*q_u
, prs_struct
*ps
, int depth
);
843 BOOL
spoolss_io_r_fcpn(char *desc
, SPOOL_R_FCPN
*r_u
, prs_struct
*ps
, int depth
);
844 BOOL
spoolss_io_q_fcpn(char *desc
, SPOOL_Q_FCPN
*q_u
, prs_struct
*ps
, int depth
);
845 BOOL
spoolss_io_r_addjob(char *desc
, SPOOL_R_ADDJOB
*r_u
, prs_struct
*ps
, int depth
);
846 BOOL
spoolss_io_q_addjob(char *desc
, SPOOL_Q_ADDJOB
*q_u
, prs_struct
*ps
, int depth
);
847 void free_job_info_ctr(JOB_INFO_CTR
*ctr
, uint32 level
, uint32 numofjobs
);
848 void free_r_enumjobs(SPOOL_R_ENUMJOBS
*r_u
);
849 BOOL
spoolss_io_r_enumjobs(char *desc
, SPOOL_R_ENUMJOBS
*r_u
, prs_struct
*ps
, int depth
);
850 BOOL
make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS
*q_u
, const POLICY_HND
*hnd
,
855 BOOL
spoolss_io_q_enumjobs(char *desc
, SPOOL_Q_ENUMJOBS
*q_u
, prs_struct
*ps
, int depth
);
856 BOOL
spoolss_io_r_schedulejob(char *desc
, SPOOL_R_SCHEDULEJOB
*r_u
, prs_struct
*ps
, int depth
);
857 BOOL
spoolss_io_q_schedulejob(char *desc
, SPOOL_Q_SCHEDULEJOB
*q_u
, prs_struct
*ps
, int depth
);
858 BOOL
spoolss_io_r_setjob(char *desc
, SPOOL_R_SETJOB
*r_u
, prs_struct
*ps
, int depth
);
859 BOOL
spoolss_io_q_setjob(char *desc
, SPOOL_Q_SETJOB
*q_u
, prs_struct
*ps
, int depth
);
860 BOOL
spoolss_io_r_enumdrivers(char *desc
, SPOOL_R_ENUMPRINTERDRIVERS
*r_u
, prs_struct
*ps
, int depth
);
861 void free_spoolss_r_enumdrivers(SPOOL_R_ENUMPRINTERDRIVERS
*r_u
);
862 BOOL
spoolss_io_q_enumprinterdrivers(char *desc
, SPOOL_Q_ENUMPRINTERDRIVERS
*q_u
, prs_struct
*ps
, int depth
);
863 BOOL
spoolss_io_r_enumforms(char *desc
, SPOOL_R_ENUMFORMS
*r_u
, prs_struct
*ps
, int depth
);
864 void spoolss_free_r_enumforms(SPOOL_R_ENUMFORMS
*r_u
);
865 BOOL
spoolss_io_q_enumforms(char *desc
, SPOOL_Q_ENUMFORMS
*q_u
, prs_struct
*ps
, int depth
);
866 BOOL
spoolss_io_r_enumports(char *desc
, SPOOL_R_ENUMPORTS
*r_u
, prs_struct
*ps
, int depth
);
867 void spoolss_free_r_enumports(SPOOL_R_ENUMPORTS
*r_u
);
868 BOOL
spoolss_io_q_enumports(char *desc
, SPOOL_Q_ENUMPORTS
*q_u
, prs_struct
*ps
, int depth
);
869 BOOL
spool_io_printer_info_level_2(char *desc
, SPOOL_PRINTER_INFO_LEVEL_2
**q_u
, prs_struct
*ps
, int depth
);
870 BOOL
spool_io_printer_info_level(char *desc
, SPOOL_PRINTER_INFO_LEVEL
*il
, prs_struct
*ps
, int depth
);
871 BOOL
spool_io_user_level_1(char *desc
, SPOOL_USER_LEVEL_1
**q_u
, prs_struct
*ps
, int depth
);
872 BOOL
spool_io_user_level(char *desc
, SPOOL_USER_LEVEL
*q_u
, prs_struct
*ps
, int depth
);
873 BOOL
spoolss_io_q_addprinterex(char *desc
, SPOOL_Q_ADDPRINTEREX
*q_u
, prs_struct
*ps
, int depth
);
874 BOOL
spoolss_io_r_addprinterex(char *desc
, SPOOL_R_ADDPRINTEREX
*r_u
, prs_struct
*ps
, int depth
);
875 BOOL
spool_io_printer_driver_info_level_3(char *desc
, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3
**q_u
,
876 prs_struct
*ps
, int depth
);
877 BOOL
uniarray_2_ascarray(BUFFER5
*buf5
, char ***ar
);
878 BOOL
smb_io_unibuffer(char *desc
, UNISTR2
*buffer
, prs_struct
*ps
, int depth
);
879 BOOL
spool_io_printer_driver_info_level(char *desc
, SPOOL_PRINTER_DRIVER_INFO_LEVEL
*il
, prs_struct
*ps
, int depth
);
880 BOOL
spoolss_io_q_addprinterdriver(char *desc
, SPOOL_Q_ADDPRINTERDRIVER
*q_u
, prs_struct
*ps
, int depth
);
881 BOOL
spoolss_io_r_addprinterdriver(char *desc
, SPOOL_R_ADDPRINTERDRIVER
*q_u
, prs_struct
*ps
, int depth
);
882 BOOL
uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3
*uni
,
883 NT_PRINTER_DRIVER_INFO_LEVEL_3
**asc
);
884 BOOL
uni_2_asc_printer_info_2(const SPOOL_PRINTER_INFO_LEVEL_2
*uni
,
885 NT_PRINTER_INFO_LEVEL_2
**asc
);
886 BOOL
spoolss_io_r_getprinterdriverdir(char *desc
, SPOOL_R_GETPRINTERDRIVERDIR
*r_u
, prs_struct
*ps
, int depth
);
887 BOOL
spoolss_io_q_getprinterdriverdir(char *desc
, SPOOL_Q_GETPRINTERDRIVERDIR
*q_u
, prs_struct
*ps
, int depth
);
888 BOOL
spoolss_io_r_enumprintprocessors(char *desc
, SPOOL_R_ENUMPRINTPROCESSORS
*r_u
, prs_struct
*ps
, int depth
);
889 BOOL
spoolss_io_q_enumprintprocessors(char *desc
, SPOOL_Q_ENUMPRINTPROCESSORS
*q_u
, prs_struct
*ps
, int depth
);
890 BOOL
spoolss_io_r_enumprintmonitors(char *desc
, SPOOL_R_ENUMPRINTMONITORS
*r_u
, prs_struct
*ps
, int depth
);
891 BOOL
spoolss_io_q_enumprintmonitors(char *desc
, SPOOL_Q_ENUMPRINTMONITORS
*q_u
, prs_struct
*ps
, int depth
);
892 BOOL
spoolss_io_r_enumprinterdata(char *desc
, SPOOL_R_ENUMPRINTERDATA
*r_u
, prs_struct
*ps
, int depth
);
893 BOOL
spoolss_io_q_enumprinterdata(char *desc
, SPOOL_Q_ENUMPRINTERDATA
*q_u
, prs_struct
*ps
, int depth
);
894 BOOL
spoolss_io_q_setprinterdata(char *desc
, SPOOL_Q_SETPRINTERDATA
*q_u
, prs_struct
*ps
, int depth
);
895 BOOL
spoolss_io_r_setprinterdata(char *desc
, SPOOL_R_SETPRINTERDATA
*r_u
, prs_struct
*ps
, int depth
);
896 BOOL
convert_specific_param(NT_PRINTER_PARAM
**param
, const UNISTR2
*value
,
897 uint32 type
, const uint8
*data
, uint32 len
);
898 BOOL
spoolss_io_q_addform(char *desc
, SPOOL_Q_ADDFORM
*q_u
, prs_struct
*ps
, int depth
);
899 BOOL
spoolss_io_r_addform(char *desc
, SPOOL_R_ADDFORM
*r_u
, prs_struct
*ps
, int depth
);
900 BOOL
spoolss_io_q_setform(char *desc
, SPOOL_Q_SETFORM
*q_u
, prs_struct
*ps
, int depth
);
901 BOOL
spoolss_io_r_setform(char *desc
, SPOOL_R_SETFORM
*r_u
, prs_struct
*ps
, int depth
);
902 BOOL
spoolss_io_r_getjob(char *desc
, SPOOL_R_GETJOB
*r_u
, prs_struct
*ps
, int depth
);
903 void free_spoolss_r_getjob(SPOOL_R_GETJOB
*r_u
);
904 BOOL
spoolss_io_q_getjob(char *desc
, SPOOL_Q_GETJOB
*q_u
, prs_struct
*ps
, int depth
);
905 void free_devmode(DEVICEMODE
*devmode
);
906 void free_printer_info_2(PRINTER_INFO_2
*printer
);
907 void free_print2_array(uint32 num_entries
, PRINTER_INFO_2
**entries
);
908 PRINTER_INFO_2
*add_print2_to_array(uint32
*len
, PRINTER_INFO_2
***array
,
909 const PRINTER_INFO_2
*prt
);
910 void free_print1_array(uint32 num_entries
, PRINTER_INFO_1
**entries
);
911 PRINTER_INFO_1
*add_print1_to_array(uint32
*len
, PRINTER_INFO_1
***array
,
912 const PRINTER_INFO_1
*prt
);
913 void free_job1_array(uint32 num_entries
, JOB_INFO_1
**entries
);
914 JOB_INFO_1
*add_job1_to_array(uint32
*len
, JOB_INFO_1
***array
,
915 const JOB_INFO_1
*job
);
916 void free_job_info_2(JOB_INFO_2
*job
);
917 void free_job2_array(uint32 num_entries
, JOB_INFO_2
**entries
);
918 JOB_INFO_2
*add_job2_to_array(uint32
*len
, JOB_INFO_2
***array
,
919 const JOB_INFO_2
*job
);
921 /*The following definitions come from rpc_parse/parse_srv.c */
923 BOOL
make_srv_share_info1_str(SH_INFO_1_STR
*sh1
,
924 const char *net_name
, const char *remark
);
925 BOOL
make_srv_share_info1(SH_INFO_1
*sh1
,
926 const char *net_name
, uint32 type
,
928 BOOL
make_srv_share_info2_str(SH_INFO_2_STR
*sh2
,
929 const char *net_name
, const char *remark
,
930 const char *path
, const char *pass
);
931 BOOL
make_srv_share_info2(SH_INFO_2
*sh2
,
932 const char *net_name
, uint32 type
,
934 uint32 perms
, uint32 max_uses
, uint32 num_uses
,
935 const char *path
, const char *pass
);
936 void srv_free_srv_share_ctr(SRV_SHARE_INFO_CTR
*ctr
);
937 BOOL
make_srv_q_net_share_enum(SRV_Q_NET_SHARE_ENUM
*q_n
,
938 const char *srv_name
,
939 uint32 share_level
, SRV_SHARE_INFO_CTR
*ctr
,
940 uint32 preferred_len
,
942 BOOL
srv_io_q_net_share_enum(char *desc
, SRV_Q_NET_SHARE_ENUM
*q_n
, prs_struct
*ps
, int depth
);
943 BOOL
srv_io_r_net_share_enum(char *desc
, SRV_R_NET_SHARE_ENUM
*r_n
, prs_struct
*ps
, int depth
);
944 BOOL
make_srv_q_net_share_get_info(SRV_Q_NET_SHARE_GET_INFO
*q_n
,
945 const UNISTR2
*srv_name
,
946 const UNISTR2
*share_name
,
948 BOOL
srv_io_q_net_share_get_info(char *desc
, SRV_Q_NET_SHARE_GET_INFO
*q_n
,
949 prs_struct
*ps
, int depth
);
950 BOOL
make_srv_r_net_share_get_info(SRV_R_NET_SHARE_GET_INFO
*r_n
,
954 BOOL
srv_io_r_net_share_get_info(char *desc
, SRV_R_NET_SHARE_GET_INFO
*r_n
,
955 prs_struct
*ps
, int depth
);
956 BOOL
make_srv_sess_info0_str(SESS_INFO_0_STR
*ss0
, char *name
);
957 BOOL
make_srv_sess_info0(SESS_INFO_0
*ss0
, char *name
);
958 BOOL
make_srv_sess_info1_str(SESS_INFO_1_STR
*ss1
, char *name
, char *user
);
959 BOOL
make_srv_sess_info1(SESS_INFO_1
*ss1
,
960 char *name
, char *user
,
961 uint32 num_opens
, uint32 open_time
, uint32 idle_time
,
963 BOOL
make_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM
*q_n
,
964 const char *srv_name
, const char *qual_name
,
966 uint32 sess_level
, SRV_SESS_INFO_CTR
*ctr
,
967 uint32 preferred_len
,
969 BOOL
srv_io_q_net_sess_enum(char *desc
, SRV_Q_NET_SESS_ENUM
*q_n
, prs_struct
*ps
, int depth
);
970 BOOL
srv_io_r_net_sess_enum(char *desc
, SRV_R_NET_SESS_ENUM
*r_n
, prs_struct
*ps
, int depth
);
971 BOOL
make_srv_conn_info0(CONN_INFO_0
*ss0
, uint32 id
);
972 BOOL
make_srv_conn_info1_str(CONN_INFO_1_STR
*ss1
, char *usr_name
, char *net_name
);
973 BOOL
make_srv_conn_info1(CONN_INFO_1
*ss1
,
974 uint32 id
, uint32 type
,
975 uint32 num_opens
, uint32 num_users
, uint32 open_time
,
976 char *usr_name
, char *net_name
);
977 BOOL
make_srv_q_net_conn_enum(SRV_Q_NET_CONN_ENUM
*q_n
,
978 const char *srv_name
, const char *qual_name
,
979 uint32 conn_level
, SRV_CONN_INFO_CTR
*ctr
,
980 uint32 preferred_len
,
982 BOOL
srv_io_q_net_conn_enum(char *desc
, SRV_Q_NET_CONN_ENUM
*q_n
, prs_struct
*ps
, int depth
);
983 BOOL
srv_io_r_net_conn_enum(char *desc
, SRV_R_NET_CONN_ENUM
*r_n
, prs_struct
*ps
, int depth
);
984 BOOL
make_srv_tprt_info0_str(TPRT_INFO_0_STR
*tp0
,
986 char *trans_addr
, uint32 trans_addr_len
,
988 BOOL
make_srv_tprt_info0(TPRT_INFO_0
*tp0
,
989 uint32 num_vcs
, uint32 trans_addr_len
,
990 char *trans_name
, char *trans_addr
,
992 void free_srv_tprt_info_0(SRV_TPRT_INFO_0
*tp0
);
993 void free_srv_tprt_ctr(SRV_TPRT_INFO_CTR
*ctr
);
994 BOOL
make_srv_q_net_tprt_enum(SRV_Q_NET_TPRT_ENUM
*q_n
,
995 const char *srv_name
,
996 uint32 tprt_level
, SRV_TPRT_INFO_CTR
*ctr
,
997 uint32 preferred_len
,
999 BOOL
srv_io_q_net_tprt_enum(char *desc
, SRV_Q_NET_TPRT_ENUM
*q_n
, prs_struct
*ps
, int depth
);
1000 BOOL
srv_io_r_net_tprt_enum(char *desc
, SRV_R_NET_TPRT_ENUM
*r_n
, prs_struct
*ps
, int depth
);
1001 BOOL
make_srv_file_info3_str(FILE_INFO_3_STR
*fi3
,
1002 const char *path_name
, const char *user_name
);
1003 BOOL
make_srv_file_info3(FILE_INFO_3
*fl3
,
1004 uint32 id
, uint32 perms
, uint32 num_locks
,
1005 const char *path_name
, const char *user_name
);
1006 void srv_free_srv_file_ctr(SRV_FILE_INFO_CTR
*ctr
);
1007 BOOL
make_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM
*q_n
,
1008 const char *srv_name
, const char *qual_name
,
1010 uint32 file_level
, SRV_FILE_INFO_CTR
*ctr
,
1011 uint32 preferred_len
,
1013 BOOL
srv_io_q_net_file_enum(char *desc
, SRV_Q_NET_FILE_ENUM
*q_n
, prs_struct
*ps
, int depth
);
1014 BOOL
srv_io_r_net_file_enum(char *desc
, SRV_R_NET_FILE_ENUM
*r_n
, prs_struct
*ps
, int depth
);
1015 BOOL
make_srv_q_net_srv_get_info(SRV_Q_NET_SRV_GET_INFO
*srv
,
1016 char *server_name
, uint32 switch_value
);
1017 BOOL
srv_io_q_net_srv_get_info(char *desc
, SRV_Q_NET_SRV_GET_INFO
*q_n
, prs_struct
*ps
, int depth
);
1018 BOOL
make_srv_r_net_srv_get_info(SRV_R_NET_SRV_GET_INFO
*srv
,
1019 uint32 switch_value
, SRV_INFO_CTR
*ctr
, uint32 status
);
1020 BOOL
srv_io_r_net_srv_get_info(char *desc
, SRV_R_NET_SRV_GET_INFO
*r_n
, prs_struct
*ps
, int depth
);
1021 BOOL
make_srv_q_net_remote_tod(SRV_Q_NET_REMOTE_TOD
*q_t
, char *server_name
);
1022 BOOL
srv_io_q_net_remote_tod(char *desc
, SRV_Q_NET_REMOTE_TOD
*q_n
, prs_struct
*ps
, int depth
);
1023 BOOL
make_time_of_day_info(TIME_OF_DAY_INFO
*tod
, uint32 elapsedt
, uint32 msecs
,
1024 uint32 hours
, uint32 mins
, uint32 secs
, uint32 hunds
,
1025 uint32 zone
, uint32 tintervals
, uint32 day
,
1026 uint32 month
, uint32 year
, uint32 weekday
);
1027 BOOL
srv_io_r_net_remote_tod(char *desc
, SRV_R_NET_REMOTE_TOD
*r_n
, prs_struct
*ps
, int depth
);
1029 /*The following definitions come from rpc_parse/parse_svc.c */
1031 BOOL
make_svc_q_open_sc_man(SVC_Q_OPEN_SC_MAN
*q_u
,
1032 const char *server
, const char *database
,
1034 BOOL
svc_io_q_open_sc_man(char *desc
, SVC_Q_OPEN_SC_MAN
*q_u
, prs_struct
*ps
, int depth
);
1035 BOOL
svc_io_r_open_sc_man(char *desc
, SVC_R_OPEN_SC_MAN
*r_u
, prs_struct
*ps
, int depth
);
1036 BOOL
make_svc_q_open_service(SVC_Q_OPEN_SERVICE
*q_u
,
1040 BOOL
svc_io_q_open_service(char *desc
, SVC_Q_OPEN_SERVICE
*q_u
, prs_struct
*ps
, int depth
);
1041 BOOL
svc_io_r_open_service(char *desc
, SVC_R_OPEN_SERVICE
*r_u
, prs_struct
*ps
, int depth
);
1042 BOOL
make_svc_q_stop_service(SVC_Q_STOP_SERVICE
*q_c
, POLICY_HND
*hnd
,
1044 BOOL
svc_io_q_stop_service(char *desc
, SVC_Q_STOP_SERVICE
*q_s
, prs_struct
*ps
, int depth
);
1045 BOOL
svc_io_r_stop_service(char *desc
, SVC_R_STOP_SERVICE
*r_s
, prs_struct
*ps
, int depth
);
1046 BOOL
make_svc_q_start_service(SVC_Q_START_SERVICE
*q_c
, POLICY_HND
*hnd
,
1049 BOOL
svc_io_q_start_service(char *desc
, SVC_Q_START_SERVICE
*q_s
, prs_struct
*ps
, int depth
);
1050 BOOL
svc_io_r_start_service(char *desc
, SVC_R_START_SERVICE
*r_s
, prs_struct
*ps
, int depth
);
1051 BOOL
make_svc_query_svc_cfg(QUERY_SERVICE_CONFIG
*q_u
,
1052 uint32 service_type
, uint32 start_type
,
1053 uint32 error_control
,
1054 char* bin_path_name
, char* load_order_grp
,
1056 char* dependencies
, char* service_start_name
,
1058 BOOL
svc_io_query_svc_cfg(char *desc
, QUERY_SERVICE_CONFIG
*q_u
, prs_struct
*ps
, int depth
);
1059 BOOL
make_svc_q_enum_svcs_status(SVC_Q_ENUM_SVCS_STATUS
*q_c
, POLICY_HND
*hnd
,
1060 uint32 service_type
, uint32 service_state
,
1061 uint32 buf_size
, uint32 resume_hnd
);
1062 BOOL
svc_io_q_enum_svcs_status(char *desc
, SVC_Q_ENUM_SVCS_STATUS
*q_u
, prs_struct
*ps
, int depth
);
1063 BOOL
make_svc_r_enum_svcs_status(SVC_R_ENUM_SVCS_STATUS
*r_c
,
1064 ENUM_SRVC_STATUS
*svcs
, uint32 more_buf_size
,
1065 uint32 num_svcs
, ENUM_HND
*resume_hnd
,
1067 BOOL
svc_io_r_enum_svcs_status(char *desc
, SVC_R_ENUM_SVCS_STATUS
*svc
, prs_struct
*ps
, int depth
);
1068 BOOL
svc_io_svc_status(char *desc
, SVC_STATUS
*svc
, prs_struct
*ps
, int depth
);
1069 BOOL
make_svc_q_query_svc_config(SVC_Q_QUERY_SVC_CONFIG
*q_c
, POLICY_HND
*hnd
,
1071 BOOL
svc_io_q_query_svc_config(char *desc
, SVC_Q_QUERY_SVC_CONFIG
*q_u
, prs_struct
*ps
, int depth
);
1072 BOOL
make_svc_r_query_svc_config(SVC_R_QUERY_SVC_CONFIG
*r_c
,
1073 QUERY_SERVICE_CONFIG
*cfg
,
1075 BOOL
svc_io_r_query_svc_config(char *desc
, SVC_R_QUERY_SVC_CONFIG
*r_u
, prs_struct
*ps
, int depth
);
1076 BOOL
svc_io_q_query_disp_name(char *desc
, SVC_Q_QUERY_DISP_NAME
*q_u
, prs_struct
*ps
, int depth
);
1077 BOOL
svc_io_r_query_disp_name(char *desc
, SVC_R_QUERY_DISP_NAME
*r_u
, prs_struct
*ps
, int depth
);
1078 BOOL
make_svc_q_close(SVC_Q_CLOSE
*q_c
, POLICY_HND
*hnd
);
1079 BOOL
svc_io_q_close(char *desc
, SVC_Q_CLOSE
*q_u
, prs_struct
*ps
, int depth
);
1080 BOOL
svc_io_r_close(char *desc
, SVC_R_CLOSE
*r_u
, prs_struct
*ps
, int depth
);
1081 BOOL
make_svc_q_change_svc_config(SVC_Q_CHANGE_SVC_CONFIG
*q_u
, POLICY_HND
*hnd
,
1082 uint32 service_type
, uint32 start_type
,
1084 uint32 error_control
,
1085 char* bin_path_name
, char* load_order_grp
,
1087 char* dependencies
, char* service_start_name
,
1090 BOOL
svc_io_q_change_svc_config(char *desc
, SVC_Q_CHANGE_SVC_CONFIG
*q_u
, prs_struct
*ps
, int depth
);
1091 BOOL
make_svc_r_change_svc_config(SVC_R_CHANGE_SVC_CONFIG
*r_c
,
1092 uint32 unknown_0
, uint32 status
);
1093 BOOL
svc_io_r_change_svc_config(char *desc
, SVC_R_CHANGE_SVC_CONFIG
*r_u
, prs_struct
*ps
, int depth
);
1095 /*The following definitions come from rpc_parse/parse_wks.c */
1097 BOOL
make_wks_q_query_info(WKS_Q_QUERY_INFO
*q_u
,
1098 char *server
, uint16 switch_value
) ;
1099 BOOL
wks_io_q_query_info(char *desc
, WKS_Q_QUERY_INFO
*q_u
, prs_struct
*ps
, int depth
);
1100 BOOL
make_wks_info_100(WKS_INFO_100
*inf
,
1101 uint32 platform_id
, uint32 ver_major
, uint32 ver_minor
,
1102 char *my_name
, char *domain_name
);
1103 BOOL
make_wks_r_query_info(WKS_R_QUERY_INFO
*r_u
,
1104 uint32 switch_value
, WKS_INFO_100
*wks100
,
1106 BOOL
wks_io_r_query_info(char *desc
, WKS_R_QUERY_INFO
*r_u
, prs_struct
*ps
, int depth
);
1107 #endif /* _RPC_PARSE_PROTO_H_ */