diff options
author | Günther Deschner <gd@samba.org> | 2015-07-10 15:49:33 +0200 |
---|---|---|
committer | José A. Rivera <jarrpa@samba.org> | 2015-08-04 19:11:17 +0200 |
commit | b37832976d7b1cbaa54dae7db7a060fe15b31cc7 (patch) | |
tree | 26354a027b7cf4b4466dfb61797692e0a1cf3fd7 | |
parent | e68ce4b10fd1459ff9d5c01f5da56590b7b909d4 (diff) | |
download | samba-b37832976d7b1cbaa54dae7db7a060fe15b31cc7.tar.gz |
clusapi: add PROPERTY_LIST IDL.
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 <gd@samba.org>
Reviewed-by: José A. Rivera <jarrpa@samba.org>
-rw-r--r-- | librpc/idl/clusapi.idl | 74 |
1 files changed, 48 insertions, 26 deletions
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, @@ -2197,32 +2245,6 @@ import "security.idl", "winreg.idl"; } 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, CLUS_CHAR_DELETE_REQUIRES_ALL_NODES = 0x00000002, |