1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_secrets.h"
6 _PUBLIC_
enum ndr_err_code
ndr_push_TRUSTED_DOM_PASS(struct ndr_push
*ndr
, int ndr_flags
, const struct TRUSTED_DOM_PASS
*r
)
9 uint32_t _flags_save_STRUCT
= ndr
->flags
;
10 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
11 if (ndr_flags
& NDR_SCALARS
) {
12 NDR_CHECK(ndr_push_align(ndr
, 4));
13 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m_term(r
->uni_name
)));
14 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->uni_name
, 32, sizeof(uint16_t), CH_UTF16
));
15 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen(r
->pass
)));
17 uint32_t _flags_save_string
= ndr
->flags
;
18 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
19 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->pass
));
20 ndr
->flags
= _flags_save_string
;
22 NDR_CHECK(ndr_push_time_t(ndr
, NDR_SCALARS
, r
->mod_time
));
23 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, &r
->domain_sid
));
24 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
26 if (ndr_flags
& NDR_BUFFERS
) {
28 ndr
->flags
= _flags_save_STRUCT
;
30 return NDR_ERR_SUCCESS
;
33 _PUBLIC_
enum ndr_err_code
ndr_pull_TRUSTED_DOM_PASS(struct ndr_pull
*ndr
, int ndr_flags
, struct TRUSTED_DOM_PASS
*r
)
36 uint32_t _flags_save_STRUCT
= ndr
->flags
;
37 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
38 if (ndr_flags
& NDR_SCALARS
) {
39 NDR_CHECK(ndr_pull_align(ndr
, 4));
40 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->uni_name_len
));
41 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->uni_name
, 32, sizeof(uint16_t), CH_UTF16
));
42 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pass_len
));
44 uint32_t _flags_save_string
= ndr
->flags
;
45 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
46 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->pass
));
47 ndr
->flags
= _flags_save_string
;
49 NDR_CHECK(ndr_pull_time_t(ndr
, NDR_SCALARS
, &r
->mod_time
));
50 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, &r
->domain_sid
));
51 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
53 if (ndr_flags
& NDR_BUFFERS
) {
55 ndr
->flags
= _flags_save_STRUCT
;
57 return NDR_ERR_SUCCESS
;
60 _PUBLIC_
void ndr_print_TRUSTED_DOM_PASS(struct ndr_print
*ndr
, const char *name
, const struct TRUSTED_DOM_PASS
*r
)
62 ndr_print_struct(ndr
, name
, "TRUSTED_DOM_PASS");
64 uint32_t _flags_save_STRUCT
= ndr
->flags
;
65 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_NOALIGN
);
67 ndr_print_uint32(ndr
, "uni_name_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m_term(r
->uni_name
):r
->uni_name_len
);
68 ndr_print_string(ndr
, "uni_name", r
->uni_name
);
69 ndr_print_uint32(ndr
, "pass_len", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen(r
->pass
):r
->pass_len
);
70 ndr_print_string(ndr
, "pass", r
->pass
);
71 ndr_print_time_t(ndr
, "mod_time", r
->mod_time
);
72 ndr_print_dom_sid(ndr
, "domain_sid", &r
->domain_sid
);
74 ndr
->flags
= _flags_save_STRUCT
;