s4-srvsvc: merge srvsvc_NetSrvSetInfo from s3 idl.
[samba.git] / source4 / librpc / idl / srvsvc.idl
index b8cf89ce3b2416d398cca642f55ab5f01908ee91..1d5a678bbe4e1f04ac156162739a6b9854d434a9 100644 (file)
@@ -469,9 +469,7 @@ import "security.idl", "svcctl.idl";
                uint32 current_users;
                [string,charset(UTF16)] uint16 *path;
                [string,charset(UTF16)] uint16 *password;
-               /* maybe here is a struct sec_desc_buf following */
-               uint32 unknown;
-               [subcontext(4)] security_descriptor *sd;
+               sec_desc_buf sd_buf;
        } srvsvc_NetShareInfo502;
 
        typedef struct {
@@ -567,7 +565,7 @@ import "security.idl", "svcctl.idl";
        WERROR srvsvc_NetShareAdd(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetShareInfo info,
+               [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
                [in,out,unique]   uint32 *parm_error
                );
 
@@ -588,7 +586,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   [string,charset(UTF16)] uint16 share_name[],
                [in]   uint32 level,
-               [out,switch_is(level)] srvsvc_NetShareInfo info
+               [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
                );
 
        /******************/
@@ -597,7 +595,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   [string,charset(UTF16)] uint16 share_name[],
                [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetShareInfo info,
+               [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
                [in,out,unique]   uint32 *parm_error
                );
 
@@ -622,7 +620,7 @@ import "security.idl", "svcctl.idl";
        WERROR srvsvc_NetShareCheck(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   [string,charset(UTF16)] uint16 device_name[],
-               [out]  srvsvc_ShareType type
+               [out,ref]  srvsvc_ShareType *type
                );
 
 /**************************/
@@ -1140,7 +1138,7 @@ import "security.idl", "svcctl.idl";
        WERROR srvsvc_NetSrvSetInfo(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetSrvInfo info,
+               [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
                [in,out,unique]   uint32 *parm_error
                );
 
@@ -1206,7 +1204,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]      [string,charset(UTF16)] uint16 *service,
                [in]      uint32 level,
                [in]      uint32 options,
-               [out]     srvsvc_Statistics stat
+               [out,ref]     srvsvc_Statistics **stats
                );
 
 /**************************/
@@ -1287,14 +1285,18 @@ import "security.idl", "svcctl.idl";
                [default];
        } srvsvc_NetTransportCtr;
 
+       typedef struct {
+               uint32 level;
+               [switch_is(level)] srvsvc_NetTransportCtr ctr;
+       } srvsvc_NetTransportInfoCtr;
+
        /******************/
        /* Function: 0x1a */
        WERROR srvsvc_NetTransportEnum(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-               [in,out] uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetTransportCtr transports,
+               [in,out,ref] srvsvc_NetTransportInfoCtr *transports,
                [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
+               [out,ref]   uint32 *totalentries,
                [in,out,unique]   uint32 *resume_handle
                );
 
@@ -1303,7 +1305,7 @@ import "security.idl", "svcctl.idl";
        WERROR srvsvc_NetTransportDel(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]    uint32 level,
-               [in,switch_is(level)]   srvsvc_NetTransportInfo info
+               [in]    srvsvc_NetTransportInfo0 *info0
                );
 
 /**************************/
@@ -1328,7 +1330,7 @@ import "security.idl", "svcctl.idl";
        /* Function: 0x1c */
        WERROR srvsvc_NetRemoteTOD(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-               [out,unique]   srvsvc_NetRemoteTODInfo *info
+               [out,ref]     srvsvc_NetRemoteTODInfo **info
                );
 
 /**************************/
@@ -1352,7 +1354,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in]   [string,charset(UTF16)] uint16 path[],
                [in]   uint32 pathflags,
-               [out]   uint32 pathtype
+               [out,ref]   uint32 *pathtype
                );
 
        /******************/
@@ -1363,7 +1365,7 @@ import "security.idl", "svcctl.idl";
                [out]  [size_is(maxbuf)] uint8 can_path[],
                [in]   uint32 maxbuf,
                [in]   [string,charset(UTF16)] uint16 prefix[],
-               [in,out] uint32 pathtype,
+               [in,out,ref] uint32 *pathtype,
                [in]    uint32 pathflags
                );
 
@@ -1442,7 +1444,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]       [string,charset(UTF16)] uint16 *share,
                [in]       [string,charset(UTF16)] uint16 file[],
                [in]       security_secinfo securityinformation,
-               [out,unique]       sec_desc_buf *sd_buf
+               [out,ref]  sec_desc_buf **sd_buf
                );
 
        /******************/
@@ -1452,7 +1454,7 @@ import "security.idl", "svcctl.idl";
                [in,unique]       [string,charset(UTF16)] uint16 *share,
                [in]       [string,charset(UTF16)] uint16 file[],
                [in]       security_secinfo securityinformation,
-               [in]       sec_desc_buf sd_buf
+               [in,ref]   sec_desc_buf *sd_buf
                );