4 import
"server_id.idl";
9 uuid("d320d080-a007-11ee-9cb4-37fa942d84d2"),
11 pointer_default(unique),
12 helpstring("rpcd_witness structures")
14 interface rpcd_witness
17 * This the content of records stored in
18 * rpcd_witness_registration.tdb.
20 typedef [public] struct {
21 witness_version
version;
22 [string,charset
(UTF8
)] char net_name
[];
23 [string,charset
(UTF8
)] char *share_name
;
24 [string,charset
(UTF8
)] char ip_address
[];
25 [string,charset
(UTF8
)] char client_computer_name
[];
26 witness_RegisterEx_flags flags
;
28 policy_handle
context_handle;
30 [charset
(UTF8
),string] char account_name
[];
31 [charset
(UTF8
),string] char domain_name
[];
33 [charset
(UTF8
),string] char local_address
[];
34 [charset
(UTF8
),string] char remote_address
[];
35 NTTIME registration_time
;
36 } rpcd_witness_registration
;
38 void rpcd_witness_registration_decode
(
39 [in] rpcd_witness_registration reg
42 typedef [enum16bit
] enum {
43 RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_NODE
= 0x0001,
44 RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV4
= 0x0002,
45 RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV6
= 0x0003,
46 RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_NODE
= 0x0004,
47 RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV4
= 0x0005,
48 RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV6
= 0x0006,
49 RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_UNREGISTER
= 0x0007,
50 RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_RESPONSE
= 0x0008
51 } rpcd_witness_registration_update_type
;
55 } rpcd_witness_registration_update_move_to_node
;
58 [flag
(NDR_BIG_ENDIAN
)] ipv4address new_ipv4
;
59 } rpcd_witness_registration_update_move_to_ipv4
;
62 [flag
(NDR_BIG_ENDIAN
)] ipv6address new_ipv6
;
63 } rpcd_witness_registration_update_move_to_ipv6
;
66 witness_notifyResponse
*response
;
68 } rpcd_witness_registration_update_force_response
;
70 typedef [switch_type(rpcd_witness_registration_update_type
)] union {
71 [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_NODE
)]
72 rpcd_witness_registration_update_move_to_node client_move_to_node
;
74 [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV4
)]
75 rpcd_witness_registration_update_move_to_ipv4 client_move_to_ipv4
;
77 [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV6
)]
78 rpcd_witness_registration_update_move_to_ipv6 client_move_to_ipv6
;
80 [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_NODE
)]
81 rpcd_witness_registration_update_move_to_node share_move_to_node
;
83 [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV4
)]
84 rpcd_witness_registration_update_move_to_ipv4 share_move_to_ipv4
;
86 [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV6
)]
87 rpcd_witness_registration_update_move_to_ipv6 share_move_to_ipv6
;
89 [case(RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_UNREGISTER
)];
92 [case(RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_RESPONSE
)]
93 rpcd_witness_registration_update_force_response force_response
;
94 } rpcd_witness_registration_updateU
;
97 * This is the content of
98 * MSG_RPCD_WITNESS_REGISTRATION_UPDATE messages
100 typedef [public] struct {
101 policy_handle
context_handle;
102 rpcd_witness_registration_update_type type
;
103 [switch_is(type
)] rpcd_witness_registration_updateU update
;
104 } rpcd_witness_registration_updateB
;
106 void rpcd_witness_registration_update_decode
(
107 [in] rpcd_witness_registration_updateB update