From b37832976d7b1cbaa54dae7db7a060fe15b31cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Fri, 10 Jul 2015 15:49:33 +0200 Subject: clusapi: add PROPERTY_LIST IDL. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note this is hand-marshalled in Windows, seen in ClusterControl reqplies for a CLUSCTL_CLUSTER_GET_RO_COMMON_PROPERTIES control. Guenther Signed-off-by: Günther Deschner Reviewed-by: José A. Rivera --- librpc/idl/clusapi.idl | 74 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 26 deletions(-) (limited to 'librpc') diff --git a/librpc/idl/clusapi.idl b/librpc/idl/clusapi.idl index 5cb76109c81..e6ddd42202b 100644 --- a/librpc/idl/clusapi.idl +++ b/librpc/idl/clusapi.idl @@ -1530,6 +1530,54 @@ import "security.idl", "winreg.idl"; CLUSCTL_CLUSTER_IS_READY_FOR_UPGRADE = 0x070000d5 } clusapi_ClusterControlCode; + typedef [v1_enum] enum { + CLUSPROP_SYNTAX_ENDMARK = 0x00000000, + CLUSPROP_SYNTAX_NAME = 0x00040003, + CLUSPROP_SYNTAX_RESCLASS = 0x00020002, + CLUSPROP_SYNTAX_LIST_VALUE_SZ = 0x00010003, + CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = 0x00010004, + CLUSPROP_SYNTAX_LIST_VALUE_DWORD = 0x00010002, + CLUSPROP_SYNTAX_LIST_VALUE_BINARY = 0x00010001, + CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = 0x00010005, + CLUSPROP_SYNTAX_LIST_VALUE_LONG = 0x00010007, + CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = 0x00010008, + CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = 0x00010009, + CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = 0x0001000a, + CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = 0x00010006, + CLUSPROP_SYNTAX_LIST_VALUE_WORD = 0x0001000b, + CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = 0x0001000c, + CLUSPROP_SYNTAX_DISK_SIGNATURE = 0x00050002, + CLUSPROP_SYNTAX_SCSI_ADDRESS = 0x00060002, + CLUSPROP_SYNTAX_DISK_NUMBER = 0x00070002, + CLUSPROP_SYNTAX_PARTITION_INFO = 0x00080001, + CLUSPROP_SYNTAX_DISK_SERIALNUMBER = 0x000a0003, + CLUSPROP_SYNTAX_DISK_GUID = 0x000b0003, + CLUSPROP_SYNTAX_DISK_SIZE = 0x000c0006, + CLUSPROP_SYNTAX_PARTITION_INFO_EX = 0x000d0001 + } CLUSTER_PROPERTY_SYNTAX; + + typedef struct { + CLUSTER_PROPERTY_SYNTAX Syntax; + uint32 Size; + [subcontext(0),subcontext_size(Size)] [flag(NDR_REMAINING)] DATA_BLOB Buffer; + [flag(NDR_ALIGN4)] DATA_BLOB Padding; + } clusapi_propertyValues; + + typedef struct { + [value(CLUSPROP_SYNTAX_NAME)] CLUSTER_PROPERTY_SYNTAX syntax_name; + [value(strlen_m_term(buffer)*2)] uint32 size; + nstring buffer; + [flag(NDR_ALIGN2)] DATA_BLOB padding; + clusapi_propertyValues PropertyValues; + [value(CLUSPROP_SYNTAX_ENDMARK)] CLUSTER_PROPERTY_SYNTAX end_mark; + } clusapi_propertyValue; + + typedef struct { + uint32 propertyCount; + clusapi_propertyValue propertyValues[propertyCount]; + [value(CLUSPROP_SYNTAX_ENDMARK)] CLUSTER_PROPERTY_SYNTAX end_mark; + } clusapi_PROPERTY_LIST; + WERROR clusapi_ClusterControl( [ in ] HCLUSTER_RPC hCluster, @@ -2196,32 +2244,6 @@ import "security.idl", "winreg.idl"; CLUSPROP_FORMAT_FILETIME = 0x000c } CLUSTER_PROPERTY_FORMAT; - typedef enum { - CLUSPROP_SYNTAX_ENDMARK = 0x00000000, - CLUSPROP_SYNTAX_NAME = 0x00040003, - CLUSPROP_SYNTAX_RESCLASS = 0x00020002, - CLUSPROP_SYNTAX_LIST_VALUE_SZ = 0x00010003, - CLUSPROP_SYNTAX_LIST_VALUE_EXPAND_SZ = 0x00010004, - CLUSPROP_SYNTAX_LIST_VALUE_DWORD = 0x00010002, - CLUSPROP_SYNTAX_LIST_VALUE_BINARY = 0x00010001, - CLUSPROP_SYNTAX_LIST_VALUE_MULTI_SZ = 0x00010005, - CLUSPROP_SYNTAX_LIST_VALUE_LONG = 0x00010007, - CLUSPROP_SYNTAX_LIST_VALUE_EXPANDED_SZ = 0x00010008, - CLUSPROP_SYNTAX_LIST_VALUE_SECURITY_DESCRIPTOR = 0x00010009, - CLUSPROP_SYNTAX_LIST_VALUE_LARGE_INTEGER = 0x0001000a, - CLUSPROP_SYNTAX_LIST_VALUE_ULARGE_INTEGER = 0x00010006, - CLUSPROP_SYNTAX_LIST_VALUE_WORD = 0x0001000b, - CLUSPROP_SYNTAX_LIST_VALUE_FILETIME = 0x0001000c, - CLUSPROP_SYNTAX_DISK_SIGNATURE = 0x00050002, - CLUSPROP_SYNTAX_SCSI_ADDRESS = 0x00060002, - CLUSPROP_SYNTAX_DISK_NUMBER = 0x00070002, - CLUSPROP_SYNTAX_PARTITION_INFO = 0x00080001, - CLUSPROP_SYNTAX_DISK_SERIALNUMBER = 0x000a0003, - CLUSPROP_SYNTAX_DISK_GUID = 0x000b0003, - CLUSPROP_SYNTAX_DISK_SIZE = 0x000c0006, - CLUSPROP_SYNTAX_PARTITION_INFO_EX = 0x000d0001 - } CLUSTER_PROPERTY_SYNTAX; - typedef enum { CLUS_CHAR_UNKNOWN = 0x00000000, CLUS_CHAR_QUORUM = 0x00000001, -- cgit v1.2.1