1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00
Andrew Tridgell 5b03596529 fixed srvsvc DiskEnum call
strangely, the output doesn't seem to contain an info level. Some
programmer stuffed up the IDL :)
(This used to be commit a39ee5d00341e1dbde0b38474ba4d5e980e74538)
2003-12-15 10:21:09 +00:00

625 lines
12 KiB
Plaintext

#include "idl_types.h"
/*
srvsvc interface definitions
*/
[ uuid(4b324fc8-1670-01d3-1278-5a47bf6ee188),
version(3.0),
pointer_default(unique)
] interface srvsvc
{
/******************/
/* Function: 0x00 */
NTSTATUS srvsvc_NETRCHARDEVENUM(
);
/******************/
/* Function: 0x01 */
NTSTATUS srvsvc_NETRCHARDEVGETINFO(
);
/******************/
/* Function: 0x02 */
NTSTATUS srvsvc_NETRCHARDEVCONTROL(
);
/******************/
/* Function: 0x03 */
NTSTATUS srvsvc_NETRCHARDEVQENUM(
);
/******************/
/* Function: 0x04 */
NTSTATUS srvsvc_NETRCHARDEVQGETINFO(
);
/******************/
/* Function: 0x05 */
NTSTATUS srvsvc_NETRCHARDEVQSETINFO(
);
/******************/
/* Function: 0x06 */
NTSTATUS srvsvc_NETRCHARDEVQPURGE(
);
/******************/
/* Function: 0x07 */
NTSTATUS srvsvc_NETRCHARDEVQPURGESELF(
);
/******************/
/* Function: 0x08 */
typedef struct {
uint32 conn_id;
} srvsvc_NetConn0;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetConn0 *array;
} srvsvc_NetConnCtr0;
typedef struct {
uint32 conn_id;
uint32 conn_type;
uint32 num_open;
uint32 num_users;
uint32 conn_time;
unistr *user;
unistr *client;
} srvsvc_NetConn1;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetConn1 *array;
} srvsvc_NetConnCtr1;
typedef union {
[case(0)] srvsvc_NetConnCtr0 *ctr0;
[case(1)] srvsvc_NetConnCtr1 *ctr1;
[default] ;
} srvsvc_NetConnCtr;
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,out] uint32 *resume_handle
);
/******************/
/* Function: 0x09 */
typedef struct {
uint32 fid;
} srvsvc_NetFile2;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetFile2 *array;
} srvsvc_NetFileCtr2;
typedef struct {
uint32 fid;
uint32 permissions;
uint32 num_locks;
unistr *path;
unistr *user;
} srvsvc_NetFile3;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetFile3 *array;
} srvsvc_NetFileCtr3;
typedef union {
[case(2)] srvsvc_NetFileCtr2 *ctr2;
[case(3)] srvsvc_NetFileCtr3 *ctr3;
[default] ;
} srvsvc_NetFileCtr;
WERROR srvsvc_NetFileEnum(
[in] unistr *server_unc,
[in] unistr *path,
[in] unistr *user,
[in,out] uint32 level,
[in,out,switch_is(level)] srvsvc_NetFileCtr ctr,
[in] uint32 preferred_len,
[out] uint32 total,
[in,out] uint32 *resume_handle
);
/******************/
/* Function: 0x0a */
NTSTATUS srvsvc_NETRFILEGETINFO(
);
/******************/
/* Function: 0x0b */
NTSTATUS srvsvc_NET_FILE_CLOSE(
);
/******************/
/* Function: 0x0c */
typedef struct {
unistr *client;
} srvsvc_NetSess0;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetSess0 *array;
} srvsvc_NetSessCtr0;
typedef struct {
unistr *client;
unistr *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
uint32 user_flags;
} srvsvc_NetSess1;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetSess1 *array;
} srvsvc_NetSessCtr1;
typedef struct {
unistr *client;
unistr *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
uint32 user_flags;
unistr *client_type;
} srvsvc_NetSess2;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetSess2 *array;
} srvsvc_NetSessCtr2;
typedef struct {
unistr *client;
unistr *user;
uint32 time;
uint32 idle_time;
} srvsvc_NetSess10;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetSess10 *array;
} srvsvc_NetSessCtr10;
typedef struct {
unistr *client;
unistr *user;
uint32 num_open;
uint32 time;
uint32 idle_time;
uint32 user_flags;
unistr *client_type;
unistr *transport;
} srvsvc_NetSess502;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetSess502 *array;
} srvsvc_NetSessCtr502;
typedef union {
[case(0)] srvsvc_NetSessCtr0 *ctr0;
[case(1)] srvsvc_NetSessCtr1 *ctr1;
[case(2)] srvsvc_NetSessCtr2 *ctr2;
[case(10)] srvsvc_NetSessCtr10 *ctr10;
[case(502)] srvsvc_NetSessCtr502 *ctr502;
[default] ;
} srvsvc_NetSessCtr;
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,out] uint32 *resume_handle
);
/******************/
/* Function: 0x0d */
NTSTATUS srvsvc_NETRSESSIONDEL(
);
/******************/
/* Function: 0x0e */
NTSTATUS srvsvc_NET_SHARE_ADD(
);
/******************/
/* Function: 0x0f */
typedef struct {
unistr *name;
} srvsvc_NetShare0;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShare0 *array;
} srvsvc_NetShareCtr0;
typedef struct {
unistr *name;
uint32 type;
unistr *comment;
} srvsvc_NetShare1;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShare1 *array;
} srvsvc_NetShareCtr1;
typedef struct {
unistr *name;
uint32 type;
unistr *comment;
uint32 permissions;
uint32 max_users;
uint32 current_users;
unistr *path;
unistr *password;
} srvsvc_NetShare2;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShare2 *array;
} srvsvc_NetShareCtr2;
typedef struct {
unistr *name;
uint32 type;
unistr *comment;
uint32 csc_policy;
} srvsvc_NetShare501;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShare501 *array;
} srvsvc_NetShareCtr501;
typedef struct {
unistr *name;
uint32 type;
unistr *comment;
uint32 permissions;
uint32 max_users;
uint32 current_users;
unistr *path;
unistr *password;
uint32 unknown;
[subcontext(4)] security_descriptor *sd;
} srvsvc_NetShare502;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetShare502 *array;
} srvsvc_NetShareCtr502;
typedef struct {
unistr *comment;
} srvsvc_NetShare1004;
typedef union {
[case(0)] srvsvc_NetShareCtr0 *ctr0;
[case(1)] srvsvc_NetShareCtr1 *ctr1;
[case(2)] srvsvc_NetShareCtr2 *ctr2;
[case(501)] srvsvc_NetShareCtr501 *ctr501;
[case(502)] srvsvc_NetShareCtr502 *ctr502;
[default] ;
} srvsvc_NetShareCtr;
WERROR srvsvc_NetShareEnumAll (
[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
);
/******************/
/* Function: 0x10 */
NTSTATUS srvsvc_NET_SHARE_GET_INFO(
);
/******************/
/* Function: 0x11 */
NTSTATUS srvsvc_NET_SHARE_SET_INFO(
);
/******************/
/* Function: 0x12 */
NTSTATUS srvsvc_NET_SHARE_DEL(
);
/******************/
/* Function: 0x13 */
NTSTATUS srvsvc_NET_SHARE_DEL_STICKY(
);
/******************/
/* Function: 0x14 */
NTSTATUS srvsvc_NETRSHARECHECK(
);
/******************/
/* Function: 0x15 */
NTSTATUS srvsvc_NET_SRV_GET_INFO(
);
/******************/
/* Function: 0x16 */
NTSTATUS srvsvc_NET_SRV_SET_INFO(
);
/******************/
/* Function: 0x17 */
typedef struct {
uint32 unknown;
lstring disk;
uint16 unknown2;
} srvsvc_NetDisk0;
typedef struct {
uint32 unknown;
uint32 count;
[size_is(count)] srvsvc_NetDisk0 array[];
} srvsvc_NetDiskCtr0;
typedef union {
[case(0)] srvsvc_NetDiskCtr0 *ctr0;
} srvsvc_NetDiskCtr;
WERROR srvsvc_NetDiskEnum(
[in] unistr *server_unc,
[in] uint32 level,
[out] uint32 num_entries,
[in,switch_is(level)] srvsvc_NetDiskCtr ctr,
[out] srvsvc_NetDiskCtr0 *disks,
[in] uint32 unknown,
[out] uint32 max_entries,
[in,out] uint32 *resume_handle
);
/******************/
/* Function: 0x18 */
NTSTATUS srvsvc_NETRSERVERSTATISTICSGET(
);
/******************/
/* Function: 0x19 */
NTSTATUS srvsvc_NETRSERVERTRANSPORTADD(
);
/******************/
/* Function: 0x1a */
typedef struct {
uint32 count;
uint8 addr[count];
} srvsvc_TransportAddress;
typedef struct {
uint32 vcs;
unistr *name;
srvsvc_TransportAddress *addr;
uint32 addr_len;
unistr *net_addr;
} srvsvc_NetTransport0;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetTransport0 *array;
} srvsvc_NetTransportCtr0;
typedef struct {
uint32 vcs;
unistr *name;
srvsvc_TransportAddress *addr;
uint32 addr_len;
unistr *net_addr;
unistr *domain;
} srvsvc_NetTransport1;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetTransport1 *array;
} srvsvc_NetTransportCtr1;
typedef struct {
uint32 dummy;
} srvsvc_NetTransport2;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetTransport2 *array;
} srvsvc_NetTransportCtr2;
typedef struct {
uint32 dummy;
} srvsvc_NetTransport3;
typedef struct {
uint32 count;
[size_is(count)] srvsvc_NetTransport3 *array;
} srvsvc_NetTransportCtr3;
typedef union {
[case(0)] srvsvc_NetTransportCtr0 *ctr0;
[case(1)] srvsvc_NetTransportCtr1 *ctr1;
[case(2)] srvsvc_NetTransportCtr2 *ctr2;
[case(3)] srvsvc_NetTransportCtr3 *ctr3;
[default];
} srvsvc_NetTransportCtr;
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,out] uint32 *resume_handle
);
/******************/
/* Function: 0x1b */
NTSTATUS srvsvc_NETRSERVERTRANSPORTDEL(
);
/******************/
/* Function: 0x1c */
NTSTATUS srvsvc_NET_REMOTE_TOD(
);
/******************/
/* Function: 0x1d */
NTSTATUS srvsvc_NETRSERVERSETSERVICEBITS(
);
/******************/
/* Function: 0x1e */
NTSTATUS srvsvc_NETRPRPATHTYPE(
);
/******************/
/* Function: 0x1f */
NTSTATUS srvsvc_NETRPRPATHCANONICALIZE(
);
/******************/
/* Function: 0x20 */
NTSTATUS srvsvc_NETRPRPATHCOMPARE(
);
/******************/
/* Function: 0x21 */
NTSTATUS srvsvc_NET_NAME_VALIDATE(
);
/******************/
/* Function: 0x22 */
NTSTATUS srvsvc_NETRPRNAMECANONICALIZE(
);
/******************/
/* Function: 0x23 */
NTSTATUS srvsvc_NETRPRNAMECOMPARE(
);
/******************/
/* Function: 0x24 */
/* Note, there must be some way to return entries read vs
total entries ... */
WERROR srvsvc_NetShareEnum(
[in] unistr *server_unc,
[in,out] uint32 level,
[in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
[in] uint32 preferred_len,
[out] uint32 totalentries,
[in,out] uint32 *resume_handle
);
/******************/
/* Function: 0x25 */
NTSTATUS srvsvc_NETRSHAREDELSTART(
);
/******************/
/* Function: 0x26 */
NTSTATUS srvsvc_NETRSHAREDELCOMMIT(
);
/******************/
/* Function: 0x27 */
NTSTATUS srvsvc_NET_FILE_QUERY_SECDESC(
);
/******************/
/* Function: 0x28 */
NTSTATUS srvsvc_NET_FILE_SET_SECDESC(
);
/******************/
/* Function: 0x29 */
NTSTATUS srvsvc_NETRSERVERTRANSPORTADDEX(
);
/******************/
/* Function: 0x2a */
NTSTATUS srvsvc_NETRSERVERSETSERVICEBITSEX(
);
/******************/
/* Function: 0x2b */
NTSTATUS srvsvc_NETRDFSGETVERSION(
);
/******************/
/* Function: 0x2c */
NTSTATUS srvsvc_NETRDFSCREATELOCALPARTITION(
);
/******************/
/* Function: 0x2d */
NTSTATUS srvsvc_NETRDFSDELETELOCALPARTITION(
);
/******************/
/* Function: 0x2e */
NTSTATUS srvsvc_NETRDFSSETLOCALVOLUMESTATE(
);
/******************/
/* Function: 0x2f */
NTSTATUS srvsvc_NETRDFSSETSERVERINFO(
);
/******************/
/* Function: 0x30 */
NTSTATUS srvsvc_NETRDFSCREATEEXITPOINT(
);
/******************/
/* Function: 0x31 */
NTSTATUS srvsvc_NETRDFSDELETEEXITPOINT(
);
/******************/
/* Function: 0x32 */
NTSTATUS srvsvc_NETRDFSMODIFYPREFIX(
);
/******************/
/* Function: 0x33 */
NTSTATUS srvsvc_NETRDFSFIXLOCALVOLUME(
);
/******************/
/* Function: 0x34 */
NTSTATUS srvsvc_NETRDFSMANAGERREPORTSITEINFO(
);
/******************/
/* Function: 0x35 */
NTSTATUS srvsvc_NETRSERVERTRANSPORTDELEX(
);
}