From 8daa83a594a2e98f39d764422bfbdbc62c9efd44 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 19:20:00 +0200 Subject: Adding upstream version 2:4.20.0+dfsg. Signed-off-by: Daniel Baumann --- source3/librpc/idl/rpcd_witness.idl | 109 ++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 source3/librpc/idl/rpcd_witness.idl (limited to 'source3/librpc/idl/rpcd_witness.idl') diff --git a/source3/librpc/idl/rpcd_witness.idl b/source3/librpc/idl/rpcd_witness.idl new file mode 100644 index 0000000..80852d2 --- /dev/null +++ b/source3/librpc/idl/rpcd_witness.idl @@ -0,0 +1,109 @@ +#include "idl_types.h" + +import "misc.idl"; +import "server_id.idl"; +import "security.idl"; +import "witness.idl"; + +[ + uuid("d320d080-a007-11ee-9cb4-37fa942d84d2"), + version(0.0), + pointer_default(unique), + helpstring("rpcd_witness structures") +] +interface rpcd_witness +{ + /* + * This the content of records stored in + * rpcd_witness_registration.tdb. + */ + typedef [public] struct { + witness_version version; + [string,charset(UTF8)] char net_name[]; + [string,charset(UTF8)] char *share_name; + [string,charset(UTF8)] char ip_address[]; + [string,charset(UTF8)] char client_computer_name[]; + witness_RegisterEx_flags flags; + uint32 timeout; + policy_handle context_handle; + server_id server_id; + [charset(UTF8),string] char account_name[]; + [charset(UTF8),string] char domain_name[]; + dom_sid account_sid; + [charset(UTF8),string] char local_address[]; + [charset(UTF8),string] char remote_address[]; + NTTIME registration_time; + } rpcd_witness_registration; + + void rpcd_witness_registration_decode( + [in] rpcd_witness_registration reg + ); + + typedef [enum16bit] enum { + RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_NODE = 0x0001, + RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV4 = 0x0002, + RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV6 = 0x0003, + RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_NODE = 0x0004, + RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV4 = 0x0005, + RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV6 = 0x0006, + RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_UNREGISTER = 0x0007, + RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_RESPONSE = 0x0008 + } rpcd_witness_registration_update_type; + + typedef struct { + uint32 new_node; + } rpcd_witness_registration_update_move_to_node; + + typedef struct { + [flag(NDR_BIG_ENDIAN)] ipv4address new_ipv4; + } rpcd_witness_registration_update_move_to_ipv4; + + typedef struct { + [flag(NDR_BIG_ENDIAN)] ipv6address new_ipv6; + } rpcd_witness_registration_update_move_to_ipv6; + + typedef struct { + witness_notifyResponse *response; + WERROR result; + } rpcd_witness_registration_update_force_response; + + typedef [switch_type(rpcd_witness_registration_update_type)] union { + [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_NODE)] + rpcd_witness_registration_update_move_to_node client_move_to_node; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV4)] + rpcd_witness_registration_update_move_to_ipv4 client_move_to_ipv4; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_CLIENT_MOVE_TO_IPV6)] + rpcd_witness_registration_update_move_to_ipv6 client_move_to_ipv6; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_NODE)] + rpcd_witness_registration_update_move_to_node share_move_to_node; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV4)] + rpcd_witness_registration_update_move_to_ipv4 share_move_to_ipv4; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_SHARE_MOVE_TO_IPV6)] + rpcd_witness_registration_update_move_to_ipv6 share_move_to_ipv6; + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_UNREGISTER)]; + /* empty */ + + [case(RPCD_WITNESS_REGISTRATION_UPDATE_FORCE_RESPONSE)] + rpcd_witness_registration_update_force_response force_response; + } rpcd_witness_registration_updateU; + + /* + * This is the content of + * MSG_RPCD_WITNESS_REGISTRATION_UPDATE messages + */ + typedef [public] struct { + policy_handle context_handle; + rpcd_witness_registration_update_type type; + [switch_is(type)] rpcd_witness_registration_updateU update; + } rpcd_witness_registration_updateB; + + void rpcd_witness_registration_update_decode( + [in] rpcd_witness_registration_updateB update + ); +} -- cgit v1.2.3