1/* header auto-generated by pidl */ 2 3#include <stdint.h> 4 5#include "libcli/util/ntstatus.h" 6 7#include "librpc/gen_ndr/misc.h" 8#ifndef _HEADER_netdfs 9#define _HEADER_netdfs 10 11#define DFS_STORAGE_STATES ( 0xf ) 12enum dfs_ManagerVersion 13#ifndef USE_UINT_ENUMS 14 { 15 DFS_MANAGER_VERSION_NT4=(int)(1), 16 DFS_MANAGER_VERSION_W2K=(int)(2), 17 DFS_MANAGER_VERSION_W2K3=(int)(4), 18 DFS_MANAGER_VERSION_W2K8=(int)(6) 19} 20#else 21 { __donnot_use_enum_dfs_ManagerVersion=0x7FFFFFFF} 22#define DFS_MANAGER_VERSION_NT4 ( 1 ) 23#define DFS_MANAGER_VERSION_W2K ( 2 ) 24#define DFS_MANAGER_VERSION_W2K3 ( 4 ) 25#define DFS_MANAGER_VERSION_W2K8 ( 6 ) 26#endif 27; 28 29struct dfs_Info0 { 30 char _empty_; 31}; 32 33struct dfs_Info1 { 34 const char *path;/* [unique,charset(UTF16)] */ 35}; 36 37/* bitmap dfs_VolumeState */ 38#define DFS_VOLUME_STATE_OK ( 0x1 ) 39#define DFS_VOLUME_STATE_INCONSISTENT ( 0x2 ) 40#define DFS_VOLUME_STATE_OFFLINE ( 0x3 ) 41#define DFS_VOLUME_STATE_ONLINE ( 0x4 ) 42#define DFS_VOLUME_STATE_STANDALONE ( DFS_VOLUME_FLAVOR_STANDALONE ) 43#define DFS_VOLUME_STATE_AD_BLOB ( DFS_VOLUME_FLAVOR_AD_BLOB ) 44 45struct dfs_Info2 { 46 const char *path;/* [unique,charset(UTF16)] */ 47 const char *comment;/* [unique,charset(UTF16)] */ 48 uint32_t state; 49 uint32_t num_stores; 50}; 51 52/* bitmap dfs_StorageState */ 53#define DFS_STORAGE_STATE_OFFLINE ( 1 ) 54#define DFS_STORAGE_STATE_ONLINE ( 2 ) 55#define DFS_STORAGE_STATE_ACTIVE ( 4 ) 56 57struct dfs_StorageInfo { 58 uint32_t state; 59 const char *server;/* [unique,charset(UTF16)] */ 60 const char *share;/* [unique,charset(UTF16)] */ 61}; 62 63struct dfs_Info3 { 64 const char *path;/* [unique,charset(UTF16)] */ 65 const char *comment;/* [unique,charset(UTF16)] */ 66 uint32_t state; 67 uint32_t num_stores; 68 struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */ 69}; 70 71struct dfs_Info4 { 72 const char *path;/* [unique,charset(UTF16)] */ 73 const char *comment;/* [unique,charset(UTF16)] */ 74 uint32_t state; 75 uint32_t timeout; 76 struct GUID guid; 77 uint32_t num_stores; 78 struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */ 79}; 80 81/* bitmap dfs_PropertyFlags */ 82#define DFS_PROPERTY_FLAG_INSITE_REFERRALS ( 0x01 ) 83#define DFS_PROPERTY_FLAG_ROOT_SCALABILITY ( 0x02 ) 84#define DFS_PROPERTY_FLAG_SITE_COSTING ( 0x04 ) 85#define DFS_PROPERTY_FLAG_TARGET_FAILBACK ( 0x08 ) 86#define DFS_PROPERTY_FLAG_CLUSTER_ENABLED ( 0x10 ) 87 88struct dfs_Info5 { 89 const char *path;/* [unique,charset(UTF16)] */ 90 const char *comment;/* [unique,charset(UTF16)] */ 91 uint32_t state; 92 uint32_t timeout; 93 struct GUID guid; 94 uint32_t flags; 95 uint32_t pktsize; 96 uint32_t num_stores; 97}; 98 99enum dfs_Target_PriorityClass 100#ifndef USE_UINT_ENUMS 101 { 102 DFS_INVALID_PRIORITY_CLASS=(int)(-1), 103 DFS_SITE_COST_NORMAL_PRIORITY_CLASS=(int)(0), 104 DFS_GLOBAL_HIGH_PRIORITY_CLASS=(int)(1), 105 DFS_SITE_COST_HIGH_PRIORITY_CLASS=(int)(2), 106 DFS_SITE_COST_LOW_PRIORITY_CLASS=(int)(3), 107 DFS_GLOBAL_LOW_PRIORITY_CLASS=(int)(4) 108} 109#else 110 { __donnot_use_enum_dfs_Target_PriorityClass=0x7FFFFFFF} 111#define DFS_INVALID_PRIORITY_CLASS ( -1 ) 112#define DFS_SITE_COST_NORMAL_PRIORITY_CLASS ( 0 ) 113#define DFS_GLOBAL_HIGH_PRIORITY_CLASS ( 1 ) 114#define DFS_SITE_COST_HIGH_PRIORITY_CLASS ( 2 ) 115#define DFS_SITE_COST_LOW_PRIORITY_CLASS ( 3 ) 116#define DFS_GLOBAL_LOW_PRIORITY_CLASS ( 4 ) 117#endif 118; 119 120struct dfs_Target_Priority { 121 enum dfs_Target_PriorityClass target_priority_class; 122 uint16_t target_priority_rank; 123 uint16_t reserved; 124}; 125 126struct dfs_StorageInfo2 { 127 struct dfs_StorageInfo info; 128 struct dfs_Target_Priority target_priority; 129}; 130 131struct dfs_Info6 { 132 const char *entry_path;/* [unique,charset(UTF16)] */ 133 const char *comment;/* [unique,charset(UTF16)] */ 134 uint32_t state; 135 uint32_t timeout; 136 struct GUID guid; 137 uint32_t flags; 138 uint32_t pktsize; 139 uint16_t num_stores; 140 struct dfs_StorageInfo2 *stores;/* [unique,size_is(num_stores)] */ 141}; 142 143struct dfs_Info7 { 144 struct GUID generation_guid; 145}; 146 147struct dfs_Info100 { 148 const char *comment;/* [unique,charset(UTF16)] */ 149}; 150 151struct dfs_Info101 { 152 uint32_t state; 153}; 154 155struct dfs_Info102 { 156 uint32_t timeout; 157}; 158 159struct dfs_Info103 { 160 uint32_t flags; 161}; 162 163struct dfs_Info104 { 164 struct dfs_Target_Priority priority; 165}; 166 167struct dfs_Info105 { 168 const char *comment;/* [unique,charset(UTF16)] */ 169 uint32_t state; 170 uint32_t timeout; 171 uint32_t property_flag_mask; 172 uint32_t property_flags; 173}; 174 175struct dfs_Info106 { 176 uint32_t state; 177 struct dfs_Target_Priority priority; 178}; 179 180struct dfs_Info200 { 181 const char *dom_root;/* [unique,charset(UTF16)] */ 182}; 183 184enum dfs_VolumeFlavor 185#ifndef USE_UINT_ENUMS 186 { 187 DFS_VOLUME_FLAVOR_STANDALONE=(int)(0x100), 188 DFS_VOLUME_FLAVOR_AD_BLOB=(int)(0x200) 189} 190#else 191 { __donnot_use_enum_dfs_VolumeFlavor=0x7FFFFFFF} 192#define DFS_VOLUME_FLAVOR_STANDALONE ( 0x100 ) 193#define DFS_VOLUME_FLAVOR_AD_BLOB ( 0x200 ) 194#endif 195; 196 197struct dfs_Info300 { 198 enum dfs_VolumeFlavor flavor; 199 const char *dom_root;/* [unique,charset(UTF16)] */ 200}; 201 202union dfs_Info { 203 struct dfs_Info0 *info0;/* [unique,case(0)] */ 204 struct dfs_Info1 *info1;/* [unique,case] */ 205 struct dfs_Info2 *info2;/* [unique,case(2)] */ 206 struct dfs_Info3 *info3;/* [unique,case(3)] */ 207 struct dfs_Info4 *info4;/* [unique,case(4)] */ 208 struct dfs_Info5 *info5;/* [unique,case(5)] */ 209 struct dfs_Info6 *info6;/* [unique,case(6)] */ 210 struct dfs_Info7 *info7;/* [unique,case(7)] */ 211 struct dfs_Info100 *info100;/* [unique,case(100)] */ 212 struct dfs_Info101 *info101;/* [unique,case(101)] */ 213 struct dfs_Info102 *info102;/* [unique,case(102)] */ 214 struct dfs_Info103 *info103;/* [unique,case(103)] */ 215 struct dfs_Info104 *info104;/* [unique,case(104)] */ 216 struct dfs_Info105 *info105;/* [unique,case(105)] */ 217 struct dfs_Info106 *info106;/* [unique,case(106)] */ 218}; 219 220struct dfs_EnumArray1 { 221 uint32_t count; 222 struct dfs_Info1 *s;/* [unique,size_is(count)] */ 223}; 224 225struct dfs_EnumArray2 { 226 uint32_t count; 227 struct dfs_Info2 *s;/* [unique,size_is(count)] */ 228}; 229 230struct dfs_EnumArray3 { 231 uint32_t count; 232 struct dfs_Info3 *s;/* [unique,size_is(count)] */ 233}; 234 235struct dfs_EnumArray4 { 236 uint32_t count; 237 struct dfs_Info4 *s;/* [unique,size_is(count)] */ 238}; 239 240struct dfs_EnumArray5 { 241 uint32_t count; 242 struct dfs_Info5 *s;/* [unique,size_is(count)] */ 243}; 244 245struct dfs_EnumArray6 { 246 uint32_t count; 247 struct dfs_Info6 *s;/* [unique,size_is(count)] */ 248}; 249 250struct dfs_EnumArray200 { 251 uint32_t count; 252 struct dfs_Info200 *s;/* [unique,size_is(count)] */ 253}; 254 255struct dfs_EnumArray300 { 256 uint32_t count; 257 struct dfs_Info300 *s;/* [unique,size_is(count)] */ 258}; 259 260union dfs_EnumInfo { 261 struct dfs_EnumArray1 *info1;/* [unique,case] */ 262 struct dfs_EnumArray2 *info2;/* [unique,case(2)] */ 263 struct dfs_EnumArray3 *info3;/* [unique,case(3)] */ 264 struct dfs_EnumArray4 *info4;/* [unique,case(4)] */ 265 struct dfs_EnumArray5 *info5;/* [unique,case(5)] */ 266 struct dfs_EnumArray6 *info6;/* [unique,case(6)] */ 267 struct dfs_EnumArray200 *info200;/* [unique,case(200)] */ 268 struct dfs_EnumArray300 *info300;/* [unique,case(300)] */ 269}; 270 271struct dfs_EnumStruct { 272 uint32_t level; 273 union dfs_EnumInfo e;/* [switch_is(level)] */ 274}; 275 276struct dfs_UnknownStruct { 277 uint32_t unknown1; 278 const char *unknown2;/* [unique,charset(UTF16)] */ 279}; 280 281 282struct dfs_GetManagerVersion { 283 struct { 284 enum dfs_ManagerVersion *version;/* [ref] */ 285 } out; 286 287}; 288 289 290struct dfs_Add { 291 struct { 292 const char *path;/* [ref,charset(UTF16)] */ 293 const char *server;/* [ref,charset(UTF16)] */ 294 const char *share;/* [unique,charset(UTF16)] */ 295 const char *comment;/* [unique,charset(UTF16)] */ 296 uint32_t flags; 297 } in; 298 299 struct { 300 WERROR result; 301 } out; 302 303}; 304 305 306struct dfs_Remove { 307 struct { 308 const char *dfs_entry_path;/* [ref,charset(UTF16)] */ 309 const char *servername;/* [unique,charset(UTF16)] */ 310 const char *sharename;/* [unique,charset(UTF16)] */ 311 } in; 312 313 struct { 314 WERROR result; 315 } out; 316 317}; 318 319 320struct dfs_SetInfo { 321 struct { 322 const char *dfs_entry_path;/* [charset(UTF16)] */ 323 const char *servername;/* [unique,charset(UTF16)] */ 324 const char *sharename;/* [unique,charset(UTF16)] */ 325 uint32_t level; 326 union dfs_Info *info;/* [ref,switch_is(level)] */ 327 } in; 328 329 struct { 330 WERROR result; 331 } out; 332 333}; 334 335 336struct dfs_GetInfo { 337 struct { 338 const char *dfs_entry_path;/* [charset(UTF16)] */ 339 const char *servername;/* [unique,charset(UTF16)] */ 340 const char *sharename;/* [unique,charset(UTF16)] */ 341 uint32_t level; 342 } in; 343 344 struct { 345 union dfs_Info *info;/* [ref,switch_is(level)] */ 346 WERROR result; 347 } out; 348 349}; 350 351 352struct dfs_Enum { 353 struct { 354 uint32_t level; 355 uint32_t bufsize; 356 struct dfs_EnumStruct *info;/* [unique] */ 357 uint32_t *total;/* [unique] */ 358 } in; 359 360 struct { 361 struct dfs_EnumStruct *info;/* [unique] */ 362 uint32_t *total;/* [unique] */ 363 WERROR result; 364 } out; 365 366}; 367 368 369struct dfs_Rename { 370 struct { 371 WERROR result; 372 } out; 373 374}; 375 376 377struct dfs_Move { 378 struct { 379 WERROR result; 380 } out; 381 382}; 383 384 385struct dfs_ManagerGetConfigInfo { 386 struct { 387 WERROR result; 388 } out; 389 390}; 391 392 393struct dfs_ManagerSendSiteInfo { 394 struct { 395 WERROR result; 396 } out; 397 398}; 399 400 401struct dfs_AddFtRoot { 402 struct { 403 const char *servername;/* [charset(UTF16)] */ 404 const char *dns_servername;/* [charset(UTF16)] */ 405 const char *dfsname;/* [charset(UTF16)] */ 406 const char *rootshare;/* [charset(UTF16)] */ 407 const char *comment;/* [charset(UTF16)] */ 408 const char *dfs_config_dn;/* [charset(UTF16)] */ 409 uint8_t unknown1; 410 uint32_t flags; 411 struct dfs_UnknownStruct **unknown2;/* [unique] */ 412 } in; 413 414 struct { 415 struct dfs_UnknownStruct **unknown2;/* [unique] */ 416 WERROR result; 417 } out; 418 419}; 420 421 422struct dfs_RemoveFtRoot { 423 struct { 424 const char *servername;/* [charset(UTF16)] */ 425 const char *dns_servername;/* [charset(UTF16)] */ 426 const char *dfsname;/* [charset(UTF16)] */ 427 const char *rootshare;/* [charset(UTF16)] */ 428 uint32_t flags; 429 struct dfs_UnknownStruct **unknown;/* [unique] */ 430 } in; 431 432 struct { 433 struct dfs_UnknownStruct **unknown;/* [unique] */ 434 WERROR result; 435 } out; 436 437}; 438 439 440struct dfs_AddStdRoot { 441 struct { 442 const char *servername;/* [charset(UTF16)] */ 443 const char *rootshare;/* [charset(UTF16)] */ 444 const char *comment;/* [charset(UTF16)] */ 445 uint32_t flags; 446 } in; 447 448 struct { 449 WERROR result; 450 } out; 451 452}; 453 454 455struct dfs_RemoveStdRoot { 456 struct { 457 const char *servername;/* [charset(UTF16)] */ 458 const char *rootshare;/* [charset(UTF16)] */ 459 uint32_t flags; 460 } in; 461 462 struct { 463 WERROR result; 464 } out; 465 466}; 467 468 469struct dfs_ManagerInitialize { 470 struct { 471 const char *servername;/* [ref,charset(UTF16)] */ 472 uint32_t flags; 473 } in; 474 475 struct { 476 WERROR result; 477 } out; 478 479}; 480 481 482struct dfs_AddStdRootForced { 483 struct { 484 const char *servername;/* [charset(UTF16)] */ 485 const char *rootshare;/* [charset(UTF16)] */ 486 const char *comment;/* [charset(UTF16)] */ 487 const char *store;/* [charset(UTF16)] */ 488 } in; 489 490 struct { 491 WERROR result; 492 } out; 493 494}; 495 496 497struct dfs_GetDcAddress { 498 struct { 499 const char *servername;/* [charset(UTF16)] */ 500 const char **server_fullname;/* [ref,charset(UTF16)] */ 501 uint8_t *is_root;/* [ref] */ 502 uint32_t *ttl;/* [ref] */ 503 } in; 504 505 struct { 506 const char **server_fullname;/* [ref,charset(UTF16)] */ 507 uint8_t *is_root;/* [ref] */ 508 uint32_t *ttl;/* [ref] */ 509 WERROR result; 510 } out; 511 512}; 513 514 515struct dfs_SetDcAddress { 516 struct { 517 const char *servername;/* [charset(UTF16)] */ 518 const char *server_fullname;/* [charset(UTF16)] */ 519 uint32_t flags; 520 uint32_t ttl; 521 } in; 522 523 struct { 524 WERROR result; 525 } out; 526 527}; 528 529 530struct dfs_FlushFtTable { 531 struct { 532 const char *servername;/* [charset(UTF16)] */ 533 const char *rootshare;/* [charset(UTF16)] */ 534 } in; 535 536 struct { 537 WERROR result; 538 } out; 539 540}; 541 542 543struct dfs_Add2 { 544 struct { 545 WERROR result; 546 } out; 547 548}; 549 550 551struct dfs_Remove2 { 552 struct { 553 WERROR result; 554 } out; 555 556}; 557 558 559struct dfs_EnumEx { 560 struct { 561 const char *dfs_name;/* [charset(UTF16)] */ 562 uint32_t level; 563 uint32_t bufsize; 564 struct dfs_EnumStruct *info;/* [unique] */ 565 uint32_t *total;/* [unique] */ 566 } in; 567 568 struct { 569 struct dfs_EnumStruct *info;/* [unique] */ 570 uint32_t *total;/* [unique] */ 571 WERROR result; 572 } out; 573 574}; 575 576 577struct dfs_SetInfo2 { 578 struct { 579 WERROR result; 580 } out; 581 582}; 583 584#endif /* _HEADER_netdfs */ 585