1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_named_pipe_auth.h"
6 #include "librpc/gen_ndr/ndr_netlogon.h"
7 static enum ndr_err_code
ndr_push_named_pipe_auth_req_info(struct ndr_push
*ndr
, int ndr_flags
, const union named_pipe_auth_req_info
*r
)
9 if (ndr_flags
& NDR_SCALARS
) {
10 int level
= ndr_push_get_switch_value(ndr
, r
);
11 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
17 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info1
));
21 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
24 if (ndr_flags
& NDR_BUFFERS
) {
25 int level
= ndr_push_get_switch_value(ndr
, r
);
31 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info1
));
35 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
38 return NDR_ERR_SUCCESS
;
41 static enum ndr_err_code
ndr_pull_named_pipe_auth_req_info(struct ndr_pull
*ndr
, int ndr_flags
, union named_pipe_auth_req_info
*r
)
45 level
= ndr_pull_get_switch_value(ndr
, r
);
46 if (ndr_flags
& NDR_SCALARS
) {
47 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
48 if (_level
!= level
) {
49 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
56 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info1
));
60 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
63 if (ndr_flags
& NDR_BUFFERS
) {
69 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info1
));
73 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
76 return NDR_ERR_SUCCESS
;
79 _PUBLIC_
void ndr_print_named_pipe_auth_req_info(struct ndr_print
*ndr
, const char *name
, const union named_pipe_auth_req_info
*r
)
82 level
= ndr_print_get_switch_value(ndr
, r
);
83 ndr_print_union(ndr
, name
, level
, "named_pipe_auth_req_info");
89 ndr_print_netr_SamInfo3(ndr
, "info1", &r
->info1
);
93 ndr_print_bad_level(ndr
, name
, level
);
97 _PUBLIC_
enum ndr_err_code
ndr_push_named_pipe_auth_req(struct ndr_push
*ndr
, int ndr_flags
, const struct named_pipe_auth_req
*r
)
99 if (ndr_flags
& NDR_SCALARS
) {
100 NDR_CHECK(ndr_push_align(ndr
, 4));
102 uint32_t _flags_save_uint32
= ndr
->flags
;
103 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_named_pipe_auth_req(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
105 ndr
->flags
= _flags_save_uint32
;
107 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, NAMED_PIPE_AUTH_MAGIC
, 4, sizeof(uint8_t), CH_DOS
));
108 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
109 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->level
));
110 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr
, NDR_SCALARS
, &r
->info
));
112 if (ndr_flags
& NDR_BUFFERS
) {
113 NDR_CHECK(ndr_push_named_pipe_auth_req_info(ndr
, NDR_BUFFERS
, &r
->info
));
115 return NDR_ERR_SUCCESS
;
118 _PUBLIC_
enum ndr_err_code
ndr_pull_named_pipe_auth_req(struct ndr_pull
*ndr
, int ndr_flags
, struct named_pipe_auth_req
*r
)
120 uint32_t size_magic_0
= 0;
121 if (ndr_flags
& NDR_SCALARS
) {
122 NDR_CHECK(ndr_pull_align(ndr
, 4));
124 uint32_t _flags_save_uint32
= ndr
->flags
;
125 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
126 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
127 ndr
->flags
= _flags_save_uint32
;
130 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->magic
, size_magic_0
, sizeof(uint8_t), CH_DOS
));
131 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
132 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->level
));
133 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr
, NDR_SCALARS
, &r
->info
));
135 if (ndr_flags
& NDR_BUFFERS
) {
136 NDR_CHECK(ndr_pull_named_pipe_auth_req_info(ndr
, NDR_BUFFERS
, &r
->info
));
138 return NDR_ERR_SUCCESS
;
141 _PUBLIC_
void ndr_print_named_pipe_auth_req(struct ndr_print
*ndr
, const char *name
, const struct named_pipe_auth_req
*r
)
143 ndr_print_struct(ndr
, name
, "named_pipe_auth_req");
145 ndr_print_uint32(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_named_pipe_auth_req(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4:r
->length
);
146 ndr_print_string(ndr
, "magic", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?NAMED_PIPE_AUTH_MAGIC
:r
->magic
);
147 ndr_print_uint32(ndr
, "level", r
->level
);
148 ndr_print_set_switch_value(ndr
, &r
->info
, r
->level
);
149 ndr_print_named_pipe_auth_req_info(ndr
, "info", &r
->info
);
153 _PUBLIC_
size_t ndr_size_named_pipe_auth_req(const struct named_pipe_auth_req
*r
, struct smb_iconv_convenience
*ic
, int flags
)
155 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_named_pipe_auth_req
, ic
);
158 static enum ndr_err_code
ndr_push_named_pipe_auth_rep_info(struct ndr_push
*ndr
, int ndr_flags
, const union named_pipe_auth_rep_info
*r
)
160 if (ndr_flags
& NDR_SCALARS
) {
161 int level
= ndr_push_get_switch_value(ndr
, r
);
162 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
171 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
174 if (ndr_flags
& NDR_BUFFERS
) {
175 int level
= ndr_push_get_switch_value(ndr
, r
);
184 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
187 return NDR_ERR_SUCCESS
;
190 static enum ndr_err_code
ndr_pull_named_pipe_auth_rep_info(struct ndr_pull
*ndr
, int ndr_flags
, union named_pipe_auth_rep_info
*r
)
194 level
= ndr_pull_get_switch_value(ndr
, r
);
195 if (ndr_flags
& NDR_SCALARS
) {
196 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
197 if (_level
!= level
) {
198 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
208 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
211 if (ndr_flags
& NDR_BUFFERS
) {
220 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
223 return NDR_ERR_SUCCESS
;
226 _PUBLIC_
void ndr_print_named_pipe_auth_rep_info(struct ndr_print
*ndr
, const char *name
, const union named_pipe_auth_rep_info
*r
)
229 level
= ndr_print_get_switch_value(ndr
, r
);
230 ndr_print_union(ndr
, name
, level
, "named_pipe_auth_rep_info");
239 ndr_print_bad_level(ndr
, name
, level
);
243 _PUBLIC_
enum ndr_err_code
ndr_push_named_pipe_auth_rep(struct ndr_push
*ndr
, int ndr_flags
, const struct named_pipe_auth_rep
*r
)
245 if (ndr_flags
& NDR_SCALARS
) {
246 NDR_CHECK(ndr_push_align(ndr
, 4));
248 uint32_t _flags_save_uint32
= ndr
->flags
;
249 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
250 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_named_pipe_auth_rep(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
251 ndr
->flags
= _flags_save_uint32
;
253 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, NAMED_PIPE_AUTH_MAGIC
, 4, sizeof(uint8_t), CH_DOS
));
254 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
255 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->level
));
256 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr
, NDR_SCALARS
, &r
->info
));
257 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
259 if (ndr_flags
& NDR_BUFFERS
) {
260 NDR_CHECK(ndr_push_named_pipe_auth_rep_info(ndr
, NDR_BUFFERS
, &r
->info
));
262 return NDR_ERR_SUCCESS
;
265 _PUBLIC_
enum ndr_err_code
ndr_pull_named_pipe_auth_rep(struct ndr_pull
*ndr
, int ndr_flags
, struct named_pipe_auth_rep
*r
)
267 uint32_t size_magic_0
= 0;
268 if (ndr_flags
& NDR_SCALARS
) {
269 NDR_CHECK(ndr_pull_align(ndr
, 4));
271 uint32_t _flags_save_uint32
= ndr
->flags
;
272 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
273 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
274 ndr
->flags
= _flags_save_uint32
;
277 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->magic
, size_magic_0
, sizeof(uint8_t), CH_DOS
));
278 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
279 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->level
));
280 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr
, NDR_SCALARS
, &r
->info
));
281 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
283 if (ndr_flags
& NDR_BUFFERS
) {
284 NDR_CHECK(ndr_pull_named_pipe_auth_rep_info(ndr
, NDR_BUFFERS
, &r
->info
));
286 return NDR_ERR_SUCCESS
;
289 _PUBLIC_
void ndr_print_named_pipe_auth_rep(struct ndr_print
*ndr
, const char *name
, const struct named_pipe_auth_rep
*r
)
291 ndr_print_struct(ndr
, name
, "named_pipe_auth_rep");
293 ndr_print_uint32(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_named_pipe_auth_rep(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4:r
->length
);
294 ndr_print_string(ndr
, "magic", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?NAMED_PIPE_AUTH_MAGIC
:r
->magic
);
295 ndr_print_uint32(ndr
, "level", r
->level
);
296 ndr_print_set_switch_value(ndr
, &r
->info
, r
->level
);
297 ndr_print_named_pipe_auth_rep_info(ndr
, "info", &r
->info
);
298 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
302 _PUBLIC_
size_t ndr_size_named_pipe_auth_rep(const struct named_pipe_auth_rep
*r
, struct smb_iconv_convenience
*ic
, int flags
)
304 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_named_pipe_auth_rep
, ic
);