r3283: converted to quoted uuid() defines in all our IDL. This should help
[bbaumbach/samba-autobuild/.git] / source4 / librpc / idl / srvsvc.idl
index 17e9491fbee5e6464489e4c322d69337834c086a..02e3dd6578c76d4e3bc467be529cb42f4a657d98 100644 (file)
   srvsvc interface definitions
 */
 
-[ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
+[ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
   version(3.0),
-  pointer_default(unique)
+  pointer_default(unique),
+  helpstring("Server Service")
 ] interface srvsvc
 {
+/**************************/
+/* srvsvc_NetCharDev      */
+/**************************/
+       typedef struct {
+               unistr *device;
+       } srvsvc_NetCharDevInfo0;
+
+       typedef struct {
+               uint32 count;
+               [size_is(count)] srvsvc_NetCharDevInfo0 *array;
+       } srvsvc_NetCharDevCtr0;
+
+       typedef struct {
+               unistr *device;
+               uint32 status;
+               unistr *user;
+               uint32 time;
+       } srvsvc_NetCharDevInfo1;
+
+       typedef struct {
+               uint32 count;
+               [size_is(count)] srvsvc_NetCharDevInfo1 *array;
+       } srvsvc_NetCharDevCtr1;
+
+       typedef union {
+               [case(0)] srvsvc_NetCharDevInfo0 *info0;
+               [case(1)] srvsvc_NetCharDevInfo1 *info1;
+               [default] ;
+       } srvsvc_NetCharDevInfo;
+
+       typedef union {
+               [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
+               [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
+               [default] ;
+       } srvsvc_NetCharDevCtr;
+
        /******************/
        /* Function: 0x00 */
-       NTSTATUS srvsvc_NETRCHARDEVENUM(
+       WERROR srvsvc_NetCharDevEnum(
+               [in]   unistr *server_unc, 
+               [in,out]   uint32 level,
+               [in,out,switch_is(level)]   srvsvc_NetCharDevCtr ctr,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
+               [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x01 */
-       NTSTATUS srvsvc_NETRCHARDEVGETINFO(
+       WERROR srvsvc_NetCharDevGetInfo(
+               [in]   unistr *server_unc,
+               [in]   unistr device_name,
+               [in]   uint32 level,
+               [out,switch_is(level)]   srvsvc_NetCharDevInfo info
                );
 
        /******************/
        /* Function: 0x02 */
-       NTSTATUS srvsvc_NETRCHARDEVCONTROL(
+       WERROR srvsvc_NetCharDevControl(
+               [in]   unistr *server_unc,
+               [in]   unistr device_name,
+               [in]   uint32 opcode
                );
 
+/**************************/
+/* srvsvc_NetCharDevQ     */
+/**************************/
+       typedef struct {
+               unistr *device;
+       } srvsvc_NetCharDevQInfo0;
+
+       typedef struct {
+               uint32 count;
+               [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
+       } srvsvc_NetCharDevQCtr0;
+
+       typedef struct {
+               unistr *device;
+               uint32 priority;
+               unistr *devices;
+               uint32 users;
+               uint32 num_ahead;
+       } srvsvc_NetCharDevQInfo1;
+
+       typedef struct {
+               uint32 count;
+               [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
+       } srvsvc_NetCharDevQCtr1;
+
+       typedef union {
+               [case(0)] srvsvc_NetCharDevQInfo0 *info0;
+               [case(1)] srvsvc_NetCharDevQInfo1 *info1;
+               [default] ;
+       } srvsvc_NetCharDevQInfo;
+
+       typedef union {
+               [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
+               [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
+               [default] ;
+       } srvsvc_NetCharDevQCtr;
+
        /******************/
        /* Function: 0x03 */
-       NTSTATUS srvsvc_NETRCHARDEVQENUM(
+       WERROR srvsvc_NetCharDevQEnum(
+               [in]   unistr *server_unc,
+               [in]   unistr *user,
+               [in,out]   uint32 level,
+               [in,out,switch_is(level)]   srvsvc_NetCharDevQCtr ctr,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
+               [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x04 */
-       NTSTATUS srvsvc_NETRCHARDEVQGETINFO(
+       WERROR srvsvc_NetCharDevQGetInfo(
+               [in]   unistr *server_unc,
+               [in]   unistr queue_name,
+               [in]   unistr user,
+               [in]   uint32 level,
+               [out,switch_is(level)]   srvsvc_NetCharDevQInfo info
                );
 
        /******************/
        /* Function: 0x05 */
-       NTSTATUS srvsvc_NETRCHARDEVQSETINFO(
+       WERROR srvsvc_NetCharDevQSetInfo(
+               [in]   unistr *server_unc,
+               [in]   unistr queue_name,
+               [in]   uint32 level,
+               [in,switch_is(level)]   srvsvc_NetCharDevQInfo info,
+               [in,out]   uint32 *parm_error
                );
 
        /******************/
        /* Function: 0x06 */
-       NTSTATUS srvsvc_NETRCHARDEVQPURGE(
+       WERROR srvsvc_NetCharDevQPurge(
+               [in]   unistr *server_unc,
+               [in]   unistr queue_name
                );
 
        /******************/
        /* Function: 0x07 */
-       NTSTATUS srvsvc_NETRCHARDEVQPURGESELF(
+       WERROR srvsvc_NetCharDevQPurgeSelf(
+               [in]   unistr *server_unc,
+               [in]   unistr queue_name,
+               [in]   unistr computer_name
                );
 
-       /******************/
-       /* Function: 0x08 */
-
+/**************************/
+/* srvsvc_NetConn         */
+/**************************/
        typedef struct {
                uint32 conn_id;
-       } srvsvc_NetConn0;
+       } srvsvc_NetConnInfo0;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetConn0 *array;
+               [size_is(count)] srvsvc_NetConnInfo0 *array;
        } srvsvc_NetConnCtr0;
 
        typedef struct {
                uint32 conn_time;
                unistr *user;
                unistr *client;
-       } srvsvc_NetConn1;
+       } srvsvc_NetConnInfo1;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetConn1 *array;
+               [size_is(count)] srvsvc_NetConnInfo1 *array;
        } srvsvc_NetConnCtr1;
 
        typedef union {
                [default] ;
        } srvsvc_NetConnCtr;
 
+       /******************/
+       /* Function: 0x08 */
        WERROR srvsvc_NetConnEnum(
                [in]   unistr *server_unc,
                [in]   unistr *path,
                [in,out]   uint32 level,
                [in,out,switch_is(level)]   srvsvc_NetConnCtr ctr,
-               [in]   uint32 preferred_len,
-               [out]   uint32 total,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
                [in,out]   uint32 *resume_handle
                );
 
-       /******************/
-       /* Function: 0x09 */
-
+/**************************/
+/* srvsvc_NetFile         */
+/**************************/
        typedef struct {
                uint32 fid;
-       } srvsvc_NetFile2;
+       } srvsvc_NetFileInfo2;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetFile2 *array;
+               [size_is(count)] srvsvc_NetFileInfo2 *array;
        } srvsvc_NetFileCtr2;
 
        typedef struct {
                uint32 num_locks;
                unistr *path;
                unistr *user;
-       } srvsvc_NetFile3;
+       } srvsvc_NetFileInfo3;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetFile3 *array;
+               [size_is(count)] srvsvc_NetFileInfo3 *array;
        } srvsvc_NetFileCtr3;
 
+       typedef union {
+               [case(2)] srvsvc_NetFileInfo2 *info2;
+               [case(3)] srvsvc_NetFileInfo3 *info3;
+               [default] ;
+       } srvsvc_NetFileInfo;
+
        typedef union {
                [case(2)] srvsvc_NetFileCtr2 *ctr2;
                [case(3)] srvsvc_NetFileCtr3 *ctr3;
                [default] ;
        } srvsvc_NetFileCtr;
 
+       /******************/
+       /* Function: 0x09 */
        WERROR srvsvc_NetFileEnum(
                [in]   unistr *server_unc,
                [in]   unistr *path,
                [in]   unistr *user,
-               [in,out] uint32 level,
+               [in,out]   uint32 level,
                [in,out,switch_is(level)]   srvsvc_NetFileCtr ctr,
-               [in]   uint32 preferred_len,
-               [out]   uint32 total,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
                [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x0a */
-       NTSTATUS srvsvc_NETRFILEGETINFO(
+       WERROR srvsvc_NetFileGetInfo(
+               [in]   unistr *server_unc,
+               [in]   uint32 fid,
+               [in]   uint32 level,
+               [out,switch_is(level)]   srvsvc_NetFileInfo info
                );
 
        /******************/
        /* Function: 0x0b */
-       NTSTATUS srvsvc_NET_FILE_CLOSE(
+       WERROR srvsvc_NetFileClose(
+               [in]   unistr *server_unc,
+               [in]   uint32 fid       
                );
 
-       /******************/
-       /* Function: 0x0c */
-
+/**************************/
+/* srvsvc_NetSess         */
+/**************************/
        typedef struct {
                unistr *client;
-       } srvsvc_NetSess0;
+       } srvsvc_NetSessInfo0;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetSess0 *array;
+               [size_is(count)] srvsvc_NetSessInfo0 *array;
        } srvsvc_NetSessCtr0;
 
        typedef struct {
                uint32 time;
                uint32 idle_time;
                uint32 user_flags;
-       } srvsvc_NetSess1;
+       } srvsvc_NetSessInfo1;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetSess1 *array;
+               [size_is(count)] srvsvc_NetSessInfo1 *array;
        } srvsvc_NetSessCtr1;
 
        typedef struct {
                uint32 idle_time;
                uint32 user_flags;
                unistr *client_type;
-       } srvsvc_NetSess2;
+       } srvsvc_NetSessInfo2;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetSess2 *array;
+               [size_is(count)] srvsvc_NetSessInfo2 *array;
        } srvsvc_NetSessCtr2;
 
        typedef struct {
                unistr *user;
                uint32 time;
                uint32 idle_time;
-       } srvsvc_NetSess10;
+       } srvsvc_NetSessInfo10;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetSess10 *array;
+               [size_is(count)] srvsvc_NetSessInfo10 *array;
        } srvsvc_NetSessCtr10;
 
        typedef struct {
                uint32 user_flags;
                unistr *client_type;
                unistr *transport;
-       } srvsvc_NetSess502;
+       } srvsvc_NetSessInfo502;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetSess502 *array;
+               [size_is(count)] srvsvc_NetSessInfo502 *array;
        } srvsvc_NetSessCtr502;
 
        typedef union {
                [default] ;
        } srvsvc_NetSessCtr;
 
+       /******************/
+       /* Function: 0x0c */
        WERROR srvsvc_NetSessEnum(
                [in]   unistr *server_unc,
                [in]   unistr *client,
                [in]   unistr *user,
                [in,out]   uint32 level,
                [in,out,switch_is(level)]   srvsvc_NetSessCtr ctr,
-               [in]   uint32 preferred_len,
-               [out]   uint32 total,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
                [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x0d */
-       NTSTATUS srvsvc_NETRSESSIONDEL(
+       WERROR srvsvc_NetSessDel(
+               [in]   unistr *server_unc,
+               [in]   unistr *client,
+               [in]   unistr *user
                );
 
-       /******************/
-       /* Function: 0x0e */
-       NTSTATUS srvsvc_NET_SHARE_ADD(
-               );
+/**************************/
+/* srvsvc_NetShare        */
+/**************************/
 
-       /******************/
-       /* Function: 0x0f */
+       /* share types */
+       const int STYPE_DISKTREE = 0;
+       const int STYPE_PRINTQ   = 1;
+       const int STYPE_DEVICE   = 2;   /* Serial device */
+       const int STYPE_IPC      = 3;   /* Interprocess communication (IPC) */
+       const int STYPE_HIDDEN   = 0x80000000; /* share is a hidden one */
 
        typedef struct {
                unistr *name;
-       } srvsvc_NetShare0;
+       } srvsvc_NetShareInfo0;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetShare0 *array;
+               [size_is(count)] srvsvc_NetShareInfo0 *array;
        } srvsvc_NetShareCtr0;
 
        typedef struct {
                unistr *name;
                uint32 type;
                unistr *comment;
-       } srvsvc_NetShare1;
+       } srvsvc_NetShareInfo1;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetShare1 *array;
+               [size_is(count)] srvsvc_NetShareInfo1 *array;
        } srvsvc_NetShareCtr1;
 
        typedef struct {
                uint32 current_users;
                unistr *path;
                unistr *password;
-       } srvsvc_NetShare2;
+       } srvsvc_NetShareInfo2;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetShare2 *array;
+               [size_is(count)] srvsvc_NetShareInfo2 *array;
        } srvsvc_NetShareCtr2;
 
        typedef struct {
                uint32 type;
                unistr *comment;
                uint32 csc_policy;
-       } srvsvc_NetShare501;
+       } srvsvc_NetShareInfo501;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetShare501 *array;
+               [size_is(count)] srvsvc_NetShareInfo501 *array;
        } srvsvc_NetShareCtr501;
 
        typedef struct {
                unistr *password;
                uint32 unknown;
                [subcontext(4)] security_descriptor *sd;
-       } srvsvc_NetShare502;
+       } srvsvc_NetShareInfo502;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetShare502 *array;
+               [size_is(count)] srvsvc_NetShareInfo502 *array;
        } srvsvc_NetShareCtr502;
 
        typedef struct {
-               unistr *comment;
-       } srvsvc_NetShare1004;
+               uint32 dummy;
+       } srvsvc_NetShareInfo1004;
+
+       typedef struct {
+               uint32 dfs_flags;
+       } srvsvc_NetShareInfo1005;
+
+       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;
+               [default] ;
+       } srvsvc_NetShareInfo;
 
        typedef union {
                [case(0)] srvsvc_NetShareCtr0 *ctr0;
                [default] ;
        } srvsvc_NetShareCtr;
 
+       /******************/
+       /* Function: 0x0e */
+       WERROR srvsvc_NetShareAdd(
+               [in]   unistr *server_unc,
+               [in]   uint32 level,
+               [in,switch_is(level)] srvsvc_NetShareInfo info,
+               [in,out]   uint32 *parm_error
+               );
+
+       /******************/
+       /* Function: 0x0f */
        WERROR srvsvc_NetShareEnumAll (
-               [in]         unistr *server_unc,
-               [in,out]     uint32 level,
+               [in]   unistr *server_unc,
+               [in,out]   uint32 level,
                [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
-               [in]         uint32 max_buffer,
-               [out]        uint32 totalentries,
-               [in,out]     uint32 *resume_handle
+               [in]   uint32 max_buffer,
+               [out]  uint32 totalentries,
+               [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x10 */
-       NTSTATUS srvsvc_NET_SHARE_GET_INFO(
+       WERROR srvsvc_NetShareGetInfo(
+               [in]   unistr *server_unc,
+               [in]   unistr share_name,
+               [in]   uint32 level,
+               [out,switch_is(level)] srvsvc_NetShareInfo info
                );
 
        /******************/
        /* Function: 0x11 */
-       NTSTATUS srvsvc_NET_SHARE_SET_INFO(
+       WERROR srvsvc_NetShareSetInfo(
+               [in]   unistr *server_unc,
+               [in]   unistr *share_name,
+               [in]   uint32 level,
+               [in,switch_is(level)] srvsvc_NetShareInfo info,
+               [in,out]   uint32 *parm_error
                );
 
        /******************/
        /* Function: 0x12 */
-       NTSTATUS srvsvc_NET_SHARE_DEL(
+       WERROR srvsvc_NetShareDel(
+               [in]   unistr *server_unc,
+               [in]   unistr *share_name,
+               [in]   uint32 reserved
                );
 
        /******************/
        /* Function: 0x13 */
-       NTSTATUS srvsvc_NET_SHARE_DEL_STICKY(
+       WERROR srvsvc_NetShareDelSticky(
+               [in]   unistr *server_unc,
+               [in]   unistr *share_name,
+               [in]   uint32 reserved
                );
        
        /******************/
        /* Function: 0x14 */
-       NTSTATUS srvsvc_NETRSHARECHECK(
+       WERROR srvsvc_NetShareCheck(
+               [in]   unistr *server_unc,
+               [in]   unistr *share_name,
+               [out]   uint32 type
                );
 
+/**************************/
+/* srvsvc_NetSrv          */
+/**************************/
+       typedef struct {
+               uint32 platform_id;
+               unistr *server_unc;
+       } srvsvc_NetSrvInfo100;
+
+       typedef struct {
+               uint32 platform_id;
+               unistr *server_unc;
+               uint32 ver_major;
+               uint32 ver_minor;
+               uint32 type;
+               unistr *comment;
+       } srvsvc_NetSrvInfo101;
+
+       typedef struct {
+               uint32 platform_id;
+               unistr *server_unc;
+               uint32 ver_major;
+               uint32 ver_minor;
+               uint32 type;
+               unistr *comment;
+               uint32 users;
+               uint32 disc;
+               uint32 hidden;
+               uint32 announce;
+               uint32 anndelta;
+               uint32 licences;
+               unistr *userpath;
+       } srvsvc_NetSrvInfo102;
+
+       typedef struct {
+               uint32 ulist_mtime;
+               uint32 glist_mtime;
+               uint32 alist_mtime;
+               unistr *alerts;
+               uint32 security;
+               uint32 numadmin;
+               uint32 lanmask;
+               unistr *guestaccount;
+               uint32 chdevs;
+               uint32 chdevqs;
+               uint32 chdevjobs;
+               uint32 connections;
+               uint32 shares;
+               uint32 openfiles;
+               uint32 sessopen;
+               uint32 sesssvc;
+               uint32 sessreqs;
+               uint32 opensearch;
+               uint32 activelocks;
+               uint32 sizereqbufs;
+               uint32 numbigbufs;
+               uint32 numfiletasks;
+               uint32 alertsched;
+               uint32 eroralert;
+               uint32 logonalert;
+               uint32 accessalert;
+               uint32 diskalert;
+               uint32 netioalert;
+               uint32 maxaudits;
+               unistr *srvheuristics;
+       } srvsvc_NetSrvInfo402;
+
+       typedef struct {
+               uint32 ulist_mtime;
+               uint32 glist_mtime;
+               uint32 alist_mtime;
+               unistr *alerts;
+               uint32 security;
+               uint32 numadmin;
+               uint32 lanmask;
+               unistr *guestaccount;
+               uint32 chdevs;
+               uint32 chdevqs;
+               uint32 chdevjobs;
+               uint32 connections;
+               uint32 shares;
+               uint32 openfiles;
+               uint32 sessopen;
+               uint32 sesssvc;
+               uint32 sessreqs;
+               uint32 opensearch;
+               uint32 activelocks;
+               uint32 sizereqbufs;
+               uint32 numbigbufs;
+               uint32 numfiletasks;
+               uint32 alertsched;
+               uint32 eroralert;
+               uint32 logonalert;
+               uint32 accessalert;
+               uint32 diskalert;
+               uint32 netioalert;
+               uint32 maxaudits;
+               unistr *srvheuristics;
+               uint32 auditedevents;
+               uint32 auditprofile;
+               unistr *autopath;
+       } srvsvc_NetSrvInfo403;
+
+       typedef struct {
+               uint32 sessopen;
+               uint32 sesssvc;
+               uint32 opensearch;
+               uint32 sizereqbufs;
+               uint32 initworkitems;
+               uint32 maxworkitems;
+               uint32 rawworkitems;
+               uint32 irpstacksize;
+               uint32 maxrawbuflen;
+               uint32 sessusers;
+               uint32 sessconns;
+               uint32 maxpagedmemoryusage;
+               uint32 maxnonpagedmemoryusage;
+               uint32 enablesoftcompat;
+               uint32 enableforcedlogoff;
+               uint32 timesource;
+               uint32 acceptdownlevelapis;
+               uint32 lmannounce;
+       } srvsvc_NetSrvInfo502;
+
+        typedef struct{
+               uint32 sessopen;
+               uint32 sesssvc;
+               uint32 opensearch;
+               uint32 sizereqbufs;
+               uint32 initworkitems;
+               uint32 maxworkitems;
+               uint32 rawworkitems;
+               uint32 irpstacksize;
+               uint32 maxrawbuflen;
+               uint32 sessusers;
+               uint32 sessconns;
+               uint32 maxpagedmemoryusage;
+               uint32 maxnonpagedmemoryusage;
+               uint32 enablesoftcompat;
+               uint32 enableforcedlogoff;
+               uint32 timesource;
+               uint32 acceptdownlevelapis;
+               uint32 lmannounce;
+               unistr *domain;
+               uint32 maxcopyreadlen;
+               uint32 maxcopywritelen;
+               uint32 minkeepsearch;
+               uint32 maxkeepsearch;
+               uint32 minkeepcomplsearch;
+               uint32 maxkeepcomplsearch;
+               uint32 threadcountadd;
+               uint32 numlockthreads;
+               uint32 scavtimeout;
+               uint32 minrcvqueue;
+               uint32 minfreeworkitems;
+               uint32 xactmemsize;
+               uint32 threadpriority;
+               uint32 maxmpxct;
+               uint32 oplockbreakwait;
+               uint32 oplockbreakresponsewait;
+               uint32 enableoplocks;
+               uint32 enableoplockforceclose;
+               uint32 enablefcbopens;
+               uint32 enableraw;
+               uint32 enablesharednetdrives;
+               uint32 minfreeconnections;
+               uint32 maxfreeconnections;
+        } srvsvc_NetSrvInfo503;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo599;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1005;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1010;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1016;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1017;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1018;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1107;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1501;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1502;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1503;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1506;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1509;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1510;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1511;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1512;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1513;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1514;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1515;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1516;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1518;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1520;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1521;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1522;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1523;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1524;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1525;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1528;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1529;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1530;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1533;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1534;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1535;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1536;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1537;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1538;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1539;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1540;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1541;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1542;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1543;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1544;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1545;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1546;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1547;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1548;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1549;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1550;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1552;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1553;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1554;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1555;
+
+        typedef struct{
+                uint32 dummy;
+        } srvsvc_NetSrvInfo1556;
+
+
+       typedef union{
+                [case(100)]     srvsvc_NetSrvInfo100 *info100;
+                [case(101)]     srvsvc_NetSrvInfo101 *info101;
+                [case(102)]     srvsvc_NetSrvInfo102 *info102;
+                [case(402)]     srvsvc_NetSrvInfo402 *info402;
+                [case(403)]     srvsvc_NetSrvInfo403 *info403;
+                [case(502)]     srvsvc_NetSrvInfo502 *info502;
+                [case(503)]     srvsvc_NetSrvInfo503 *info503;
+                [case(599)]     srvsvc_NetSrvInfo599 *info599;
+                [case(1005)]    srvsvc_NetSrvInfo1005 *info1005;
+                [case(1010)]    srvsvc_NetSrvInfo1010 *info1010;
+                [case(1016)]    srvsvc_NetSrvInfo1016 *info1016;
+                [case(1017)]    srvsvc_NetSrvInfo1017 *info1017;
+                [case(1018)]    srvsvc_NetSrvInfo1018 *info1018;
+                [case(1107)]    srvsvc_NetSrvInfo1107 *info1107;
+                [case(1501)]    srvsvc_NetSrvInfo1501 *info1501;
+                [case(1502)]    srvsvc_NetSrvInfo1502 *info1502;
+                [case(1503)]    srvsvc_NetSrvInfo1503 *info1503;
+                [case(1506)]    srvsvc_NetSrvInfo1506 *info1506;
+                [case(1509)]    srvsvc_NetSrvInfo1509 *info1509;
+                [case(1510)]    srvsvc_NetSrvInfo1510 *info1510;
+                [case(1511)]    srvsvc_NetSrvInfo1511 *info1511;
+                [case(1512)]    srvsvc_NetSrvInfo1512 *info1512;
+                [case(1513)]    srvsvc_NetSrvInfo1513 *info1513;
+                [case(1514)]    srvsvc_NetSrvInfo1514 *info1514;
+                [case(1515)]    srvsvc_NetSrvInfo1515 *info1515;
+                [case(1516)]    srvsvc_NetSrvInfo1516 *info1516;
+                [case(1518)]    srvsvc_NetSrvInfo1518 *info1518;
+                [case(1520)]    srvsvc_NetSrvInfo1520 *info1520;
+                [case(1521)]    srvsvc_NetSrvInfo1521 *info1521;
+                [case(1522)]    srvsvc_NetSrvInfo1522 *info1522;
+                [case(1523)]    srvsvc_NetSrvInfo1523 *info1523;
+                [case(1524)]    srvsvc_NetSrvInfo1524 *info1524;
+                [case(1525)]    srvsvc_NetSrvInfo1525 *info1525;
+                [case(1528)]    srvsvc_NetSrvInfo1528 *info1528;
+                [case(1529)]    srvsvc_NetSrvInfo1529 *info1529;
+                [case(1530)]    srvsvc_NetSrvInfo1530 *info1530;
+                [case(1533)]    srvsvc_NetSrvInfo1533 *info1533;
+                [case(1534)]    srvsvc_NetSrvInfo1534 *info1534;
+                [case(1535)]    srvsvc_NetSrvInfo1535 *info1535;
+                [case(1536)]    srvsvc_NetSrvInfo1536 *info1536;
+                [case(1537)]    srvsvc_NetSrvInfo1537 *info1537;
+                [case(1538)]    srvsvc_NetSrvInfo1538 *info1538;
+                [case(1539)]    srvsvc_NetSrvInfo1539 *info1539;
+                [case(1540)]    srvsvc_NetSrvInfo1540 *info1540;
+                [case(1541)]    srvsvc_NetSrvInfo1541 *info1541;
+                [case(1542)]    srvsvc_NetSrvInfo1542 *info1542;
+                [case(1543)]    srvsvc_NetSrvInfo1543 *info1543;
+                [case(1544)]    srvsvc_NetSrvInfo1544 *info1544;
+                [case(1545)]    srvsvc_NetSrvInfo1545 *info1545;
+                [case(1546)]    srvsvc_NetSrvInfo1546 *info1546;
+                [case(1547)]    srvsvc_NetSrvInfo1547 *info1547;
+                [case(1548)]    srvsvc_NetSrvInfo1548 *info1548;
+                [case(1549)]    srvsvc_NetSrvInfo1549 *info1549;
+                [case(1550)]    srvsvc_NetSrvInfo1550 *info1550;
+                [case(1552)]    srvsvc_NetSrvInfo1552 *info1552;
+                [case(1553)]    srvsvc_NetSrvInfo1553 *info1553;
+                [case(1554)]    srvsvc_NetSrvInfo1554 *info1554;
+                [case(1555)]    srvsvc_NetSrvInfo1555 *info1555;
+                [case(1556)]    srvsvc_NetSrvInfo1556 *info1556;
+               [default];
+       } srvsvc_NetSrvInfo;
+
        /******************/
        /* Function: 0x15 */
-       NTSTATUS srvsvc_NET_SRV_GET_INFO(
+       WERROR srvsvc_NetSrvGetInfo(
+               [in]   unistr *server_unc,
+               [in]   uint32 level,
+               [out,switch_is(level)] srvsvc_NetSrvInfo info
                );
 
        /******************/
        /* Function: 0x16 */
-       NTSTATUS srvsvc_NET_SRV_SET_INFO(
+       WERROR srvsvc_NetSrvSetInfo(
+               [in]   unistr *server_unc,
+               [in]   uint32 level,
+               [in,switch_is(level)] srvsvc_NetSrvInfo info,
+               [in,out]   uint32 *parm_error
                );
 
-       /******************/
-       /* Function: 0x17 */
-
+/**************************/
+/* srvsvc_NetDisk         */
+/**************************/
        typedef struct {
                uint32 unknown;
                lstring disk;
                uint16 unknown2;
-       } srvsvc_NetDisk0;
+       } srvsvc_NetDiskInfo0;
 
        typedef struct {
                uint32 unknown;
                uint32 count;
-               [size_is(count)] srvsvc_NetDisk0 array[];
+               [size_is(count)] srvsvc_NetDiskInfo0 array[];
        } srvsvc_NetDiskCtr0;
 
        typedef union {
                [case(0)]  srvsvc_NetDiskCtr0 *ctr0;
        } srvsvc_NetDiskCtr;
 
+       /******************/
+       /* Function: 0x17 */
        WERROR srvsvc_NetDiskEnum(
                [in]      unistr *server_unc,
                [in]      uint32 level,
-               [out]     uint32 num_entries,
+               [out]     uint32 count,
                [in,switch_is(level)] srvsvc_NetDiskCtr ctr,
-               [out]     srvsvc_NetDiskCtr0 *disks,
+               [out]     srvsvc_NetDiskCtr0 *ctr0,
                [in]      uint32 unknown,
-               [out]     uint32 max_entries,
+               [out]     uint32 totalentries,
                [in,out]  uint32 *resume_handle
                );
 
+/**************************/
+/* srvsvc_NetStatistics   */
+/**************************/
        /******************/
        /* Function: 0x18 */
-       NTSTATUS srvsvc_NETRSERVERSTATISTICSGET(
+       WERROR srvsvc_NETRSERVERSTATISTICSGET(
                );
 
-       /******************/
-       /* Function: 0x19 */
-       NTSTATUS srvsvc_NETRSERVERTRANSPORTADD(
-               );
-               
-       /******************/
-       /* Function: 0x1a */
-
+/**************************/
+/* srvsvc_NetTransport    */
+/**************************/
        typedef struct {
                uint32 count;
                uint8 addr[count];
-       } srvsvc_TransportAddress;
+       } srvsvc_NetTransportAddress;
 
        typedef struct {
                uint32 vcs;
                unistr *name;
-               srvsvc_TransportAddress *addr;
+               srvsvc_NetTransportAddress *addr;
                uint32 addr_len;
                unistr *net_addr;
-       } srvsvc_NetTransport0;
+       } srvsvc_NetTransportInfo0;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetTransport0 *array;
+               [size_is(count)] srvsvc_NetTransportInfo0 *array;
        } srvsvc_NetTransportCtr0;
 
        typedef struct {
                uint32 vcs;
                unistr *name;
-               srvsvc_TransportAddress *addr;
+               srvsvc_NetTransportAddress *addr;
                uint32 addr_len;
                unistr *net_addr;
                unistr *domain;
-       } srvsvc_NetTransport1;
+       } srvsvc_NetTransportInfo1;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetTransport1 *array;
+               [size_is(count)] srvsvc_NetTransportInfo1 *array;
        } srvsvc_NetTransportCtr1;
 
        typedef struct {
                uint32 dummy;
-       } srvsvc_NetTransport2;
+       } srvsvc_NetTransportInfo2;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetTransport2 *array;
+               [size_is(count)] srvsvc_NetTransportInfo2 *array;
        } srvsvc_NetTransportCtr2;
 
        typedef struct {
                uint32 dummy;
-       } srvsvc_NetTransport3;
+       } srvsvc_NetTransportInfo3;
 
        typedef struct {
                uint32 count;
-               [size_is(count)] srvsvc_NetTransport3 *array;
+               [size_is(count)] srvsvc_NetTransportInfo3 *array;
        } srvsvc_NetTransportCtr3;
 
+       typedef union {
+               [case(0)] srvsvc_NetTransportInfo0 *info0;
+               [case(1)] srvsvc_NetTransportInfo1 *info1;
+               [case(2)] srvsvc_NetTransportInfo2 *info2;
+               [case(3)] srvsvc_NetTransportInfo3 *info3;
+               [default];
+       } srvsvc_NetTransportInfo;
+
        typedef union {
                [case(0)] srvsvc_NetTransportCtr0 *ctr0;
                [case(1)] srvsvc_NetTransportCtr1 *ctr1;
                [default];
        } srvsvc_NetTransportCtr;
 
+       /******************/
+       /* Function: 0x19 */
+       WERROR srvsvc_NETRSERVERTRANSPORTADD(
+               );
+
+       /******************/
+       /* Function: 0x1a */
        WERROR srvsvc_NetTransportEnum(
                [in]   unistr *server_unc,
                [in,out] uint32 level,
                [in,out,switch_is(level)]   srvsvc_NetTransportCtr ctr,
-               [in]   uint32 preferred_len,
-               [out]   uint32 total,
+               [in]   uint32 max_buffer,
+               [out]   uint32 totalentries,
                [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x1b */
-       NTSTATUS srvsvc_NETRSERVERTRANSPORTDEL(
+       WERROR srvsvc_NETRSERVERTRANSPORTDEL(
                );
 
+/**************************/
+/* srvsvc_NetRemoteTOD    */
+/**************************/
+       typedef struct {
+               uint32 elapsed;
+               uint32 msecs;
+               uint32 hours;
+               uint32 mins;
+               uint32 secs;
+               uint32 hunds;
+               uint32 timezone;
+               uint32 tinterval;
+               uint32 day;
+               uint32 month;
+               uint32 year;
+               uint32 weekday;
+       } srvsvc_NetRemoteTODInfo;
+
        /******************/
        /* Function: 0x1c */
-       NTSTATUS srvsvc_NET_REMOTE_TOD(
+       WERROR srvsvc_NetRemoteTOD(
+               [in]   unistr *server_unc,
+               [out]   srvsvc_NetRemoteTODInfo *info
                );
 
+/**************************/
+/* srvsvc_NetServiceBits  */
+/**************************/
        /******************/
        /* Function: 0x1d */
-       NTSTATUS srvsvc_NETRSERVERSETSERVICEBITS(
+       WERROR srvsvc_NETRSERVERSETSERVICEBITS(
                );
 
+/**************************/
+/* srvsvc_NetPath         */
+/**************************/
        /******************/
        /* Function: 0x1e */
-       NTSTATUS srvsvc_NETRPRPATHTYPE(
+       WERROR srvsvc_NETRPRPATHTYPE(
                );
 
        /******************/
        /* Function: 0x1f */
-       NTSTATUS srvsvc_NETRPRPATHCANONICALIZE(
+       WERROR srvsvc_NETRPRPATHCANONICALIZE(
                );
 
        /******************/
        /* Function: 0x20 */
-       NTSTATUS srvsvc_NETRPRPATHCOMPARE(
+       WERROR srvsvc_NETRPRPATHCOMPARE(
                );
 
+/**************************/
+/* srvsvc_NetName         */
+/**************************/
        /******************/
        /* Function: 0x21 */
-       NTSTATUS srvsvc_NET_NAME_VALIDATE(
+       WERROR srvsvc_NET_NAME_VALIDATE(
                );
 
        /******************/
        /* Function: 0x22 */
-       NTSTATUS srvsvc_NETRPRNAMECANONICALIZE(
+       WERROR srvsvc_NETRPRNAMECANONICALIZE(
                );
 
        /******************/
        /* Function: 0x23 */
-       NTSTATUS srvsvc_NETRPRNAMECOMPARE(
+       WERROR srvsvc_NETRPRNAMECOMPARE(
                );
 
+/**************************/
+/* srvsvc_NetShare ...    */
+/**************************/
        /******************/
        /* Function: 0x24 */
        /* Note, there must be some way to return entries read vs 
                [in]       unistr *server_unc,
                [in,out]   uint32 level,
                [in,out,switch_is(level)]   srvsvc_NetShareCtr ctr,
-               [in]       uint32 preferred_len,
+               [in]       uint32 max_buffer,
                [out]      uint32 totalentries,
                [in,out]   uint32 *resume_handle
                );
 
        /******************/
        /* Function: 0x25 */
-       NTSTATUS srvsvc_NETRSHAREDELSTART(
+       WERROR srvsvc_NETRSHAREDELSTART(
                );
 
        /******************/
        /* Function: 0x26 */
-       NTSTATUS srvsvc_NETRSHAREDELCOMMIT(
+       WERROR srvsvc_NETRSHAREDELCOMMIT(
                );
 
        /******************/
        /* Function: 0x27 */
-       NTSTATUS srvsvc_NET_FILE_QUERY_SECDESC(
+       WERROR srvsvc_NET_FILE_QUERY_SECDESC(
                );
 
        /******************/
        /* Function: 0x28 */
-       NTSTATUS srvsvc_NET_FILE_SET_SECDESC(
+       WERROR srvsvc_NET_FILE_SET_SECDESC(
                );
 
        /******************/
        /* Function: 0x29 */
-       NTSTATUS srvsvc_NETRSERVERTRANSPORTADDEX(
+       WERROR srvsvc_NETRSERVERTRANSPORTADDEX(
                );
 
        /******************/
        /* Function: 0x2a */
-       NTSTATUS srvsvc_NETRSERVERSETSERVICEBITSEX(
+       WERROR srvsvc_NETRSERVERSETSERVICEBITSEX(
                );
 
        /******************/
        /* Function: 0x2b */
-       NTSTATUS srvsvc_NETRDFSGETVERSION(
+       WERROR srvsvc_NETRDFSGETVERSION(
                );
 
        /******************/
        /* Function: 0x2c */
-       NTSTATUS srvsvc_NETRDFSCREATELOCALPARTITION(
+       WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
                );
 
        /******************/
        /* Function: 0x2d */
-       NTSTATUS srvsvc_NETRDFSDELETELOCALPARTITION(
+       WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
                );
 
        /******************/
        /* Function: 0x2e */
-       NTSTATUS srvsvc_NETRDFSSETLOCALVOLUMESTATE(
+       WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
                );
 
        /******************/
        /* Function: 0x2f */
-       NTSTATUS srvsvc_NETRDFSSETSERVERINFO(
+       WERROR srvsvc_NETRDFSSETSERVERINFO(
                );
 
        /******************/
        /* Function: 0x30 */
-       NTSTATUS srvsvc_NETRDFSCREATEEXITPOINT(
+       WERROR srvsvc_NETRDFSCREATEEXITPOINT(
                );
 
        /******************/
        /* Function: 0x31 */
-       NTSTATUS srvsvc_NETRDFSDELETEEXITPOINT(
+       WERROR srvsvc_NETRDFSDELETEEXITPOINT(
                );
 
        /******************/
        /* Function: 0x32 */
-       NTSTATUS srvsvc_NETRDFSMODIFYPREFIX(
+       WERROR srvsvc_NETRDFSMODIFYPREFIX(
                );
 
        /******************/
        /* Function: 0x33 */
-       NTSTATUS srvsvc_NETRDFSFIXLOCALVOLUME(
+       WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
                );
 
        /******************/
        /* Function: 0x34 */
-       NTSTATUS srvsvc_NETRDFSMANAGERREPORTSITEINFO(
+       WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
                );
 
        /******************/
        /* Function: 0x35 */
-       NTSTATUS srvsvc_NETRSERVERTRANSPORTDELEX(
+       WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
                );
 }