summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/idl/srvsvc.idl123
1 files changed, 72 insertions, 51 deletions
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl
index 10807cd6af..2d6242e6d1 100644
--- a/source4/librpc/idl/srvsvc.idl
+++ b/source4/librpc/idl/srvsvc.idl
@@ -196,6 +196,11 @@ import "security.idl", "svcctl.idl";
[default] ;
} srvsvc_NetConnCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetConnCtr ctr;
+ } srvsvc_NetConnInfoCtr;
+
/******************/
/* Function: 0x08 */
WERROR srvsvc_NetConnEnum(
@@ -245,6 +250,11 @@ import "security.idl", "svcctl.idl";
[default] ;
} srvsvc_NetFileCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetFileCtr ctr;
+ } srvsvc_NetFileInfoCtr;
+
/******************/
/* Function: 0x09 */
WERROR srvsvc_NetFileEnum(
@@ -354,6 +364,12 @@ import "security.idl", "svcctl.idl";
/******************/
/* Function: 0x0c */
+
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetSessCtr ctr;
+ } srvsvc_NetSessInfoCtr;
+
WERROR srvsvc_NetSessEnum(
[in,unique] [string,charset(UTF16)] uint16 *server_unc,
[in,unique] [string,charset(UTF16)] uint16 *client,
@@ -401,12 +417,22 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareInfo0;
typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo0 *array;
+ } srvsvc_NetShareCtr0;
+
+ typedef struct {
[string,charset(UTF16)] uint16 *name;
srvsvc_ShareType type;
[string,charset(UTF16)] uint16 *comment;
} srvsvc_NetShareInfo1;
typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo1 *array;
+ } srvsvc_NetShareCtr1;
+
+ typedef struct {
[string,charset(UTF16)] uint16 *name;
srvsvc_ShareType type;
[string,charset(UTF16)] uint16 *comment;
@@ -418,6 +444,11 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareInfo2;
typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo2 *array;
+ } srvsvc_NetShareCtr2;
+
+ typedef struct {
[string,charset(UTF16)] uint16 *name;
srvsvc_ShareType type;
[string,charset(UTF16)] uint16 *comment;
@@ -425,6 +456,11 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareInfo501;
typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo501 *array;
+ } srvsvc_NetShareCtr501;
+
+ typedef struct {
[string,charset(UTF16)] uint16 *name;
srvsvc_ShareType type;
[string,charset(UTF16)] uint16 *comment;
@@ -439,12 +475,18 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareInfo502;
typedef struct {
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo502 *array;
+ } srvsvc_NetShareCtr502;
+
+ typedef struct {
[string,charset(UTF16)] uint16 *comment;
} srvsvc_NetShareInfo1004;
typedef struct {
- int32 max_users;
- } srvsvc_NetShareInfo1006;
+ uint32 count;
+ [size_is(count)] srvsvc_NetShareInfo1004 *array;
+ } srvsvc_NetShareCtr1004;
typedef bitmap {
SHARE_1005_IN_DFS = 0x00000001,
@@ -459,65 +501,25 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareInfo1005;
typedef struct {
- uint32 flags;
- [string,charset(UTF16)] uint16 *alternate_directory_name;
- } srvsvc_NetShareInfo1007;
-
- typedef union {
- [case(0)] srvsvc_NetShareInfo0 *info0;
- [case(1)] srvsvc_NetShareInfo1 *info1;
- [case(2)] srvsvc_NetShareInfo2 *info2;
- [case(501)] srvsvc_NetShareInfo501 *info501;
- [case(502)] srvsvc_NetShareInfo502 *info502;
- [case(1004)] srvsvc_NetShareInfo1004 *info1004;
- [case(1005)] srvsvc_NetShareInfo1005 *info1005;
- [case(1006)] srvsvc_NetShareInfo1006 *info1006;
- [case(1007)] srvsvc_NetShareInfo1007 *info1007;
- [case(1501)] sec_desc_buf *info1501;
- [default] ;
- } srvsvc_NetShareInfo;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo0 *array;
- } srvsvc_NetShareCtr0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1 *array;
- } srvsvc_NetShareCtr1;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo2 *array;
- } srvsvc_NetShareCtr2;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo501 *array;
- } srvsvc_NetShareCtr501;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo502 *array;
- } srvsvc_NetShareCtr502;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1004 *array;
- } srvsvc_NetShareCtr1004;
-
- typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShareInfo1005 *array;
} srvsvc_NetShareCtr1005;
typedef struct {
+ int32 max_users;
+ } srvsvc_NetShareInfo1006;
+
+ typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShareInfo1006 *array;
} srvsvc_NetShareCtr1006;
typedef struct {
+ uint32 flags;
+ [string,charset(UTF16)] uint16 *alternate_directory_name;
+ } srvsvc_NetShareInfo1007;
+
+ typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShareInfo1007 *array;
} srvsvc_NetShareCtr1007;
@@ -528,6 +530,20 @@ import "security.idl", "svcctl.idl";
} srvsvc_NetShareCtr1501;
typedef union {
+ [case(0)] srvsvc_NetShareInfo0 *info0;
+ [case(1)] srvsvc_NetShareInfo1 *info1;
+ [case(2)] srvsvc_NetShareInfo2 *info2;
+ [case(501)] srvsvc_NetShareInfo501 *info501;
+ [case(502)] srvsvc_NetShareInfo502 *info502;
+ [case(1004)] srvsvc_NetShareInfo1004 *info1004;
+ [case(1005)] srvsvc_NetShareInfo1005 *info1005;
+ [case(1006)] srvsvc_NetShareInfo1006 *info1006;
+ [case(1007)] srvsvc_NetShareInfo1007 *info1007;
+ [case(1501)] sec_desc_buf *info1501;
+ [default] ;
+ } srvsvc_NetShareInfo;
+
+ typedef union {
[case(0)] srvsvc_NetShareCtr0 *ctr0;
[case(1)] srvsvc_NetShareCtr1 *ctr1;
[case(2)] srvsvc_NetShareCtr2 *ctr2;
@@ -541,6 +557,11 @@ import "security.idl", "svcctl.idl";
[default] ;
} srvsvc_NetShareCtr;
+ typedef struct {
+ uint32 level;
+ [switch_is(level)] srvsvc_NetShareCtr ctr;
+ } srvsvc_NetShareInfoCtr;
+
/******************/
/* Function: 0x0e */
WERROR srvsvc_NetShareAdd(