summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2015-07-10 15:49:33 +0200
committerJosé A. Rivera <jarrpa@samba.org>2015-08-04 19:11:17 +0200
commitb37832976d7b1cbaa54dae7db7a060fe15b31cc7 (patch)
tree26354a027b7cf4b4466dfb61797692e0a1cf3fd7 /librpc
parente68ce4b10fd1459ff9d5c01f5da56590b7b909d4 (diff)
downloadsamba-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>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/clusapi.idl74
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,