diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/librpc/idl/srvsvc.idl | 823 | ||||
-rw-r--r-- | source4/librpc/idl/wkssvc.idl | 43 |
2 files changed, 744 insertions, 122 deletions
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl index 17e9491fbe..4d737a6c0d 100644 --- a/source4/librpc/idl/srvsvc.idl +++ b/source4/librpc/idl/srvsvc.idl @@ -9,56 +9,164 @@ pointer_default(unique) ] 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 { @@ -69,11 +177,11 @@ 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 { @@ -82,26 +190,28 @@ [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 { @@ -110,50 +220,64 @@ 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 { @@ -163,11 +287,11 @@ 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 { @@ -178,11 +302,11 @@ 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 { @@ -190,11 +314,11 @@ 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 { @@ -206,11 +330,11 @@ 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 { @@ -222,48 +346,48 @@ [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( - ); - - /******************/ - /* Function: 0x0e */ - NTSTATUS srvsvc_NET_SHARE_ADD( + WERROR srvsvc_NetSessDel( + [in] unistr *server_unc, + [in] unistr *client, + [in] unistr *user ); - /******************/ - /* Function: 0x0f */ - +/**************************/ +/* srvsvc_NetShare */ +/**************************/ 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 { @@ -275,11 +399,11 @@ 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 { @@ -287,11 +411,11 @@ 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 { @@ -305,16 +429,21 @@ 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; + 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; + [default] ; + } srvsvc_NetShareInfo; typedef union { [case(0)] srvsvc_NetShareCtr0 *ctr0; @@ -325,77 +454,555 @@ [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 ); @@ -408,61 +1015,69 @@ /* 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; [case(2)] srvsvc_NetTransportCtr2 *ctr2; @@ -470,12 +1085,14 @@ [default]; } srvsvc_NetTransportCtr; + /******************/ + /* 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 ); @@ -532,7 +1149,7 @@ [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 ); diff --git a/source4/librpc/idl/wkssvc.idl b/source4/librpc/idl/wkssvc.idl index 31e37d4759..9a92d4e3e0 100644 --- a/source4/librpc/idl/wkssvc.idl +++ b/source4/librpc/idl/wkssvc.idl @@ -21,7 +21,7 @@ unistr *domain; uint32 ver_major; uint32 ver_minor; - } wkssvc_Info100; + } wkssvc_NetWkstaInfo100; typedef struct { uint32 platform_id; @@ -30,7 +30,7 @@ uint32 ver_major; uint32 ver_minor; unistr *lan_root; - } wkssvc_Info101; + } wkssvc_NetWkstaInfo101; typedef struct { uint32 platform_id; @@ -40,7 +40,7 @@ uint32 ver_minor; unistr *lan_root; uint32 logged_on_users; - } wkssvc_Info102; + } wkssvc_NetWkstaInfo102; typedef struct { uint32 char_wait; @@ -78,25 +78,30 @@ BOOL buf_read_only_files; BOOL force_core_create_mode; BOOL use_512_byte_max_transfer; - } wkssvc_Info502; + } wkssvc_NetWkstaInfo502; typedef union { - [case(100)] wkssvc_Info100 *info100; - [case(101)] wkssvc_Info101 *info101; - [case(102)] wkssvc_Info102 *info102; - [case(502)] wkssvc_Info502 *info502; - } wkssvc_Info; + [case(100)] wkssvc_NetWkstaInfo100 *info100; + [case(101)] wkssvc_NetWkstaInfo101 *info101; + [case(102)] wkssvc_NetWkstaInfo102 *info102; + [case(502)] wkssvc_NetWkstaInfo502 *info502; + } wkssvc_NetWkstaInfo; - WERROR wkssvc_QueryInfo( + WERROR wkssvc_NetWkstaGetInfo( [in] unistr *server_name, [in] uint32 level, - [out,switch_is(level)] wkssvc_Info info + [out,switch_is(level)] wkssvc_NetWkstaInfo info ); /******************/ /* Function: 0x01 */ - WERROR wkssvc_SetInfo(); + WERROR wkssvc_NetWkstaSetInfo( + [in] unistr *server_name, + [in] uint32 level, + [in,switch_is(level)] wkssvc_NetWkstaInfo info, + [in,out] uint32 *parm_error + ); /*****************************/ /* Function 0x02 */ @@ -120,22 +125,22 @@ unistr *name; unistr *address; uint32 wan_link; - } wkssvc_TransportInfo0; + } wkssvc_NetWkstaTransportInfo0; typedef struct { uint32 count; - [size_is(count)] wkssvc_TransportInfo0 *transports; - } wkssvc_TransportInfoArray; + [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array; + } wkssvc_NetWkstaTransportCtr0; typedef union { - [case(0)] wkssvc_TransportInfoArray *array; + [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0; [default] ; - } wkssvc_TransportInfo; + } wkssvc_NetWkstaTransportCtr; - WERROR wkssvc_TransportEnum ( + WERROR wkssvc_NetWkstaTransportEnum ( [in] unistr *server_name, [in,out] uint32 level, - [in,out,switch_is(level)] wkssvc_TransportInfo info, + [in,out,switch_is(level)] wkssvc_NetWkstaTransportCtr ctr, [in] uint32 max_buffer, [out] uint32 totalentries, [in,out] uint32 *resume_handle |