1/* parser auto-generated by pidl */ 2 3#include "includes.h" 4#include "../librpc/gen_ndr/ndr_epmapper.h" 5 6#include "librpc/gen_ndr/ndr_misc.h" 7static enum ndr_err_code ndr_push_epm_protocol(struct ndr_push *ndr, int ndr_flags, enum epm_protocol r) 8{ 9 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r)); 10 return NDR_ERR_SUCCESS; 11} 12 13static enum ndr_err_code ndr_pull_epm_protocol(struct ndr_pull *ndr, int ndr_flags, enum epm_protocol *r) 14{ 15 uint8_t v; 16 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v)); 17 *r = v; 18 return NDR_ERR_SUCCESS; 19} 20 21_PUBLIC_ void ndr_print_epm_protocol(struct ndr_print *ndr, const char *name, enum epm_protocol r) 22{ 23 const char *val = NULL; 24 25 switch (r) { 26 case EPM_PROTOCOL_DNET_NSP: val = "EPM_PROTOCOL_DNET_NSP"; break; 27 case EPM_PROTOCOL_OSI_TP4: val = "EPM_PROTOCOL_OSI_TP4"; break; 28 case EPM_PROTOCOL_OSI_CLNS: val = "EPM_PROTOCOL_OSI_CLNS"; break; 29 case EPM_PROTOCOL_TCP: val = "EPM_PROTOCOL_TCP"; break; 30 case EPM_PROTOCOL_UDP: val = "EPM_PROTOCOL_UDP"; break; 31 case EPM_PROTOCOL_IP: val = "EPM_PROTOCOL_IP"; break; 32 case EPM_PROTOCOL_NCADG: val = "EPM_PROTOCOL_NCADG"; break; 33 case EPM_PROTOCOL_NCACN: val = "EPM_PROTOCOL_NCACN"; break; 34 case EPM_PROTOCOL_NCALRPC: val = "EPM_PROTOCOL_NCALRPC"; break; 35 case EPM_PROTOCOL_UUID: val = "EPM_PROTOCOL_UUID"; break; 36 case EPM_PROTOCOL_IPX: val = "EPM_PROTOCOL_IPX"; break; 37 case EPM_PROTOCOL_SMB: val = "EPM_PROTOCOL_SMB"; break; 38 case EPM_PROTOCOL_NAMED_PIPE: val = "EPM_PROTOCOL_NAMED_PIPE"; break; 39 case EPM_PROTOCOL_NETBIOS: val = "EPM_PROTOCOL_NETBIOS"; break; 40 case EPM_PROTOCOL_NETBEUI: val = "EPM_PROTOCOL_NETBEUI"; break; 41 case EPM_PROTOCOL_SPX: val = "EPM_PROTOCOL_SPX"; break; 42 case EPM_PROTOCOL_NB_IPX: val = "EPM_PROTOCOL_NB_IPX"; break; 43 case EPM_PROTOCOL_DSP: val = "EPM_PROTOCOL_DSP"; break; 44 case EPM_PROTOCOL_DDP: val = "EPM_PROTOCOL_DDP"; break; 45 case EPM_PROTOCOL_APPLETALK: val = "EPM_PROTOCOL_APPLETALK"; break; 46 case EPM_PROTOCOL_VINES_SPP: val = "EPM_PROTOCOL_VINES_SPP"; break; 47 case EPM_PROTOCOL_VINES_IPC: val = "EPM_PROTOCOL_VINES_IPC"; break; 48 case EPM_PROTOCOL_STREETTALK: val = "EPM_PROTOCOL_STREETTALK"; break; 49 case EPM_PROTOCOL_HTTP: val = "EPM_PROTOCOL_HTTP"; break; 50 case EPM_PROTOCOL_UNIX_DS: val = "EPM_PROTOCOL_UNIX_DS"; break; 51 case EPM_PROTOCOL_NULL: val = "EPM_PROTOCOL_NULL"; break; 52 } 53 ndr_print_enum(ndr, name, "ENUM", val, r); 54} 55 56static enum ndr_err_code ndr_push_epm_rhs_dnet_nsp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_dnet_nsp *r) 57{ 58 if (ndr_flags & NDR_SCALARS) { 59 NDR_CHECK(ndr_push_align(ndr, 1)); 60 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 61 } 62 if (ndr_flags & NDR_BUFFERS) { 63 } 64 return NDR_ERR_SUCCESS; 65} 66 67static enum ndr_err_code ndr_pull_epm_rhs_dnet_nsp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_dnet_nsp *r) 68{ 69 if (ndr_flags & NDR_SCALARS) { 70 NDR_CHECK(ndr_pull_align(ndr, 1)); 71 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 72 } 73 if (ndr_flags & NDR_BUFFERS) { 74 } 75 return NDR_ERR_SUCCESS; 76} 77 78_PUBLIC_ void ndr_print_epm_rhs_dnet_nsp(struct ndr_print *ndr, const char *name, const struct epm_rhs_dnet_nsp *r) 79{ 80 ndr_print_struct(ndr, name, "epm_rhs_dnet_nsp"); 81 ndr->depth++; 82 ndr->depth--; 83} 84 85static enum ndr_err_code ndr_push_epm_rhs_osi_tp4(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_tp4 *r) 86{ 87 if (ndr_flags & NDR_SCALARS) { 88 NDR_CHECK(ndr_push_align(ndr, 1)); 89 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 90 } 91 if (ndr_flags & NDR_BUFFERS) { 92 } 93 return NDR_ERR_SUCCESS; 94} 95 96static enum ndr_err_code ndr_pull_epm_rhs_osi_tp4(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_tp4 *r) 97{ 98 if (ndr_flags & NDR_SCALARS) { 99 NDR_CHECK(ndr_pull_align(ndr, 1)); 100 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 101 } 102 if (ndr_flags & NDR_BUFFERS) { 103 } 104 return NDR_ERR_SUCCESS; 105} 106 107_PUBLIC_ void ndr_print_epm_rhs_osi_tp4(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_tp4 *r) 108{ 109 ndr_print_struct(ndr, name, "epm_rhs_osi_tp4"); 110 ndr->depth++; 111 ndr->depth--; 112} 113 114static enum ndr_err_code ndr_push_epm_rhs_osi_clns(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_osi_clns *r) 115{ 116 if (ndr_flags & NDR_SCALARS) { 117 NDR_CHECK(ndr_push_align(ndr, 1)); 118 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 119 } 120 if (ndr_flags & NDR_BUFFERS) { 121 } 122 return NDR_ERR_SUCCESS; 123} 124 125static enum ndr_err_code ndr_pull_epm_rhs_osi_clns(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_osi_clns *r) 126{ 127 if (ndr_flags & NDR_SCALARS) { 128 NDR_CHECK(ndr_pull_align(ndr, 1)); 129 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 130 } 131 if (ndr_flags & NDR_BUFFERS) { 132 } 133 return NDR_ERR_SUCCESS; 134} 135 136_PUBLIC_ void ndr_print_epm_rhs_osi_clns(struct ndr_print *ndr, const char *name, const struct epm_rhs_osi_clns *r) 137{ 138 ndr_print_struct(ndr, name, "epm_rhs_osi_clns"); 139 ndr->depth++; 140 ndr->depth--; 141} 142 143static enum ndr_err_code ndr_push_epm_rhs_udp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_udp *r) 144{ 145 if (ndr_flags & NDR_SCALARS) { 146 NDR_CHECK(ndr_push_align(ndr, 2)); 147 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); 148 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 149 } 150 if (ndr_flags & NDR_BUFFERS) { 151 } 152 return NDR_ERR_SUCCESS; 153} 154 155static enum ndr_err_code ndr_pull_epm_rhs_udp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_udp *r) 156{ 157 if (ndr_flags & NDR_SCALARS) { 158 NDR_CHECK(ndr_pull_align(ndr, 2)); 159 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); 160 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 161 } 162 if (ndr_flags & NDR_BUFFERS) { 163 } 164 return NDR_ERR_SUCCESS; 165} 166 167_PUBLIC_ void ndr_print_epm_rhs_udp(struct ndr_print *ndr, const char *name, const struct epm_rhs_udp *r) 168{ 169 ndr_print_struct(ndr, name, "epm_rhs_udp"); 170 ndr->depth++; 171 ndr_print_uint16(ndr, "port", r->port); 172 ndr->depth--; 173} 174 175static enum ndr_err_code ndr_push_epm_rhs_tcp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_tcp *r) 176{ 177 if (ndr_flags & NDR_SCALARS) { 178 NDR_CHECK(ndr_push_align(ndr, 2)); 179 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); 180 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 181 } 182 if (ndr_flags & NDR_BUFFERS) { 183 } 184 return NDR_ERR_SUCCESS; 185} 186 187static enum ndr_err_code ndr_pull_epm_rhs_tcp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_tcp *r) 188{ 189 if (ndr_flags & NDR_SCALARS) { 190 NDR_CHECK(ndr_pull_align(ndr, 2)); 191 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); 192 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 193 } 194 if (ndr_flags & NDR_BUFFERS) { 195 } 196 return NDR_ERR_SUCCESS; 197} 198 199_PUBLIC_ void ndr_print_epm_rhs_tcp(struct ndr_print *ndr, const char *name, const struct epm_rhs_tcp *r) 200{ 201 ndr_print_struct(ndr, name, "epm_rhs_tcp"); 202 ndr->depth++; 203 ndr_print_uint16(ndr, "port", r->port); 204 ndr->depth--; 205} 206 207static enum ndr_err_code ndr_push_epm_rhs_ip(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ip *r) 208{ 209 if (ndr_flags & NDR_SCALARS) { 210 NDR_CHECK(ndr_push_align(ndr, 4)); 211 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ipaddr)); 212 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 213 } 214 if (ndr_flags & NDR_BUFFERS) { 215 } 216 return NDR_ERR_SUCCESS; 217} 218 219static enum ndr_err_code ndr_pull_epm_rhs_ip(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ip *r) 220{ 221 if (ndr_flags & NDR_SCALARS) { 222 NDR_CHECK(ndr_pull_align(ndr, 4)); 223 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ipaddr)); 224 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 225 } 226 if (ndr_flags & NDR_BUFFERS) { 227 } 228 return NDR_ERR_SUCCESS; 229} 230 231_PUBLIC_ void ndr_print_epm_rhs_ip(struct ndr_print *ndr, const char *name, const struct epm_rhs_ip *r) 232{ 233 ndr_print_struct(ndr, name, "epm_rhs_ip"); 234 ndr->depth++; 235 ndr_print_ipv4address(ndr, "ipaddr", r->ipaddr); 236 ndr->depth--; 237} 238 239static enum ndr_err_code ndr_push_epm_rhs_ncadg(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncadg *r) 240{ 241 if (ndr_flags & NDR_SCALARS) { 242 NDR_CHECK(ndr_push_align(ndr, 2)); 243 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); 244 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 245 } 246 if (ndr_flags & NDR_BUFFERS) { 247 } 248 return NDR_ERR_SUCCESS; 249} 250 251static enum ndr_err_code ndr_pull_epm_rhs_ncadg(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncadg *r) 252{ 253 if (ndr_flags & NDR_SCALARS) { 254 NDR_CHECK(ndr_pull_align(ndr, 2)); 255 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); 256 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 257 } 258 if (ndr_flags & NDR_BUFFERS) { 259 } 260 return NDR_ERR_SUCCESS; 261} 262 263_PUBLIC_ void ndr_print_epm_rhs_ncadg(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncadg *r) 264{ 265 ndr_print_struct(ndr, name, "epm_rhs_ncadg"); 266 ndr->depth++; 267 ndr_print_uint16(ndr, "minor_version", r->minor_version); 268 ndr->depth--; 269} 270 271static enum ndr_err_code ndr_push_epm_rhs_ncacn(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncacn *r) 272{ 273 if (ndr_flags & NDR_SCALARS) { 274 NDR_CHECK(ndr_push_align(ndr, 2)); 275 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); 276 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 277 } 278 if (ndr_flags & NDR_BUFFERS) { 279 } 280 return NDR_ERR_SUCCESS; 281} 282 283static enum ndr_err_code ndr_pull_epm_rhs_ncacn(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncacn *r) 284{ 285 if (ndr_flags & NDR_SCALARS) { 286 NDR_CHECK(ndr_pull_align(ndr, 2)); 287 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); 288 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 289 } 290 if (ndr_flags & NDR_BUFFERS) { 291 } 292 return NDR_ERR_SUCCESS; 293} 294 295_PUBLIC_ void ndr_print_epm_rhs_ncacn(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncacn *r) 296{ 297 ndr_print_struct(ndr, name, "epm_rhs_ncacn"); 298 ndr->depth++; 299 ndr_print_uint16(ndr, "minor_version", r->minor_version); 300 ndr->depth--; 301} 302 303static enum ndr_err_code ndr_push_epm_rhs_uuid(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_uuid *r) 304{ 305 if (ndr_flags & NDR_SCALARS) { 306 NDR_CHECK(ndr_push_align(ndr, 4)); 307 { 308 uint32_t _flags_save_DATA_BLOB = ndr->flags; 309 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 310 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown)); 311 ndr->flags = _flags_save_DATA_BLOB; 312 } 313 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 314 } 315 if (ndr_flags & NDR_BUFFERS) { 316 } 317 return NDR_ERR_SUCCESS; 318} 319 320static enum ndr_err_code ndr_pull_epm_rhs_uuid(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_uuid *r) 321{ 322 if (ndr_flags & NDR_SCALARS) { 323 NDR_CHECK(ndr_pull_align(ndr, 4)); 324 { 325 uint32_t _flags_save_DATA_BLOB = ndr->flags; 326 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 327 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown)); 328 ndr->flags = _flags_save_DATA_BLOB; 329 } 330 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 331 } 332 if (ndr_flags & NDR_BUFFERS) { 333 } 334 return NDR_ERR_SUCCESS; 335} 336 337_PUBLIC_ void ndr_print_epm_rhs_uuid(struct ndr_print *ndr, const char *name, const struct epm_rhs_uuid *r) 338{ 339 ndr_print_struct(ndr, name, "epm_rhs_uuid"); 340 ndr->depth++; 341 ndr_print_DATA_BLOB(ndr, "unknown", r->unknown); 342 ndr->depth--; 343} 344 345static enum ndr_err_code ndr_push_epm_rhs_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ipx *r) 346{ 347 if (ndr_flags & NDR_SCALARS) { 348 NDR_CHECK(ndr_push_align(ndr, 1)); 349 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 350 } 351 if (ndr_flags & NDR_BUFFERS) { 352 } 353 return NDR_ERR_SUCCESS; 354} 355 356static enum ndr_err_code ndr_pull_epm_rhs_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ipx *r) 357{ 358 if (ndr_flags & NDR_SCALARS) { 359 NDR_CHECK(ndr_pull_align(ndr, 1)); 360 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 361 } 362 if (ndr_flags & NDR_BUFFERS) { 363 } 364 return NDR_ERR_SUCCESS; 365} 366 367_PUBLIC_ void ndr_print_epm_rhs_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_ipx *r) 368{ 369 ndr_print_struct(ndr, name, "epm_rhs_ipx"); 370 ndr->depth++; 371 ndr->depth--; 372} 373 374static enum ndr_err_code ndr_push_epm_rhs_smb(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_smb *r) 375{ 376 if (ndr_flags & NDR_SCALARS) { 377 NDR_CHECK(ndr_push_align(ndr, 4)); 378 { 379 uint32_t _flags_save_string = ndr->flags; 380 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 381 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->unc)); 382 ndr->flags = _flags_save_string; 383 } 384 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 385 } 386 if (ndr_flags & NDR_BUFFERS) { 387 } 388 return NDR_ERR_SUCCESS; 389} 390 391static enum ndr_err_code ndr_pull_epm_rhs_smb(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_smb *r) 392{ 393 if (ndr_flags & NDR_SCALARS) { 394 NDR_CHECK(ndr_pull_align(ndr, 4)); 395 { 396 uint32_t _flags_save_string = ndr->flags; 397 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 398 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->unc)); 399 ndr->flags = _flags_save_string; 400 } 401 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 402 } 403 if (ndr_flags & NDR_BUFFERS) { 404 } 405 return NDR_ERR_SUCCESS; 406} 407 408_PUBLIC_ void ndr_print_epm_rhs_smb(struct ndr_print *ndr, const char *name, const struct epm_rhs_smb *r) 409{ 410 ndr_print_struct(ndr, name, "epm_rhs_smb"); 411 ndr->depth++; 412 ndr_print_string(ndr, "unc", r->unc); 413 ndr->depth--; 414} 415 416static enum ndr_err_code ndr_push_epm_rhs_named_pipe(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_named_pipe *r) 417{ 418 if (ndr_flags & NDR_SCALARS) { 419 NDR_CHECK(ndr_push_align(ndr, 4)); 420 { 421 uint32_t _flags_save_string = ndr->flags; 422 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 423 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path)); 424 ndr->flags = _flags_save_string; 425 } 426 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 427 } 428 if (ndr_flags & NDR_BUFFERS) { 429 } 430 return NDR_ERR_SUCCESS; 431} 432 433static enum ndr_err_code ndr_pull_epm_rhs_named_pipe(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_named_pipe *r) 434{ 435 if (ndr_flags & NDR_SCALARS) { 436 NDR_CHECK(ndr_pull_align(ndr, 4)); 437 { 438 uint32_t _flags_save_string = ndr->flags; 439 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 440 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path)); 441 ndr->flags = _flags_save_string; 442 } 443 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 444 } 445 if (ndr_flags & NDR_BUFFERS) { 446 } 447 return NDR_ERR_SUCCESS; 448} 449 450_PUBLIC_ void ndr_print_epm_rhs_named_pipe(struct ndr_print *ndr, const char *name, const struct epm_rhs_named_pipe *r) 451{ 452 ndr_print_struct(ndr, name, "epm_rhs_named_pipe"); 453 ndr->depth++; 454 ndr_print_string(ndr, "path", r->path); 455 ndr->depth--; 456} 457 458static enum ndr_err_code ndr_push_epm_rhs_netbios(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbios *r) 459{ 460 if (ndr_flags & NDR_SCALARS) { 461 NDR_CHECK(ndr_push_align(ndr, 4)); 462 { 463 uint32_t _flags_save_string = ndr->flags; 464 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 465 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name)); 466 ndr->flags = _flags_save_string; 467 } 468 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 469 } 470 if (ndr_flags & NDR_BUFFERS) { 471 } 472 return NDR_ERR_SUCCESS; 473} 474 475static enum ndr_err_code ndr_pull_epm_rhs_netbios(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbios *r) 476{ 477 if (ndr_flags & NDR_SCALARS) { 478 NDR_CHECK(ndr_pull_align(ndr, 4)); 479 { 480 uint32_t _flags_save_string = ndr->flags; 481 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 482 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name)); 483 ndr->flags = _flags_save_string; 484 } 485 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 486 } 487 if (ndr_flags & NDR_BUFFERS) { 488 } 489 return NDR_ERR_SUCCESS; 490} 491 492_PUBLIC_ void ndr_print_epm_rhs_netbios(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbios *r) 493{ 494 ndr_print_struct(ndr, name, "epm_rhs_netbios"); 495 ndr->depth++; 496 ndr_print_string(ndr, "name", r->name); 497 ndr->depth--; 498} 499 500static enum ndr_err_code ndr_push_epm_rhs_netbeui(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_netbeui *r) 501{ 502 if (ndr_flags & NDR_SCALARS) { 503 NDR_CHECK(ndr_push_align(ndr, 1)); 504 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 505 } 506 if (ndr_flags & NDR_BUFFERS) { 507 } 508 return NDR_ERR_SUCCESS; 509} 510 511static enum ndr_err_code ndr_pull_epm_rhs_netbeui(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_netbeui *r) 512{ 513 if (ndr_flags & NDR_SCALARS) { 514 NDR_CHECK(ndr_pull_align(ndr, 1)); 515 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 516 } 517 if (ndr_flags & NDR_BUFFERS) { 518 } 519 return NDR_ERR_SUCCESS; 520} 521 522_PUBLIC_ void ndr_print_epm_rhs_netbeui(struct ndr_print *ndr, const char *name, const struct epm_rhs_netbeui *r) 523{ 524 ndr_print_struct(ndr, name, "epm_rhs_netbeui"); 525 ndr->depth++; 526 ndr->depth--; 527} 528 529static enum ndr_err_code ndr_push_epm_rhs_spx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_spx *r) 530{ 531 if (ndr_flags & NDR_SCALARS) { 532 NDR_CHECK(ndr_push_align(ndr, 1)); 533 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 534 } 535 if (ndr_flags & NDR_BUFFERS) { 536 } 537 return NDR_ERR_SUCCESS; 538} 539 540static enum ndr_err_code ndr_pull_epm_rhs_spx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_spx *r) 541{ 542 if (ndr_flags & NDR_SCALARS) { 543 NDR_CHECK(ndr_pull_align(ndr, 1)); 544 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 545 } 546 if (ndr_flags & NDR_BUFFERS) { 547 } 548 return NDR_ERR_SUCCESS; 549} 550 551_PUBLIC_ void ndr_print_epm_rhs_spx(struct ndr_print *ndr, const char *name, const struct epm_rhs_spx *r) 552{ 553 ndr_print_struct(ndr, name, "epm_rhs_spx"); 554 ndr->depth++; 555 ndr->depth--; 556} 557 558static enum ndr_err_code ndr_push_epm_rhs_nb_ipx(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_nb_ipx *r) 559{ 560 if (ndr_flags & NDR_SCALARS) { 561 NDR_CHECK(ndr_push_align(ndr, 1)); 562 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 563 } 564 if (ndr_flags & NDR_BUFFERS) { 565 } 566 return NDR_ERR_SUCCESS; 567} 568 569static enum ndr_err_code ndr_pull_epm_rhs_nb_ipx(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_nb_ipx *r) 570{ 571 if (ndr_flags & NDR_SCALARS) { 572 NDR_CHECK(ndr_pull_align(ndr, 1)); 573 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 574 } 575 if (ndr_flags & NDR_BUFFERS) { 576 } 577 return NDR_ERR_SUCCESS; 578} 579 580_PUBLIC_ void ndr_print_epm_rhs_nb_ipx(struct ndr_print *ndr, const char *name, const struct epm_rhs_nb_ipx *r) 581{ 582 ndr_print_struct(ndr, name, "epm_rhs_nb_ipx"); 583 ndr->depth++; 584 ndr->depth--; 585} 586 587static enum ndr_err_code ndr_push_epm_rhs_http(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_http *r) 588{ 589 if (ndr_flags & NDR_SCALARS) { 590 NDR_CHECK(ndr_push_align(ndr, 2)); 591 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); 592 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 593 } 594 if (ndr_flags & NDR_BUFFERS) { 595 } 596 return NDR_ERR_SUCCESS; 597} 598 599static enum ndr_err_code ndr_pull_epm_rhs_http(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_http *r) 600{ 601 if (ndr_flags & NDR_SCALARS) { 602 NDR_CHECK(ndr_pull_align(ndr, 2)); 603 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); 604 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 605 } 606 if (ndr_flags & NDR_BUFFERS) { 607 } 608 return NDR_ERR_SUCCESS; 609} 610 611_PUBLIC_ void ndr_print_epm_rhs_http(struct ndr_print *ndr, const char *name, const struct epm_rhs_http *r) 612{ 613 ndr_print_struct(ndr, name, "epm_rhs_http"); 614 ndr->depth++; 615 ndr_print_uint16(ndr, "port", r->port); 616 ndr->depth--; 617} 618 619static enum ndr_err_code ndr_push_epm_rhs_unix_ds(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_unix_ds *r) 620{ 621 if (ndr_flags & NDR_SCALARS) { 622 NDR_CHECK(ndr_push_align(ndr, 4)); 623 { 624 uint32_t _flags_save_string = ndr->flags; 625 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 626 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->path)); 627 ndr->flags = _flags_save_string; 628 } 629 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 630 } 631 if (ndr_flags & NDR_BUFFERS) { 632 } 633 return NDR_ERR_SUCCESS; 634} 635 636static enum ndr_err_code ndr_pull_epm_rhs_unix_ds(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_unix_ds *r) 637{ 638 if (ndr_flags & NDR_SCALARS) { 639 NDR_CHECK(ndr_pull_align(ndr, 4)); 640 { 641 uint32_t _flags_save_string = ndr->flags; 642 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 643 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->path)); 644 ndr->flags = _flags_save_string; 645 } 646 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 647 } 648 if (ndr_flags & NDR_BUFFERS) { 649 } 650 return NDR_ERR_SUCCESS; 651} 652 653_PUBLIC_ void ndr_print_epm_rhs_unix_ds(struct ndr_print *ndr, const char *name, const struct epm_rhs_unix_ds *r) 654{ 655 ndr_print_struct(ndr, name, "epm_rhs_unix_ds"); 656 ndr->depth++; 657 ndr_print_string(ndr, "path", r->path); 658 ndr->depth--; 659} 660 661static enum ndr_err_code ndr_push_epm_rhs_null(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_null *r) 662{ 663 if (ndr_flags & NDR_SCALARS) { 664 NDR_CHECK(ndr_push_align(ndr, 1)); 665 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 666 } 667 if (ndr_flags & NDR_BUFFERS) { 668 } 669 return NDR_ERR_SUCCESS; 670} 671 672static enum ndr_err_code ndr_pull_epm_rhs_null(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_null *r) 673{ 674 if (ndr_flags & NDR_SCALARS) { 675 NDR_CHECK(ndr_pull_align(ndr, 1)); 676 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 677 } 678 if (ndr_flags & NDR_BUFFERS) { 679 } 680 return NDR_ERR_SUCCESS; 681} 682 683_PUBLIC_ void ndr_print_epm_rhs_null(struct ndr_print *ndr, const char *name, const struct epm_rhs_null *r) 684{ 685 ndr_print_struct(ndr, name, "epm_rhs_null"); 686 ndr->depth++; 687 ndr->depth--; 688} 689 690static enum ndr_err_code ndr_push_epm_rhs_ncalrpc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_ncalrpc *r) 691{ 692 if (ndr_flags & NDR_SCALARS) { 693 NDR_CHECK(ndr_push_align(ndr, 2)); 694 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minor_version)); 695 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 696 } 697 if (ndr_flags & NDR_BUFFERS) { 698 } 699 return NDR_ERR_SUCCESS; 700} 701 702static enum ndr_err_code ndr_pull_epm_rhs_ncalrpc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_ncalrpc *r) 703{ 704 if (ndr_flags & NDR_SCALARS) { 705 NDR_CHECK(ndr_pull_align(ndr, 2)); 706 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minor_version)); 707 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 708 } 709 if (ndr_flags & NDR_BUFFERS) { 710 } 711 return NDR_ERR_SUCCESS; 712} 713 714_PUBLIC_ void ndr_print_epm_rhs_ncalrpc(struct ndr_print *ndr, const char *name, const struct epm_rhs_ncalrpc *r) 715{ 716 ndr_print_struct(ndr, name, "epm_rhs_ncalrpc"); 717 ndr->depth++; 718 ndr_print_uint16(ndr, "minor_version", r->minor_version); 719 ndr->depth--; 720} 721 722static enum ndr_err_code ndr_push_epm_rhs_appletalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_appletalk *r) 723{ 724 if (ndr_flags & NDR_SCALARS) { 725 NDR_CHECK(ndr_push_align(ndr, 1)); 726 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 727 } 728 if (ndr_flags & NDR_BUFFERS) { 729 } 730 return NDR_ERR_SUCCESS; 731} 732 733static enum ndr_err_code ndr_pull_epm_rhs_appletalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_appletalk *r) 734{ 735 if (ndr_flags & NDR_SCALARS) { 736 NDR_CHECK(ndr_pull_align(ndr, 1)); 737 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 738 } 739 if (ndr_flags & NDR_BUFFERS) { 740 } 741 return NDR_ERR_SUCCESS; 742} 743 744_PUBLIC_ void ndr_print_epm_rhs_appletalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_appletalk *r) 745{ 746 ndr_print_struct(ndr, name, "epm_rhs_appletalk"); 747 ndr->depth++; 748 ndr->depth--; 749} 750 751static enum ndr_err_code ndr_push_epm_rhs_atalk_stream(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_stream *r) 752{ 753 if (ndr_flags & NDR_SCALARS) { 754 NDR_CHECK(ndr_push_align(ndr, 1)); 755 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 756 } 757 if (ndr_flags & NDR_BUFFERS) { 758 } 759 return NDR_ERR_SUCCESS; 760} 761 762static enum ndr_err_code ndr_pull_epm_rhs_atalk_stream(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_stream *r) 763{ 764 if (ndr_flags & NDR_SCALARS) { 765 NDR_CHECK(ndr_pull_align(ndr, 1)); 766 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 767 } 768 if (ndr_flags & NDR_BUFFERS) { 769 } 770 return NDR_ERR_SUCCESS; 771} 772 773_PUBLIC_ void ndr_print_epm_rhs_atalk_stream(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_stream *r) 774{ 775 ndr_print_struct(ndr, name, "epm_rhs_atalk_stream"); 776 ndr->depth++; 777 ndr->depth--; 778} 779 780static enum ndr_err_code ndr_push_epm_rhs_atalk_datagram(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_atalk_datagram *r) 781{ 782 if (ndr_flags & NDR_SCALARS) { 783 NDR_CHECK(ndr_push_align(ndr, 1)); 784 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 785 } 786 if (ndr_flags & NDR_BUFFERS) { 787 } 788 return NDR_ERR_SUCCESS; 789} 790 791static enum ndr_err_code ndr_pull_epm_rhs_atalk_datagram(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_atalk_datagram *r) 792{ 793 if (ndr_flags & NDR_SCALARS) { 794 NDR_CHECK(ndr_pull_align(ndr, 1)); 795 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 796 } 797 if (ndr_flags & NDR_BUFFERS) { 798 } 799 return NDR_ERR_SUCCESS; 800} 801 802_PUBLIC_ void ndr_print_epm_rhs_atalk_datagram(struct ndr_print *ndr, const char *name, const struct epm_rhs_atalk_datagram *r) 803{ 804 ndr_print_struct(ndr, name, "epm_rhs_atalk_datagram"); 805 ndr->depth++; 806 ndr->depth--; 807} 808 809static enum ndr_err_code ndr_push_epm_rhs_vines_spp(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_spp *r) 810{ 811 if (ndr_flags & NDR_SCALARS) { 812 NDR_CHECK(ndr_push_align(ndr, 2)); 813 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); 814 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 815 } 816 if (ndr_flags & NDR_BUFFERS) { 817 } 818 return NDR_ERR_SUCCESS; 819} 820 821static enum ndr_err_code ndr_pull_epm_rhs_vines_spp(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_spp *r) 822{ 823 if (ndr_flags & NDR_SCALARS) { 824 NDR_CHECK(ndr_pull_align(ndr, 2)); 825 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); 826 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 827 } 828 if (ndr_flags & NDR_BUFFERS) { 829 } 830 return NDR_ERR_SUCCESS; 831} 832 833_PUBLIC_ void ndr_print_epm_rhs_vines_spp(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_spp *r) 834{ 835 ndr_print_struct(ndr, name, "epm_rhs_vines_spp"); 836 ndr->depth++; 837 ndr_print_uint16(ndr, "port", r->port); 838 ndr->depth--; 839} 840 841static enum ndr_err_code ndr_push_epm_rhs_vines_ipc(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_vines_ipc *r) 842{ 843 if (ndr_flags & NDR_SCALARS) { 844 NDR_CHECK(ndr_push_align(ndr, 2)); 845 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->port)); 846 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 847 } 848 if (ndr_flags & NDR_BUFFERS) { 849 } 850 return NDR_ERR_SUCCESS; 851} 852 853static enum ndr_err_code ndr_pull_epm_rhs_vines_ipc(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_vines_ipc *r) 854{ 855 if (ndr_flags & NDR_SCALARS) { 856 NDR_CHECK(ndr_pull_align(ndr, 2)); 857 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->port)); 858 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 859 } 860 if (ndr_flags & NDR_BUFFERS) { 861 } 862 return NDR_ERR_SUCCESS; 863} 864 865_PUBLIC_ void ndr_print_epm_rhs_vines_ipc(struct ndr_print *ndr, const char *name, const struct epm_rhs_vines_ipc *r) 866{ 867 ndr_print_struct(ndr, name, "epm_rhs_vines_ipc"); 868 ndr->depth++; 869 ndr_print_uint16(ndr, "port", r->port); 870 ndr->depth--; 871} 872 873static enum ndr_err_code ndr_push_epm_rhs_streettalk(struct ndr_push *ndr, int ndr_flags, const struct epm_rhs_streettalk *r) 874{ 875 if (ndr_flags & NDR_SCALARS) { 876 NDR_CHECK(ndr_push_align(ndr, 4)); 877 { 878 uint32_t _flags_save_string = ndr->flags; 879 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 880 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->streettalk)); 881 ndr->flags = _flags_save_string; 882 } 883 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 884 } 885 if (ndr_flags & NDR_BUFFERS) { 886 } 887 return NDR_ERR_SUCCESS; 888} 889 890static enum ndr_err_code ndr_pull_epm_rhs_streettalk(struct ndr_pull *ndr, int ndr_flags, struct epm_rhs_streettalk *r) 891{ 892 if (ndr_flags & NDR_SCALARS) { 893 NDR_CHECK(ndr_pull_align(ndr, 4)); 894 { 895 uint32_t _flags_save_string = ndr->flags; 896 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM); 897 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->streettalk)); 898 ndr->flags = _flags_save_string; 899 } 900 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 901 } 902 if (ndr_flags & NDR_BUFFERS) { 903 } 904 return NDR_ERR_SUCCESS; 905} 906 907_PUBLIC_ void ndr_print_epm_rhs_streettalk(struct ndr_print *ndr, const char *name, const struct epm_rhs_streettalk *r) 908{ 909 ndr_print_struct(ndr, name, "epm_rhs_streettalk"); 910 ndr->depth++; 911 ndr_print_string(ndr, "streettalk", r->streettalk); 912 ndr->depth--; 913} 914 915static enum ndr_err_code ndr_push_epm_rhs(struct ndr_push *ndr, int ndr_flags, const union epm_rhs *r) 916{ 917 { 918 uint32_t _flags_save_UNION = ndr->flags; 919 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); 920 if (ndr_flags & NDR_SCALARS) { 921 int level = ndr_push_get_switch_value(ndr, r); 922 NDR_CHECK(ndr_push_union_align(ndr, 4)); 923 switch (level) { 924 case EPM_PROTOCOL_DNET_NSP: { 925 NDR_CHECK(ndr_push_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp)); 926 break; } 927 928 case EPM_PROTOCOL_OSI_TP4: { 929 NDR_CHECK(ndr_push_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4)); 930 break; } 931 932 case EPM_PROTOCOL_OSI_CLNS: { 933 NDR_CHECK(ndr_push_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns)); 934 break; } 935 936 case EPM_PROTOCOL_TCP: { 937 NDR_CHECK(ndr_push_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp)); 938 break; } 939 940 case EPM_PROTOCOL_UDP: { 941 NDR_CHECK(ndr_push_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp)); 942 break; } 943 944 case EPM_PROTOCOL_IP: { 945 NDR_CHECK(ndr_push_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip)); 946 break; } 947 948 case EPM_PROTOCOL_NCADG: { 949 NDR_CHECK(ndr_push_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg)); 950 break; } 951 952 case EPM_PROTOCOL_NCACN: { 953 NDR_CHECK(ndr_push_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn)); 954 break; } 955 956 case EPM_PROTOCOL_NCALRPC: { 957 NDR_CHECK(ndr_push_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc)); 958 break; } 959 960 case EPM_PROTOCOL_UUID: { 961 NDR_CHECK(ndr_push_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid)); 962 break; } 963 964 case EPM_PROTOCOL_IPX: { 965 NDR_CHECK(ndr_push_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx)); 966 break; } 967 968 case EPM_PROTOCOL_SMB: { 969 NDR_CHECK(ndr_push_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb)); 970 break; } 971 972 case EPM_PROTOCOL_NAMED_PIPE: { 973 NDR_CHECK(ndr_push_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe)); 974 break; } 975 976 case EPM_PROTOCOL_NETBIOS: { 977 NDR_CHECK(ndr_push_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios)); 978 break; } 979 980 case EPM_PROTOCOL_NETBEUI: { 981 NDR_CHECK(ndr_push_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui)); 982 break; } 983 984 case EPM_PROTOCOL_SPX: { 985 NDR_CHECK(ndr_push_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx)); 986 break; } 987 988 case EPM_PROTOCOL_NB_IPX: { 989 NDR_CHECK(ndr_push_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx)); 990 break; } 991 992 case EPM_PROTOCOL_DSP: { 993 NDR_CHECK(ndr_push_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream)); 994 break; } 995 996 case EPM_PROTOCOL_DDP: { 997 NDR_CHECK(ndr_push_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram)); 998 break; } 999 1000 case EPM_PROTOCOL_APPLETALK: { 1001 NDR_CHECK(ndr_push_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk)); 1002 break; } 1003 1004 case EPM_PROTOCOL_VINES_SPP: { 1005 NDR_CHECK(ndr_push_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp)); 1006 break; } 1007 1008 case EPM_PROTOCOL_VINES_IPC: { 1009 NDR_CHECK(ndr_push_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc)); 1010 break; } 1011 1012 case EPM_PROTOCOL_STREETTALK: { 1013 NDR_CHECK(ndr_push_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk)); 1014 break; } 1015 1016 case EPM_PROTOCOL_HTTP: { 1017 NDR_CHECK(ndr_push_epm_rhs_http(ndr, NDR_SCALARS, &r->http)); 1018 break; } 1019 1020 case EPM_PROTOCOL_UNIX_DS: { 1021 NDR_CHECK(ndr_push_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds)); 1022 break; } 1023 1024 case EPM_PROTOCOL_NULL: { 1025 NDR_CHECK(ndr_push_epm_rhs_null(ndr, NDR_SCALARS, &r->null)); 1026 break; } 1027 1028 default: { 1029 { 1030 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1031 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1032 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->unknown)); 1033 ndr->flags = _flags_save_DATA_BLOB; 1034 } 1035 break; } 1036 1037 } 1038 } 1039 if (ndr_flags & NDR_BUFFERS) { 1040 int level = ndr_push_get_switch_value(ndr, r); 1041 switch (level) { 1042 case EPM_PROTOCOL_DNET_NSP: 1043 break; 1044 1045 case EPM_PROTOCOL_OSI_TP4: 1046 break; 1047 1048 case EPM_PROTOCOL_OSI_CLNS: 1049 break; 1050 1051 case EPM_PROTOCOL_TCP: 1052 break; 1053 1054 case EPM_PROTOCOL_UDP: 1055 break; 1056 1057 case EPM_PROTOCOL_IP: 1058 break; 1059 1060 case EPM_PROTOCOL_NCADG: 1061 break; 1062 1063 case EPM_PROTOCOL_NCACN: 1064 break; 1065 1066 case EPM_PROTOCOL_NCALRPC: 1067 break; 1068 1069 case EPM_PROTOCOL_UUID: 1070 break; 1071 1072 case EPM_PROTOCOL_IPX: 1073 break; 1074 1075 case EPM_PROTOCOL_SMB: 1076 break; 1077 1078 case EPM_PROTOCOL_NAMED_PIPE: 1079 break; 1080 1081 case EPM_PROTOCOL_NETBIOS: 1082 break; 1083 1084 case EPM_PROTOCOL_NETBEUI: 1085 break; 1086 1087 case EPM_PROTOCOL_SPX: 1088 break; 1089 1090 case EPM_PROTOCOL_NB_IPX: 1091 break; 1092 1093 case EPM_PROTOCOL_DSP: 1094 break; 1095 1096 case EPM_PROTOCOL_DDP: 1097 break; 1098 1099 case EPM_PROTOCOL_APPLETALK: 1100 break; 1101 1102 case EPM_PROTOCOL_VINES_SPP: 1103 break; 1104 1105 case EPM_PROTOCOL_VINES_IPC: 1106 break; 1107 1108 case EPM_PROTOCOL_STREETTALK: 1109 break; 1110 1111 case EPM_PROTOCOL_HTTP: 1112 break; 1113 1114 case EPM_PROTOCOL_UNIX_DS: 1115 break; 1116 1117 case EPM_PROTOCOL_NULL: 1118 break; 1119 1120 default: 1121 break; 1122 1123 } 1124 } 1125 ndr->flags = _flags_save_UNION; 1126 } 1127 return NDR_ERR_SUCCESS; 1128} 1129 1130static enum ndr_err_code ndr_pull_epm_rhs(struct ndr_pull *ndr, int ndr_flags, union epm_rhs *r) 1131{ 1132 int level; 1133 { 1134 uint32_t _flags_save_UNION = ndr->flags; 1135 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); 1136 level = ndr_pull_get_switch_value(ndr, r); 1137 if (ndr_flags & NDR_SCALARS) { 1138 NDR_CHECK(ndr_pull_union_align(ndr, 4)); 1139 switch (level) { 1140 case EPM_PROTOCOL_DNET_NSP: { 1141 NDR_CHECK(ndr_pull_epm_rhs_dnet_nsp(ndr, NDR_SCALARS, &r->dnet_nsp)); 1142 break; } 1143 1144 case EPM_PROTOCOL_OSI_TP4: { 1145 NDR_CHECK(ndr_pull_epm_rhs_osi_tp4(ndr, NDR_SCALARS, &r->osi_tp4)); 1146 break; } 1147 1148 case EPM_PROTOCOL_OSI_CLNS: { 1149 NDR_CHECK(ndr_pull_epm_rhs_osi_clns(ndr, NDR_SCALARS, &r->osi_clns)); 1150 break; } 1151 1152 case EPM_PROTOCOL_TCP: { 1153 NDR_CHECK(ndr_pull_epm_rhs_tcp(ndr, NDR_SCALARS, &r->tcp)); 1154 break; } 1155 1156 case EPM_PROTOCOL_UDP: { 1157 NDR_CHECK(ndr_pull_epm_rhs_udp(ndr, NDR_SCALARS, &r->udp)); 1158 break; } 1159 1160 case EPM_PROTOCOL_IP: { 1161 NDR_CHECK(ndr_pull_epm_rhs_ip(ndr, NDR_SCALARS, &r->ip)); 1162 break; } 1163 1164 case EPM_PROTOCOL_NCADG: { 1165 NDR_CHECK(ndr_pull_epm_rhs_ncadg(ndr, NDR_SCALARS, &r->ncadg)); 1166 break; } 1167 1168 case EPM_PROTOCOL_NCACN: { 1169 NDR_CHECK(ndr_pull_epm_rhs_ncacn(ndr, NDR_SCALARS, &r->ncacn)); 1170 break; } 1171 1172 case EPM_PROTOCOL_NCALRPC: { 1173 NDR_CHECK(ndr_pull_epm_rhs_ncalrpc(ndr, NDR_SCALARS, &r->ncalrpc)); 1174 break; } 1175 1176 case EPM_PROTOCOL_UUID: { 1177 NDR_CHECK(ndr_pull_epm_rhs_uuid(ndr, NDR_SCALARS, &r->uuid)); 1178 break; } 1179 1180 case EPM_PROTOCOL_IPX: { 1181 NDR_CHECK(ndr_pull_epm_rhs_ipx(ndr, NDR_SCALARS, &r->ipx)); 1182 break; } 1183 1184 case EPM_PROTOCOL_SMB: { 1185 NDR_CHECK(ndr_pull_epm_rhs_smb(ndr, NDR_SCALARS, &r->smb)); 1186 break; } 1187 1188 case EPM_PROTOCOL_NAMED_PIPE: { 1189 NDR_CHECK(ndr_pull_epm_rhs_named_pipe(ndr, NDR_SCALARS, &r->named_pipe)); 1190 break; } 1191 1192 case EPM_PROTOCOL_NETBIOS: { 1193 NDR_CHECK(ndr_pull_epm_rhs_netbios(ndr, NDR_SCALARS, &r->netbios)); 1194 break; } 1195 1196 case EPM_PROTOCOL_NETBEUI: { 1197 NDR_CHECK(ndr_pull_epm_rhs_netbeui(ndr, NDR_SCALARS, &r->netbeui)); 1198 break; } 1199 1200 case EPM_PROTOCOL_SPX: { 1201 NDR_CHECK(ndr_pull_epm_rhs_spx(ndr, NDR_SCALARS, &r->spx)); 1202 break; } 1203 1204 case EPM_PROTOCOL_NB_IPX: { 1205 NDR_CHECK(ndr_pull_epm_rhs_nb_ipx(ndr, NDR_SCALARS, &r->nb_ipx)); 1206 break; } 1207 1208 case EPM_PROTOCOL_DSP: { 1209 NDR_CHECK(ndr_pull_epm_rhs_atalk_stream(ndr, NDR_SCALARS, &r->atalk_stream)); 1210 break; } 1211 1212 case EPM_PROTOCOL_DDP: { 1213 NDR_CHECK(ndr_pull_epm_rhs_atalk_datagram(ndr, NDR_SCALARS, &r->atalk_datagram)); 1214 break; } 1215 1216 case EPM_PROTOCOL_APPLETALK: { 1217 NDR_CHECK(ndr_pull_epm_rhs_appletalk(ndr, NDR_SCALARS, &r->appletalk)); 1218 break; } 1219 1220 case EPM_PROTOCOL_VINES_SPP: { 1221 NDR_CHECK(ndr_pull_epm_rhs_vines_spp(ndr, NDR_SCALARS, &r->vines_spp)); 1222 break; } 1223 1224 case EPM_PROTOCOL_VINES_IPC: { 1225 NDR_CHECK(ndr_pull_epm_rhs_vines_ipc(ndr, NDR_SCALARS, &r->vines_ipc)); 1226 break; } 1227 1228 case EPM_PROTOCOL_STREETTALK: { 1229 NDR_CHECK(ndr_pull_epm_rhs_streettalk(ndr, NDR_SCALARS, &r->streettalk)); 1230 break; } 1231 1232 case EPM_PROTOCOL_HTTP: { 1233 NDR_CHECK(ndr_pull_epm_rhs_http(ndr, NDR_SCALARS, &r->http)); 1234 break; } 1235 1236 case EPM_PROTOCOL_UNIX_DS: { 1237 NDR_CHECK(ndr_pull_epm_rhs_unix_ds(ndr, NDR_SCALARS, &r->unix_ds)); 1238 break; } 1239 1240 case EPM_PROTOCOL_NULL: { 1241 NDR_CHECK(ndr_pull_epm_rhs_null(ndr, NDR_SCALARS, &r->null)); 1242 break; } 1243 1244 default: { 1245 { 1246 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1247 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1248 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->unknown)); 1249 ndr->flags = _flags_save_DATA_BLOB; 1250 } 1251 break; } 1252 1253 } 1254 } 1255 if (ndr_flags & NDR_BUFFERS) { 1256 switch (level) { 1257 case EPM_PROTOCOL_DNET_NSP: 1258 break; 1259 1260 case EPM_PROTOCOL_OSI_TP4: 1261 break; 1262 1263 case EPM_PROTOCOL_OSI_CLNS: 1264 break; 1265 1266 case EPM_PROTOCOL_TCP: 1267 break; 1268 1269 case EPM_PROTOCOL_UDP: 1270 break; 1271 1272 case EPM_PROTOCOL_IP: 1273 break; 1274 1275 case EPM_PROTOCOL_NCADG: 1276 break; 1277 1278 case EPM_PROTOCOL_NCACN: 1279 break; 1280 1281 case EPM_PROTOCOL_NCALRPC: 1282 break; 1283 1284 case EPM_PROTOCOL_UUID: 1285 break; 1286 1287 case EPM_PROTOCOL_IPX: 1288 break; 1289 1290 case EPM_PROTOCOL_SMB: 1291 break; 1292 1293 case EPM_PROTOCOL_NAMED_PIPE: 1294 break; 1295 1296 case EPM_PROTOCOL_NETBIOS: 1297 break; 1298 1299 case EPM_PROTOCOL_NETBEUI: 1300 break; 1301 1302 case EPM_PROTOCOL_SPX: 1303 break; 1304 1305 case EPM_PROTOCOL_NB_IPX: 1306 break; 1307 1308 case EPM_PROTOCOL_DSP: 1309 break; 1310 1311 case EPM_PROTOCOL_DDP: 1312 break; 1313 1314 case EPM_PROTOCOL_APPLETALK: 1315 break; 1316 1317 case EPM_PROTOCOL_VINES_SPP: 1318 break; 1319 1320 case EPM_PROTOCOL_VINES_IPC: 1321 break; 1322 1323 case EPM_PROTOCOL_STREETTALK: 1324 break; 1325 1326 case EPM_PROTOCOL_HTTP: 1327 break; 1328 1329 case EPM_PROTOCOL_UNIX_DS: 1330 break; 1331 1332 case EPM_PROTOCOL_NULL: 1333 break; 1334 1335 default: 1336 break; 1337 1338 } 1339 } 1340 ndr->flags = _flags_save_UNION; 1341 } 1342 return NDR_ERR_SUCCESS; 1343} 1344 1345_PUBLIC_ void ndr_print_epm_rhs(struct ndr_print *ndr, const char *name, const union epm_rhs *r) 1346{ 1347 int level; 1348 { 1349 uint32_t _flags_save_UNION = ndr->flags; 1350 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN); 1351 level = ndr_print_get_switch_value(ndr, r); 1352 ndr_print_union(ndr, name, level, "epm_rhs"); 1353 switch (level) { 1354 case EPM_PROTOCOL_DNET_NSP: 1355 ndr_print_epm_rhs_dnet_nsp(ndr, "dnet_nsp", &r->dnet_nsp); 1356 break; 1357 1358 case EPM_PROTOCOL_OSI_TP4: 1359 ndr_print_epm_rhs_osi_tp4(ndr, "osi_tp4", &r->osi_tp4); 1360 break; 1361 1362 case EPM_PROTOCOL_OSI_CLNS: 1363 ndr_print_epm_rhs_osi_clns(ndr, "osi_clns", &r->osi_clns); 1364 break; 1365 1366 case EPM_PROTOCOL_TCP: 1367 ndr_print_epm_rhs_tcp(ndr, "tcp", &r->tcp); 1368 break; 1369 1370 case EPM_PROTOCOL_UDP: 1371 ndr_print_epm_rhs_udp(ndr, "udp", &r->udp); 1372 break; 1373 1374 case EPM_PROTOCOL_IP: 1375 ndr_print_epm_rhs_ip(ndr, "ip", &r->ip); 1376 break; 1377 1378 case EPM_PROTOCOL_NCADG: 1379 ndr_print_epm_rhs_ncadg(ndr, "ncadg", &r->ncadg); 1380 break; 1381 1382 case EPM_PROTOCOL_NCACN: 1383 ndr_print_epm_rhs_ncacn(ndr, "ncacn", &r->ncacn); 1384 break; 1385 1386 case EPM_PROTOCOL_NCALRPC: 1387 ndr_print_epm_rhs_ncalrpc(ndr, "ncalrpc", &r->ncalrpc); 1388 break; 1389 1390 case EPM_PROTOCOL_UUID: 1391 ndr_print_epm_rhs_uuid(ndr, "uuid", &r->uuid); 1392 break; 1393 1394 case EPM_PROTOCOL_IPX: 1395 ndr_print_epm_rhs_ipx(ndr, "ipx", &r->ipx); 1396 break; 1397 1398 case EPM_PROTOCOL_SMB: 1399 ndr_print_epm_rhs_smb(ndr, "smb", &r->smb); 1400 break; 1401 1402 case EPM_PROTOCOL_NAMED_PIPE: 1403 ndr_print_epm_rhs_named_pipe(ndr, "named_pipe", &r->named_pipe); 1404 break; 1405 1406 case EPM_PROTOCOL_NETBIOS: 1407 ndr_print_epm_rhs_netbios(ndr, "netbios", &r->netbios); 1408 break; 1409 1410 case EPM_PROTOCOL_NETBEUI: 1411 ndr_print_epm_rhs_netbeui(ndr, "netbeui", &r->netbeui); 1412 break; 1413 1414 case EPM_PROTOCOL_SPX: 1415 ndr_print_epm_rhs_spx(ndr, "spx", &r->spx); 1416 break; 1417 1418 case EPM_PROTOCOL_NB_IPX: 1419 ndr_print_epm_rhs_nb_ipx(ndr, "nb_ipx", &r->nb_ipx); 1420 break; 1421 1422 case EPM_PROTOCOL_DSP: 1423 ndr_print_epm_rhs_atalk_stream(ndr, "atalk_stream", &r->atalk_stream); 1424 break; 1425 1426 case EPM_PROTOCOL_DDP: 1427 ndr_print_epm_rhs_atalk_datagram(ndr, "atalk_datagram", &r->atalk_datagram); 1428 break; 1429 1430 case EPM_PROTOCOL_APPLETALK: 1431 ndr_print_epm_rhs_appletalk(ndr, "appletalk", &r->appletalk); 1432 break; 1433 1434 case EPM_PROTOCOL_VINES_SPP: 1435 ndr_print_epm_rhs_vines_spp(ndr, "vines_spp", &r->vines_spp); 1436 break; 1437 1438 case EPM_PROTOCOL_VINES_IPC: 1439 ndr_print_epm_rhs_vines_ipc(ndr, "vines_ipc", &r->vines_ipc); 1440 break; 1441 1442 case EPM_PROTOCOL_STREETTALK: 1443 ndr_print_epm_rhs_streettalk(ndr, "streettalk", &r->streettalk); 1444 break; 1445 1446 case EPM_PROTOCOL_HTTP: 1447 ndr_print_epm_rhs_http(ndr, "http", &r->http); 1448 break; 1449 1450 case EPM_PROTOCOL_UNIX_DS: 1451 ndr_print_epm_rhs_unix_ds(ndr, "unix_ds", &r->unix_ds); 1452 break; 1453 1454 case EPM_PROTOCOL_NULL: 1455 ndr_print_epm_rhs_null(ndr, "null", &r->null); 1456 break; 1457 1458 default: 1459 ndr_print_DATA_BLOB(ndr, "unknown", r->unknown); 1460 break; 1461 1462 } 1463 ndr->flags = _flags_save_UNION; 1464 } 1465} 1466 1467static enum ndr_err_code ndr_push_epm_lhs(struct ndr_push *ndr, int ndr_flags, const struct epm_lhs *r) 1468{ 1469 if (ndr_flags & NDR_SCALARS) { 1470 NDR_CHECK(ndr_push_align(ndr, 4)); 1471 NDR_CHECK(ndr_push_epm_protocol(ndr, NDR_SCALARS, r->protocol)); 1472 { 1473 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1474 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1475 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lhs_data)); 1476 ndr->flags = _flags_save_DATA_BLOB; 1477 } 1478 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1479 } 1480 if (ndr_flags & NDR_BUFFERS) { 1481 } 1482 return NDR_ERR_SUCCESS; 1483} 1484 1485static enum ndr_err_code ndr_pull_epm_lhs(struct ndr_pull *ndr, int ndr_flags, struct epm_lhs *r) 1486{ 1487 if (ndr_flags & NDR_SCALARS) { 1488 NDR_CHECK(ndr_pull_align(ndr, 4)); 1489 NDR_CHECK(ndr_pull_epm_protocol(ndr, NDR_SCALARS, &r->protocol)); 1490 { 1491 uint32_t _flags_save_DATA_BLOB = ndr->flags; 1492 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING); 1493 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lhs_data)); 1494 ndr->flags = _flags_save_DATA_BLOB; 1495 } 1496 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1497 } 1498 if (ndr_flags & NDR_BUFFERS) { 1499 } 1500 return NDR_ERR_SUCCESS; 1501} 1502 1503_PUBLIC_ void ndr_print_epm_lhs(struct ndr_print *ndr, const char *name, const struct epm_lhs *r) 1504{ 1505 ndr_print_struct(ndr, name, "epm_lhs"); 1506 ndr->depth++; 1507 ndr_print_epm_protocol(ndr, "protocol", r->protocol); 1508 ndr_print_DATA_BLOB(ndr, "lhs_data", r->lhs_data); 1509 ndr->depth--; 1510} 1511 1512static enum ndr_err_code ndr_push_epm_floor(struct ndr_push *ndr, int ndr_flags, const struct epm_floor *r) 1513{ 1514 if (ndr_flags & NDR_SCALARS) { 1515 NDR_CHECK(ndr_push_align(ndr, 1)); 1516 { 1517 struct ndr_push *_ndr_lhs; 1518 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_lhs, 2, -1)); 1519 NDR_CHECK(ndr_push_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs)); 1520 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_lhs, 2, -1)); 1521 } 1522 { 1523 struct ndr_push *_ndr_rhs; 1524 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_rhs, 2, -1)); 1525 NDR_CHECK(ndr_push_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol)); 1526 NDR_CHECK(ndr_push_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs)); 1527 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_rhs, 2, -1)); 1528 } 1529 NDR_CHECK(ndr_push_trailer_align(ndr, 1)); 1530 } 1531 if (ndr_flags & NDR_BUFFERS) { 1532 } 1533 return NDR_ERR_SUCCESS; 1534} 1535 1536static enum ndr_err_code ndr_pull_epm_floor(struct ndr_pull *ndr, int ndr_flags, struct epm_floor *r) 1537{ 1538 if (ndr_flags & NDR_SCALARS) { 1539 NDR_CHECK(ndr_pull_align(ndr, 1)); 1540 { 1541 struct ndr_pull *_ndr_lhs; 1542 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_lhs, 2, -1)); 1543 NDR_CHECK(ndr_pull_epm_lhs(_ndr_lhs, NDR_SCALARS, &r->lhs)); 1544 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_lhs, 2, -1)); 1545 } 1546 { 1547 struct ndr_pull *_ndr_rhs; 1548 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_rhs, 2, -1)); 1549 NDR_CHECK(ndr_pull_set_switch_value(_ndr_rhs, &r->rhs, r->lhs.protocol)); 1550 NDR_CHECK(ndr_pull_epm_rhs(_ndr_rhs, NDR_SCALARS, &r->rhs)); 1551 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_rhs, 2, -1)); 1552 } 1553 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 1554 } 1555 if (ndr_flags & NDR_BUFFERS) { 1556 } 1557 return NDR_ERR_SUCCESS; 1558} 1559 1560_PUBLIC_ void ndr_print_epm_floor(struct ndr_print *ndr, const char *name, const struct epm_floor *r) 1561{ 1562 ndr_print_struct(ndr, name, "epm_floor"); 1563 ndr->depth++; 1564 ndr_print_epm_lhs(ndr, "lhs", &r->lhs); 1565 ndr_print_set_switch_value(ndr, &r->rhs, r->lhs.protocol); 1566 ndr_print_epm_rhs(ndr, "rhs", &r->rhs); 1567 ndr->depth--; 1568} 1569 1570static enum ndr_err_code ndr_push_epm_tower(struct ndr_push *ndr, int ndr_flags, const struct epm_tower *r) 1571{ 1572 uint32_t cntr_floors_0; 1573 { 1574 uint32_t _flags_save_STRUCT = ndr->flags; 1575 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); 1576 if (ndr_flags & NDR_SCALARS) { 1577 NDR_CHECK(ndr_push_align(ndr, 2)); 1578 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->num_floors)); 1579 for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) { 1580 NDR_CHECK(ndr_push_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0])); 1581 } 1582 NDR_CHECK(ndr_push_trailer_align(ndr, 2)); 1583 } 1584 if (ndr_flags & NDR_BUFFERS) { 1585 } 1586 ndr->flags = _flags_save_STRUCT; 1587 } 1588 return NDR_ERR_SUCCESS; 1589} 1590 1591static enum ndr_err_code ndr_pull_epm_tower(struct ndr_pull *ndr, int ndr_flags, struct epm_tower *r) 1592{ 1593 uint32_t cntr_floors_0; 1594 TALLOC_CTX *_mem_save_floors_0; 1595 { 1596 uint32_t _flags_save_STRUCT = ndr->flags; 1597 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); 1598 if (ndr_flags & NDR_SCALARS) { 1599 NDR_CHECK(ndr_pull_align(ndr, 2)); 1600 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->num_floors)); 1601 NDR_PULL_ALLOC_N(ndr, r->floors, r->num_floors); 1602 _mem_save_floors_0 = NDR_PULL_GET_MEM_CTX(ndr); 1603 NDR_PULL_SET_MEM_CTX(ndr, r->floors, 0); 1604 for (cntr_floors_0 = 0; cntr_floors_0 < r->num_floors; cntr_floors_0++) { 1605 NDR_CHECK(ndr_pull_epm_floor(ndr, NDR_SCALARS, &r->floors[cntr_floors_0])); 1606 } 1607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_floors_0, 0); 1608 NDR_CHECK(ndr_pull_trailer_align(ndr, 2)); 1609 } 1610 if (ndr_flags & NDR_BUFFERS) { 1611 } 1612 ndr->flags = _flags_save_STRUCT; 1613 } 1614 return NDR_ERR_SUCCESS; 1615} 1616 1617_PUBLIC_ void ndr_print_epm_tower(struct ndr_print *ndr, const char *name, const struct epm_tower *r) 1618{ 1619 uint32_t cntr_floors_0; 1620 ndr_print_struct(ndr, name, "epm_tower"); 1621 { 1622 uint32_t _flags_save_STRUCT = ndr->flags; 1623 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN); 1624 ndr->depth++; 1625 ndr_print_uint16(ndr, "num_floors", r->num_floors); 1626 ndr->print(ndr, "%s: ARRAY(%d)", "floors", (int)r->num_floors); 1627 ndr->depth++; 1628 for (cntr_floors_0=0;cntr_floors_0<r->num_floors;cntr_floors_0++) { 1629 char *idx_0=NULL; 1630 if (asprintf(&idx_0, "[%d]", cntr_floors_0) != -1) { 1631 ndr_print_epm_floor(ndr, "floors", &r->floors[cntr_floors_0]); 1632 free(idx_0); 1633 } 1634 } 1635 ndr->depth--; 1636 ndr->depth--; 1637 ndr->flags = _flags_save_STRUCT; 1638 } 1639} 1640 1641static size_t ndr_size_epm_tower(const struct epm_tower *r, struct smb_iconv_convenience *ic, int flags) 1642{ 1643 flags |= LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_LITTLE_ENDIAN; 1644 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_epm_tower, ic); 1645} 1646 1647static enum ndr_err_code ndr_push_epm_twr_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_t *r) 1648{ 1649 if (ndr_flags & NDR_SCALARS) { 1650 NDR_CHECK(ndr_push_align(ndr, 4)); 1651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags))); 1652 { 1653 struct ndr_push *_ndr_tower; 1654 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_tower, 4, -1)); 1655 NDR_CHECK(ndr_push_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower)); 1656 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_tower, 4, -1)); 1657 } 1658 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1659 } 1660 if (ndr_flags & NDR_BUFFERS) { 1661 } 1662 return NDR_ERR_SUCCESS; 1663} 1664 1665static enum ndr_err_code ndr_pull_epm_twr_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_t *r) 1666{ 1667 if (ndr_flags & NDR_SCALARS) { 1668 NDR_CHECK(ndr_pull_align(ndr, 4)); 1669 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->tower_length)); 1670 { 1671 struct ndr_pull *_ndr_tower; 1672 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_tower, 4, -1)); 1673 NDR_CHECK(ndr_pull_epm_tower(_ndr_tower, NDR_SCALARS, &r->tower)); 1674 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_tower, 4, -1)); 1675 } 1676 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1677 } 1678 if (ndr_flags & NDR_BUFFERS) { 1679 } 1680 return NDR_ERR_SUCCESS; 1681} 1682 1683_PUBLIC_ void ndr_print_epm_twr_t(struct ndr_print *ndr, const char *name, const struct epm_twr_t *r) 1684{ 1685 ndr_print_struct(ndr, name, "epm_twr_t"); 1686 ndr->depth++; 1687 ndr_print_uint32(ndr, "tower_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_epm_tower(&r->tower, ndr->iconv_convenience, ndr->flags):r->tower_length); 1688 ndr_print_epm_tower(ndr, "tower", &r->tower); 1689 ndr->depth--; 1690} 1691 1692static enum ndr_err_code ndr_push_epm_entry_t(struct ndr_push *ndr, int ndr_flags, const struct epm_entry_t *r) 1693{ 1694 if (ndr_flags & NDR_SCALARS) { 1695 NDR_CHECK(ndr_push_align(ndr, 5)); 1696 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object)); 1697 NDR_CHECK(ndr_push_full_ptr(ndr, r->tower)); 1698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 1699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->annotation) + 1)); 1700 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->annotation, strlen(r->annotation) + 1, sizeof(uint8_t), CH_DOS)); 1701 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 1702 } 1703 if (ndr_flags & NDR_BUFFERS) { 1704 if (r->tower) { 1705 NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->tower)); 1706 } 1707 } 1708 return NDR_ERR_SUCCESS; 1709} 1710 1711static enum ndr_err_code ndr_pull_epm_entry_t(struct ndr_pull *ndr, int ndr_flags, struct epm_entry_t *r) 1712{ 1713 uint32_t _ptr_tower; 1714 TALLOC_CTX *_mem_save_tower_0; 1715 if (ndr_flags & NDR_SCALARS) { 1716 NDR_CHECK(ndr_pull_align(ndr, 5)); 1717 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object)); 1718 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower)); 1719 if (_ptr_tower) { 1720 NDR_PULL_ALLOC(ndr, r->tower); 1721 } else { 1722 r->tower = NULL; 1723 } 1724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_offset)); 1725 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__annotation_length)); 1726 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->annotation, r->__annotation_length, sizeof(uint8_t), CH_DOS)); 1727 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1728 } 1729 if (ndr_flags & NDR_BUFFERS) { 1730 if (r->tower) { 1731 _mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); 1732 NDR_PULL_SET_MEM_CTX(ndr, r->tower, 0); 1733 NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->tower)); 1734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0); 1735 } 1736 } 1737 return NDR_ERR_SUCCESS; 1738} 1739 1740_PUBLIC_ void ndr_print_epm_entry_t(struct ndr_print *ndr, const char *name, const struct epm_entry_t *r) 1741{ 1742 ndr_print_struct(ndr, name, "epm_entry_t"); 1743 ndr->depth++; 1744 ndr_print_GUID(ndr, "object", &r->object); 1745 ndr_print_ptr(ndr, "tower", r->tower); 1746 ndr->depth++; 1747 if (r->tower) { 1748 ndr_print_epm_twr_t(ndr, "tower", r->tower); 1749 } 1750 ndr->depth--; 1751 ndr_print_uint32(ndr, "__annotation_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->__annotation_offset); 1752 ndr_print_uint32(ndr, "__annotation_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->annotation) + 1:r->__annotation_length); 1753 ndr_print_string(ndr, "annotation", r->annotation); 1754 ndr->depth--; 1755} 1756 1757static enum ndr_err_code ndr_push_rpc_if_id_t(struct ndr_push *ndr, int ndr_flags, const struct rpc_if_id_t *r) 1758{ 1759 if (ndr_flags & NDR_SCALARS) { 1760 NDR_CHECK(ndr_push_align(ndr, 4)); 1761 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid)); 1762 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_major)); 1763 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->vers_minor)); 1764 NDR_CHECK(ndr_push_trailer_align(ndr, 4)); 1765 } 1766 if (ndr_flags & NDR_BUFFERS) { 1767 } 1768 return NDR_ERR_SUCCESS; 1769} 1770 1771static enum ndr_err_code ndr_pull_rpc_if_id_t(struct ndr_pull *ndr, int ndr_flags, struct rpc_if_id_t *r) 1772{ 1773 if (ndr_flags & NDR_SCALARS) { 1774 NDR_CHECK(ndr_pull_align(ndr, 4)); 1775 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid)); 1776 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_major)); 1777 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->vers_minor)); 1778 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 1779 } 1780 if (ndr_flags & NDR_BUFFERS) { 1781 } 1782 return NDR_ERR_SUCCESS; 1783} 1784 1785_PUBLIC_ void ndr_print_rpc_if_id_t(struct ndr_print *ndr, const char *name, const struct rpc_if_id_t *r) 1786{ 1787 ndr_print_struct(ndr, name, "rpc_if_id_t"); 1788 ndr->depth++; 1789 ndr_print_GUID(ndr, "uuid", &r->uuid); 1790 ndr_print_uint16(ndr, "vers_major", r->vers_major); 1791 ndr_print_uint16(ndr, "vers_minor", r->vers_minor); 1792 ndr->depth--; 1793} 1794 1795static enum ndr_err_code ndr_push_epm_twr_p_t(struct ndr_push *ndr, int ndr_flags, const struct epm_twr_p_t *r) 1796{ 1797 if (ndr_flags & NDR_SCALARS) { 1798 NDR_CHECK(ndr_push_align(ndr, 5)); 1799 NDR_CHECK(ndr_push_full_ptr(ndr, r->twr)); 1800 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 1801 } 1802 if (ndr_flags & NDR_BUFFERS) { 1803 if (r->twr) { 1804 NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->twr)); 1805 } 1806 } 1807 return NDR_ERR_SUCCESS; 1808} 1809 1810static enum ndr_err_code ndr_pull_epm_twr_p_t(struct ndr_pull *ndr, int ndr_flags, struct epm_twr_p_t *r) 1811{ 1812 uint32_t _ptr_twr; 1813 TALLOC_CTX *_mem_save_twr_0; 1814 if (ndr_flags & NDR_SCALARS) { 1815 NDR_CHECK(ndr_pull_align(ndr, 5)); 1816 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_twr)); 1817 if (_ptr_twr) { 1818 NDR_PULL_ALLOC(ndr, r->twr); 1819 } else { 1820 r->twr = NULL; 1821 } 1822 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1823 } 1824 if (ndr_flags & NDR_BUFFERS) { 1825 if (r->twr) { 1826 _mem_save_twr_0 = NDR_PULL_GET_MEM_CTX(ndr); 1827 NDR_PULL_SET_MEM_CTX(ndr, r->twr, 0); 1828 NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->twr)); 1829 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_twr_0, 0); 1830 } 1831 } 1832 return NDR_ERR_SUCCESS; 1833} 1834 1835_PUBLIC_ void ndr_print_epm_twr_p_t(struct ndr_print *ndr, const char *name, const struct epm_twr_p_t *r) 1836{ 1837 ndr_print_struct(ndr, name, "epm_twr_p_t"); 1838 ndr->depth++; 1839 ndr_print_ptr(ndr, "twr", r->twr); 1840 ndr->depth++; 1841 if (r->twr) { 1842 ndr_print_epm_twr_t(ndr, "twr", r->twr); 1843 } 1844 ndr->depth--; 1845 ndr->depth--; 1846} 1847 1848static enum ndr_err_code ndr_push_epm_Insert(struct ndr_push *ndr, int flags, const struct epm_Insert *r) 1849{ 1850 uint32_t cntr_entries_0; 1851 if (flags & NDR_IN) { 1852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents)); 1853 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents)); 1854 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1855 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); 1856 } 1857 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1858 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); 1859 } 1860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.replace)); 1861 } 1862 if (flags & NDR_OUT) { 1863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 1864 } 1865 return NDR_ERR_SUCCESS; 1866} 1867 1868static enum ndr_err_code ndr_pull_epm_Insert(struct ndr_pull *ndr, int flags, struct epm_Insert *r) 1869{ 1870 uint32_t cntr_entries_0; 1871 TALLOC_CTX *_mem_save_entries_0; 1872 if (flags & NDR_IN) { 1873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents)); 1874 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries)); 1875 NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries)); 1876 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); 1877 NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0); 1878 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1879 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); 1880 } 1881 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1882 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); 1883 } 1884 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); 1885 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.replace)); 1886 if (r->in.entries) { 1887 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents)); 1888 } 1889 } 1890 if (flags & NDR_OUT) { 1891 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 1892 } 1893 return NDR_ERR_SUCCESS; 1894} 1895 1896_PUBLIC_ void ndr_print_epm_Insert(struct ndr_print *ndr, const char *name, int flags, const struct epm_Insert *r) 1897{ 1898 uint32_t cntr_entries_0; 1899 ndr_print_struct(ndr, name, "epm_Insert"); 1900 ndr->depth++; 1901 if (flags & NDR_SET_VALUES) { 1902 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 1903 } 1904 if (flags & NDR_IN) { 1905 ndr_print_struct(ndr, "in", "epm_Insert"); 1906 ndr->depth++; 1907 ndr_print_uint32(ndr, "num_ents", r->in.num_ents); 1908 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents); 1909 ndr->depth++; 1910 for (cntr_entries_0=0;cntr_entries_0<r->in.num_ents;cntr_entries_0++) { 1911 char *idx_0=NULL; 1912 if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { 1913 ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]); 1914 free(idx_0); 1915 } 1916 } 1917 ndr->depth--; 1918 ndr_print_uint32(ndr, "replace", r->in.replace); 1919 ndr->depth--; 1920 } 1921 if (flags & NDR_OUT) { 1922 ndr_print_struct(ndr, "out", "epm_Insert"); 1923 ndr->depth++; 1924 ndr_print_uint32(ndr, "result", r->out.result); 1925 ndr->depth--; 1926 } 1927 ndr->depth--; 1928} 1929 1930static enum ndr_err_code ndr_push_epm_Delete(struct ndr_push *ndr, int flags, const struct epm_Delete *r) 1931{ 1932 uint32_t cntr_entries_0; 1933 if (flags & NDR_IN) { 1934 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_ents)); 1935 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_ents)); 1936 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1937 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); 1938 } 1939 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1940 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); 1941 } 1942 } 1943 if (flags & NDR_OUT) { 1944 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 1945 } 1946 return NDR_ERR_SUCCESS; 1947} 1948 1949static enum ndr_err_code ndr_pull_epm_Delete(struct ndr_pull *ndr, int flags, struct epm_Delete *r) 1950{ 1951 uint32_t cntr_entries_0; 1952 TALLOC_CTX *_mem_save_entries_0; 1953 if (flags & NDR_IN) { 1954 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_ents)); 1955 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.entries)); 1956 NDR_PULL_ALLOC_N(ndr, r->in.entries, ndr_get_array_size(ndr, &r->in.entries)); 1957 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); 1958 NDR_PULL_SET_MEM_CTX(ndr, r->in.entries, 0); 1959 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1960 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->in.entries[cntr_entries_0])); 1961 } 1962 for (cntr_entries_0 = 0; cntr_entries_0 < r->in.num_ents; cntr_entries_0++) { 1963 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->in.entries[cntr_entries_0])); 1964 } 1965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); 1966 if (r->in.entries) { 1967 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.entries, r->in.num_ents)); 1968 } 1969 } 1970 if (flags & NDR_OUT) { 1971 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 1972 } 1973 return NDR_ERR_SUCCESS; 1974} 1975 1976_PUBLIC_ void ndr_print_epm_Delete(struct ndr_print *ndr, const char *name, int flags, const struct epm_Delete *r) 1977{ 1978 uint32_t cntr_entries_0; 1979 ndr_print_struct(ndr, name, "epm_Delete"); 1980 ndr->depth++; 1981 if (flags & NDR_SET_VALUES) { 1982 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 1983 } 1984 if (flags & NDR_IN) { 1985 ndr_print_struct(ndr, "in", "epm_Delete"); 1986 ndr->depth++; 1987 ndr_print_uint32(ndr, "num_ents", r->in.num_ents); 1988 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->in.num_ents); 1989 ndr->depth++; 1990 for (cntr_entries_0=0;cntr_entries_0<r->in.num_ents;cntr_entries_0++) { 1991 char *idx_0=NULL; 1992 if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { 1993 ndr_print_epm_entry_t(ndr, "entries", &r->in.entries[cntr_entries_0]); 1994 free(idx_0); 1995 } 1996 } 1997 ndr->depth--; 1998 ndr->depth--; 1999 } 2000 if (flags & NDR_OUT) { 2001 ndr_print_struct(ndr, "out", "epm_Delete"); 2002 ndr->depth++; 2003 ndr_print_uint32(ndr, "result", r->out.result); 2004 ndr->depth--; 2005 } 2006 ndr->depth--; 2007} 2008 2009static enum ndr_err_code ndr_push_epm_Lookup(struct ndr_push *ndr, int flags, const struct epm_Lookup *r) 2010{ 2011 uint32_t cntr_entries_0; 2012 if (flags & NDR_IN) { 2013 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.inquiry_type)); 2014 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); 2015 if (r->in.object) { 2016 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); 2017 } 2018 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.interface_id)); 2019 if (r->in.interface_id) { 2020 NDR_CHECK(ndr_push_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id)); 2021 } 2022 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.vers_option)); 2023 if (r->in.entry_handle == NULL) { 2024 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2025 } 2026 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2027 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_ents)); 2028 } 2029 if (flags & NDR_OUT) { 2030 if (r->out.entry_handle == NULL) { 2031 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2032 } 2033 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2034 if (r->out.num_ents == NULL) { 2035 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2036 } 2037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_ents)); 2038 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_ents)); 2039 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); 2040 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_ents)); 2041 for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) { 2042 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0])); 2043 } 2044 for (cntr_entries_0 = 0; cntr_entries_0 < *r->out.num_ents; cntr_entries_0++) { 2045 NDR_CHECK(ndr_push_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0])); 2046 } 2047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2048 } 2049 return NDR_ERR_SUCCESS; 2050} 2051 2052static enum ndr_err_code ndr_pull_epm_Lookup(struct ndr_pull *ndr, int flags, struct epm_Lookup *r) 2053{ 2054 uint32_t _ptr_object; 2055 uint32_t _ptr_interface_id; 2056 uint32_t cntr_entries_0; 2057 TALLOC_CTX *_mem_save_object_0; 2058 TALLOC_CTX *_mem_save_interface_id_0; 2059 TALLOC_CTX *_mem_save_entry_handle_0; 2060 TALLOC_CTX *_mem_save_num_ents_0; 2061 TALLOC_CTX *_mem_save_entries_0; 2062 if (flags & NDR_IN) { 2063 ZERO_STRUCT(r->out); 2064 2065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.inquiry_type)); 2066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); 2067 if (_ptr_object) { 2068 NDR_PULL_ALLOC(ndr, r->in.object); 2069 } else { 2070 r->in.object = NULL; 2071 } 2072 if (r->in.object) { 2073 _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); 2074 NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); 2075 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); 2076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); 2077 } 2078 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_interface_id)); 2079 if (_ptr_interface_id) { 2080 NDR_PULL_ALLOC(ndr, r->in.interface_id); 2081 } else { 2082 r->in.interface_id = NULL; 2083 } 2084 if (r->in.interface_id) { 2085 _mem_save_interface_id_0 = NDR_PULL_GET_MEM_CTX(ndr); 2086 NDR_PULL_SET_MEM_CTX(ndr, r->in.interface_id, 0); 2087 NDR_CHECK(ndr_pull_rpc_if_id_t(ndr, NDR_SCALARS, r->in.interface_id)); 2088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_interface_id_0, 0); 2089 } 2090 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.vers_option)); 2091 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2092 NDR_PULL_ALLOC(ndr, r->in.entry_handle); 2093 } 2094 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2095 NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2096 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2097 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2098 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_ents)); 2099 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2100 *r->out.entry_handle = *r->in.entry_handle; 2101 NDR_PULL_ALLOC(ndr, r->out.num_ents); 2102 ZERO_STRUCTP(r->out.num_ents); 2103 } 2104 if (flags & NDR_OUT) { 2105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2106 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2107 } 2108 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2109 NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2110 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2112 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2113 NDR_PULL_ALLOC(ndr, r->out.num_ents); 2114 } 2115 _mem_save_num_ents_0 = NDR_PULL_GET_MEM_CTX(ndr); 2116 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_ents, LIBNDR_FLAG_REF_ALLOC); 2117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_ents)); 2118 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_ents_0, LIBNDR_FLAG_REF_ALLOC); 2119 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.entries)); 2120 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.entries)); 2121 if (ndr_get_array_length(ndr, &r->out.entries) > ndr_get_array_size(ndr, &r->out.entries)) { 2122 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.entries), ndr_get_array_length(ndr, &r->out.entries)); 2123 } 2124 NDR_PULL_ALLOC_N(ndr, r->out.entries, ndr_get_array_size(ndr, &r->out.entries)); 2125 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr); 2126 NDR_PULL_SET_MEM_CTX(ndr, r->out.entries, 0); 2127 for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) { 2128 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_SCALARS, &r->out.entries[cntr_entries_0])); 2129 } 2130 for (cntr_entries_0 = 0; cntr_entries_0 < ndr_get_array_length(ndr, &r->out.entries); cntr_entries_0++) { 2131 NDR_CHECK(ndr_pull_epm_entry_t(ndr, NDR_BUFFERS, &r->out.entries[cntr_entries_0])); 2132 } 2133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0); 2134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2135 if (r->out.entries) { 2136 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.entries, r->in.max_ents)); 2137 } 2138 if (r->out.entries) { 2139 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.entries, *r->out.num_ents)); 2140 } 2141 } 2142 return NDR_ERR_SUCCESS; 2143} 2144 2145_PUBLIC_ void ndr_print_epm_Lookup(struct ndr_print *ndr, const char *name, int flags, const struct epm_Lookup *r) 2146{ 2147 uint32_t cntr_entries_0; 2148 ndr_print_struct(ndr, name, "epm_Lookup"); 2149 ndr->depth++; 2150 if (flags & NDR_SET_VALUES) { 2151 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2152 } 2153 if (flags & NDR_IN) { 2154 ndr_print_struct(ndr, "in", "epm_Lookup"); 2155 ndr->depth++; 2156 ndr_print_uint32(ndr, "inquiry_type", r->in.inquiry_type); 2157 ndr_print_ptr(ndr, "object", r->in.object); 2158 ndr->depth++; 2159 if (r->in.object) { 2160 ndr_print_GUID(ndr, "object", r->in.object); 2161 } 2162 ndr->depth--; 2163 ndr_print_ptr(ndr, "interface_id", r->in.interface_id); 2164 ndr->depth++; 2165 if (r->in.interface_id) { 2166 ndr_print_rpc_if_id_t(ndr, "interface_id", r->in.interface_id); 2167 } 2168 ndr->depth--; 2169 ndr_print_uint32(ndr, "vers_option", r->in.vers_option); 2170 ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); 2171 ndr->depth++; 2172 ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); 2173 ndr->depth--; 2174 ndr_print_uint32(ndr, "max_ents", r->in.max_ents); 2175 ndr->depth--; 2176 } 2177 if (flags & NDR_OUT) { 2178 ndr_print_struct(ndr, "out", "epm_Lookup"); 2179 ndr->depth++; 2180 ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); 2181 ndr->depth++; 2182 ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); 2183 ndr->depth--; 2184 ndr_print_ptr(ndr, "num_ents", r->out.num_ents); 2185 ndr->depth++; 2186 ndr_print_uint32(ndr, "num_ents", *r->out.num_ents); 2187 ndr->depth--; 2188 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)*r->out.num_ents); 2189 ndr->depth++; 2190 for (cntr_entries_0=0;cntr_entries_0<*r->out.num_ents;cntr_entries_0++) { 2191 char *idx_0=NULL; 2192 if (asprintf(&idx_0, "[%d]", cntr_entries_0) != -1) { 2193 ndr_print_epm_entry_t(ndr, "entries", &r->out.entries[cntr_entries_0]); 2194 free(idx_0); 2195 } 2196 } 2197 ndr->depth--; 2198 ndr_print_uint32(ndr, "result", r->out.result); 2199 ndr->depth--; 2200 } 2201 ndr->depth--; 2202} 2203 2204_PUBLIC_ enum ndr_err_code ndr_push_epm_Map(struct ndr_push *ndr, int flags, const struct epm_Map *r) 2205{ 2206 uint32_t cntr_towers_0; 2207 if (flags & NDR_IN) { 2208 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); 2209 if (r->in.object) { 2210 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); 2211 } 2212 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.map_tower)); 2213 if (r->in.map_tower) { 2214 NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower)); 2215 } 2216 if (r->in.entry_handle == NULL) { 2217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2218 } 2219 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_towers)); 2221 } 2222 if (flags & NDR_OUT) { 2223 if (r->out.entry_handle == NULL) { 2224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2225 } 2226 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2227 if (r->out.num_towers == NULL) { 2228 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2229 } 2230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_towers)); 2231 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.max_towers)); 2232 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); 2233 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.num_towers)); 2234 for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) { 2235 NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0])); 2236 } 2237 for (cntr_towers_0 = 0; cntr_towers_0 < *r->out.num_towers; cntr_towers_0++) { 2238 NDR_CHECK(ndr_push_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0])); 2239 } 2240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2241 } 2242 return NDR_ERR_SUCCESS; 2243} 2244 2245_PUBLIC_ enum ndr_err_code ndr_pull_epm_Map(struct ndr_pull *ndr, int flags, struct epm_Map *r) 2246{ 2247 uint32_t _ptr_object; 2248 uint32_t _ptr_map_tower; 2249 uint32_t cntr_towers_0; 2250 TALLOC_CTX *_mem_save_object_0; 2251 TALLOC_CTX *_mem_save_map_tower_0; 2252 TALLOC_CTX *_mem_save_entry_handle_0; 2253 TALLOC_CTX *_mem_save_num_towers_0; 2254 TALLOC_CTX *_mem_save_towers_0; 2255 if (flags & NDR_IN) { 2256 ZERO_STRUCT(r->out); 2257 2258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); 2259 if (_ptr_object) { 2260 NDR_PULL_ALLOC(ndr, r->in.object); 2261 } else { 2262 r->in.object = NULL; 2263 } 2264 if (r->in.object) { 2265 _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); 2266 NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); 2267 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); 2268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); 2269 } 2270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_map_tower)); 2271 if (_ptr_map_tower) { 2272 NDR_PULL_ALLOC(ndr, r->in.map_tower); 2273 } else { 2274 r->in.map_tower = NULL; 2275 } 2276 if (r->in.map_tower) { 2277 _mem_save_map_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); 2278 NDR_PULL_SET_MEM_CTX(ndr, r->in.map_tower, 0); 2279 NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.map_tower)); 2280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_map_tower_0, 0); 2281 } 2282 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2283 NDR_PULL_ALLOC(ndr, r->in.entry_handle); 2284 } 2285 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2286 NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2287 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2289 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_towers)); 2290 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2291 *r->out.entry_handle = *r->in.entry_handle; 2292 NDR_PULL_ALLOC(ndr, r->out.num_towers); 2293 ZERO_STRUCTP(r->out.num_towers); 2294 } 2295 if (flags & NDR_OUT) { 2296 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2297 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2298 } 2299 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2300 NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2301 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2304 NDR_PULL_ALLOC(ndr, r->out.num_towers); 2305 } 2306 _mem_save_num_towers_0 = NDR_PULL_GET_MEM_CTX(ndr); 2307 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_towers, LIBNDR_FLAG_REF_ALLOC); 2308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_towers)); 2309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_towers_0, LIBNDR_FLAG_REF_ALLOC); 2310 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.towers)); 2311 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.towers)); 2312 if (ndr_get_array_length(ndr, &r->out.towers) > ndr_get_array_size(ndr, &r->out.towers)) { 2313 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.towers), ndr_get_array_length(ndr, &r->out.towers)); 2314 } 2315 NDR_PULL_ALLOC_N(ndr, r->out.towers, ndr_get_array_size(ndr, &r->out.towers)); 2316 _mem_save_towers_0 = NDR_PULL_GET_MEM_CTX(ndr); 2317 NDR_PULL_SET_MEM_CTX(ndr, r->out.towers, 0); 2318 for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) { 2319 NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_SCALARS, &r->out.towers[cntr_towers_0])); 2320 } 2321 for (cntr_towers_0 = 0; cntr_towers_0 < ndr_get_array_length(ndr, &r->out.towers); cntr_towers_0++) { 2322 NDR_CHECK(ndr_pull_epm_twr_p_t(ndr, NDR_BUFFERS, &r->out.towers[cntr_towers_0])); 2323 } 2324 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_towers_0, 0); 2325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2326 if (r->out.towers) { 2327 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.towers, r->in.max_towers)); 2328 } 2329 if (r->out.towers) { 2330 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.towers, *r->out.num_towers)); 2331 } 2332 } 2333 return NDR_ERR_SUCCESS; 2334} 2335 2336_PUBLIC_ void ndr_print_epm_Map(struct ndr_print *ndr, const char *name, int flags, const struct epm_Map *r) 2337{ 2338 uint32_t cntr_towers_0; 2339 ndr_print_struct(ndr, name, "epm_Map"); 2340 ndr->depth++; 2341 if (flags & NDR_SET_VALUES) { 2342 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2343 } 2344 if (flags & NDR_IN) { 2345 ndr_print_struct(ndr, "in", "epm_Map"); 2346 ndr->depth++; 2347 ndr_print_ptr(ndr, "object", r->in.object); 2348 ndr->depth++; 2349 if (r->in.object) { 2350 ndr_print_GUID(ndr, "object", r->in.object); 2351 } 2352 ndr->depth--; 2353 ndr_print_ptr(ndr, "map_tower", r->in.map_tower); 2354 ndr->depth++; 2355 if (r->in.map_tower) { 2356 ndr_print_epm_twr_t(ndr, "map_tower", r->in.map_tower); 2357 } 2358 ndr->depth--; 2359 ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); 2360 ndr->depth++; 2361 ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); 2362 ndr->depth--; 2363 ndr_print_uint32(ndr, "max_towers", r->in.max_towers); 2364 ndr->depth--; 2365 } 2366 if (flags & NDR_OUT) { 2367 ndr_print_struct(ndr, "out", "epm_Map"); 2368 ndr->depth++; 2369 ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); 2370 ndr->depth++; 2371 ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); 2372 ndr->depth--; 2373 ndr_print_ptr(ndr, "num_towers", r->out.num_towers); 2374 ndr->depth++; 2375 ndr_print_uint32(ndr, "num_towers", *r->out.num_towers); 2376 ndr->depth--; 2377 ndr->print(ndr, "%s: ARRAY(%d)", "towers", (int)*r->out.num_towers); 2378 ndr->depth++; 2379 for (cntr_towers_0=0;cntr_towers_0<*r->out.num_towers;cntr_towers_0++) { 2380 char *idx_0=NULL; 2381 if (asprintf(&idx_0, "[%d]", cntr_towers_0) != -1) { 2382 ndr_print_epm_twr_p_t(ndr, "towers", &r->out.towers[cntr_towers_0]); 2383 free(idx_0); 2384 } 2385 } 2386 ndr->depth--; 2387 ndr_print_uint32(ndr, "result", r->out.result); 2388 ndr->depth--; 2389 } 2390 ndr->depth--; 2391} 2392 2393static enum ndr_err_code ndr_push_epm_LookupHandleFree(struct ndr_push *ndr, int flags, const struct epm_LookupHandleFree *r) 2394{ 2395 if (flags & NDR_IN) { 2396 if (r->in.entry_handle == NULL) { 2397 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2398 } 2399 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2400 } 2401 if (flags & NDR_OUT) { 2402 if (r->out.entry_handle == NULL) { 2403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2404 } 2405 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2407 } 2408 return NDR_ERR_SUCCESS; 2409} 2410 2411static enum ndr_err_code ndr_pull_epm_LookupHandleFree(struct ndr_pull *ndr, int flags, struct epm_LookupHandleFree *r) 2412{ 2413 TALLOC_CTX *_mem_save_entry_handle_0; 2414 if (flags & NDR_IN) { 2415 ZERO_STRUCT(r->out); 2416 2417 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2418 NDR_PULL_ALLOC(ndr, r->in.entry_handle); 2419 } 2420 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2421 NDR_PULL_SET_MEM_CTX(ndr, r->in.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2422 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.entry_handle)); 2423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2424 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2425 *r->out.entry_handle = *r->in.entry_handle; 2426 } 2427 if (flags & NDR_OUT) { 2428 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2429 NDR_PULL_ALLOC(ndr, r->out.entry_handle); 2430 } 2431 _mem_save_entry_handle_0 = NDR_PULL_GET_MEM_CTX(ndr); 2432 NDR_PULL_SET_MEM_CTX(ndr, r->out.entry_handle, LIBNDR_FLAG_REF_ALLOC); 2433 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.entry_handle)); 2434 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_handle_0, LIBNDR_FLAG_REF_ALLOC); 2435 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2436 } 2437 return NDR_ERR_SUCCESS; 2438} 2439 2440_PUBLIC_ void ndr_print_epm_LookupHandleFree(struct ndr_print *ndr, const char *name, int flags, const struct epm_LookupHandleFree *r) 2441{ 2442 ndr_print_struct(ndr, name, "epm_LookupHandleFree"); 2443 ndr->depth++; 2444 if (flags & NDR_SET_VALUES) { 2445 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2446 } 2447 if (flags & NDR_IN) { 2448 ndr_print_struct(ndr, "in", "epm_LookupHandleFree"); 2449 ndr->depth++; 2450 ndr_print_ptr(ndr, "entry_handle", r->in.entry_handle); 2451 ndr->depth++; 2452 ndr_print_policy_handle(ndr, "entry_handle", r->in.entry_handle); 2453 ndr->depth--; 2454 ndr->depth--; 2455 } 2456 if (flags & NDR_OUT) { 2457 ndr_print_struct(ndr, "out", "epm_LookupHandleFree"); 2458 ndr->depth++; 2459 ndr_print_ptr(ndr, "entry_handle", r->out.entry_handle); 2460 ndr->depth++; 2461 ndr_print_policy_handle(ndr, "entry_handle", r->out.entry_handle); 2462 ndr->depth--; 2463 ndr_print_uint32(ndr, "result", r->out.result); 2464 ndr->depth--; 2465 } 2466 ndr->depth--; 2467} 2468 2469static enum ndr_err_code ndr_push_epm_InqObject(struct ndr_push *ndr, int flags, const struct epm_InqObject *r) 2470{ 2471 if (flags & NDR_IN) { 2472 if (r->in.epm_object == NULL) { 2473 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 2474 } 2475 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.epm_object)); 2476 } 2477 if (flags & NDR_OUT) { 2478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2479 } 2480 return NDR_ERR_SUCCESS; 2481} 2482 2483static enum ndr_err_code ndr_pull_epm_InqObject(struct ndr_pull *ndr, int flags, struct epm_InqObject *r) 2484{ 2485 TALLOC_CTX *_mem_save_epm_object_0; 2486 if (flags & NDR_IN) { 2487 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2488 NDR_PULL_ALLOC(ndr, r->in.epm_object); 2489 } 2490 _mem_save_epm_object_0 = NDR_PULL_GET_MEM_CTX(ndr); 2491 NDR_PULL_SET_MEM_CTX(ndr, r->in.epm_object, LIBNDR_FLAG_REF_ALLOC); 2492 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.epm_object)); 2493 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_epm_object_0, LIBNDR_FLAG_REF_ALLOC); 2494 } 2495 if (flags & NDR_OUT) { 2496 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2497 } 2498 return NDR_ERR_SUCCESS; 2499} 2500 2501_PUBLIC_ void ndr_print_epm_InqObject(struct ndr_print *ndr, const char *name, int flags, const struct epm_InqObject *r) 2502{ 2503 ndr_print_struct(ndr, name, "epm_InqObject"); 2504 ndr->depth++; 2505 if (flags & NDR_SET_VALUES) { 2506 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2507 } 2508 if (flags & NDR_IN) { 2509 ndr_print_struct(ndr, "in", "epm_InqObject"); 2510 ndr->depth++; 2511 ndr_print_ptr(ndr, "epm_object", r->in.epm_object); 2512 ndr->depth++; 2513 ndr_print_GUID(ndr, "epm_object", r->in.epm_object); 2514 ndr->depth--; 2515 ndr->depth--; 2516 } 2517 if (flags & NDR_OUT) { 2518 ndr_print_struct(ndr, "out", "epm_InqObject"); 2519 ndr->depth++; 2520 ndr_print_uint32(ndr, "result", r->out.result); 2521 ndr->depth--; 2522 } 2523 ndr->depth--; 2524} 2525 2526static enum ndr_err_code ndr_push_epm_MgmtDelete(struct ndr_push *ndr, int flags, const struct epm_MgmtDelete *r) 2527{ 2528 if (flags & NDR_IN) { 2529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.object_speced)); 2530 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.object)); 2531 if (r->in.object) { 2532 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, r->in.object)); 2533 } 2534 NDR_CHECK(ndr_push_full_ptr(ndr, r->in.tower)); 2535 if (r->in.tower) { 2536 NDR_CHECK(ndr_push_epm_twr_t(ndr, NDR_SCALARS, r->in.tower)); 2537 } 2538 } 2539 if (flags & NDR_OUT) { 2540 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2541 } 2542 return NDR_ERR_SUCCESS; 2543} 2544 2545static enum ndr_err_code ndr_pull_epm_MgmtDelete(struct ndr_pull *ndr, int flags, struct epm_MgmtDelete *r) 2546{ 2547 uint32_t _ptr_object; 2548 uint32_t _ptr_tower; 2549 TALLOC_CTX *_mem_save_object_0; 2550 TALLOC_CTX *_mem_save_tower_0; 2551 if (flags & NDR_IN) { 2552 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.object_speced)); 2553 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object)); 2554 if (_ptr_object) { 2555 NDR_PULL_ALLOC(ndr, r->in.object); 2556 } else { 2557 r->in.object = NULL; 2558 } 2559 if (r->in.object) { 2560 _mem_save_object_0 = NDR_PULL_GET_MEM_CTX(ndr); 2561 NDR_PULL_SET_MEM_CTX(ndr, r->in.object, 0); 2562 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, r->in.object)); 2563 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_0, 0); 2564 } 2565 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_tower)); 2566 if (_ptr_tower) { 2567 NDR_PULL_ALLOC(ndr, r->in.tower); 2568 } else { 2569 r->in.tower = NULL; 2570 } 2571 if (r->in.tower) { 2572 _mem_save_tower_0 = NDR_PULL_GET_MEM_CTX(ndr); 2573 NDR_PULL_SET_MEM_CTX(ndr, r->in.tower, 0); 2574 NDR_CHECK(ndr_pull_epm_twr_t(ndr, NDR_SCALARS, r->in.tower)); 2575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_tower_0, 0); 2576 } 2577 } 2578 if (flags & NDR_OUT) { 2579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2580 } 2581 return NDR_ERR_SUCCESS; 2582} 2583 2584_PUBLIC_ void ndr_print_epm_MgmtDelete(struct ndr_print *ndr, const char *name, int flags, const struct epm_MgmtDelete *r) 2585{ 2586 ndr_print_struct(ndr, name, "epm_MgmtDelete"); 2587 ndr->depth++; 2588 if (flags & NDR_SET_VALUES) { 2589 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2590 } 2591 if (flags & NDR_IN) { 2592 ndr_print_struct(ndr, "in", "epm_MgmtDelete"); 2593 ndr->depth++; 2594 ndr_print_uint32(ndr, "object_speced", r->in.object_speced); 2595 ndr_print_ptr(ndr, "object", r->in.object); 2596 ndr->depth++; 2597 if (r->in.object) { 2598 ndr_print_GUID(ndr, "object", r->in.object); 2599 } 2600 ndr->depth--; 2601 ndr_print_ptr(ndr, "tower", r->in.tower); 2602 ndr->depth++; 2603 if (r->in.tower) { 2604 ndr_print_epm_twr_t(ndr, "tower", r->in.tower); 2605 } 2606 ndr->depth--; 2607 ndr->depth--; 2608 } 2609 if (flags & NDR_OUT) { 2610 ndr_print_struct(ndr, "out", "epm_MgmtDelete"); 2611 ndr->depth++; 2612 ndr_print_uint32(ndr, "result", r->out.result); 2613 ndr->depth--; 2614 } 2615 ndr->depth--; 2616} 2617 2618static enum ndr_err_code ndr_push_epm_MapAuth(struct ndr_push *ndr, int flags, const struct epm_MapAuth *r) 2619{ 2620 if (flags & NDR_IN) { 2621 } 2622 if (flags & NDR_OUT) { 2623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->out.result)); 2624 } 2625 return NDR_ERR_SUCCESS; 2626} 2627 2628static enum ndr_err_code ndr_pull_epm_MapAuth(struct ndr_pull *ndr, int flags, struct epm_MapAuth *r) 2629{ 2630 if (flags & NDR_IN) { 2631 } 2632 if (flags & NDR_OUT) { 2633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->out.result)); 2634 } 2635 return NDR_ERR_SUCCESS; 2636} 2637 2638_PUBLIC_ void ndr_print_epm_MapAuth(struct ndr_print *ndr, const char *name, int flags, const struct epm_MapAuth *r) 2639{ 2640 ndr_print_struct(ndr, name, "epm_MapAuth"); 2641 ndr->depth++; 2642 if (flags & NDR_SET_VALUES) { 2643 ndr->flags |= LIBNDR_PRINT_SET_VALUES; 2644 } 2645 if (flags & NDR_IN) { 2646 ndr_print_struct(ndr, "in", "epm_MapAuth"); 2647 ndr->depth++; 2648 ndr->depth--; 2649 } 2650 if (flags & NDR_OUT) { 2651 ndr_print_struct(ndr, "out", "epm_MapAuth"); 2652 ndr->depth++; 2653 ndr_print_uint32(ndr, "result", r->out.result); 2654 ndr->depth--; 2655 } 2656 ndr->depth--; 2657} 2658 2659static const struct ndr_interface_call epmapper_calls[] = { 2660 { 2661 "epm_Insert", 2662 sizeof(struct epm_Insert), 2663 (ndr_push_flags_fn_t) ndr_push_epm_Insert, 2664 (ndr_pull_flags_fn_t) ndr_pull_epm_Insert, 2665 (ndr_print_function_t) ndr_print_epm_Insert, 2666 false, 2667 }, 2668 { 2669 "epm_Delete", 2670 sizeof(struct epm_Delete), 2671 (ndr_push_flags_fn_t) ndr_push_epm_Delete, 2672 (ndr_pull_flags_fn_t) ndr_pull_epm_Delete, 2673 (ndr_print_function_t) ndr_print_epm_Delete, 2674 false, 2675 }, 2676 { 2677 "epm_Lookup", 2678 sizeof(struct epm_Lookup), 2679 (ndr_push_flags_fn_t) ndr_push_epm_Lookup, 2680 (ndr_pull_flags_fn_t) ndr_pull_epm_Lookup, 2681 (ndr_print_function_t) ndr_print_epm_Lookup, 2682 false, 2683 }, 2684 { 2685 "epm_Map", 2686 sizeof(struct epm_Map), 2687 (ndr_push_flags_fn_t) ndr_push_epm_Map, 2688 (ndr_pull_flags_fn_t) ndr_pull_epm_Map, 2689 (ndr_print_function_t) ndr_print_epm_Map, 2690 false, 2691 }, 2692 { 2693 "epm_LookupHandleFree", 2694 sizeof(struct epm_LookupHandleFree), 2695 (ndr_push_flags_fn_t) ndr_push_epm_LookupHandleFree, 2696 (ndr_pull_flags_fn_t) ndr_pull_epm_LookupHandleFree, 2697 (ndr_print_function_t) ndr_print_epm_LookupHandleFree, 2698 false, 2699 }, 2700 { 2701 "epm_InqObject", 2702 sizeof(struct epm_InqObject), 2703 (ndr_push_flags_fn_t) ndr_push_epm_InqObject, 2704 (ndr_pull_flags_fn_t) ndr_pull_epm_InqObject, 2705 (ndr_print_function_t) ndr_print_epm_InqObject, 2706 false, 2707 }, 2708 { 2709 "epm_MgmtDelete", 2710 sizeof(struct epm_MgmtDelete), 2711 (ndr_push_flags_fn_t) ndr_push_epm_MgmtDelete, 2712 (ndr_pull_flags_fn_t) ndr_pull_epm_MgmtDelete, 2713 (ndr_print_function_t) ndr_print_epm_MgmtDelete, 2714 false, 2715 }, 2716 { 2717 "epm_MapAuth", 2718 sizeof(struct epm_MapAuth), 2719 (ndr_push_flags_fn_t) ndr_push_epm_MapAuth, 2720 (ndr_pull_flags_fn_t) ndr_pull_epm_MapAuth, 2721 (ndr_print_function_t) ndr_print_epm_MapAuth, 2722 false, 2723 }, 2724 { NULL, 0, NULL, NULL, NULL, false } 2725}; 2726 2727static const char * const epmapper_endpoint_strings[] = { 2728 "ncacn_np:[\\pipe\\epmapper]", 2729 "ncacn_ip_tcp:[135]", 2730 "ncalrpc:[EPMAPPER]", 2731}; 2732 2733static const struct ndr_interface_string_array epmapper_endpoints = { 2734 .count = 3, 2735 .names = epmapper_endpoint_strings 2736}; 2737 2738static const char * const epmapper_authservice_strings[] = { 2739 "host", 2740}; 2741 2742static const struct ndr_interface_string_array epmapper_authservices = { 2743 .count = 1, 2744 .names = epmapper_authservice_strings 2745}; 2746 2747 2748const struct ndr_interface_table ndr_table_epmapper = { 2749 .name = "epmapper", 2750 .syntax_id = { 2751 {0xe1af8308,0x5d1f,0x11c9,{0x91,0xa4},{0x08,0x00,0x2b,0x14,0xa0,0xfa}}, 2752 NDR_EPMAPPER_VERSION 2753 }, 2754 .helpstring = NDR_EPMAPPER_HELPSTRING, 2755 .num_calls = 8, 2756 .calls = epmapper_calls, 2757 .endpoints = &epmapper_endpoints, 2758 .authservices = &epmapper_authservices 2759}; 2760 2761