diff options
-rw-r--r-- | source4/librpc/idl/srvsvc.idl | 123 |
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( |