vfs_ceph: Disable the module on unsupported Ceph versions
[Samba.git] / source3 / librpc / idl / rpcd_witness.idl
blob80852d25e81e686c28bf451d512da9d1b3efabbe
1 #include "idl_types.h"
3 import "misc.idl";
4 import "server_id.idl";
5 import "security.idl";
6 import "witness.idl";
9 uuid("d320d080-a007-11ee-9cb4-37fa942d84d2"),
10 version(0.0),
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;
27 uint32 timeout;
28 policy_handle context_handle;
29 server_id server_id;
30 [charset(UTF8),string] char account_name[];
31 [charset(UTF8),string] char domain_name[];
32 dom_sid account_sid;
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;
53 typedef struct {
54 uint32 new_node;
55 } rpcd_witness_registration_update_move_to_node;
57 typedef struct {
58 [flag(NDR_BIG_ENDIAN)] ipv4address new_ipv4;
59 } rpcd_witness_registration_update_move_to_ipv4;
61 typedef struct {
62 [flag(NDR_BIG_ENDIAN)] ipv6address new_ipv6;
63 } rpcd_witness_registration_update_move_to_ipv6;
65 typedef struct {
66 witness_notifyResponse *response;
67 WERROR result;
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)];
90 /* empty */
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