Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_efs.h"
5 :
6 : #include "librpc/gen_ndr/ndr_security.h"
7 0 : static enum ndr_err_code ndr_push_EFS_HASH_BLOB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct EFS_HASH_BLOB *r)
8 : {
9 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10 0 : if (ndr_flags & NDR_SCALARS) {
11 0 : NDR_CHECK(ndr_push_align(ndr, 5));
12 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbData));
13 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pbData));
14 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15 : }
16 0 : if (ndr_flags & NDR_BUFFERS) {
17 0 : if (r->pbData) {
18 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->cbData));
19 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pbData, r->cbData));
20 : }
21 : }
22 0 : return NDR_ERR_SUCCESS;
23 : }
24 :
25 0 : static enum ndr_err_code ndr_pull_EFS_HASH_BLOB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct EFS_HASH_BLOB *r)
26 : {
27 0 : uint32_t _ptr_pbData;
28 0 : uint32_t size_pbData_1 = 0;
29 0 : TALLOC_CTX *_mem_save_pbData_0 = NULL;
30 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
31 0 : if (ndr_flags & NDR_SCALARS) {
32 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
33 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbData));
34 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pbData));
35 0 : if (_ptr_pbData) {
36 0 : NDR_PULL_ALLOC(ndr, r->pbData);
37 : } else {
38 0 : r->pbData = NULL;
39 : }
40 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
41 : }
42 0 : if (ndr_flags & NDR_BUFFERS) {
43 0 : if (r->pbData) {
44 0 : _mem_save_pbData_0 = NDR_PULL_GET_MEM_CTX(ndr);
45 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pbData, 0);
46 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->pbData));
47 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pbData, &size_pbData_1));
48 0 : NDR_PULL_ALLOC_N(ndr, r->pbData, size_pbData_1);
49 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pbData, size_pbData_1));
50 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pbData_0, 0);
51 : }
52 0 : if (r->pbData) {
53 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->pbData, r->cbData));
54 : }
55 : }
56 0 : return NDR_ERR_SUCCESS;
57 : }
58 :
59 0 : _PUBLIC_ void ndr_print_EFS_HASH_BLOB(struct ndr_print *ndr, const char *name, const struct EFS_HASH_BLOB *r)
60 : {
61 0 : ndr_print_struct(ndr, name, "EFS_HASH_BLOB");
62 0 : if (r == NULL) { ndr_print_null(ndr); return; }
63 0 : ndr->depth++;
64 0 : ndr_print_uint32(ndr, "cbData", r->cbData);
65 0 : ndr_print_ptr(ndr, "pbData", r->pbData);
66 0 : ndr->depth++;
67 0 : if (r->pbData) {
68 0 : ndr_print_array_uint8(ndr, "pbData", r->pbData, r->cbData);
69 : }
70 0 : ndr->depth--;
71 0 : ndr->depth--;
72 : }
73 :
74 0 : static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE_HASH(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ENCRYPTION_CERTIFICATE_HASH *r)
75 : {
76 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
77 0 : if (ndr_flags & NDR_SCALARS) {
78 0 : NDR_CHECK(ndr_push_align(ndr, 5));
79 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbTotalLength));
80 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUserSid));
81 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pHash));
82 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->lpDisplayInformation));
83 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
84 : }
85 0 : if (ndr_flags & NDR_BUFFERS) {
86 0 : if (r->pUserSid) {
87 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
88 : }
89 0 : if (r->pHash) {
90 0 : NDR_CHECK(ndr_push_EFS_HASH_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pHash));
91 : }
92 0 : if (r->lpDisplayInformation) {
93 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lpDisplayInformation, CH_UTF16)));
94 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
95 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lpDisplayInformation, CH_UTF16)));
96 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lpDisplayInformation, ndr_charset_length(r->lpDisplayInformation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
97 : }
98 : }
99 0 : return NDR_ERR_SUCCESS;
100 : }
101 :
102 0 : static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE_HASH(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ENCRYPTION_CERTIFICATE_HASH *r)
103 : {
104 0 : uint32_t _ptr_pUserSid;
105 0 : TALLOC_CTX *_mem_save_pUserSid_0 = NULL;
106 0 : uint32_t _ptr_pHash;
107 0 : TALLOC_CTX *_mem_save_pHash_0 = NULL;
108 0 : uint32_t _ptr_lpDisplayInformation;
109 0 : uint32_t size_lpDisplayInformation_1 = 0;
110 0 : uint32_t length_lpDisplayInformation_1 = 0;
111 0 : TALLOC_CTX *_mem_save_lpDisplayInformation_0 = NULL;
112 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
113 0 : if (ndr_flags & NDR_SCALARS) {
114 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
115 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbTotalLength));
116 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUserSid));
117 0 : if (_ptr_pUserSid) {
118 0 : NDR_PULL_ALLOC(ndr, r->pUserSid);
119 : } else {
120 0 : r->pUserSid = NULL;
121 : }
122 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pHash));
123 0 : if (_ptr_pHash) {
124 0 : NDR_PULL_ALLOC(ndr, r->pHash);
125 : } else {
126 0 : r->pHash = NULL;
127 : }
128 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lpDisplayInformation));
129 0 : if (_ptr_lpDisplayInformation) {
130 0 : NDR_PULL_ALLOC(ndr, r->lpDisplayInformation);
131 : } else {
132 0 : r->lpDisplayInformation = NULL;
133 : }
134 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
135 : }
136 0 : if (ndr_flags & NDR_BUFFERS) {
137 0 : if (r->pUserSid) {
138 0 : _mem_save_pUserSid_0 = NDR_PULL_GET_MEM_CTX(ndr);
139 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pUserSid, 0);
140 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
141 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUserSid_0, 0);
142 : }
143 0 : if (r->pHash) {
144 0 : _mem_save_pHash_0 = NDR_PULL_GET_MEM_CTX(ndr);
145 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pHash, 0);
146 0 : NDR_CHECK(ndr_pull_EFS_HASH_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pHash));
147 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pHash_0, 0);
148 : }
149 0 : if (r->lpDisplayInformation) {
150 0 : _mem_save_lpDisplayInformation_0 = NDR_PULL_GET_MEM_CTX(ndr);
151 0 : NDR_PULL_SET_MEM_CTX(ndr, r->lpDisplayInformation, 0);
152 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->lpDisplayInformation));
153 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->lpDisplayInformation));
154 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->lpDisplayInformation, &size_lpDisplayInformation_1));
155 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->lpDisplayInformation, &length_lpDisplayInformation_1));
156 0 : if (length_lpDisplayInformation_1 > size_lpDisplayInformation_1) {
157 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_lpDisplayInformation_1, length_lpDisplayInformation_1);
158 : }
159 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_lpDisplayInformation_1, sizeof(uint16_t)));
160 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lpDisplayInformation, length_lpDisplayInformation_1, sizeof(uint16_t), CH_UTF16));
161 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lpDisplayInformation_0, 0);
162 : }
163 : }
164 0 : return NDR_ERR_SUCCESS;
165 : }
166 :
167 0 : _PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE_HASH(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE_HASH *r)
168 : {
169 0 : ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE_HASH");
170 0 : if (r == NULL) { ndr_print_null(ndr); return; }
171 0 : ndr->depth++;
172 0 : ndr_print_uint32(ndr, "cbTotalLength", r->cbTotalLength);
173 0 : ndr_print_ptr(ndr, "pUserSid", r->pUserSid);
174 0 : ndr->depth++;
175 0 : if (r->pUserSid) {
176 0 : ndr_print_dom_sid(ndr, "pUserSid", r->pUserSid);
177 : }
178 0 : ndr->depth--;
179 0 : ndr_print_ptr(ndr, "pHash", r->pHash);
180 0 : ndr->depth++;
181 0 : if (r->pHash) {
182 0 : ndr_print_EFS_HASH_BLOB(ndr, "pHash", r->pHash);
183 : }
184 0 : ndr->depth--;
185 0 : ndr_print_ptr(ndr, "lpDisplayInformation", r->lpDisplayInformation);
186 0 : ndr->depth++;
187 0 : if (r->lpDisplayInformation) {
188 0 : ndr_print_string(ndr, "lpDisplayInformation", r->lpDisplayInformation);
189 : }
190 0 : ndr->depth--;
191 0 : ndr->depth--;
192 : }
193 :
194 0 : static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
195 : {
196 0 : uint32_t cntr_pUsers_0;
197 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
198 0 : if (ndr_flags & NDR_SCALARS) {
199 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->nCert_Hash));
200 0 : NDR_CHECK(ndr_push_align(ndr, 5));
201 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nCert_Hash));
202 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (r->nCert_Hash); cntr_pUsers_0++) {
203 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUsers[cntr_pUsers_0]));
204 : }
205 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
206 : }
207 0 : if (ndr_flags & NDR_BUFFERS) {
208 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (r->nCert_Hash); cntr_pUsers_0++) {
209 0 : if (r->pUsers[cntr_pUsers_0]) {
210 0 : NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH(ndr, NDR_SCALARS|NDR_BUFFERS, r->pUsers[cntr_pUsers_0]));
211 : }
212 : }
213 : }
214 0 : return NDR_ERR_SUCCESS;
215 : }
216 :
217 0 : static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
218 : {
219 0 : uint32_t _ptr_pUsers;
220 0 : uint32_t size_pUsers_0 = 0;
221 0 : uint32_t cntr_pUsers_0;
222 0 : TALLOC_CTX *_mem_save_pUsers_0 = NULL;
223 0 : TALLOC_CTX *_mem_save_pUsers_1 = NULL;
224 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
225 0 : if (ndr_flags & NDR_SCALARS) {
226 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->pUsers));
227 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
228 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nCert_Hash));
229 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pUsers, &size_pUsers_0));
230 0 : NDR_PULL_ALLOC_N(ndr, r->pUsers, size_pUsers_0);
231 0 : _mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
232 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pUsers, 0);
233 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (size_pUsers_0); cntr_pUsers_0++) {
234 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUsers));
235 0 : if (_ptr_pUsers) {
236 0 : NDR_PULL_ALLOC(ndr, r->pUsers[cntr_pUsers_0]);
237 : } else {
238 0 : r->pUsers[cntr_pUsers_0] = NULL;
239 : }
240 : }
241 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, 0);
242 0 : if (r->pUsers) {
243 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pUsers, r->nCert_Hash));
244 : }
245 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
246 : }
247 0 : if (ndr_flags & NDR_BUFFERS) {
248 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pUsers, &size_pUsers_0));
249 0 : _mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
250 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pUsers, 0);
251 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (size_pUsers_0); cntr_pUsers_0++) {
252 0 : if (r->pUsers[cntr_pUsers_0]) {
253 0 : _mem_save_pUsers_1 = NDR_PULL_GET_MEM_CTX(ndr);
254 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pUsers[cntr_pUsers_0], 0);
255 0 : NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH(ndr, NDR_SCALARS|NDR_BUFFERS, r->pUsers[cntr_pUsers_0]));
256 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_1, 0);
257 : }
258 : }
259 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, 0);
260 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (size_pUsers_0); cntr_pUsers_0++) {
261 : }
262 : }
263 0 : return NDR_ERR_SUCCESS;
264 : }
265 :
266 0 : _PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
267 : {
268 0 : uint32_t cntr_pUsers_0;
269 0 : ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE_HASH_LIST");
270 0 : if (r == NULL) { ndr_print_null(ndr); return; }
271 0 : ndr->depth++;
272 0 : ndr_print_uint32(ndr, "nCert_Hash", r->nCert_Hash);
273 0 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "pUsers", (uint32_t)(r->nCert_Hash));
274 0 : ndr->depth++;
275 0 : for (cntr_pUsers_0 = 0; cntr_pUsers_0 < (r->nCert_Hash); cntr_pUsers_0++) {
276 0 : ndr_print_ptr(ndr, "pUsers", r->pUsers[cntr_pUsers_0]);
277 0 : ndr->depth++;
278 0 : if (r->pUsers[cntr_pUsers_0]) {
279 0 : ndr_print_ENCRYPTION_CERTIFICATE_HASH(ndr, "pUsers", r->pUsers[cntr_pUsers_0]);
280 : }
281 0 : ndr->depth--;
282 : }
283 0 : ndr->depth--;
284 0 : ndr->depth--;
285 : }
286 :
287 0 : static enum ndr_err_code ndr_push_EFS_CERTIFICATE_BLOB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct EFS_CERTIFICATE_BLOB *r)
288 : {
289 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
290 0 : if (ndr_flags & NDR_SCALARS) {
291 0 : NDR_CHECK(ndr_push_align(ndr, 5));
292 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwCertEncodingType));
293 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbData));
294 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pbData));
295 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
296 : }
297 0 : if (ndr_flags & NDR_BUFFERS) {
298 0 : if (r->pbData) {
299 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->cbData));
300 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pbData, r->cbData));
301 : }
302 : }
303 0 : return NDR_ERR_SUCCESS;
304 : }
305 :
306 0 : static enum ndr_err_code ndr_pull_EFS_CERTIFICATE_BLOB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct EFS_CERTIFICATE_BLOB *r)
307 : {
308 0 : uint32_t _ptr_pbData;
309 0 : uint32_t size_pbData_1 = 0;
310 0 : TALLOC_CTX *_mem_save_pbData_0 = NULL;
311 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
312 0 : if (ndr_flags & NDR_SCALARS) {
313 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
314 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwCertEncodingType));
315 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbData));
316 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pbData));
317 0 : if (_ptr_pbData) {
318 0 : NDR_PULL_ALLOC(ndr, r->pbData);
319 : } else {
320 0 : r->pbData = NULL;
321 : }
322 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
323 : }
324 0 : if (ndr_flags & NDR_BUFFERS) {
325 0 : if (r->pbData) {
326 0 : _mem_save_pbData_0 = NDR_PULL_GET_MEM_CTX(ndr);
327 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pbData, 0);
328 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->pbData));
329 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->pbData, &size_pbData_1));
330 0 : NDR_PULL_ALLOC_N(ndr, r->pbData, size_pbData_1);
331 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pbData, size_pbData_1));
332 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pbData_0, 0);
333 : }
334 0 : if (r->pbData) {
335 0 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->pbData, r->cbData));
336 : }
337 : }
338 0 : return NDR_ERR_SUCCESS;
339 : }
340 :
341 0 : _PUBLIC_ void ndr_print_EFS_CERTIFICATE_BLOB(struct ndr_print *ndr, const char *name, const struct EFS_CERTIFICATE_BLOB *r)
342 : {
343 0 : ndr_print_struct(ndr, name, "EFS_CERTIFICATE_BLOB");
344 0 : if (r == NULL) { ndr_print_null(ndr); return; }
345 0 : ndr->depth++;
346 0 : ndr_print_uint32(ndr, "dwCertEncodingType", r->dwCertEncodingType);
347 0 : ndr_print_uint32(ndr, "cbData", r->cbData);
348 0 : ndr_print_ptr(ndr, "pbData", r->pbData);
349 0 : ndr->depth++;
350 0 : if (r->pbData) {
351 0 : ndr_print_array_uint8(ndr, "pbData", r->pbData, r->cbData);
352 : }
353 0 : ndr->depth--;
354 0 : ndr->depth--;
355 : }
356 :
357 0 : static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ENCRYPTION_CERTIFICATE *r)
358 : {
359 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
360 0 : if (ndr_flags & NDR_SCALARS) {
361 0 : NDR_CHECK(ndr_push_align(ndr, 5));
362 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TotalLength));
363 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUserSid));
364 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->pCertBlob));
365 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
366 : }
367 0 : if (ndr_flags & NDR_BUFFERS) {
368 0 : if (r->pUserSid) {
369 0 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
370 : }
371 0 : if (r->pCertBlob) {
372 0 : NDR_CHECK(ndr_push_EFS_CERTIFICATE_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pCertBlob));
373 : }
374 : }
375 0 : return NDR_ERR_SUCCESS;
376 : }
377 :
378 0 : static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ENCRYPTION_CERTIFICATE *r)
379 : {
380 0 : uint32_t _ptr_pUserSid;
381 0 : TALLOC_CTX *_mem_save_pUserSid_0 = NULL;
382 0 : uint32_t _ptr_pCertBlob;
383 0 : TALLOC_CTX *_mem_save_pCertBlob_0 = NULL;
384 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
385 0 : if (ndr_flags & NDR_SCALARS) {
386 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
387 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TotalLength));
388 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUserSid));
389 0 : if (_ptr_pUserSid) {
390 0 : NDR_PULL_ALLOC(ndr, r->pUserSid);
391 : } else {
392 0 : r->pUserSid = NULL;
393 : }
394 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pCertBlob));
395 0 : if (_ptr_pCertBlob) {
396 0 : NDR_PULL_ALLOC(ndr, r->pCertBlob);
397 : } else {
398 0 : r->pCertBlob = NULL;
399 : }
400 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
401 : }
402 0 : if (ndr_flags & NDR_BUFFERS) {
403 0 : if (r->pUserSid) {
404 0 : _mem_save_pUserSid_0 = NDR_PULL_GET_MEM_CTX(ndr);
405 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pUserSid, 0);
406 0 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
407 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUserSid_0, 0);
408 : }
409 0 : if (r->pCertBlob) {
410 0 : _mem_save_pCertBlob_0 = NDR_PULL_GET_MEM_CTX(ndr);
411 0 : NDR_PULL_SET_MEM_CTX(ndr, r->pCertBlob, 0);
412 0 : NDR_CHECK(ndr_pull_EFS_CERTIFICATE_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pCertBlob));
413 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pCertBlob_0, 0);
414 : }
415 : }
416 0 : return NDR_ERR_SUCCESS;
417 : }
418 :
419 0 : _PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE *r)
420 : {
421 0 : ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE");
422 0 : if (r == NULL) { ndr_print_null(ndr); return; }
423 0 : ndr->depth++;
424 0 : ndr_print_uint32(ndr, "TotalLength", r->TotalLength);
425 0 : ndr_print_ptr(ndr, "pUserSid", r->pUserSid);
426 0 : ndr->depth++;
427 0 : if (r->pUserSid) {
428 0 : ndr_print_dom_sid(ndr, "pUserSid", r->pUserSid);
429 : }
430 0 : ndr->depth--;
431 0 : ndr_print_ptr(ndr, "pCertBlob", r->pCertBlob);
432 0 : ndr->depth++;
433 0 : if (r->pCertBlob) {
434 0 : ndr_print_EFS_CERTIFICATE_BLOB(ndr, "pCertBlob", r->pCertBlob);
435 : }
436 0 : ndr->depth--;
437 0 : ndr->depth--;
438 : }
439 :
440 0 : static enum ndr_err_code ndr_push_EfsRpcOpenFileRaw(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcOpenFileRaw *r)
441 : {
442 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
443 0 : if (flags & NDR_IN) {
444 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
445 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
446 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
447 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
448 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Flags));
449 : }
450 0 : if (flags & NDR_OUT) {
451 0 : if (r->out.pvContext == NULL) {
452 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
453 : }
454 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
455 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
456 : }
457 0 : return NDR_ERR_SUCCESS;
458 : }
459 :
460 0 : static enum ndr_err_code ndr_pull_EfsRpcOpenFileRaw(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcOpenFileRaw *r)
461 : {
462 0 : uint32_t size_FileName_0 = 0;
463 0 : uint32_t length_FileName_0 = 0;
464 0 : TALLOC_CTX *_mem_save_pvContext_0 = NULL;
465 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
466 0 : if (flags & NDR_IN) {
467 0 : NDR_ZERO_STRUCT(r->out);
468 :
469 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
470 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
471 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
472 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
473 0 : if (length_FileName_0 > size_FileName_0) {
474 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
475 : }
476 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
477 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
478 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Flags));
479 0 : NDR_PULL_ALLOC(ndr, r->out.pvContext);
480 0 : NDR_ZERO_STRUCTP(r->out.pvContext);
481 : }
482 0 : if (flags & NDR_OUT) {
483 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
484 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
485 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
486 0 : NDR_PULL_ALLOC(ndr, r->out.pvContext);
487 : }
488 0 : _mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
489 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pvContext, LIBNDR_FLAG_REF_ALLOC);
490 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
491 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
492 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
493 : }
494 0 : return NDR_ERR_SUCCESS;
495 : }
496 :
497 0 : _PUBLIC_ void ndr_print_EfsRpcOpenFileRaw(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcOpenFileRaw *r)
498 : {
499 0 : ndr_print_struct(ndr, name, "EfsRpcOpenFileRaw");
500 0 : if (r == NULL) { ndr_print_null(ndr); return; }
501 0 : ndr->depth++;
502 0 : if (flags & NDR_SET_VALUES) {
503 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
504 : }
505 0 : if (flags & NDR_IN) {
506 0 : ndr_print_struct(ndr, "in", "EfsRpcOpenFileRaw");
507 0 : ndr->depth++;
508 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
509 0 : ndr_print_uint32(ndr, "Flags", r->in.Flags);
510 0 : ndr->depth--;
511 : }
512 0 : if (flags & NDR_OUT) {
513 0 : ndr_print_struct(ndr, "out", "EfsRpcOpenFileRaw");
514 0 : ndr->depth++;
515 0 : ndr_print_ptr(ndr, "pvContext", r->out.pvContext);
516 0 : ndr->depth++;
517 0 : ndr_print_policy_handle(ndr, "pvContext", r->out.pvContext);
518 0 : ndr->depth--;
519 0 : ndr_print_WERROR(ndr, "result", r->out.result);
520 0 : ndr->depth--;
521 : }
522 0 : ndr->depth--;
523 : }
524 :
525 0 : static enum ndr_err_code ndr_push_EfsRpcReadFileRaw(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcReadFileRaw *r)
526 : {
527 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
528 0 : if (flags & NDR_IN) {
529 0 : if (r->in.pvContext == NULL) {
530 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
531 : }
532 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
533 : }
534 0 : if (flags & NDR_OUT) {
535 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
536 : }
537 0 : return NDR_ERR_SUCCESS;
538 : }
539 :
540 0 : static enum ndr_err_code ndr_pull_EfsRpcReadFileRaw(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcReadFileRaw *r)
541 : {
542 0 : TALLOC_CTX *_mem_save_pvContext_0 = NULL;
543 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
544 0 : if (flags & NDR_IN) {
545 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
546 0 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
547 : }
548 0 : _mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
549 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
550 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
551 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
552 : }
553 0 : if (flags & NDR_OUT) {
554 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
555 : if (r->in.pvContext == NULL) {
556 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
557 : NDR_ZERO_STRUCTP(r->in.pvContext);
558 : }
559 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
560 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
561 : }
562 0 : return NDR_ERR_SUCCESS;
563 : }
564 :
565 0 : _PUBLIC_ void ndr_print_EfsRpcReadFileRaw(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcReadFileRaw *r)
566 : {
567 0 : ndr_print_struct(ndr, name, "EfsRpcReadFileRaw");
568 0 : if (r == NULL) { ndr_print_null(ndr); return; }
569 0 : ndr->depth++;
570 0 : if (flags & NDR_SET_VALUES) {
571 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
572 : }
573 0 : if (flags & NDR_IN) {
574 0 : ndr_print_struct(ndr, "in", "EfsRpcReadFileRaw");
575 0 : ndr->depth++;
576 0 : ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
577 0 : ndr->depth++;
578 0 : ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
579 0 : ndr->depth--;
580 0 : ndr->depth--;
581 : }
582 0 : if (flags & NDR_OUT) {
583 0 : ndr_print_struct(ndr, "out", "EfsRpcReadFileRaw");
584 0 : ndr->depth++;
585 0 : ndr_print_WERROR(ndr, "result", r->out.result);
586 0 : ndr->depth--;
587 : }
588 0 : ndr->depth--;
589 : }
590 :
591 0 : static enum ndr_err_code ndr_push_EfsRpcWriteFileRaw(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcWriteFileRaw *r)
592 : {
593 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
594 0 : if (flags & NDR_IN) {
595 0 : if (r->in.pvContext == NULL) {
596 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
597 : }
598 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
599 : }
600 0 : if (flags & NDR_OUT) {
601 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
602 : }
603 0 : return NDR_ERR_SUCCESS;
604 : }
605 :
606 0 : static enum ndr_err_code ndr_pull_EfsRpcWriteFileRaw(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcWriteFileRaw *r)
607 : {
608 0 : TALLOC_CTX *_mem_save_pvContext_0 = NULL;
609 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
610 0 : if (flags & NDR_IN) {
611 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
612 0 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
613 : }
614 0 : _mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
615 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
616 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
617 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
618 : }
619 0 : if (flags & NDR_OUT) {
620 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
621 : if (r->in.pvContext == NULL) {
622 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
623 : NDR_ZERO_STRUCTP(r->in.pvContext);
624 : }
625 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
626 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
627 : }
628 0 : return NDR_ERR_SUCCESS;
629 : }
630 :
631 0 : _PUBLIC_ void ndr_print_EfsRpcWriteFileRaw(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcWriteFileRaw *r)
632 : {
633 0 : ndr_print_struct(ndr, name, "EfsRpcWriteFileRaw");
634 0 : if (r == NULL) { ndr_print_null(ndr); return; }
635 0 : ndr->depth++;
636 0 : if (flags & NDR_SET_VALUES) {
637 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
638 : }
639 0 : if (flags & NDR_IN) {
640 0 : ndr_print_struct(ndr, "in", "EfsRpcWriteFileRaw");
641 0 : ndr->depth++;
642 0 : ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
643 0 : ndr->depth++;
644 0 : ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
645 0 : ndr->depth--;
646 0 : ndr->depth--;
647 : }
648 0 : if (flags & NDR_OUT) {
649 0 : ndr_print_struct(ndr, "out", "EfsRpcWriteFileRaw");
650 0 : ndr->depth++;
651 0 : ndr_print_WERROR(ndr, "result", r->out.result);
652 0 : ndr->depth--;
653 : }
654 0 : ndr->depth--;
655 : }
656 :
657 0 : static enum ndr_err_code ndr_push_EfsRpcCloseRaw(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcCloseRaw *r)
658 : {
659 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
660 0 : if (flags & NDR_IN) {
661 0 : if (r->in.pvContext == NULL) {
662 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
663 : }
664 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
665 : }
666 0 : if (flags & NDR_OUT) {
667 0 : if (r->out.pvContext == NULL) {
668 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
669 : }
670 0 : NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
671 : }
672 0 : return NDR_ERR_SUCCESS;
673 : }
674 :
675 0 : static enum ndr_err_code ndr_pull_EfsRpcCloseRaw(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcCloseRaw *r)
676 : {
677 0 : TALLOC_CTX *_mem_save_pvContext_0 = NULL;
678 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
679 0 : if (flags & NDR_IN) {
680 0 : NDR_ZERO_STRUCT(r->out);
681 :
682 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
683 0 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
684 : }
685 0 : _mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
686 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
687 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
688 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
689 0 : NDR_PULL_ALLOC(ndr, r->out.pvContext);
690 0 : *r->out.pvContext = *r->in.pvContext;
691 : }
692 0 : if (flags & NDR_OUT) {
693 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
694 : if (r->in.pvContext == NULL) {
695 : NDR_PULL_ALLOC(ndr, r->in.pvContext);
696 : NDR_ZERO_STRUCTP(r->in.pvContext);
697 : }
698 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
699 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
700 0 : NDR_PULL_ALLOC(ndr, r->out.pvContext);
701 : }
702 0 : _mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
703 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pvContext, LIBNDR_FLAG_REF_ALLOC);
704 0 : NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
705 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
706 : }
707 0 : return NDR_ERR_SUCCESS;
708 : }
709 :
710 0 : _PUBLIC_ void ndr_print_EfsRpcCloseRaw(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcCloseRaw *r)
711 : {
712 0 : ndr_print_struct(ndr, name, "EfsRpcCloseRaw");
713 0 : if (r == NULL) { ndr_print_null(ndr); return; }
714 0 : ndr->depth++;
715 0 : if (flags & NDR_SET_VALUES) {
716 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
717 : }
718 0 : if (flags & NDR_IN) {
719 0 : ndr_print_struct(ndr, "in", "EfsRpcCloseRaw");
720 0 : ndr->depth++;
721 0 : ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
722 0 : ndr->depth++;
723 0 : ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
724 0 : ndr->depth--;
725 0 : ndr->depth--;
726 : }
727 0 : if (flags & NDR_OUT) {
728 0 : ndr_print_struct(ndr, "out", "EfsRpcCloseRaw");
729 0 : ndr->depth++;
730 0 : ndr_print_ptr(ndr, "pvContext", r->out.pvContext);
731 0 : ndr->depth++;
732 0 : ndr_print_policy_handle(ndr, "pvContext", r->out.pvContext);
733 0 : ndr->depth--;
734 0 : ndr->depth--;
735 : }
736 0 : ndr->depth--;
737 : }
738 :
739 0 : static enum ndr_err_code ndr_push_EfsRpcEncryptFileSrv(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcEncryptFileSrv *r)
740 : {
741 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
742 0 : if (flags & NDR_IN) {
743 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Filename, CH_UTF16)));
744 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
745 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Filename, CH_UTF16)));
746 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Filename, ndr_charset_length(r->in.Filename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
747 : }
748 0 : if (flags & NDR_OUT) {
749 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
750 : }
751 0 : return NDR_ERR_SUCCESS;
752 : }
753 :
754 0 : static enum ndr_err_code ndr_pull_EfsRpcEncryptFileSrv(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcEncryptFileSrv *r)
755 : {
756 0 : uint32_t size_Filename_0 = 0;
757 0 : uint32_t length_Filename_0 = 0;
758 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
759 0 : if (flags & NDR_IN) {
760 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Filename));
761 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Filename));
762 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.Filename, &size_Filename_0));
763 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.Filename, &length_Filename_0));
764 0 : if (length_Filename_0 > size_Filename_0) {
765 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_Filename_0, length_Filename_0);
766 : }
767 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_Filename_0, sizeof(uint16_t)));
768 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Filename, length_Filename_0, sizeof(uint16_t), CH_UTF16));
769 : }
770 0 : if (flags & NDR_OUT) {
771 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
772 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
773 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
774 : }
775 0 : return NDR_ERR_SUCCESS;
776 : }
777 :
778 0 : _PUBLIC_ void ndr_print_EfsRpcEncryptFileSrv(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcEncryptFileSrv *r)
779 : {
780 0 : ndr_print_struct(ndr, name, "EfsRpcEncryptFileSrv");
781 0 : if (r == NULL) { ndr_print_null(ndr); return; }
782 0 : ndr->depth++;
783 0 : if (flags & NDR_SET_VALUES) {
784 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
785 : }
786 0 : if (flags & NDR_IN) {
787 0 : ndr_print_struct(ndr, "in", "EfsRpcEncryptFileSrv");
788 0 : ndr->depth++;
789 0 : ndr_print_string(ndr, "Filename", r->in.Filename);
790 0 : ndr->depth--;
791 : }
792 0 : if (flags & NDR_OUT) {
793 0 : ndr_print_struct(ndr, "out", "EfsRpcEncryptFileSrv");
794 0 : ndr->depth++;
795 0 : ndr_print_WERROR(ndr, "result", r->out.result);
796 0 : ndr->depth--;
797 : }
798 0 : ndr->depth--;
799 : }
800 :
801 0 : static enum ndr_err_code ndr_push_EfsRpcDecryptFileSrv(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcDecryptFileSrv *r)
802 : {
803 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
804 0 : if (flags & NDR_IN) {
805 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
806 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
807 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
808 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
809 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
810 : }
811 0 : if (flags & NDR_OUT) {
812 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
813 : }
814 0 : return NDR_ERR_SUCCESS;
815 : }
816 :
817 0 : static enum ndr_err_code ndr_pull_EfsRpcDecryptFileSrv(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcDecryptFileSrv *r)
818 : {
819 0 : uint32_t size_FileName_0 = 0;
820 0 : uint32_t length_FileName_0 = 0;
821 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
822 0 : if (flags & NDR_IN) {
823 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
824 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
825 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
826 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
827 0 : if (length_FileName_0 > size_FileName_0) {
828 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
829 : }
830 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
831 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
832 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
833 : }
834 0 : if (flags & NDR_OUT) {
835 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
836 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
837 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
838 : }
839 0 : return NDR_ERR_SUCCESS;
840 : }
841 :
842 0 : _PUBLIC_ void ndr_print_EfsRpcDecryptFileSrv(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcDecryptFileSrv *r)
843 : {
844 0 : ndr_print_struct(ndr, name, "EfsRpcDecryptFileSrv");
845 0 : if (r == NULL) { ndr_print_null(ndr); return; }
846 0 : ndr->depth++;
847 0 : if (flags & NDR_SET_VALUES) {
848 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
849 : }
850 0 : if (flags & NDR_IN) {
851 0 : ndr_print_struct(ndr, "in", "EfsRpcDecryptFileSrv");
852 0 : ndr->depth++;
853 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
854 0 : ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
855 0 : ndr->depth--;
856 : }
857 0 : if (flags & NDR_OUT) {
858 0 : ndr_print_struct(ndr, "out", "EfsRpcDecryptFileSrv");
859 0 : ndr->depth++;
860 0 : ndr_print_WERROR(ndr, "result", r->out.result);
861 0 : ndr->depth--;
862 : }
863 0 : ndr->depth--;
864 : }
865 :
866 0 : static enum ndr_err_code ndr_push_EfsRpcQueryUsersOnFile(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcQueryUsersOnFile *r)
867 : {
868 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
869 0 : if (flags & NDR_IN) {
870 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
871 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
872 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
873 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
874 : }
875 0 : if (flags & NDR_OUT) {
876 0 : if (r->out.pUsers == NULL) {
877 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
878 : }
879 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pUsers));
880 0 : if (*r->out.pUsers) {
881 0 : NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pUsers));
882 : }
883 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
884 : }
885 0 : return NDR_ERR_SUCCESS;
886 : }
887 :
888 0 : static enum ndr_err_code ndr_pull_EfsRpcQueryUsersOnFile(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcQueryUsersOnFile *r)
889 : {
890 0 : uint32_t size_FileName_0 = 0;
891 0 : uint32_t length_FileName_0 = 0;
892 0 : uint32_t _ptr_pUsers;
893 0 : TALLOC_CTX *_mem_save_pUsers_0 = NULL;
894 0 : TALLOC_CTX *_mem_save_pUsers_1 = NULL;
895 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
896 0 : if (flags & NDR_IN) {
897 0 : NDR_ZERO_STRUCT(r->out);
898 :
899 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
900 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
901 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
902 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
903 0 : if (length_FileName_0 > size_FileName_0) {
904 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
905 : }
906 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
907 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
908 0 : NDR_PULL_ALLOC(ndr, r->out.pUsers);
909 0 : NDR_ZERO_STRUCTP(r->out.pUsers);
910 : }
911 0 : if (flags & NDR_OUT) {
912 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
913 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
914 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
915 0 : NDR_PULL_ALLOC(ndr, r->out.pUsers);
916 : }
917 0 : _mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
918 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pUsers, LIBNDR_FLAG_REF_ALLOC);
919 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUsers));
920 0 : if (_ptr_pUsers) {
921 0 : NDR_PULL_ALLOC(ndr, *r->out.pUsers);
922 : } else {
923 0 : *r->out.pUsers = NULL;
924 : }
925 0 : if (*r->out.pUsers) {
926 0 : _mem_save_pUsers_1 = NDR_PULL_GET_MEM_CTX(ndr);
927 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.pUsers, 0);
928 0 : NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pUsers));
929 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_1, 0);
930 : }
931 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, LIBNDR_FLAG_REF_ALLOC);
932 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
933 : }
934 0 : return NDR_ERR_SUCCESS;
935 : }
936 :
937 0 : _PUBLIC_ void ndr_print_EfsRpcQueryUsersOnFile(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcQueryUsersOnFile *r)
938 : {
939 0 : ndr_print_struct(ndr, name, "EfsRpcQueryUsersOnFile");
940 0 : if (r == NULL) { ndr_print_null(ndr); return; }
941 0 : ndr->depth++;
942 0 : if (flags & NDR_SET_VALUES) {
943 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
944 : }
945 0 : if (flags & NDR_IN) {
946 0 : ndr_print_struct(ndr, "in", "EfsRpcQueryUsersOnFile");
947 0 : ndr->depth++;
948 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
949 0 : ndr->depth--;
950 : }
951 0 : if (flags & NDR_OUT) {
952 0 : ndr_print_struct(ndr, "out", "EfsRpcQueryUsersOnFile");
953 0 : ndr->depth++;
954 0 : ndr_print_ptr(ndr, "pUsers", r->out.pUsers);
955 0 : ndr->depth++;
956 0 : ndr_print_ptr(ndr, "pUsers", *r->out.pUsers);
957 0 : ndr->depth++;
958 0 : if (*r->out.pUsers) {
959 0 : ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, "pUsers", *r->out.pUsers);
960 : }
961 0 : ndr->depth--;
962 0 : ndr->depth--;
963 0 : ndr_print_WERROR(ndr, "result", r->out.result);
964 0 : ndr->depth--;
965 : }
966 0 : ndr->depth--;
967 : }
968 :
969 0 : static enum ndr_err_code ndr_push_EfsRpcQueryRecoveryAgents(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcQueryRecoveryAgents *r)
970 : {
971 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
972 0 : if (flags & NDR_IN) {
973 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
974 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
975 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
976 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
977 : }
978 0 : if (flags & NDR_OUT) {
979 0 : if (r->out.pRecoveryAgents == NULL) {
980 0 : return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
981 : }
982 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pRecoveryAgents));
983 0 : if (*r->out.pRecoveryAgents) {
984 0 : NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pRecoveryAgents));
985 : }
986 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
987 : }
988 0 : return NDR_ERR_SUCCESS;
989 : }
990 :
991 0 : static enum ndr_err_code ndr_pull_EfsRpcQueryRecoveryAgents(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcQueryRecoveryAgents *r)
992 : {
993 0 : uint32_t size_FileName_0 = 0;
994 0 : uint32_t length_FileName_0 = 0;
995 0 : uint32_t _ptr_pRecoveryAgents;
996 0 : TALLOC_CTX *_mem_save_pRecoveryAgents_0 = NULL;
997 0 : TALLOC_CTX *_mem_save_pRecoveryAgents_1 = NULL;
998 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
999 0 : if (flags & NDR_IN) {
1000 0 : NDR_ZERO_STRUCT(r->out);
1001 :
1002 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
1003 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
1004 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
1005 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
1006 0 : if (length_FileName_0 > size_FileName_0) {
1007 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
1008 : }
1009 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
1010 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
1011 0 : NDR_PULL_ALLOC(ndr, r->out.pRecoveryAgents);
1012 0 : NDR_ZERO_STRUCTP(r->out.pRecoveryAgents);
1013 : }
1014 0 : if (flags & NDR_OUT) {
1015 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1016 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1017 0 : if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1018 0 : NDR_PULL_ALLOC(ndr, r->out.pRecoveryAgents);
1019 : }
1020 0 : _mem_save_pRecoveryAgents_0 = NDR_PULL_GET_MEM_CTX(ndr);
1021 0 : NDR_PULL_SET_MEM_CTX(ndr, r->out.pRecoveryAgents, LIBNDR_FLAG_REF_ALLOC);
1022 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pRecoveryAgents));
1023 0 : if (_ptr_pRecoveryAgents) {
1024 0 : NDR_PULL_ALLOC(ndr, *r->out.pRecoveryAgents);
1025 : } else {
1026 0 : *r->out.pRecoveryAgents = NULL;
1027 : }
1028 0 : if (*r->out.pRecoveryAgents) {
1029 0 : _mem_save_pRecoveryAgents_1 = NDR_PULL_GET_MEM_CTX(ndr);
1030 0 : NDR_PULL_SET_MEM_CTX(ndr, *r->out.pRecoveryAgents, 0);
1031 0 : NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pRecoveryAgents));
1032 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pRecoveryAgents_1, 0);
1033 : }
1034 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pRecoveryAgents_0, LIBNDR_FLAG_REF_ALLOC);
1035 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1036 : }
1037 0 : return NDR_ERR_SUCCESS;
1038 : }
1039 :
1040 0 : _PUBLIC_ void ndr_print_EfsRpcQueryRecoveryAgents(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcQueryRecoveryAgents *r)
1041 : {
1042 0 : ndr_print_struct(ndr, name, "EfsRpcQueryRecoveryAgents");
1043 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1044 0 : ndr->depth++;
1045 0 : if (flags & NDR_SET_VALUES) {
1046 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1047 : }
1048 0 : if (flags & NDR_IN) {
1049 0 : ndr_print_struct(ndr, "in", "EfsRpcQueryRecoveryAgents");
1050 0 : ndr->depth++;
1051 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
1052 0 : ndr->depth--;
1053 : }
1054 0 : if (flags & NDR_OUT) {
1055 0 : ndr_print_struct(ndr, "out", "EfsRpcQueryRecoveryAgents");
1056 0 : ndr->depth++;
1057 0 : ndr_print_ptr(ndr, "pRecoveryAgents", r->out.pRecoveryAgents);
1058 0 : ndr->depth++;
1059 0 : ndr_print_ptr(ndr, "pRecoveryAgents", *r->out.pRecoveryAgents);
1060 0 : ndr->depth++;
1061 0 : if (*r->out.pRecoveryAgents) {
1062 0 : ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, "pRecoveryAgents", *r->out.pRecoveryAgents);
1063 : }
1064 0 : ndr->depth--;
1065 0 : ndr->depth--;
1066 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1067 0 : ndr->depth--;
1068 : }
1069 0 : ndr->depth--;
1070 : }
1071 :
1072 0 : static enum ndr_err_code ndr_push_EfsRpcRemoveUsersFromFile(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcRemoveUsersFromFile *r)
1073 : {
1074 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1075 0 : if (flags & NDR_IN) {
1076 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1077 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1078 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1079 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1080 : }
1081 0 : if (flags & NDR_OUT) {
1082 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1083 : }
1084 0 : return NDR_ERR_SUCCESS;
1085 : }
1086 :
1087 0 : static enum ndr_err_code ndr_pull_EfsRpcRemoveUsersFromFile(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcRemoveUsersFromFile *r)
1088 : {
1089 0 : uint32_t size_FileName_0 = 0;
1090 0 : uint32_t length_FileName_0 = 0;
1091 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1092 0 : if (flags & NDR_IN) {
1093 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
1094 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
1095 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
1096 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
1097 0 : if (length_FileName_0 > size_FileName_0) {
1098 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
1099 : }
1100 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
1101 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
1102 : }
1103 0 : if (flags & NDR_OUT) {
1104 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1105 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1106 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1107 : }
1108 0 : return NDR_ERR_SUCCESS;
1109 : }
1110 :
1111 0 : _PUBLIC_ void ndr_print_EfsRpcRemoveUsersFromFile(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcRemoveUsersFromFile *r)
1112 : {
1113 0 : ndr_print_struct(ndr, name, "EfsRpcRemoveUsersFromFile");
1114 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1115 0 : ndr->depth++;
1116 0 : if (flags & NDR_SET_VALUES) {
1117 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1118 : }
1119 0 : if (flags & NDR_IN) {
1120 0 : ndr_print_struct(ndr, "in", "EfsRpcRemoveUsersFromFile");
1121 0 : ndr->depth++;
1122 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
1123 0 : ndr->depth--;
1124 : }
1125 0 : if (flags & NDR_OUT) {
1126 0 : ndr_print_struct(ndr, "out", "EfsRpcRemoveUsersFromFile");
1127 0 : ndr->depth++;
1128 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1129 0 : ndr->depth--;
1130 : }
1131 0 : ndr->depth--;
1132 : }
1133 :
1134 0 : static enum ndr_err_code ndr_push_EfsRpcAddUsersToFile(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcAddUsersToFile *r)
1135 : {
1136 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1137 0 : if (flags & NDR_IN) {
1138 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1139 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1140 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1141 0 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1142 : }
1143 0 : if (flags & NDR_OUT) {
1144 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1145 : }
1146 0 : return NDR_ERR_SUCCESS;
1147 : }
1148 :
1149 0 : static enum ndr_err_code ndr_pull_EfsRpcAddUsersToFile(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcAddUsersToFile *r)
1150 : {
1151 0 : uint32_t size_FileName_0 = 0;
1152 0 : uint32_t length_FileName_0 = 0;
1153 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1154 0 : if (flags & NDR_IN) {
1155 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
1156 0 : NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
1157 0 : NDR_CHECK(ndr_steal_array_size(ndr, (void*)&r->in.FileName, &size_FileName_0));
1158 0 : NDR_CHECK(ndr_steal_array_length(ndr, (void*)&r->in.FileName, &length_FileName_0));
1159 0 : if (length_FileName_0 > size_FileName_0) {
1160 0 : return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %"PRIu32": should exceed array length %"PRIu32"", size_FileName_0, length_FileName_0);
1161 : }
1162 0 : NDR_CHECK(ndr_check_string_terminator(ndr, length_FileName_0, sizeof(uint16_t)));
1163 0 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, length_FileName_0, sizeof(uint16_t), CH_UTF16));
1164 : }
1165 0 : if (flags & NDR_OUT) {
1166 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1167 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1168 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1169 : }
1170 0 : return NDR_ERR_SUCCESS;
1171 : }
1172 :
1173 0 : _PUBLIC_ void ndr_print_EfsRpcAddUsersToFile(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcAddUsersToFile *r)
1174 : {
1175 0 : ndr_print_struct(ndr, name, "EfsRpcAddUsersToFile");
1176 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1177 0 : ndr->depth++;
1178 0 : if (flags & NDR_SET_VALUES) {
1179 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1180 : }
1181 0 : if (flags & NDR_IN) {
1182 0 : ndr_print_struct(ndr, "in", "EfsRpcAddUsersToFile");
1183 0 : ndr->depth++;
1184 0 : ndr_print_string(ndr, "FileName", r->in.FileName);
1185 0 : ndr->depth--;
1186 : }
1187 0 : if (flags & NDR_OUT) {
1188 0 : ndr_print_struct(ndr, "out", "EfsRpcAddUsersToFile");
1189 0 : ndr->depth++;
1190 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1191 0 : ndr->depth--;
1192 : }
1193 0 : ndr->depth--;
1194 : }
1195 :
1196 0 : static enum ndr_err_code ndr_push_EfsRpcSetFileEncryptionKey(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcSetFileEncryptionKey *r)
1197 : {
1198 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1199 0 : if (flags & NDR_IN) {
1200 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pEncryptionCertificate));
1201 0 : if (r->in.pEncryptionCertificate) {
1202 0 : NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pEncryptionCertificate));
1203 : }
1204 : }
1205 0 : if (flags & NDR_OUT) {
1206 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1207 : }
1208 0 : return NDR_ERR_SUCCESS;
1209 : }
1210 :
1211 0 : static enum ndr_err_code ndr_pull_EfsRpcSetFileEncryptionKey(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcSetFileEncryptionKey *r)
1212 : {
1213 0 : uint32_t _ptr_pEncryptionCertificate;
1214 0 : TALLOC_CTX *_mem_save_pEncryptionCertificate_0 = NULL;
1215 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1216 0 : if (flags & NDR_IN) {
1217 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pEncryptionCertificate));
1218 0 : if (_ptr_pEncryptionCertificate) {
1219 0 : NDR_PULL_ALLOC(ndr, r->in.pEncryptionCertificate);
1220 : } else {
1221 0 : r->in.pEncryptionCertificate = NULL;
1222 : }
1223 0 : if (r->in.pEncryptionCertificate) {
1224 0 : _mem_save_pEncryptionCertificate_0 = NDR_PULL_GET_MEM_CTX(ndr);
1225 0 : NDR_PULL_SET_MEM_CTX(ndr, r->in.pEncryptionCertificate, 0);
1226 0 : NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pEncryptionCertificate));
1227 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pEncryptionCertificate_0, 0);
1228 : }
1229 : }
1230 0 : if (flags & NDR_OUT) {
1231 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1232 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1233 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1234 : }
1235 0 : return NDR_ERR_SUCCESS;
1236 : }
1237 :
1238 0 : _PUBLIC_ void ndr_print_EfsRpcSetFileEncryptionKey(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcSetFileEncryptionKey *r)
1239 : {
1240 0 : ndr_print_struct(ndr, name, "EfsRpcSetFileEncryptionKey");
1241 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1242 0 : ndr->depth++;
1243 0 : if (flags & NDR_SET_VALUES) {
1244 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1245 : }
1246 0 : if (flags & NDR_IN) {
1247 0 : ndr_print_struct(ndr, "in", "EfsRpcSetFileEncryptionKey");
1248 0 : ndr->depth++;
1249 0 : ndr_print_ptr(ndr, "pEncryptionCertificate", r->in.pEncryptionCertificate);
1250 0 : ndr->depth++;
1251 0 : if (r->in.pEncryptionCertificate) {
1252 0 : ndr_print_ENCRYPTION_CERTIFICATE(ndr, "pEncryptionCertificate", r->in.pEncryptionCertificate);
1253 : }
1254 0 : ndr->depth--;
1255 0 : ndr->depth--;
1256 : }
1257 0 : if (flags & NDR_OUT) {
1258 0 : ndr_print_struct(ndr, "out", "EfsRpcSetFileEncryptionKey");
1259 0 : ndr->depth++;
1260 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1261 0 : ndr->depth--;
1262 : }
1263 0 : ndr->depth--;
1264 : }
1265 :
1266 0 : static enum ndr_err_code ndr_push_EfsRpcNotSupported(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcNotSupported *r)
1267 : {
1268 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1269 0 : if (flags & NDR_IN) {
1270 0 : }
1271 0 : if (flags & NDR_OUT) {
1272 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1273 : }
1274 0 : return NDR_ERR_SUCCESS;
1275 : }
1276 :
1277 0 : static enum ndr_err_code ndr_pull_EfsRpcNotSupported(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcNotSupported *r)
1278 : {
1279 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1280 0 : if (flags & NDR_IN) {
1281 0 : }
1282 0 : if (flags & NDR_OUT) {
1283 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1284 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1285 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1286 : }
1287 0 : return NDR_ERR_SUCCESS;
1288 : }
1289 :
1290 0 : _PUBLIC_ void ndr_print_EfsRpcNotSupported(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcNotSupported *r)
1291 : {
1292 0 : ndr_print_struct(ndr, name, "EfsRpcNotSupported");
1293 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1294 0 : ndr->depth++;
1295 0 : if (flags & NDR_SET_VALUES) {
1296 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1297 : }
1298 0 : if (flags & NDR_IN) {
1299 0 : ndr_print_struct(ndr, "in", "EfsRpcNotSupported");
1300 0 : ndr->depth++;
1301 0 : ndr->depth--;
1302 : }
1303 0 : if (flags & NDR_OUT) {
1304 0 : ndr_print_struct(ndr, "out", "EfsRpcNotSupported");
1305 0 : ndr->depth++;
1306 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1307 0 : ndr->depth--;
1308 : }
1309 0 : ndr->depth--;
1310 : }
1311 :
1312 0 : static enum ndr_err_code ndr_push_EfsRpcFileKeyInfo(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcFileKeyInfo *r)
1313 : {
1314 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1315 0 : if (flags & NDR_IN) {
1316 0 : }
1317 0 : if (flags & NDR_OUT) {
1318 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1319 : }
1320 0 : return NDR_ERR_SUCCESS;
1321 : }
1322 :
1323 0 : static enum ndr_err_code ndr_pull_EfsRpcFileKeyInfo(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcFileKeyInfo *r)
1324 : {
1325 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1326 0 : if (flags & NDR_IN) {
1327 0 : }
1328 0 : if (flags & NDR_OUT) {
1329 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1330 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1331 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1332 : }
1333 0 : return NDR_ERR_SUCCESS;
1334 : }
1335 :
1336 0 : _PUBLIC_ void ndr_print_EfsRpcFileKeyInfo(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcFileKeyInfo *r)
1337 : {
1338 0 : ndr_print_struct(ndr, name, "EfsRpcFileKeyInfo");
1339 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1340 0 : ndr->depth++;
1341 0 : if (flags & NDR_SET_VALUES) {
1342 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1343 : }
1344 0 : if (flags & NDR_IN) {
1345 0 : ndr_print_struct(ndr, "in", "EfsRpcFileKeyInfo");
1346 0 : ndr->depth++;
1347 0 : ndr->depth--;
1348 : }
1349 0 : if (flags & NDR_OUT) {
1350 0 : ndr_print_struct(ndr, "out", "EfsRpcFileKeyInfo");
1351 0 : ndr->depth++;
1352 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1353 0 : ndr->depth--;
1354 : }
1355 0 : ndr->depth--;
1356 : }
1357 :
1358 0 : static enum ndr_err_code ndr_push_EfsRpcDuplicateEncryptionInfoFile(struct ndr_push *ndr, ndr_flags_type flags, const struct EfsRpcDuplicateEncryptionInfoFile *r)
1359 : {
1360 0 : NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
1361 0 : if (flags & NDR_IN) {
1362 0 : }
1363 0 : if (flags & NDR_OUT) {
1364 0 : NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1365 : }
1366 0 : return NDR_ERR_SUCCESS;
1367 : }
1368 :
1369 0 : static enum ndr_err_code ndr_pull_EfsRpcDuplicateEncryptionInfoFile(struct ndr_pull *ndr, ndr_flags_type flags, struct EfsRpcDuplicateEncryptionInfoFile *r)
1370 : {
1371 0 : NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
1372 0 : if (flags & NDR_IN) {
1373 0 : }
1374 0 : if (flags & NDR_OUT) {
1375 : #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
1376 : #endif /* FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
1377 0 : NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1378 : }
1379 0 : return NDR_ERR_SUCCESS;
1380 : }
1381 :
1382 0 : _PUBLIC_ void ndr_print_EfsRpcDuplicateEncryptionInfoFile(struct ndr_print *ndr, const char *name, ndr_flags_type flags, const struct EfsRpcDuplicateEncryptionInfoFile *r)
1383 : {
1384 0 : ndr_print_struct(ndr, name, "EfsRpcDuplicateEncryptionInfoFile");
1385 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1386 0 : ndr->depth++;
1387 0 : if (flags & NDR_SET_VALUES) {
1388 0 : ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1389 : }
1390 0 : if (flags & NDR_IN) {
1391 0 : ndr_print_struct(ndr, "in", "EfsRpcDuplicateEncryptionInfoFile");
1392 0 : ndr->depth++;
1393 0 : ndr->depth--;
1394 : }
1395 0 : if (flags & NDR_OUT) {
1396 0 : ndr_print_struct(ndr, "out", "EfsRpcDuplicateEncryptionInfoFile");
1397 0 : ndr->depth++;
1398 0 : ndr_print_WERROR(ndr, "result", r->out.result);
1399 0 : ndr->depth--;
1400 : }
1401 0 : ndr->depth--;
1402 : }
1403 :
1404 : #ifndef SKIP_NDR_TABLE_efs
1405 : static const struct ndr_interface_public_struct efs_public_structs[] = {
1406 : { .name = NULL }
1407 : };
1408 :
1409 : static const struct ndr_interface_call efs_calls[] = {
1410 : {
1411 : "EfsRpcOpenFileRaw",
1412 : sizeof(struct EfsRpcOpenFileRaw),
1413 : (ndr_push_flags_fn_t) ndr_push_EfsRpcOpenFileRaw,
1414 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcOpenFileRaw,
1415 : (ndr_print_function_t) ndr_print_EfsRpcOpenFileRaw,
1416 : { 0, NULL },
1417 : { 0, NULL },
1418 : },
1419 : {
1420 : "EfsRpcReadFileRaw",
1421 : sizeof(struct EfsRpcReadFileRaw),
1422 : (ndr_push_flags_fn_t) ndr_push_EfsRpcReadFileRaw,
1423 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcReadFileRaw,
1424 : (ndr_print_function_t) ndr_print_EfsRpcReadFileRaw,
1425 : { 0, NULL },
1426 : { 0, NULL },
1427 : },
1428 : {
1429 : "EfsRpcWriteFileRaw",
1430 : sizeof(struct EfsRpcWriteFileRaw),
1431 : (ndr_push_flags_fn_t) ndr_push_EfsRpcWriteFileRaw,
1432 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcWriteFileRaw,
1433 : (ndr_print_function_t) ndr_print_EfsRpcWriteFileRaw,
1434 : { 0, NULL },
1435 : { 0, NULL },
1436 : },
1437 : {
1438 : "EfsRpcCloseRaw",
1439 : sizeof(struct EfsRpcCloseRaw),
1440 : (ndr_push_flags_fn_t) ndr_push_EfsRpcCloseRaw,
1441 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcCloseRaw,
1442 : (ndr_print_function_t) ndr_print_EfsRpcCloseRaw,
1443 : { 0, NULL },
1444 : { 0, NULL },
1445 : },
1446 : {
1447 : "EfsRpcEncryptFileSrv",
1448 : sizeof(struct EfsRpcEncryptFileSrv),
1449 : (ndr_push_flags_fn_t) ndr_push_EfsRpcEncryptFileSrv,
1450 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcEncryptFileSrv,
1451 : (ndr_print_function_t) ndr_print_EfsRpcEncryptFileSrv,
1452 : { 0, NULL },
1453 : { 0, NULL },
1454 : },
1455 : {
1456 : "EfsRpcDecryptFileSrv",
1457 : sizeof(struct EfsRpcDecryptFileSrv),
1458 : (ndr_push_flags_fn_t) ndr_push_EfsRpcDecryptFileSrv,
1459 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcDecryptFileSrv,
1460 : (ndr_print_function_t) ndr_print_EfsRpcDecryptFileSrv,
1461 : { 0, NULL },
1462 : { 0, NULL },
1463 : },
1464 : {
1465 : "EfsRpcQueryUsersOnFile",
1466 : sizeof(struct EfsRpcQueryUsersOnFile),
1467 : (ndr_push_flags_fn_t) ndr_push_EfsRpcQueryUsersOnFile,
1468 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcQueryUsersOnFile,
1469 : (ndr_print_function_t) ndr_print_EfsRpcQueryUsersOnFile,
1470 : { 0, NULL },
1471 : { 0, NULL },
1472 : },
1473 : {
1474 : "EfsRpcQueryRecoveryAgents",
1475 : sizeof(struct EfsRpcQueryRecoveryAgents),
1476 : (ndr_push_flags_fn_t) ndr_push_EfsRpcQueryRecoveryAgents,
1477 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcQueryRecoveryAgents,
1478 : (ndr_print_function_t) ndr_print_EfsRpcQueryRecoveryAgents,
1479 : { 0, NULL },
1480 : { 0, NULL },
1481 : },
1482 : {
1483 : "EfsRpcRemoveUsersFromFile",
1484 : sizeof(struct EfsRpcRemoveUsersFromFile),
1485 : (ndr_push_flags_fn_t) ndr_push_EfsRpcRemoveUsersFromFile,
1486 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcRemoveUsersFromFile,
1487 : (ndr_print_function_t) ndr_print_EfsRpcRemoveUsersFromFile,
1488 : { 0, NULL },
1489 : { 0, NULL },
1490 : },
1491 : {
1492 : "EfsRpcAddUsersToFile",
1493 : sizeof(struct EfsRpcAddUsersToFile),
1494 : (ndr_push_flags_fn_t) ndr_push_EfsRpcAddUsersToFile,
1495 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcAddUsersToFile,
1496 : (ndr_print_function_t) ndr_print_EfsRpcAddUsersToFile,
1497 : { 0, NULL },
1498 : { 0, NULL },
1499 : },
1500 : {
1501 : "EfsRpcSetFileEncryptionKey",
1502 : sizeof(struct EfsRpcSetFileEncryptionKey),
1503 : (ndr_push_flags_fn_t) ndr_push_EfsRpcSetFileEncryptionKey,
1504 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcSetFileEncryptionKey,
1505 : (ndr_print_function_t) ndr_print_EfsRpcSetFileEncryptionKey,
1506 : { 0, NULL },
1507 : { 0, NULL },
1508 : },
1509 : {
1510 : "EfsRpcNotSupported",
1511 : sizeof(struct EfsRpcNotSupported),
1512 : (ndr_push_flags_fn_t) ndr_push_EfsRpcNotSupported,
1513 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcNotSupported,
1514 : (ndr_print_function_t) ndr_print_EfsRpcNotSupported,
1515 : { 0, NULL },
1516 : { 0, NULL },
1517 : },
1518 : {
1519 : "EfsRpcFileKeyInfo",
1520 : sizeof(struct EfsRpcFileKeyInfo),
1521 : (ndr_push_flags_fn_t) ndr_push_EfsRpcFileKeyInfo,
1522 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcFileKeyInfo,
1523 : (ndr_print_function_t) ndr_print_EfsRpcFileKeyInfo,
1524 : { 0, NULL },
1525 : { 0, NULL },
1526 : },
1527 : {
1528 : "EfsRpcDuplicateEncryptionInfoFile",
1529 : sizeof(struct EfsRpcDuplicateEncryptionInfoFile),
1530 : (ndr_push_flags_fn_t) ndr_push_EfsRpcDuplicateEncryptionInfoFile,
1531 : (ndr_pull_flags_fn_t) ndr_pull_EfsRpcDuplicateEncryptionInfoFile,
1532 : (ndr_print_function_t) ndr_print_EfsRpcDuplicateEncryptionInfoFile,
1533 : { 0, NULL },
1534 : { 0, NULL },
1535 : },
1536 : { .name = NULL }
1537 : };
1538 :
1539 : static const char * const efs_endpoint_strings[] = {
1540 : "ncacn_np:[\\pipe\\efs]",
1541 : };
1542 :
1543 : static const struct ndr_interface_string_array efs_endpoints = {
1544 : .count = 1,
1545 : .names = efs_endpoint_strings
1546 : };
1547 :
1548 : static const char * const efs_authservice_strings[] = {
1549 : "host",
1550 : };
1551 :
1552 : static const struct ndr_interface_string_array efs_authservices = {
1553 : .count = 1,
1554 : .names = efs_authservice_strings
1555 : };
1556 :
1557 :
1558 : const struct ndr_interface_table ndr_table_efs = {
1559 : .name = "efs",
1560 : .syntax_id = {
1561 : {0xc681d488,0xd850,0x11d0,{0x8c,0x52},{0x00,0xc0,0x4f,0xd9,0x0f,0x7e}},
1562 : NDR_EFS_VERSION
1563 : },
1564 : .helpstring = NDR_EFS_HELPSTRING,
1565 : .num_calls = 14,
1566 : .calls = efs_calls,
1567 : .num_public_structs = 0,
1568 : .public_structs = efs_public_structs,
1569 : .endpoints = &efs_endpoints,
1570 : .authservices = &efs_authservices
1571 : };
1572 :
1573 : #endif /* SKIP_NDR_TABLE_efs */
|