s3-srvsvc-idl: fix srvsvc_NetCharDevQEnum.
[ira/wip.git] / source3 / librpc / idl / srvsvc.idl
index 0bbd24a5dd18cfc9671fffecaf567052eb814c45..c60b4a4ce597de830e239eae3e2f2da037a4b16c 100644 (file)
@@ -3,7 +3,6 @@
 /*
   srvsvc interface definitions
 */
-
 import "security.idl", "svcctl.idl";
 
 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
@@ -52,12 +51,16 @@ import "security.idl", "svcctl.idl";
                [default] ;
        } srvsvc_NetCharDevCtr;
 
+       typedef struct {
+               uint32 level;
+               [switch_is(level)] srvsvc_NetCharDevCtr ctr;
+       } srvsvc_NetCharDevInfoCtr;
+
        /******************/
        /* Function: 0x00 */
        WERROR srvsvc_NetCharDevEnum(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-               [in,out,ref]   uint32 *level,
-               [in,out,ref,switch_is(*level)]   srvsvc_NetCharDevCtr *ctr,
+               [in,out,ref]  srvsvc_NetCharDevInfoCtr *info_ctr,
                [in]   uint32 max_buffer,
                [out,ref]   uint32 *totalentries,
                [in,out,unique]   uint32 *resume_handle
@@ -117,13 +120,17 @@ import "security.idl", "svcctl.idl";
                [default] ;
        } srvsvc_NetCharDevQCtr;
 
+       typedef struct {
+               uint32 level;
+               [switch_is(level)] srvsvc_NetCharDevQCtr ctr;
+       } srvsvc_NetCharDevQInfoCtr;
+
        /******************/
        /* Function: 0x03 */
        WERROR srvsvc_NetCharDevQEnum(
                [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
                [in,unique]   [string,charset(UTF16)] uint16 *user,
-               [in,out,ref]   uint32 *level,
-               [in,out,switch_is(*level),ref]   srvsvc_NetCharDevQCtr *ctr,
+               [in,out,ref]  srvsvc_NetCharDevQInfoCtr *info_ctr,
                [in]   uint32 max_buffer,
                [out,ref]   uint32 *totalentries,
                [in,out,unique]   uint32 *resume_handle
@@ -681,6 +688,7 @@ import "security.idl", "svcctl.idl";
                uint32 sessreqs;
                uint32 opensearch;
                uint32 activelocks;
+               uint32 numreqbufs;
                uint32 sizereqbufs;
                uint32 numbigbufs;
                uint32 numfiletasks;
@@ -714,6 +722,7 @@ import "security.idl", "svcctl.idl";
                uint32 sessreqs;
                uint32 opensearch;
                uint32 activelocks;
+               uint32 numreqbufs;
                uint32 sizereqbufs;
                uint32 numbigbufs;
                uint32 numfiletasks;
@@ -1143,7 +1152,16 @@ import "security.idl", "svcctl.idl";
 /* srvsvc_NetDisk         */
 /**************************/
        typedef struct {
-               [flag(STR_LEN4)] string disk;
+               /*
+                * In theory this should be:
+                *      [charset(UTF16),string] uint16 annotation[3]
+                * But midl treats this as:
+                *      [charset(UTF16),string] uint16 annotation[]
+                * and pidl doesn't support this yet
+                */
+               [value(0)] uint32 __disk_offset;
+               [value(strlen(disk)+1)] uint32 __disk_length;
+               [charset(UTF16)] uint16 disk[__disk_length];
        } srvsvc_NetDiskInfo0;
 
        typedef struct {
@@ -1377,7 +1395,7 @@ import "security.idl", "svcctl.idl";
 
        /******************/
        /* Function: 0x22 */
-       WERROR srvsvc_NETRPRNAMECANONICALIZE(
+       [todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
                );
 
        /******************/
@@ -1470,56 +1488,56 @@ import "security.idl", "svcctl.idl";
 
        /******************/
        /* Function: 0x2b */
-       WERROR srvsvc_NETRDFSGETVERSION(
+       [todo] WERROR srvsvc_NETRDFSGETVERSION(
                );
 
        /******************/
        /* Function: 0x2c */
-       WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
+       [todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
                );
 
        /******************/
        /* Function: 0x2d */
-       WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
+       [todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
                );
 
        /******************/
        /* Function: 0x2e */
-       WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
+       [todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
                );
 
        /******************/
        /* Function: 0x2f */
-       WERROR srvsvc_NETRDFSSETSERVERINFO(
+       [todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
                );
 
        /******************/
        /* Function: 0x30 */
-       WERROR srvsvc_NETRDFSCREATEEXITPOINT(
+       [todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
                );
 
        /******************/
        /* Function: 0x31 */
-       WERROR srvsvc_NETRDFSDELETEEXITPOINT(
+       [todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
                );
 
        /******************/
        /* Function: 0x32 */
-       WERROR srvsvc_NETRDFSMODIFYPREFIX(
+       [todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
                );
 
        /******************/
        /* Function: 0x33 */
-       WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
+       [todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
                );
 
        /******************/
        /* Function: 0x34 */
-       WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
+       [todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
                );
 
        /******************/
        /* Function: 0x35 */
-       WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
+       [todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
                );
 }