5 dfs blobs interface definition
10 pointer_default(unique),
11 helpstring("dfs referral blobs"),
12 uuid("12345778-1234-abcd-0001-00000003")
18 typedef [bitmap32bit] bitmap {
19 DFS_HEADER_FLAG_REFERAL_SVR = 0x00000001,
20 DFS_HEADER_FLAG_STORAGE_SVR = 0x00000002,
21 DFS_HEADER_FLAG_TARGET_BCK = 0x00000004
24 typedef [enum16bit] enum {
25 DFS_SERVER_NON_ROOT = 0x0000,
26 DFS_SERVER_ROOT = 0x0001
29 typedef [enum16bit] enum {
30 DFS_FLAG_REFERRAL_DOMAIN_RESP = 0x0002,
31 DFS_FLAG_REFERRAL_FIRST_TARGET_SET = 0x0004
43 DFS_SERVER_TYPE server_type;
44 DFS_FLAGS_REFERRAL entry_flags;
47 [relative_short] nstring *DFS_path;
48 [relative_short] nstring *DFS_alt_path;
49 [relative_short] nstring *netw_address;
53 [relative_short] nstring *DFS_path;
54 [relative_short] nstring *DFS_alt_path;
55 [relative_short] nstring *netw_address;
56 } dfs_normal_referral;
59 [relative_short] nstring *special_name;
60 uint16 nb_expanded_names;
61 [relative_short,subcontext(0),flag(NDR_REMAINING|STR_NULLTERM)] string_array *expanded_names;
62 } dfs_domain_referral;
64 typedef [nodiscriminant] union {
65 [case(0)] dfs_normal_referral r1;
66 [case(2)] dfs_domain_referral r2;
70 typedef [nodiscriminant] union {
71 [case(16)] uint8 value[16];
75 typedef [flag(NDR_NOALIGN)] struct {
77 DFS_SERVER_TYPE server_type;
78 DFS_FLAGS_REFERRAL entry_flags;
80 [switch_is(entry_flags & DFS_FLAG_REFERRAL_DOMAIN_RESP)] dfs_referral referrals;
81 /* this is either 0 or 16 bytes */
82 [switch_is(size - 18)] dfs_padding service_site_guid;
85 typedef [nodiscriminant] union {
86 [case(1)] dfs_referral_v1 v1;
87 [case(2)] dfs_referral_v2 v2;
88 [case(3)] dfs_referral_v3 v3;
89 [case(4)] dfs_referral_v3 v4;
91 } dfs_referral_version;
93 typedef [flag(NDR_NOALIGN)] [relative_base] struct {
95 [switch_is(version)] dfs_referral_version referral;
98 typedef [public] struct {
101 DFS_HEADER_FLAG header_flags;
102 dfs_referral_type referral_entries[nb_referrals];
105 typedef [public] struct {
106 uint16 max_referral_level;
108 } dfs_GetDFSReferral_in;
110 [public] void dfs_GetDFSReferral(
111 [in] dfs_GetDFSReferral_in req,
112 [out,ref] dfs_referral_resp *resp