1
/* parser auto-generated by pidl */
4
#include "librpc/gen_ndr/ndr_efs.h"
6
#include "librpc/gen_ndr/ndr_security.h"
7
static enum ndr_err_code ndr_push_EFS_HASH_BLOB(struct ndr_push *ndr, int ndr_flags, const struct EFS_HASH_BLOB *r)
9
if (ndr_flags & NDR_SCALARS) {
10
NDR_CHECK(ndr_push_align(ndr, 5));
11
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbData));
12
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pbData));
13
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
15
if (ndr_flags & NDR_BUFFERS) {
17
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->cbData));
18
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pbData, r->cbData));
21
return NDR_ERR_SUCCESS;
24
static enum ndr_err_code ndr_pull_EFS_HASH_BLOB(struct ndr_pull *ndr, int ndr_flags, struct EFS_HASH_BLOB *r)
27
TALLOC_CTX *_mem_save_pbData_0;
28
if (ndr_flags & NDR_SCALARS) {
29
NDR_CHECK(ndr_pull_align(ndr, 5));
30
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbData));
31
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pbData));
33
NDR_PULL_ALLOC(ndr, r->pbData);
37
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
39
if (ndr_flags & NDR_BUFFERS) {
41
_mem_save_pbData_0 = NDR_PULL_GET_MEM_CTX(ndr);
42
NDR_PULL_SET_MEM_CTX(ndr, r->pbData, 0);
43
NDR_CHECK(ndr_pull_array_size(ndr, &r->pbData));
44
NDR_PULL_ALLOC_N(ndr, r->pbData, ndr_get_array_size(ndr, &r->pbData));
45
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pbData, ndr_get_array_size(ndr, &r->pbData)));
46
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pbData_0, 0);
49
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pbData, r->cbData));
52
return NDR_ERR_SUCCESS;
55
_PUBLIC_ void ndr_print_EFS_HASH_BLOB(struct ndr_print *ndr, const char *name, const struct EFS_HASH_BLOB *r)
57
ndr_print_struct(ndr, name, "EFS_HASH_BLOB");
58
if (r == NULL) { ndr_print_null(ndr); return; }
60
ndr_print_uint32(ndr, "cbData", r->cbData);
61
ndr_print_ptr(ndr, "pbData", r->pbData);
64
ndr_print_array_uint8(ndr, "pbData", r->pbData, r->cbData);
70
static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE_HASH(struct ndr_push *ndr, int ndr_flags, const struct ENCRYPTION_CERTIFICATE_HASH *r)
72
if (ndr_flags & NDR_SCALARS) {
73
NDR_CHECK(ndr_push_align(ndr, 5));
74
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbTotalLength));
75
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUserSid));
76
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pHash));
77
NDR_CHECK(ndr_push_unique_ptr(ndr, r->lpDisplayInformation));
78
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
80
if (ndr_flags & NDR_BUFFERS) {
82
NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
85
NDR_CHECK(ndr_push_EFS_HASH_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pHash));
87
if (r->lpDisplayInformation) {
88
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lpDisplayInformation, CH_UTF16)));
89
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
90
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->lpDisplayInformation, CH_UTF16)));
91
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->lpDisplayInformation, ndr_charset_length(r->lpDisplayInformation, CH_UTF16), sizeof(uint16_t), CH_UTF16));
94
return NDR_ERR_SUCCESS;
97
static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE_HASH(struct ndr_pull *ndr, int ndr_flags, struct ENCRYPTION_CERTIFICATE_HASH *r)
99
uint32_t _ptr_pUserSid;
100
TALLOC_CTX *_mem_save_pUserSid_0;
102
TALLOC_CTX *_mem_save_pHash_0;
103
uint32_t _ptr_lpDisplayInformation;
104
TALLOC_CTX *_mem_save_lpDisplayInformation_0;
105
if (ndr_flags & NDR_SCALARS) {
106
NDR_CHECK(ndr_pull_align(ndr, 5));
107
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbTotalLength));
108
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUserSid));
110
NDR_PULL_ALLOC(ndr, r->pUserSid);
114
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pHash));
116
NDR_PULL_ALLOC(ndr, r->pHash);
120
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lpDisplayInformation));
121
if (_ptr_lpDisplayInformation) {
122
NDR_PULL_ALLOC(ndr, r->lpDisplayInformation);
124
r->lpDisplayInformation = NULL;
126
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
128
if (ndr_flags & NDR_BUFFERS) {
130
_mem_save_pUserSid_0 = NDR_PULL_GET_MEM_CTX(ndr);
131
NDR_PULL_SET_MEM_CTX(ndr, r->pUserSid, 0);
132
NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
133
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUserSid_0, 0);
136
_mem_save_pHash_0 = NDR_PULL_GET_MEM_CTX(ndr);
137
NDR_PULL_SET_MEM_CTX(ndr, r->pHash, 0);
138
NDR_CHECK(ndr_pull_EFS_HASH_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pHash));
139
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pHash_0, 0);
141
if (r->lpDisplayInformation) {
142
_mem_save_lpDisplayInformation_0 = NDR_PULL_GET_MEM_CTX(ndr);
143
NDR_PULL_SET_MEM_CTX(ndr, r->lpDisplayInformation, 0);
144
NDR_CHECK(ndr_pull_array_size(ndr, &r->lpDisplayInformation));
145
NDR_CHECK(ndr_pull_array_length(ndr, &r->lpDisplayInformation));
146
if (ndr_get_array_length(ndr, &r->lpDisplayInformation) > ndr_get_array_size(ndr, &r->lpDisplayInformation)) {
147
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->lpDisplayInformation), ndr_get_array_length(ndr, &r->lpDisplayInformation));
149
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->lpDisplayInformation), sizeof(uint16_t)));
150
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->lpDisplayInformation, ndr_get_array_length(ndr, &r->lpDisplayInformation), sizeof(uint16_t), CH_UTF16));
151
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lpDisplayInformation_0, 0);
154
return NDR_ERR_SUCCESS;
157
_PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE_HASH(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE_HASH *r)
159
ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE_HASH");
160
if (r == NULL) { ndr_print_null(ndr); return; }
162
ndr_print_uint32(ndr, "cbTotalLength", r->cbTotalLength);
163
ndr_print_ptr(ndr, "pUserSid", r->pUserSid);
166
ndr_print_dom_sid(ndr, "pUserSid", r->pUserSid);
169
ndr_print_ptr(ndr, "pHash", r->pHash);
172
ndr_print_EFS_HASH_BLOB(ndr, "pHash", r->pHash);
175
ndr_print_ptr(ndr, "lpDisplayInformation", r->lpDisplayInformation);
177
if (r->lpDisplayInformation) {
178
ndr_print_string(ndr, "lpDisplayInformation", r->lpDisplayInformation);
184
static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_push *ndr, int ndr_flags, const struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
186
uint32_t cntr_pUsers_0;
187
if (ndr_flags & NDR_SCALARS) {
188
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->nCert_Hash));
189
NDR_CHECK(ndr_push_align(ndr, 5));
190
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->nCert_Hash));
191
for (cntr_pUsers_0 = 0; cntr_pUsers_0 < r->nCert_Hash; cntr_pUsers_0++) {
192
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUsers[cntr_pUsers_0]));
194
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
196
if (ndr_flags & NDR_BUFFERS) {
197
for (cntr_pUsers_0 = 0; cntr_pUsers_0 < r->nCert_Hash; cntr_pUsers_0++) {
198
if (r->pUsers[cntr_pUsers_0]) {
199
NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH(ndr, NDR_SCALARS|NDR_BUFFERS, r->pUsers[cntr_pUsers_0]));
203
return NDR_ERR_SUCCESS;
206
static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_pull *ndr, int ndr_flags, struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
208
uint32_t _ptr_pUsers;
209
uint32_t cntr_pUsers_0;
210
TALLOC_CTX *_mem_save_pUsers_0;
211
TALLOC_CTX *_mem_save_pUsers_1;
212
if (ndr_flags & NDR_SCALARS) {
213
NDR_CHECK(ndr_pull_array_size(ndr, &r->pUsers));
214
NDR_CHECK(ndr_pull_align(ndr, 5));
215
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->nCert_Hash));
216
NDR_PULL_ALLOC_N(ndr, r->pUsers, ndr_get_array_size(ndr, &r->pUsers));
217
_mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
218
NDR_PULL_SET_MEM_CTX(ndr, r->pUsers, 0);
219
for (cntr_pUsers_0 = 0; cntr_pUsers_0 < r->nCert_Hash; cntr_pUsers_0++) {
220
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUsers));
222
NDR_PULL_ALLOC(ndr, r->pUsers[cntr_pUsers_0]);
224
r->pUsers[cntr_pUsers_0] = NULL;
227
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, 0);
229
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pUsers, r->nCert_Hash));
231
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
233
if (ndr_flags & NDR_BUFFERS) {
234
_mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
235
NDR_PULL_SET_MEM_CTX(ndr, r->pUsers, 0);
236
for (cntr_pUsers_0 = 0; cntr_pUsers_0 < r->nCert_Hash; cntr_pUsers_0++) {
237
if (r->pUsers[cntr_pUsers_0]) {
238
_mem_save_pUsers_1 = NDR_PULL_GET_MEM_CTX(ndr);
239
NDR_PULL_SET_MEM_CTX(ndr, r->pUsers[cntr_pUsers_0], 0);
240
NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH(ndr, NDR_SCALARS|NDR_BUFFERS, r->pUsers[cntr_pUsers_0]));
241
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_1, 0);
244
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, 0);
246
return NDR_ERR_SUCCESS;
249
_PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE_HASH_LIST *r)
251
uint32_t cntr_pUsers_0;
252
ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE_HASH_LIST");
253
if (r == NULL) { ndr_print_null(ndr); return; }
255
ndr_print_uint32(ndr, "nCert_Hash", r->nCert_Hash);
256
ndr->print(ndr, "%s: ARRAY(%d)", "pUsers", (int)r->nCert_Hash);
258
for (cntr_pUsers_0=0;cntr_pUsers_0<r->nCert_Hash;cntr_pUsers_0++) {
259
ndr_print_ptr(ndr, "pUsers", r->pUsers[cntr_pUsers_0]);
261
if (r->pUsers[cntr_pUsers_0]) {
262
ndr_print_ENCRYPTION_CERTIFICATE_HASH(ndr, "pUsers", r->pUsers[cntr_pUsers_0]);
270
static enum ndr_err_code ndr_push_EFS_CERTIFICATE_BLOB(struct ndr_push *ndr, int ndr_flags, const struct EFS_CERTIFICATE_BLOB *r)
272
if (ndr_flags & NDR_SCALARS) {
273
NDR_CHECK(ndr_push_align(ndr, 5));
274
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dwCertEncodingType));
275
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cbData));
276
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pbData));
277
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
279
if (ndr_flags & NDR_BUFFERS) {
281
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->cbData));
282
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->pbData, r->cbData));
285
return NDR_ERR_SUCCESS;
288
static enum ndr_err_code ndr_pull_EFS_CERTIFICATE_BLOB(struct ndr_pull *ndr, int ndr_flags, struct EFS_CERTIFICATE_BLOB *r)
290
uint32_t _ptr_pbData;
291
TALLOC_CTX *_mem_save_pbData_0;
292
if (ndr_flags & NDR_SCALARS) {
293
NDR_CHECK(ndr_pull_align(ndr, 5));
294
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dwCertEncodingType));
295
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cbData));
296
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pbData));
298
NDR_PULL_ALLOC(ndr, r->pbData);
302
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
304
if (ndr_flags & NDR_BUFFERS) {
306
_mem_save_pbData_0 = NDR_PULL_GET_MEM_CTX(ndr);
307
NDR_PULL_SET_MEM_CTX(ndr, r->pbData, 0);
308
NDR_CHECK(ndr_pull_array_size(ndr, &r->pbData));
309
NDR_PULL_ALLOC_N(ndr, r->pbData, ndr_get_array_size(ndr, &r->pbData));
310
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->pbData, ndr_get_array_size(ndr, &r->pbData)));
311
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pbData_0, 0);
314
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pbData, r->cbData));
317
return NDR_ERR_SUCCESS;
320
_PUBLIC_ void ndr_print_EFS_CERTIFICATE_BLOB(struct ndr_print *ndr, const char *name, const struct EFS_CERTIFICATE_BLOB *r)
322
ndr_print_struct(ndr, name, "EFS_CERTIFICATE_BLOB");
323
if (r == NULL) { ndr_print_null(ndr); return; }
325
ndr_print_uint32(ndr, "dwCertEncodingType", r->dwCertEncodingType);
326
ndr_print_uint32(ndr, "cbData", r->cbData);
327
ndr_print_ptr(ndr, "pbData", r->pbData);
330
ndr_print_array_uint8(ndr, "pbData", r->pbData, r->cbData);
336
static enum ndr_err_code ndr_push_ENCRYPTION_CERTIFICATE(struct ndr_push *ndr, int ndr_flags, const struct ENCRYPTION_CERTIFICATE *r)
338
if (ndr_flags & NDR_SCALARS) {
339
NDR_CHECK(ndr_push_align(ndr, 5));
340
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TotalLength));
341
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pUserSid));
342
NDR_CHECK(ndr_push_unique_ptr(ndr, r->pCertBlob));
343
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
345
if (ndr_flags & NDR_BUFFERS) {
347
NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
350
NDR_CHECK(ndr_push_EFS_CERTIFICATE_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pCertBlob));
353
return NDR_ERR_SUCCESS;
356
static enum ndr_err_code ndr_pull_ENCRYPTION_CERTIFICATE(struct ndr_pull *ndr, int ndr_flags, struct ENCRYPTION_CERTIFICATE *r)
358
uint32_t _ptr_pUserSid;
359
TALLOC_CTX *_mem_save_pUserSid_0;
360
uint32_t _ptr_pCertBlob;
361
TALLOC_CTX *_mem_save_pCertBlob_0;
362
if (ndr_flags & NDR_SCALARS) {
363
NDR_CHECK(ndr_pull_align(ndr, 5));
364
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TotalLength));
365
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUserSid));
367
NDR_PULL_ALLOC(ndr, r->pUserSid);
371
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pCertBlob));
372
if (_ptr_pCertBlob) {
373
NDR_PULL_ALLOC(ndr, r->pCertBlob);
377
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
379
if (ndr_flags & NDR_BUFFERS) {
381
_mem_save_pUserSid_0 = NDR_PULL_GET_MEM_CTX(ndr);
382
NDR_PULL_SET_MEM_CTX(ndr, r->pUserSid, 0);
383
NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->pUserSid));
384
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUserSid_0, 0);
387
_mem_save_pCertBlob_0 = NDR_PULL_GET_MEM_CTX(ndr);
388
NDR_PULL_SET_MEM_CTX(ndr, r->pCertBlob, 0);
389
NDR_CHECK(ndr_pull_EFS_CERTIFICATE_BLOB(ndr, NDR_SCALARS|NDR_BUFFERS, r->pCertBlob));
390
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pCertBlob_0, 0);
393
return NDR_ERR_SUCCESS;
396
_PUBLIC_ void ndr_print_ENCRYPTION_CERTIFICATE(struct ndr_print *ndr, const char *name, const struct ENCRYPTION_CERTIFICATE *r)
398
ndr_print_struct(ndr, name, "ENCRYPTION_CERTIFICATE");
399
if (r == NULL) { ndr_print_null(ndr); return; }
401
ndr_print_uint32(ndr, "TotalLength", r->TotalLength);
402
ndr_print_ptr(ndr, "pUserSid", r->pUserSid);
405
ndr_print_dom_sid(ndr, "pUserSid", r->pUserSid);
408
ndr_print_ptr(ndr, "pCertBlob", r->pCertBlob);
411
ndr_print_EFS_CERTIFICATE_BLOB(ndr, "pCertBlob", r->pCertBlob);
417
static enum ndr_err_code ndr_push_EfsRpcOpenFileRaw(struct ndr_push *ndr, int flags, const struct EfsRpcOpenFileRaw *r)
419
if (flags & NDR_IN) {
420
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
421
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
422
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
423
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
424
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Flags));
426
if (flags & NDR_OUT) {
427
if (r->out.pvContext == NULL) {
428
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
430
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
431
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
433
return NDR_ERR_SUCCESS;
436
static enum ndr_err_code ndr_pull_EfsRpcOpenFileRaw(struct ndr_pull *ndr, int flags, struct EfsRpcOpenFileRaw *r)
438
TALLOC_CTX *_mem_save_pvContext_0;
439
if (flags & NDR_IN) {
442
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
443
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
444
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
445
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
447
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
448
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
449
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Flags));
450
NDR_PULL_ALLOC(ndr, r->out.pvContext);
451
ZERO_STRUCTP(r->out.pvContext);
453
if (flags & NDR_OUT) {
454
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
455
NDR_PULL_ALLOC(ndr, r->out.pvContext);
457
_mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
458
NDR_PULL_SET_MEM_CTX(ndr, r->out.pvContext, LIBNDR_FLAG_REF_ALLOC);
459
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
460
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
461
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
463
return NDR_ERR_SUCCESS;
466
_PUBLIC_ void ndr_print_EfsRpcOpenFileRaw(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcOpenFileRaw *r)
468
ndr_print_struct(ndr, name, "EfsRpcOpenFileRaw");
469
if (r == NULL) { ndr_print_null(ndr); return; }
471
if (flags & NDR_SET_VALUES) {
472
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
474
if (flags & NDR_IN) {
475
ndr_print_struct(ndr, "in", "EfsRpcOpenFileRaw");
477
ndr_print_string(ndr, "FileName", r->in.FileName);
478
ndr_print_uint32(ndr, "Flags", r->in.Flags);
481
if (flags & NDR_OUT) {
482
ndr_print_struct(ndr, "out", "EfsRpcOpenFileRaw");
484
ndr_print_ptr(ndr, "pvContext", r->out.pvContext);
486
ndr_print_policy_handle(ndr, "pvContext", r->out.pvContext);
488
ndr_print_WERROR(ndr, "result", r->out.result);
494
static enum ndr_err_code ndr_push_EfsRpcReadFileRaw(struct ndr_push *ndr, int flags, const struct EfsRpcReadFileRaw *r)
496
if (flags & NDR_IN) {
497
if (r->in.pvContext == NULL) {
498
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
500
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
502
if (flags & NDR_OUT) {
503
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
505
return NDR_ERR_SUCCESS;
508
static enum ndr_err_code ndr_pull_EfsRpcReadFileRaw(struct ndr_pull *ndr, int flags, struct EfsRpcReadFileRaw *r)
510
TALLOC_CTX *_mem_save_pvContext_0;
511
if (flags & NDR_IN) {
512
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
513
NDR_PULL_ALLOC(ndr, r->in.pvContext);
515
_mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
516
NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
517
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
518
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
520
if (flags & NDR_OUT) {
521
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
523
return NDR_ERR_SUCCESS;
526
_PUBLIC_ void ndr_print_EfsRpcReadFileRaw(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcReadFileRaw *r)
528
ndr_print_struct(ndr, name, "EfsRpcReadFileRaw");
529
if (r == NULL) { ndr_print_null(ndr); return; }
531
if (flags & NDR_SET_VALUES) {
532
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
534
if (flags & NDR_IN) {
535
ndr_print_struct(ndr, "in", "EfsRpcReadFileRaw");
537
ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
539
ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
543
if (flags & NDR_OUT) {
544
ndr_print_struct(ndr, "out", "EfsRpcReadFileRaw");
546
ndr_print_WERROR(ndr, "result", r->out.result);
552
static enum ndr_err_code ndr_push_EfsRpcWriteFileRaw(struct ndr_push *ndr, int flags, const struct EfsRpcWriteFileRaw *r)
554
if (flags & NDR_IN) {
555
if (r->in.pvContext == NULL) {
556
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
558
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
560
if (flags & NDR_OUT) {
561
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
563
return NDR_ERR_SUCCESS;
566
static enum ndr_err_code ndr_pull_EfsRpcWriteFileRaw(struct ndr_pull *ndr, int flags, struct EfsRpcWriteFileRaw *r)
568
TALLOC_CTX *_mem_save_pvContext_0;
569
if (flags & NDR_IN) {
570
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
571
NDR_PULL_ALLOC(ndr, r->in.pvContext);
573
_mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
574
NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
575
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
576
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
578
if (flags & NDR_OUT) {
579
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
581
return NDR_ERR_SUCCESS;
584
_PUBLIC_ void ndr_print_EfsRpcWriteFileRaw(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcWriteFileRaw *r)
586
ndr_print_struct(ndr, name, "EfsRpcWriteFileRaw");
587
if (r == NULL) { ndr_print_null(ndr); return; }
589
if (flags & NDR_SET_VALUES) {
590
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
592
if (flags & NDR_IN) {
593
ndr_print_struct(ndr, "in", "EfsRpcWriteFileRaw");
595
ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
597
ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
601
if (flags & NDR_OUT) {
602
ndr_print_struct(ndr, "out", "EfsRpcWriteFileRaw");
604
ndr_print_WERROR(ndr, "result", r->out.result);
610
static enum ndr_err_code ndr_push_EfsRpcCloseRaw(struct ndr_push *ndr, int flags, const struct EfsRpcCloseRaw *r)
612
if (flags & NDR_IN) {
613
if (r->in.pvContext == NULL) {
614
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
616
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
618
if (flags & NDR_OUT) {
619
if (r->out.pvContext == NULL) {
620
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
622
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
624
return NDR_ERR_SUCCESS;
627
static enum ndr_err_code ndr_pull_EfsRpcCloseRaw(struct ndr_pull *ndr, int flags, struct EfsRpcCloseRaw *r)
629
TALLOC_CTX *_mem_save_pvContext_0;
630
if (flags & NDR_IN) {
633
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
634
NDR_PULL_ALLOC(ndr, r->in.pvContext);
636
_mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
637
NDR_PULL_SET_MEM_CTX(ndr, r->in.pvContext, LIBNDR_FLAG_REF_ALLOC);
638
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.pvContext));
639
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
640
NDR_PULL_ALLOC(ndr, r->out.pvContext);
641
*r->out.pvContext = *r->in.pvContext;
643
if (flags & NDR_OUT) {
644
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
645
NDR_PULL_ALLOC(ndr, r->out.pvContext);
647
_mem_save_pvContext_0 = NDR_PULL_GET_MEM_CTX(ndr);
648
NDR_PULL_SET_MEM_CTX(ndr, r->out.pvContext, LIBNDR_FLAG_REF_ALLOC);
649
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.pvContext));
650
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pvContext_0, LIBNDR_FLAG_REF_ALLOC);
652
return NDR_ERR_SUCCESS;
655
_PUBLIC_ void ndr_print_EfsRpcCloseRaw(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcCloseRaw *r)
657
ndr_print_struct(ndr, name, "EfsRpcCloseRaw");
658
if (r == NULL) { ndr_print_null(ndr); return; }
660
if (flags & NDR_SET_VALUES) {
661
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
663
if (flags & NDR_IN) {
664
ndr_print_struct(ndr, "in", "EfsRpcCloseRaw");
666
ndr_print_ptr(ndr, "pvContext", r->in.pvContext);
668
ndr_print_policy_handle(ndr, "pvContext", r->in.pvContext);
672
if (flags & NDR_OUT) {
673
ndr_print_struct(ndr, "out", "EfsRpcCloseRaw");
675
ndr_print_ptr(ndr, "pvContext", r->out.pvContext);
677
ndr_print_policy_handle(ndr, "pvContext", r->out.pvContext);
684
static enum ndr_err_code ndr_push_EfsRpcEncryptFileSrv(struct ndr_push *ndr, int flags, const struct EfsRpcEncryptFileSrv *r)
686
if (flags & NDR_IN) {
687
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Filename, CH_UTF16)));
688
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
689
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.Filename, CH_UTF16)));
690
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.Filename, ndr_charset_length(r->in.Filename, CH_UTF16), sizeof(uint16_t), CH_UTF16));
692
if (flags & NDR_OUT) {
693
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
695
return NDR_ERR_SUCCESS;
698
static enum ndr_err_code ndr_pull_EfsRpcEncryptFileSrv(struct ndr_pull *ndr, int flags, struct EfsRpcEncryptFileSrv *r)
700
if (flags & NDR_IN) {
701
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.Filename));
702
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.Filename));
703
if (ndr_get_array_length(ndr, &r->in.Filename) > ndr_get_array_size(ndr, &r->in.Filename)) {
704
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.Filename), ndr_get_array_length(ndr, &r->in.Filename));
706
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.Filename), sizeof(uint16_t)));
707
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.Filename, ndr_get_array_length(ndr, &r->in.Filename), sizeof(uint16_t), CH_UTF16));
709
if (flags & NDR_OUT) {
710
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
712
return NDR_ERR_SUCCESS;
715
_PUBLIC_ void ndr_print_EfsRpcEncryptFileSrv(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcEncryptFileSrv *r)
717
ndr_print_struct(ndr, name, "EfsRpcEncryptFileSrv");
718
if (r == NULL) { ndr_print_null(ndr); return; }
720
if (flags & NDR_SET_VALUES) {
721
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
723
if (flags & NDR_IN) {
724
ndr_print_struct(ndr, "in", "EfsRpcEncryptFileSrv");
726
ndr_print_string(ndr, "Filename", r->in.Filename);
729
if (flags & NDR_OUT) {
730
ndr_print_struct(ndr, "out", "EfsRpcEncryptFileSrv");
732
ndr_print_WERROR(ndr, "result", r->out.result);
738
static enum ndr_err_code ndr_push_EfsRpcDecryptFileSrv(struct ndr_push *ndr, int flags, const struct EfsRpcDecryptFileSrv *r)
740
if (flags & NDR_IN) {
741
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
742
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
743
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
744
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
745
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.Reserved));
747
if (flags & NDR_OUT) {
748
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
750
return NDR_ERR_SUCCESS;
753
static enum ndr_err_code ndr_pull_EfsRpcDecryptFileSrv(struct ndr_pull *ndr, int flags, struct EfsRpcDecryptFileSrv *r)
755
if (flags & NDR_IN) {
756
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
757
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
758
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
759
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
761
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
762
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
763
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.Reserved));
765
if (flags & NDR_OUT) {
766
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
768
return NDR_ERR_SUCCESS;
771
_PUBLIC_ void ndr_print_EfsRpcDecryptFileSrv(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcDecryptFileSrv *r)
773
ndr_print_struct(ndr, name, "EfsRpcDecryptFileSrv");
774
if (r == NULL) { ndr_print_null(ndr); return; }
776
if (flags & NDR_SET_VALUES) {
777
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
779
if (flags & NDR_IN) {
780
ndr_print_struct(ndr, "in", "EfsRpcDecryptFileSrv");
782
ndr_print_string(ndr, "FileName", r->in.FileName);
783
ndr_print_uint32(ndr, "Reserved", r->in.Reserved);
786
if (flags & NDR_OUT) {
787
ndr_print_struct(ndr, "out", "EfsRpcDecryptFileSrv");
789
ndr_print_WERROR(ndr, "result", r->out.result);
795
static enum ndr_err_code ndr_push_EfsRpcQueryUsersOnFile(struct ndr_push *ndr, int flags, const struct EfsRpcQueryUsersOnFile *r)
797
if (flags & NDR_IN) {
798
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
799
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
800
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
801
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
803
if (flags & NDR_OUT) {
804
if (r->out.pUsers == NULL) {
805
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
807
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pUsers));
808
if (*r->out.pUsers) {
809
NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pUsers));
811
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
813
return NDR_ERR_SUCCESS;
816
static enum ndr_err_code ndr_pull_EfsRpcQueryUsersOnFile(struct ndr_pull *ndr, int flags, struct EfsRpcQueryUsersOnFile *r)
818
uint32_t _ptr_pUsers;
819
TALLOC_CTX *_mem_save_pUsers_0;
820
TALLOC_CTX *_mem_save_pUsers_1;
821
if (flags & NDR_IN) {
824
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
825
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
826
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
827
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
829
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
830
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
831
NDR_PULL_ALLOC(ndr, r->out.pUsers);
832
ZERO_STRUCTP(r->out.pUsers);
834
if (flags & NDR_OUT) {
835
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
836
NDR_PULL_ALLOC(ndr, r->out.pUsers);
838
_mem_save_pUsers_0 = NDR_PULL_GET_MEM_CTX(ndr);
839
NDR_PULL_SET_MEM_CTX(ndr, r->out.pUsers, LIBNDR_FLAG_REF_ALLOC);
840
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pUsers));
842
NDR_PULL_ALLOC(ndr, *r->out.pUsers);
844
*r->out.pUsers = NULL;
846
if (*r->out.pUsers) {
847
_mem_save_pUsers_1 = NDR_PULL_GET_MEM_CTX(ndr);
848
NDR_PULL_SET_MEM_CTX(ndr, *r->out.pUsers, 0);
849
NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pUsers));
850
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_1, 0);
852
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pUsers_0, LIBNDR_FLAG_REF_ALLOC);
853
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
855
return NDR_ERR_SUCCESS;
858
_PUBLIC_ void ndr_print_EfsRpcQueryUsersOnFile(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcQueryUsersOnFile *r)
860
ndr_print_struct(ndr, name, "EfsRpcQueryUsersOnFile");
861
if (r == NULL) { ndr_print_null(ndr); return; }
863
if (flags & NDR_SET_VALUES) {
864
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
866
if (flags & NDR_IN) {
867
ndr_print_struct(ndr, "in", "EfsRpcQueryUsersOnFile");
869
ndr_print_string(ndr, "FileName", r->in.FileName);
872
if (flags & NDR_OUT) {
873
ndr_print_struct(ndr, "out", "EfsRpcQueryUsersOnFile");
875
ndr_print_ptr(ndr, "pUsers", r->out.pUsers);
877
ndr_print_ptr(ndr, "pUsers", *r->out.pUsers);
879
if (*r->out.pUsers) {
880
ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, "pUsers", *r->out.pUsers);
884
ndr_print_WERROR(ndr, "result", r->out.result);
890
static enum ndr_err_code ndr_push_EfsRpcQueryRecoveryAgents(struct ndr_push *ndr, int flags, const struct EfsRpcQueryRecoveryAgents *r)
892
if (flags & NDR_IN) {
893
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
894
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
895
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
896
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
898
if (flags & NDR_OUT) {
899
if (r->out.pRecoveryAgents == NULL) {
900
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
902
NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.pRecoveryAgents));
903
if (*r->out.pRecoveryAgents) {
904
NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pRecoveryAgents));
906
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
908
return NDR_ERR_SUCCESS;
911
static enum ndr_err_code ndr_pull_EfsRpcQueryRecoveryAgents(struct ndr_pull *ndr, int flags, struct EfsRpcQueryRecoveryAgents *r)
913
uint32_t _ptr_pRecoveryAgents;
914
TALLOC_CTX *_mem_save_pRecoveryAgents_0;
915
TALLOC_CTX *_mem_save_pRecoveryAgents_1;
916
if (flags & NDR_IN) {
919
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
920
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
921
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
922
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
924
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
925
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
926
NDR_PULL_ALLOC(ndr, r->out.pRecoveryAgents);
927
ZERO_STRUCTP(r->out.pRecoveryAgents);
929
if (flags & NDR_OUT) {
930
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
931
NDR_PULL_ALLOC(ndr, r->out.pRecoveryAgents);
933
_mem_save_pRecoveryAgents_0 = NDR_PULL_GET_MEM_CTX(ndr);
934
NDR_PULL_SET_MEM_CTX(ndr, r->out.pRecoveryAgents, LIBNDR_FLAG_REF_ALLOC);
935
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pRecoveryAgents));
936
if (_ptr_pRecoveryAgents) {
937
NDR_PULL_ALLOC(ndr, *r->out.pRecoveryAgents);
939
*r->out.pRecoveryAgents = NULL;
941
if (*r->out.pRecoveryAgents) {
942
_mem_save_pRecoveryAgents_1 = NDR_PULL_GET_MEM_CTX(ndr);
943
NDR_PULL_SET_MEM_CTX(ndr, *r->out.pRecoveryAgents, 0);
944
NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.pRecoveryAgents));
945
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pRecoveryAgents_1, 0);
947
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pRecoveryAgents_0, LIBNDR_FLAG_REF_ALLOC);
948
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
950
return NDR_ERR_SUCCESS;
953
_PUBLIC_ void ndr_print_EfsRpcQueryRecoveryAgents(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcQueryRecoveryAgents *r)
955
ndr_print_struct(ndr, name, "EfsRpcQueryRecoveryAgents");
956
if (r == NULL) { ndr_print_null(ndr); return; }
958
if (flags & NDR_SET_VALUES) {
959
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
961
if (flags & NDR_IN) {
962
ndr_print_struct(ndr, "in", "EfsRpcQueryRecoveryAgents");
964
ndr_print_string(ndr, "FileName", r->in.FileName);
967
if (flags & NDR_OUT) {
968
ndr_print_struct(ndr, "out", "EfsRpcQueryRecoveryAgents");
970
ndr_print_ptr(ndr, "pRecoveryAgents", r->out.pRecoveryAgents);
972
ndr_print_ptr(ndr, "pRecoveryAgents", *r->out.pRecoveryAgents);
974
if (*r->out.pRecoveryAgents) {
975
ndr_print_ENCRYPTION_CERTIFICATE_HASH_LIST(ndr, "pRecoveryAgents", *r->out.pRecoveryAgents);
979
ndr_print_WERROR(ndr, "result", r->out.result);
985
static enum ndr_err_code ndr_push_EfsRpcRemoveUsersFromFile(struct ndr_push *ndr, int flags, const struct EfsRpcRemoveUsersFromFile *r)
987
if (flags & NDR_IN) {
988
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
989
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
990
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
991
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
993
if (flags & NDR_OUT) {
994
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
996
return NDR_ERR_SUCCESS;
999
static enum ndr_err_code ndr_pull_EfsRpcRemoveUsersFromFile(struct ndr_pull *ndr, int flags, struct EfsRpcRemoveUsersFromFile *r)
1001
if (flags & NDR_IN) {
1002
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
1003
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
1004
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
1005
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
1007
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
1008
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
1010
if (flags & NDR_OUT) {
1011
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1013
return NDR_ERR_SUCCESS;
1016
_PUBLIC_ void ndr_print_EfsRpcRemoveUsersFromFile(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcRemoveUsersFromFile *r)
1018
ndr_print_struct(ndr, name, "EfsRpcRemoveUsersFromFile");
1019
if (r == NULL) { ndr_print_null(ndr); return; }
1021
if (flags & NDR_SET_VALUES) {
1022
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1024
if (flags & NDR_IN) {
1025
ndr_print_struct(ndr, "in", "EfsRpcRemoveUsersFromFile");
1027
ndr_print_string(ndr, "FileName", r->in.FileName);
1030
if (flags & NDR_OUT) {
1031
ndr_print_struct(ndr, "out", "EfsRpcRemoveUsersFromFile");
1033
ndr_print_WERROR(ndr, "result", r->out.result);
1039
static enum ndr_err_code ndr_push_EfsRpcAddUsersToFile(struct ndr_push *ndr, int flags, const struct EfsRpcAddUsersToFile *r)
1041
if (flags & NDR_IN) {
1042
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1043
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1044
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.FileName, CH_UTF16)));
1045
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.FileName, ndr_charset_length(r->in.FileName, CH_UTF16), sizeof(uint16_t), CH_UTF16));
1047
if (flags & NDR_OUT) {
1048
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1050
return NDR_ERR_SUCCESS;
1053
static enum ndr_err_code ndr_pull_EfsRpcAddUsersToFile(struct ndr_pull *ndr, int flags, struct EfsRpcAddUsersToFile *r)
1055
if (flags & NDR_IN) {
1056
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.FileName));
1057
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.FileName));
1058
if (ndr_get_array_length(ndr, &r->in.FileName) > ndr_get_array_size(ndr, &r->in.FileName)) {
1059
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.FileName), ndr_get_array_length(ndr, &r->in.FileName));
1061
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t)));
1062
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.FileName, ndr_get_array_length(ndr, &r->in.FileName), sizeof(uint16_t), CH_UTF16));
1064
if (flags & NDR_OUT) {
1065
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1067
return NDR_ERR_SUCCESS;
1070
_PUBLIC_ void ndr_print_EfsRpcAddUsersToFile(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcAddUsersToFile *r)
1072
ndr_print_struct(ndr, name, "EfsRpcAddUsersToFile");
1073
if (r == NULL) { ndr_print_null(ndr); return; }
1075
if (flags & NDR_SET_VALUES) {
1076
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1078
if (flags & NDR_IN) {
1079
ndr_print_struct(ndr, "in", "EfsRpcAddUsersToFile");
1081
ndr_print_string(ndr, "FileName", r->in.FileName);
1084
if (flags & NDR_OUT) {
1085
ndr_print_struct(ndr, "out", "EfsRpcAddUsersToFile");
1087
ndr_print_WERROR(ndr, "result", r->out.result);
1093
static enum ndr_err_code ndr_push_EfsRpcSetFileEncryptionKey(struct ndr_push *ndr, int flags, const struct EfsRpcSetFileEncryptionKey *r)
1095
if (flags & NDR_IN) {
1096
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.pEncryptionCertificate));
1097
if (r->in.pEncryptionCertificate) {
1098
NDR_CHECK(ndr_push_ENCRYPTION_CERTIFICATE(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pEncryptionCertificate));
1101
if (flags & NDR_OUT) {
1102
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1104
return NDR_ERR_SUCCESS;
1107
static enum ndr_err_code ndr_pull_EfsRpcSetFileEncryptionKey(struct ndr_pull *ndr, int flags, struct EfsRpcSetFileEncryptionKey *r)
1109
uint32_t _ptr_pEncryptionCertificate;
1110
TALLOC_CTX *_mem_save_pEncryptionCertificate_0;
1111
if (flags & NDR_IN) {
1112
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pEncryptionCertificate));
1113
if (_ptr_pEncryptionCertificate) {
1114
NDR_PULL_ALLOC(ndr, r->in.pEncryptionCertificate);
1116
r->in.pEncryptionCertificate = NULL;
1118
if (r->in.pEncryptionCertificate) {
1119
_mem_save_pEncryptionCertificate_0 = NDR_PULL_GET_MEM_CTX(ndr);
1120
NDR_PULL_SET_MEM_CTX(ndr, r->in.pEncryptionCertificate, 0);
1121
NDR_CHECK(ndr_pull_ENCRYPTION_CERTIFICATE(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.pEncryptionCertificate));
1122
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pEncryptionCertificate_0, 0);
1125
if (flags & NDR_OUT) {
1126
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1128
return NDR_ERR_SUCCESS;
1131
_PUBLIC_ void ndr_print_EfsRpcSetFileEncryptionKey(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcSetFileEncryptionKey *r)
1133
ndr_print_struct(ndr, name, "EfsRpcSetFileEncryptionKey");
1134
if (r == NULL) { ndr_print_null(ndr); return; }
1136
if (flags & NDR_SET_VALUES) {
1137
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1139
if (flags & NDR_IN) {
1140
ndr_print_struct(ndr, "in", "EfsRpcSetFileEncryptionKey");
1142
ndr_print_ptr(ndr, "pEncryptionCertificate", r->in.pEncryptionCertificate);
1144
if (r->in.pEncryptionCertificate) {
1145
ndr_print_ENCRYPTION_CERTIFICATE(ndr, "pEncryptionCertificate", r->in.pEncryptionCertificate);
1150
if (flags & NDR_OUT) {
1151
ndr_print_struct(ndr, "out", "EfsRpcSetFileEncryptionKey");
1153
ndr_print_WERROR(ndr, "result", r->out.result);
1159
static enum ndr_err_code ndr_push_EfsRpcNotSupported(struct ndr_push *ndr, int flags, const struct EfsRpcNotSupported *r)
1161
if (flags & NDR_IN) {
1163
if (flags & NDR_OUT) {
1164
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1166
return NDR_ERR_SUCCESS;
1169
static enum ndr_err_code ndr_pull_EfsRpcNotSupported(struct ndr_pull *ndr, int flags, struct EfsRpcNotSupported *r)
1171
if (flags & NDR_IN) {
1173
if (flags & NDR_OUT) {
1174
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1176
return NDR_ERR_SUCCESS;
1179
_PUBLIC_ void ndr_print_EfsRpcNotSupported(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcNotSupported *r)
1181
ndr_print_struct(ndr, name, "EfsRpcNotSupported");
1182
if (r == NULL) { ndr_print_null(ndr); return; }
1184
if (flags & NDR_SET_VALUES) {
1185
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1187
if (flags & NDR_IN) {
1188
ndr_print_struct(ndr, "in", "EfsRpcNotSupported");
1192
if (flags & NDR_OUT) {
1193
ndr_print_struct(ndr, "out", "EfsRpcNotSupported");
1195
ndr_print_WERROR(ndr, "result", r->out.result);
1201
static enum ndr_err_code ndr_push_EfsRpcFileKeyInfo(struct ndr_push *ndr, int flags, const struct EfsRpcFileKeyInfo *r)
1203
if (flags & NDR_IN) {
1205
if (flags & NDR_OUT) {
1206
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1208
return NDR_ERR_SUCCESS;
1211
static enum ndr_err_code ndr_pull_EfsRpcFileKeyInfo(struct ndr_pull *ndr, int flags, struct EfsRpcFileKeyInfo *r)
1213
if (flags & NDR_IN) {
1215
if (flags & NDR_OUT) {
1216
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1218
return NDR_ERR_SUCCESS;
1221
_PUBLIC_ void ndr_print_EfsRpcFileKeyInfo(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcFileKeyInfo *r)
1223
ndr_print_struct(ndr, name, "EfsRpcFileKeyInfo");
1224
if (r == NULL) { ndr_print_null(ndr); return; }
1226
if (flags & NDR_SET_VALUES) {
1227
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1229
if (flags & NDR_IN) {
1230
ndr_print_struct(ndr, "in", "EfsRpcFileKeyInfo");
1234
if (flags & NDR_OUT) {
1235
ndr_print_struct(ndr, "out", "EfsRpcFileKeyInfo");
1237
ndr_print_WERROR(ndr, "result", r->out.result);
1243
static enum ndr_err_code ndr_push_EfsRpcDuplicateEncryptionInfoFile(struct ndr_push *ndr, int flags, const struct EfsRpcDuplicateEncryptionInfoFile *r)
1245
if (flags & NDR_IN) {
1247
if (flags & NDR_OUT) {
1248
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1250
return NDR_ERR_SUCCESS;
1253
static enum ndr_err_code ndr_pull_EfsRpcDuplicateEncryptionInfoFile(struct ndr_pull *ndr, int flags, struct EfsRpcDuplicateEncryptionInfoFile *r)
1255
if (flags & NDR_IN) {
1257
if (flags & NDR_OUT) {
1258
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1260
return NDR_ERR_SUCCESS;
1263
_PUBLIC_ void ndr_print_EfsRpcDuplicateEncryptionInfoFile(struct ndr_print *ndr, const char *name, int flags, const struct EfsRpcDuplicateEncryptionInfoFile *r)
1265
ndr_print_struct(ndr, name, "EfsRpcDuplicateEncryptionInfoFile");
1266
if (r == NULL) { ndr_print_null(ndr); return; }
1268
if (flags & NDR_SET_VALUES) {
1269
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1271
if (flags & NDR_IN) {
1272
ndr_print_struct(ndr, "in", "EfsRpcDuplicateEncryptionInfoFile");
1276
if (flags & NDR_OUT) {
1277
ndr_print_struct(ndr, "out", "EfsRpcDuplicateEncryptionInfoFile");
1279
ndr_print_WERROR(ndr, "result", r->out.result);
1285
static const struct ndr_interface_call efs_calls[] = {
1287
"EfsRpcOpenFileRaw",
1288
sizeof(struct EfsRpcOpenFileRaw),
1289
(ndr_push_flags_fn_t) ndr_push_EfsRpcOpenFileRaw,
1290
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcOpenFileRaw,
1291
(ndr_print_function_t) ndr_print_EfsRpcOpenFileRaw,
1296
"EfsRpcReadFileRaw",
1297
sizeof(struct EfsRpcReadFileRaw),
1298
(ndr_push_flags_fn_t) ndr_push_EfsRpcReadFileRaw,
1299
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcReadFileRaw,
1300
(ndr_print_function_t) ndr_print_EfsRpcReadFileRaw,
1305
"EfsRpcWriteFileRaw",
1306
sizeof(struct EfsRpcWriteFileRaw),
1307
(ndr_push_flags_fn_t) ndr_push_EfsRpcWriteFileRaw,
1308
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcWriteFileRaw,
1309
(ndr_print_function_t) ndr_print_EfsRpcWriteFileRaw,
1315
sizeof(struct EfsRpcCloseRaw),
1316
(ndr_push_flags_fn_t) ndr_push_EfsRpcCloseRaw,
1317
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcCloseRaw,
1318
(ndr_print_function_t) ndr_print_EfsRpcCloseRaw,
1323
"EfsRpcEncryptFileSrv",
1324
sizeof(struct EfsRpcEncryptFileSrv),
1325
(ndr_push_flags_fn_t) ndr_push_EfsRpcEncryptFileSrv,
1326
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcEncryptFileSrv,
1327
(ndr_print_function_t) ndr_print_EfsRpcEncryptFileSrv,
1332
"EfsRpcDecryptFileSrv",
1333
sizeof(struct EfsRpcDecryptFileSrv),
1334
(ndr_push_flags_fn_t) ndr_push_EfsRpcDecryptFileSrv,
1335
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcDecryptFileSrv,
1336
(ndr_print_function_t) ndr_print_EfsRpcDecryptFileSrv,
1341
"EfsRpcQueryUsersOnFile",
1342
sizeof(struct EfsRpcQueryUsersOnFile),
1343
(ndr_push_flags_fn_t) ndr_push_EfsRpcQueryUsersOnFile,
1344
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcQueryUsersOnFile,
1345
(ndr_print_function_t) ndr_print_EfsRpcQueryUsersOnFile,
1350
"EfsRpcQueryRecoveryAgents",
1351
sizeof(struct EfsRpcQueryRecoveryAgents),
1352
(ndr_push_flags_fn_t) ndr_push_EfsRpcQueryRecoveryAgents,
1353
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcQueryRecoveryAgents,
1354
(ndr_print_function_t) ndr_print_EfsRpcQueryRecoveryAgents,
1359
"EfsRpcRemoveUsersFromFile",
1360
sizeof(struct EfsRpcRemoveUsersFromFile),
1361
(ndr_push_flags_fn_t) ndr_push_EfsRpcRemoveUsersFromFile,
1362
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcRemoveUsersFromFile,
1363
(ndr_print_function_t) ndr_print_EfsRpcRemoveUsersFromFile,
1368
"EfsRpcAddUsersToFile",
1369
sizeof(struct EfsRpcAddUsersToFile),
1370
(ndr_push_flags_fn_t) ndr_push_EfsRpcAddUsersToFile,
1371
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcAddUsersToFile,
1372
(ndr_print_function_t) ndr_print_EfsRpcAddUsersToFile,
1377
"EfsRpcSetFileEncryptionKey",
1378
sizeof(struct EfsRpcSetFileEncryptionKey),
1379
(ndr_push_flags_fn_t) ndr_push_EfsRpcSetFileEncryptionKey,
1380
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcSetFileEncryptionKey,
1381
(ndr_print_function_t) ndr_print_EfsRpcSetFileEncryptionKey,
1386
"EfsRpcNotSupported",
1387
sizeof(struct EfsRpcNotSupported),
1388
(ndr_push_flags_fn_t) ndr_push_EfsRpcNotSupported,
1389
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcNotSupported,
1390
(ndr_print_function_t) ndr_print_EfsRpcNotSupported,
1395
"EfsRpcFileKeyInfo",
1396
sizeof(struct EfsRpcFileKeyInfo),
1397
(ndr_push_flags_fn_t) ndr_push_EfsRpcFileKeyInfo,
1398
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcFileKeyInfo,
1399
(ndr_print_function_t) ndr_print_EfsRpcFileKeyInfo,
1404
"EfsRpcDuplicateEncryptionInfoFile",
1405
sizeof(struct EfsRpcDuplicateEncryptionInfoFile),
1406
(ndr_push_flags_fn_t) ndr_push_EfsRpcDuplicateEncryptionInfoFile,
1407
(ndr_pull_flags_fn_t) ndr_pull_EfsRpcDuplicateEncryptionInfoFile,
1408
(ndr_print_function_t) ndr_print_EfsRpcDuplicateEncryptionInfoFile,
1412
{ NULL, 0, NULL, NULL, NULL }
1415
static const char * const efs_endpoint_strings[] = {
1416
"ncacn_np:[\\pipe\\efs]",
1419
static const struct ndr_interface_string_array efs_endpoints = {
1421
.names = efs_endpoint_strings
1424
static const char * const efs_authservice_strings[] = {
1428
static const struct ndr_interface_string_array efs_authservices = {
1430
.names = efs_authservice_strings
1434
const struct ndr_interface_table ndr_table_efs = {
1437
{0xc681d488,0xd850,0x11d0,{0x8c,0x52},{0x00,0xc0,0x4f,0xd9,0x0f,0x7e}},
1440
.helpstring = NDR_EFS_HELPSTRING,
1443
.endpoints = &efs_endpoints,
1444
.authservices = &efs_authservices