diff options
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/dfs.idl | 100 |
1 files changed, 63 insertions, 37 deletions
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,26 +38,12 @@ /******************/ /* 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; uint32 state; @@ -65,11 +51,6 @@ } dfs_Info2; typedef struct { - uint32 count; - [size_is(count)] dfs_Info2 *s; - } dfs_EnumArray2; - - typedef struct { uint32 state; unistr *server; unistr *share; @@ -84,11 +65,6 @@ } dfs_Info3; typedef struct { - uint32 count; - [size_is(count)] dfs_Info3 *s; - } dfs_EnumArray3; - - typedef struct { unistr *path; unistr *comment; uint32 state; @@ -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; |