From f147a707955d3c57ecd0ecc7e19307adb2aed02b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 14 Nov 2003 13:16:34 +0000 Subject: added the dfs_GetInfo all - all levels (This used to be commit 638eae6bae76eba5494e75fb7f3da8b1c205f892) --- source4/librpc/idl/dfs.idl | 100 ++++++++++++++++++++++++++++----------------- 1 file changed, 63 insertions(+), 37 deletions(-) (limited to 'source4/librpc/idl/dfs.idl') diff --git a/source4/librpc/idl/dfs.idl b/source4/librpc/idl/dfs.idl index 95349b9000..107a7d7a53 100644 --- a/source4/librpc/idl/dfs.idl +++ b/source4/librpc/idl/dfs.idl @@ -17,11 +17,11 @@ /******************/ /* Function: 0x01 */ NTSTATUS dfs_Add ( - [in] unistr *path, - [in] unistr *server, - [in] unistr *share, - [in] unistr *comment, - [in] uint32 flags + [in,ref] unistr *path, + [in,ref] unistr *server, + [in] unistr *share, + [in] unistr *comment, + [in] uint32 flags ); /******************/ @@ -38,25 +38,11 @@ /******************/ /* Function: 0x04 */ - NTSTATUS dfs_Info ( - [in,ref] unistr_noterm *path, - [in] unistr *server, - [in] unistr *share, - [in] uint16 level - ); - - /******************/ - /* Function: 0x05 */ typedef struct { unistr *path; } dfs_Info1; - typedef struct { - uint32 count; - [size_is(count)] dfs_Info1 *s; - } dfs_EnumArray1; - typedef struct { unistr *path; unistr *comment; @@ -64,11 +50,6 @@ uint32 num_stores; } dfs_Info2; - typedef struct { - uint32 count; - [size_is(count)] dfs_Info2 *s; - } dfs_EnumArray2; - typedef struct { uint32 state; unistr *server; @@ -83,11 +64,6 @@ [size_is(num_stores)] dfs_StorageInfo *stores; } dfs_Info3; - typedef struct { - uint32 count; - [size_is(count)] dfs_Info3 *s; - } dfs_EnumArray3; - typedef struct { unistr *path; unistr *comment; @@ -99,24 +75,74 @@ } dfs_Info4; typedef struct { - uint32 count; - [size_is(count)] dfs_Info4 *s; - } dfs_EnumArray4; + unistr *comment; + } dfs_Info100; typedef struct { - unistr *dom_root; - } dfs_Info200; + uint32 state; + } dfs_Info101; typedef struct { - uint32 count; - [size_is(count)] dfs_Info200 *s; - } dfs_EnumArray200; + uint32 timeout; + } dfs_Info102; + + typedef struct { + unistr *dom_root; + } dfs_Info200; typedef struct { uint32 flags; unistr *dom_root; } dfs_Info300; + typedef union { + case(1) dfs_Info1 *info1; + case(2) dfs_Info2 *info2; + case(3) dfs_Info3 *info3; + case(4) dfs_Info4 *info4; + case(100) dfs_Info100 *info100; + case(101) dfs_Info101 *info101; + case(102) dfs_Info102 *info102; + case(200) dfs_Info200 *info200; + case(300) dfs_Info300 *info300; + } dfs_Info; + + NTSTATUS dfs_GetInfo ( + [in,ref] unistr *path, + [in] unistr *server, + [in] unistr *share, + [in] uint32 level, + [out,switch_is(level)] dfs_Info info + ); + + /******************/ + /* Function: 0x05 */ + + typedef struct { + uint32 count; + [size_is(count)] dfs_Info1 *s; + } dfs_EnumArray1; + + typedef struct { + uint32 count; + [size_is(count)] dfs_Info2 *s; + } dfs_EnumArray2; + + typedef struct { + uint32 count; + [size_is(count)] dfs_Info3 *s; + } dfs_EnumArray3; + + typedef struct { + uint32 count; + [size_is(count)] dfs_Info4 *s; + } dfs_EnumArray4; + + typedef struct { + uint32 count; + [size_is(count)] dfs_Info200 *s; + } dfs_EnumArray200; + typedef struct { uint32 count; [size_is(count)] dfs_Info300 *s; -- cgit