summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-10-31 02:49:43 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-10-31 02:49:43 +0100
commitf6c3710d4127c7c2ab63578117048c2a18ee2d64 (patch)
tree4b4f62b139a8e38aeec6fd03ff65b38a2e9017ba /source3
parent9bcd5720cffe77a7095195af9932e755507a91c4 (diff)
parent569fda3173219384ee3cfd30cbc49d5bee1138c6 (diff)
downloadsamba-f6c3710d4127c7c2ab63578117048c2a18ee2d64.tar.gz
samba-f6c3710d4127c7c2ab63578117048c2a18ee2d64.tar.bz2
samba-f6c3710d4127c7c2ab63578117048c2a18ee2d64.zip
Merge branch 'master' of git://git.samba.org/samba
Diffstat (limited to 'source3')
-rw-r--r--source3/Makefile.in2
-rw-r--r--source3/librpc/gen_ndr/cli_srvsvc.c33
-rw-r--r--source3/librpc/gen_ndr/cli_srvsvc.h15
-rw-r--r--source3/librpc/gen_ndr/ndr_srvsvc.c405
-rw-r--r--source3/librpc/gen_ndr/ndr_srvsvc.h3
-rw-r--r--source3/librpc/gen_ndr/srv_srvsvc.c9
-rw-r--r--source3/librpc/gen_ndr/srvsvc.h45
-rw-r--r--source3/librpc/idl/srvsvc.idl1524
8 files changed, 273 insertions, 1763 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 6bd72f8f0a..eae7dad7a6 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -1216,7 +1216,7 @@ samba3-idl::
@PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh ../librpc/idl/lsa.idl \
../librpc/idl/dfs.idl ../librpc/idl/echo.idl ../librpc/idl/winreg.idl \
- ../librpc/idl/initshutdown.idl librpc/idl/srvsvc.idl ../librpc/idl/svcctl.idl \
+ ../librpc/idl/initshutdown.idl ../librpc/idl/srvsvc.idl ../librpc/idl/svcctl.idl \
../librpc/idl/eventlog.idl ../librpc/idl/wkssvc.idl ../librpc/idl/netlogon.idl \
../librpc/idl/notify.idl ../librpc/idl/epmapper.idl librpc/idl/messaging.idl \
../librpc/idl/xattr.idl ../librpc/idl/misc.idl librpc/idl/samr.idl \
diff --git a/source3/librpc/gen_ndr/cli_srvsvc.c b/source3/librpc/gen_ndr/cli_srvsvc.c
index fbf981365c..eb81652a1d 100644
--- a/source3/librpc/gen_ndr/cli_srvsvc.c
+++ b/source3/librpc/gen_ndr/cli_srvsvc.c
@@ -9,8 +9,7 @@
NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetCharDevCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -21,8 +20,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
/* In parameters */
r.in.server_unc = server_unc;
- r.in.level = level;
- r.in.ctr = ctr;
+ r.in.info_ctr = info_ctr;
r.in.max_buffer = max_buffer;
r.in.resume_handle = resume_handle;
@@ -49,8 +47,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
}
/* Return variables */
- *level = *r.out.level;
- *ctr = *r.out.ctr;
+ *info_ctr = *r.out.info_ctr;
*totalentries = *r.out.totalentries;
if (resume_handle && r.out.resume_handle) {
*resume_handle = *r.out.resume_handle;
@@ -164,8 +161,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
const char *user /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetCharDevQCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -177,8 +173,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
/* In parameters */
r.in.server_unc = server_unc;
r.in.user = user;
- r.in.level = level;
- r.in.ctr = ctr;
+ r.in.info_ctr = info_ctr;
r.in.max_buffer = max_buffer;
r.in.resume_handle = resume_handle;
@@ -205,8 +200,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
}
/* Return variables */
- *level = *r.out.level;
- *ctr = *r.out.ctr;
+ *info_ctr = *r.out.info_ctr;
*totalentries = *r.out.totalentries;
if (resume_handle && r.out.resume_handle) {
*resume_handle = *r.out.resume_handle;
@@ -1246,7 +1240,7 @@ NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli,
const char *service /* [in] [unique,charset(UTF16)] */,
uint32_t level /* [in] */,
uint32_t options /* [in] */,
- struct srvsvc_Statistics *stats /* [out] [ref] */,
+ struct srvsvc_Statistics **stats /* [out] [ref] */,
WERROR *werror)
{
struct srvsvc_NetServerStatisticsGet r;
@@ -1341,8 +1335,7 @@ NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetTransportCtr *transports /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -1353,7 +1346,6 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
/* In parameters */
r.in.server_unc = server_unc;
- r.in.level = level;
r.in.transports = transports;
r.in.max_buffer = max_buffer;
r.in.resume_handle = resume_handle;
@@ -1381,7 +1373,6 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
}
/* Return variables */
- *level = *r.out.level;
*transports = *r.out.transports;
*totalentries = *r.out.totalentries;
if (resume_handle && r.out.resume_handle) {
@@ -1399,8 +1390,8 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t unknown /* [in] */,
- struct srvsvc_NetTransportInfo0 transport /* [in] */,
+ uint32_t level /* [in] */,
+ struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */,
WERROR *werror)
{
struct srvsvc_NetTransportDel r;
@@ -1408,8 +1399,8 @@ NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
/* In parameters */
r.in.server_unc = server_unc;
- r.in.unknown = unknown;
- r.in.transport = transport;
+ r.in.level = level;
+ r.in.info0 = info0;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, &r);
diff --git a/source3/librpc/gen_ndr/cli_srvsvc.h b/source3/librpc/gen_ndr/cli_srvsvc.h
index 4ab4734de5..44b50e7d19 100644
--- a/source3/librpc/gen_ndr/cli_srvsvc.h
+++ b/source3/librpc/gen_ndr/cli_srvsvc.h
@@ -4,8 +4,7 @@
NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetCharDevCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -27,8 +26,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
const char *user /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetCharDevQCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -183,7 +181,7 @@ NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli,
const char *service /* [in] [unique,charset(UTF16)] */,
uint32_t level /* [in] */,
uint32_t options /* [in] */,
- struct srvsvc_Statistics *stats /* [out] [ref] */,
+ struct srvsvc_Statistics **stats /* [out] [ref] */,
WERROR *werror);
NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
@@ -194,8 +192,7 @@ NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t *level /* [in,out] [ref] */,
- union srvsvc_NetTransportCtr *transports /* [in,out] [ref,switch_is(*level)] */,
+ struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */,
uint32_t max_buffer /* [in] */,
uint32_t *totalentries /* [out] [ref] */,
uint32_t *resume_handle /* [in,out] [unique] */,
@@ -203,8 +200,8 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_unc /* [in] [unique,charset(UTF16)] */,
- uint32_t unknown /* [in] */,
- struct srvsvc_NetTransportInfo0 transport /* [in] */,
+ uint32_t level /* [in] */,
+ struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */,
WERROR *werror);
NTSTATUS rpccli_srvsvc_NetRemoteTOD(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
diff --git a/source3/librpc/gen_ndr/ndr_srvsvc.c b/source3/librpc/gen_ndr/ndr_srvsvc.c
index 36c3dbe256..6017202133 100644
--- a/source3/librpc/gen_ndr/ndr_srvsvc.c
+++ b/source3/librpc/gen_ndr/ndr_srvsvc.c
@@ -612,6 +612,44 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr(struct ndr_print *ndr, const char *
}
}
+static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
+ NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfoCtr *r)
+{
+ ndr_print_struct(ndr, name, "srvsvc_NetCharDevInfoCtr");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "level", r->level);
+ ndr_print_set_switch_value(ndr, &r->ctr, r->level);
+ ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", &r->ctr);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfo0 *r)
{
if (ndr_flags & NDR_SCALARS) {
@@ -1222,6 +1260,44 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr(struct ndr_print *ndr, const char
}
}
+static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
+ NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfoCtr *r)
+{
+ ndr_print_struct(ndr, name, "srvsvc_NetCharDevQInfoCtr");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "level", r->level);
+ ndr_print_set_switch_value(ndr, &r->ctr, r->level);
+ ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", &r->ctr);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_srvsvc_NetConnInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnInfo0 *r)
{
if (ndr_flags & NDR_SCALARS) {
@@ -6629,6 +6705,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo402(struct ndr_push *ndr, int
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks));
@@ -6703,6 +6780,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks));
@@ -6794,6 +6872,7 @@ _PUBLIC_ void ndr_print_srvsvc_NetSrvInfo402(struct ndr_print *ndr, const char *
ndr_print_uint32(ndr, "sessreqs", r->sessreqs);
ndr_print_uint32(ndr, "opensearch", r->opensearch);
ndr_print_uint32(ndr, "activelocks", r->activelocks);
+ ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs);
ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs);
ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs);
ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks);
@@ -6836,6 +6915,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo403(struct ndr_push *ndr, int
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks));
@@ -6921,6 +7001,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks));
@@ -7032,6 +7113,7 @@ _PUBLIC_ void ndr_print_srvsvc_NetSrvInfo403(struct ndr_print *ndr, const char *
ndr_print_uint32(ndr, "sessreqs", r->sessreqs);
ndr_print_uint32(ndr, "opensearch", r->opensearch);
ndr_print_uint32(ndr, "activelocks", r->activelocks);
+ ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs);
ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs);
ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs);
ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks);
@@ -11470,12 +11552,9 @@ static enum ndr_err_code ndr_push_srvsvc_NetDiskInfo0(struct ndr_push *ndr, int
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_LEN4);
- NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->disk));
- ndr->flags = _flags_save_string;
- }
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->disk) + 1));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->disk, strlen(r->disk) + 1, sizeof(uint16_t), CH_UTF16));
}
if (ndr_flags & NDR_BUFFERS) {
}
@@ -11486,12 +11565,9 @@ static enum ndr_err_code ndr_pull_srvsvc_NetDiskInfo0(struct ndr_pull *ndr, int
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_LEN4);
- NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->disk));
- ndr->flags = _flags_save_string;
- }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__disk_offset));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->__disk_length));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->disk, r->__disk_length, sizeof(uint16_t), CH_UTF16));
}
if (ndr_flags & NDR_BUFFERS) {
}
@@ -11502,6 +11578,8 @@ _PUBLIC_ void ndr_print_srvsvc_NetDiskInfo0(struct ndr_print *ndr, const char *n
{
ndr_print_struct(ndr, name, "srvsvc_NetDiskInfo0");
ndr->depth++;
+ ndr_print_uint32(ndr, "__disk_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->__disk_offset);
+ ndr_print_uint32(ndr, "__disk_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->disk) + 1:r->__disk_length);
ndr_print_string(ndr, "disk", r->disk);
ndr->depth--;
}
@@ -12860,6 +12938,44 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportCtr(struct ndr_print *ndr, const char
}
}
+static enum ndr_err_code ndr_push_srvsvc_NetTransportInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetTransportInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
+ NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_srvsvc_NetTransportInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetTransportInfoCtr *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS, &r->ctr));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_BUFFERS, &r->ctr));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_srvsvc_NetTransportInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfoCtr *r)
+{
+ ndr_print_struct(ndr, name, "srvsvc_NetTransportInfoCtr");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "level", r->level);
+ ndr_print_set_switch_value(ndr, &r->ctr, r->level);
+ ndr_print_srvsvc_NetTransportCtr(ndr, "ctr", &r->ctr);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_srvsvc_NetRemoteTODInfo(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetRemoteTODInfo *r)
{
if (ndr_flags & NDR_SCALARS) {
@@ -13068,15 +13184,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, in
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->in.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
- if (r->in.ctr == NULL) {
+ if (r->in.info_ctr == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
- NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
if (r->in.resume_handle) {
@@ -13084,15 +13195,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevEnum(struct ndr_push *ndr, in
}
}
if (flags & NDR_OUT) {
- if (r->out.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
- if (r->out.ctr == NULL) {
+ if (r->out.info_ctr == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
- NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr));
if (r->out.totalentries == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
@@ -13111,8 +13217,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, in
uint32_t _ptr_server_unc;
uint32_t _ptr_resume_handle;
TALLOC_CTX *_mem_save_server_unc_0;
- TALLOC_CTX *_mem_save_level_0;
- TALLOC_CTX *_mem_save_ctr_0;
+ TALLOC_CTX *_mem_save_info_ctr_0;
TALLOC_CTX *_mem_save_totalentries_0;
TALLOC_CTX *_mem_save_resume_handle_0;
if (flags & NDR_IN) {
@@ -13137,20 +13242,12 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, in
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
}
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->in.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->in.ctr);
+ NDR_PULL_ALLOC(ndr, r->in.info_ctr);
}
- _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
- NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
+ _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer));
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
if (_ptr_resume_handle) {
@@ -13164,29 +13261,19 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevEnum(struct ndr_pull *ndr, in
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
}
- NDR_PULL_ALLOC(ndr, r->out.level);
- *r->out.level = *r->in.level;
- NDR_PULL_ALLOC(ndr, r->out.ctr);
- *r->out.ctr = *r->in.ctr;
+ NDR_PULL_ALLOC(ndr, r->out.info_ctr);
+ *r->out.info_ctr = *r->in.info_ctr;
NDR_PULL_ALLOC(ndr, r->out.totalentries);
ZERO_STRUCTP(r->out.totalentries);
}
if (flags & NDR_OUT) {
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.ctr);
+ NDR_PULL_ALLOC(ndr, r->out.info_ctr);
}
- _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
- NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
+ _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.totalentries);
}
@@ -13227,14 +13314,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char
ndr_print_string(ndr, "server_unc", r->in.server_unc);
}
ndr->depth--;
- ndr_print_ptr(ndr, "level", r->in.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->in.level);
- ndr->depth--;
- ndr_print_ptr(ndr, "ctr", r->in.ctr);
+ ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
- ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", r->in.ctr);
+ ndr_print_srvsvc_NetCharDevInfoCtr(ndr, "info_ctr", r->in.info_ctr);
ndr->depth--;
ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer);
ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
@@ -13248,14 +13330,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "srvsvc_NetCharDevEnum");
ndr->depth++;
- ndr_print_ptr(ndr, "level", r->out.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->out.level);
- ndr->depth--;
- ndr_print_ptr(ndr, "ctr", r->out.ctr);
+ ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
- ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", r->out.ctr);
+ ndr_print_srvsvc_NetCharDevInfoCtr(ndr, "info_ctr", r->out.info_ctr);
ndr->depth--;
ndr_print_ptr(ndr, "totalentries", r->out.totalentries);
ndr->depth++;
@@ -13491,15 +13568,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, i
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.user, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.user, ndr_charset_length(r->in.user, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->in.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
- if (r->in.ctr == NULL) {
+ if (r->in.info_ctr == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.ctr, *r->in.level));
- NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
if (r->in.resume_handle) {
@@ -13507,15 +13579,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetCharDevQEnum(struct ndr_push *ndr, i
}
}
if (flags & NDR_OUT) {
- if (r->out.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
- if (r->out.ctr == NULL) {
+ if (r->out.info_ctr == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.ctr, *r->out.level));
- NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
+ NDR_CHECK(ndr_push_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr));
if (r->out.totalentries == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
@@ -13536,8 +13603,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, i
uint32_t _ptr_resume_handle;
TALLOC_CTX *_mem_save_server_unc_0;
TALLOC_CTX *_mem_save_user_0;
- TALLOC_CTX *_mem_save_level_0;
- TALLOC_CTX *_mem_save_ctr_0;
+ TALLOC_CTX *_mem_save_info_ctr_0;
TALLOC_CTX *_mem_save_totalentries_0;
TALLOC_CTX *_mem_save_resume_handle_0;
if (flags & NDR_IN) {
@@ -13580,20 +13646,12 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, i
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_0, 0);
}
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->in.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->in.ctr);
+ NDR_PULL_ALLOC(ndr, r->in.info_ctr);
}
- _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->in.ctr, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.ctr, *r->in.level));
- NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.ctr));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
+ _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.info_ctr, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info_ctr));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer));
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
if (_ptr_resume_handle) {
@@ -13607,29 +13665,19 @@ static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQEnum(struct ndr_pull *ndr, i
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
}
- NDR_PULL_ALLOC(ndr, r->out.level);
- *r->out.level = *r->in.level;
- NDR_PULL_ALLOC(ndr, r->out.ctr);
- *r->out.ctr = *r->in.ctr;
+ NDR_PULL_ALLOC(ndr, r->out.info_ctr);
+ *r->out.info_ctr = *r->in.info_ctr;
NDR_PULL_ALLOC(ndr, r->out.totalentries);
ZERO_STRUCTP(r->out.totalentries);
}
if (flags & NDR_OUT) {
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.ctr);
+ NDR_PULL_ALLOC(ndr, r->out.info_ctr);
}
- _mem_save_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.ctr, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.ctr, *r->out.level));
- NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.ctr));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctr_0, LIBNDR_FLAG_REF_ALLOC);
+ _mem_save_info_ctr_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.info_ctr, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_srvsvc_NetCharDevQInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info_ctr));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_ctr_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.totalentries);
}
@@ -13676,14 +13724,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char
ndr_print_string(ndr, "user", r->in.user);
}
ndr->depth--;
- ndr_print_ptr(ndr, "level", r->in.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->in.level);
- ndr->depth--;
- ndr_print_ptr(ndr, "ctr", r->in.ctr);
+ ndr_print_ptr(ndr, "info_ctr", r->in.info_ctr);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->in.ctr, *r->in.level);
- ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", r->in.ctr);
+ ndr_print_srvsvc_NetCharDevQInfoCtr(ndr, "info_ctr", r->in.info_ctr);
ndr->depth--;
ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer);
ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
@@ -13697,14 +13740,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQEnum(struct ndr_print *ndr, const char
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "srvsvc_NetCharDevQEnum");
ndr->depth++;
- ndr_print_ptr(ndr, "level", r->out.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->out.level);
- ndr->depth--;
- ndr_print_ptr(ndr, "ctr", r->out.ctr);
+ ndr_print_ptr(ndr, "info_ctr", r->out.info_ctr);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->out.ctr, *r->out.level);
- ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", r->out.ctr);
+ ndr_print_srvsvc_NetCharDevQInfoCtr(ndr, "info_ctr", r->out.info_ctr);
ndr->depth--;
ndr_print_ptr(ndr, "totalentries", r->out.totalentries);
ndr->depth++;
@@ -16505,7 +16543,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetServerStatisticsGet(struct ndr_push
if (r->out.stats == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stats));
+ NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.stats));
+ if (*r->out.stats) {
+ NDR_CHECK(ndr_push_srvsvc_Statistics(ndr, NDR_SCALARS, *r->out.stats));
+ }
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
}
return NDR_ERR_SUCCESS;
@@ -16515,9 +16556,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull
{
uint32_t _ptr_server_unc;
uint32_t _ptr_service;
+ uint32_t _ptr_stats;
TALLOC_CTX *_mem_save_server_unc_0;
TALLOC_CTX *_mem_save_service_0;
TALLOC_CTX *_mem_save_stats_0;
+ TALLOC_CTX *_mem_save_stats_1;
if (flags & NDR_IN) {
ZERO_STRUCT(r->out);
@@ -16568,7 +16611,18 @@ static enum ndr_err_code ndr_pull_srvsvc_NetServerStatisticsGet(struct ndr_pull
}
_mem_save_stats_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.stats, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_srvsvc_Statistics(ndr, NDR_SCALARS, r->out.stats));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_stats));
+ if (_ptr_stats) {
+ NDR_PULL_ALLOC(ndr, *r->out.stats);
+ } else {
+ *r->out.stats = NULL;
+ }
+ if (*r->out.stats) {
+ _mem_save_stats_1 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, *r->out.stats, 0);
+ NDR_CHECK(ndr_pull_srvsvc_Statistics(ndr, NDR_SCALARS, *r->out.stats));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stats_1, 0);
+ }
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stats_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
}
@@ -16606,7 +16660,12 @@ _PUBLIC_ void ndr_print_srvsvc_NetServerStatisticsGet(struct ndr_print *ndr, con
ndr->depth++;
ndr_print_ptr(ndr, "stats", r->out.stats);
ndr->depth++;
- ndr_print_srvsvc_Statistics(ndr, "stats", r->out.stats);
+ ndr_print_ptr(ndr, "stats", *r->out.stats);
+ ndr->depth++;
+ if (*r->out.stats) {
+ ndr_print_srvsvc_Statistics(ndr, "stats", *r->out.stats);
+ }
+ ndr->depth--;
ndr->depth--;
ndr_print_WERROR(ndr, "result", r->out.result);
ndr->depth--;
@@ -16707,15 +16766,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr,
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->in.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.level));
if (r->in.transports == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.transports, *r->in.level));
- NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
+ NDR_CHECK(ndr_push_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_buffer));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.resume_handle));
if (r->in.resume_handle) {
@@ -16723,15 +16777,10 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportEnum(struct ndr_push *ndr,
}
}
if (flags & NDR_OUT) {
- if (r->out.level == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level));
if (r->out.transports == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.transports, *r->out.level));
- NDR_CHECK(ndr_push_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
+ NDR_CHECK(ndr_push_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
if (r->out.totalentries == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
@@ -16750,7 +16799,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr,
uint32_t _ptr_server_unc;
uint32_t _ptr_resume_handle;
TALLOC_CTX *_mem_save_server_unc_0;
- TALLOC_CTX *_mem_save_level_0;
TALLOC_CTX *_mem_save_transports_0;
TALLOC_CTX *_mem_save_totalentries_0;
TALLOC_CTX *_mem_save_resume_handle_0;
@@ -16776,19 +16824,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr,
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
}
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->in.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.transports);
}
_mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->in.transports, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.transports, *r->in.level));
- NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.transports));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_buffer));
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_resume_handle));
@@ -16803,8 +16843,6 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr,
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, 0);
}
- NDR_PULL_ALLOC(ndr, r->out.level);
- *r->out.level = *r->in.level;
NDR_PULL_ALLOC(ndr, r->out.transports);
*r->out.transports = *r->in.transports;
NDR_PULL_ALLOC(ndr, r->out.totalentries);
@@ -16812,19 +16850,11 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportEnum(struct ndr_pull *ndr,
}
if (flags & NDR_OUT) {
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.level);
- }
- _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.transports);
}
_mem_save_transports_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.transports, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.transports, *r->out.level));
- NDR_CHECK(ndr_pull_srvsvc_NetTransportCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfoCtr(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.transports));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transports_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.totalentries);
@@ -16866,14 +16896,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const cha
ndr_print_string(ndr, "server_unc", r->in.server_unc);
}
ndr->depth--;
- ndr_print_ptr(ndr, "level", r->in.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->in.level);
- ndr->depth--;
ndr_print_ptr(ndr, "transports", r->in.transports);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->in.transports, *r->in.level);
- ndr_print_srvsvc_NetTransportCtr(ndr, "transports", r->in.transports);
+ ndr_print_srvsvc_NetTransportInfoCtr(ndr, "transports", r->in.transports);
ndr->depth--;
ndr_print_uint32(ndr, "max_buffer", r->in.max_buffer);
ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
@@ -16887,14 +16912,9 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportEnum(struct ndr_print *ndr, const cha
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "srvsvc_NetTransportEnum");
ndr->depth++;
- ndr_print_ptr(ndr, "level", r->out.level);
- ndr->depth++;
- ndr_print_uint32(ndr, "level", *r->out.level);
- ndr->depth--;
ndr_print_ptr(ndr, "transports", r->out.transports);
ndr->depth++;
- ndr_print_set_switch_value(ndr, r->out.transports, *r->out.level);
- ndr_print_srvsvc_NetTransportCtr(ndr, "transports", r->out.transports);
+ ndr_print_srvsvc_NetTransportInfoCtr(ndr, "transports", r->out.transports);
ndr->depth--;
ndr_print_ptr(ndr, "totalentries", r->out.totalentries);
ndr->depth++;
@@ -16922,8 +16942,11 @@ static enum ndr_err_code ndr_push_srvsvc_NetTransportDel(struct ndr_push *ndr, i
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_unc, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_unc, ndr_charset_length(r->in.server_unc, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
- NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.transport));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
+ if (r->in.info0 == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
@@ -16935,6 +16958,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportDel(struct ndr_pull *ndr, i
{
uint32_t _ptr_server_unc;
TALLOC_CTX *_mem_save_server_unc_0;
+ TALLOC_CTX *_mem_save_info0_0;
if (flags & NDR_IN) {
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_unc));
if (_ptr_server_unc) {
@@ -16954,8 +16978,14 @@ static enum ndr_err_code ndr_pull_srvsvc_NetTransportDel(struct ndr_pull *ndr, i
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_unc, ndr_get_array_length(ndr, &r->in.server_unc), sizeof(uint16_t), CH_UTF16));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_unc_0, 0);
}
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
- NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.transport));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.info0);
+ }
+ _mem_save_info0_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.info0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_srvsvc_NetTransportInfo0(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info0));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info0_0, LIBNDR_FLAG_REF_ALLOC);
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
@@ -16979,8 +17009,11 @@ _PUBLIC_ void ndr_print_srvsvc_NetTransportDel(struct ndr_print *ndr, const char
ndr_print_string(ndr, "server_unc", r->in.server_unc);
}
ndr->depth--;
- ndr_print_uint32(ndr, "unknown", r->in.unknown);
- ndr_print_srvsvc_NetTransportInfo0(ndr, "transport", &r->in.transport);
+ ndr_print_uint32(ndr, "level", r->in.level);
+ ndr_print_ptr(ndr, "info0", r->in.info0);
+ ndr->depth++;
+ ndr_print_srvsvc_NetTransportInfo0(ndr, "info0", r->in.info0);
+ ndr->depth--;
ndr->depth--;
}
if (flags & NDR_OUT) {
diff --git a/source3/librpc/gen_ndr/ndr_srvsvc.h b/source3/librpc/gen_ndr/ndr_srvsvc.h
index 8a29469ec5..33569d1870 100644
--- a/source3/librpc/gen_ndr/ndr_srvsvc.h
+++ b/source3/librpc/gen_ndr/ndr_srvsvc.h
@@ -126,12 +126,14 @@ void ndr_print_srvsvc_NetCharDevInfo1(struct ndr_print *ndr, const char *name, c
void ndr_print_srvsvc_NetCharDevCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevCtr1 *r);
void ndr_print_srvsvc_NetCharDevInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevInfo *r);
void ndr_print_srvsvc_NetCharDevCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevCtr *r);
+void ndr_print_srvsvc_NetCharDevInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfoCtr *r);
void ndr_print_srvsvc_NetCharDevQInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo0 *r);
void ndr_print_srvsvc_NetCharDevQCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr0 *r);
void ndr_print_srvsvc_NetCharDevQInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfo1 *r);
void ndr_print_srvsvc_NetCharDevQCtr1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQCtr1 *r);
void ndr_print_srvsvc_NetCharDevQInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQInfo *r);
void ndr_print_srvsvc_NetCharDevQCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetCharDevQCtr *r);
+void ndr_print_srvsvc_NetCharDevQInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfoCtr *r);
void ndr_print_srvsvc_NetConnInfo0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo0 *r);
void ndr_print_srvsvc_NetConnCtr0(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnCtr0 *r);
void ndr_print_srvsvc_NetConnInfo1(struct ndr_print *ndr, const char *name, const struct srvsvc_NetConnInfo1 *r);
@@ -256,6 +258,7 @@ void ndr_print_srvsvc_NetTransportCtr2(struct ndr_print *ndr, const char *name,
void ndr_print_srvsvc_NetTransportInfo3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfo3 *r);
void ndr_print_srvsvc_NetTransportCtr3(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportCtr3 *r);
void ndr_print_srvsvc_NetTransportCtr(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportCtr *r);
+void ndr_print_srvsvc_NetTransportInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetTransportInfoCtr *r);
void ndr_print_srvsvc_NetRemoteTODInfo(struct ndr_print *ndr, const char *name, const struct srvsvc_NetRemoteTODInfo *r);
void ndr_print_srvsvc_NetTransportInfo(struct ndr_print *ndr, const char *name, const union srvsvc_NetTransportInfo *r);
void ndr_print_srvsvc_NetCharDevEnum(struct ndr_print *ndr, const char *name, int flags, const struct srvsvc_NetCharDevEnum *r);
diff --git a/source3/librpc/gen_ndr/srv_srvsvc.c b/source3/librpc/gen_ndr/srv_srvsvc.c
index 57d5239971..f995930b89 100644
--- a/source3/librpc/gen_ndr/srv_srvsvc.c
+++ b/source3/librpc/gen_ndr/srv_srvsvc.c
@@ -45,8 +45,7 @@ static bool api_srvsvc_NetCharDevEnum(pipes_struct *p)
}
ZERO_STRUCT(r->out);
- r->out.level = r->in.level;
- r->out.ctr = r->in.ctr;
+ r->out.info_ctr = r->in.info_ctr;
r->out.totalentries = talloc_zero(r, uint32_t);
if (r->out.totalentries == NULL) {
talloc_free(r);
@@ -281,8 +280,7 @@ static bool api_srvsvc_NetCharDevQEnum(pipes_struct *p)
}
ZERO_STRUCT(r->out);
- r->out.level = r->in.level;
- r->out.ctr = r->in.ctr;
+ r->out.info_ctr = r->in.info_ctr;
r->out.totalentries = talloc_zero(r, uint32_t);
if (r->out.totalentries == NULL) {
talloc_free(r);
@@ -1912,7 +1910,7 @@ static bool api_srvsvc_NetServerStatisticsGet(pipes_struct *p)
}
ZERO_STRUCT(r->out);
- r->out.stats = talloc_zero(r, struct srvsvc_Statistics);
+ r->out.stats = talloc_zero(r, struct srvsvc_Statistics *);
if (r->out.stats == NULL) {
talloc_free(r);
return false;
@@ -2065,7 +2063,6 @@ static bool api_srvsvc_NetTransportEnum(pipes_struct *p)
}
ZERO_STRUCT(r->out);
- r->out.level = r->in.level;
r->out.transports = r->in.transports;
r->out.totalentries = talloc_zero(r, uint32_t);
if (r->out.totalentries == NULL) {
diff --git a/source3/librpc/gen_ndr/srvsvc.h b/source3/librpc/gen_ndr/srvsvc.h
index 8a2bbfb0a7..9125d0ae70 100644
--- a/source3/librpc/gen_ndr/srvsvc.h
+++ b/source3/librpc/gen_ndr/srvsvc.h
@@ -42,6 +42,11 @@ union srvsvc_NetCharDevCtr {
struct srvsvc_NetCharDevCtr1 *ctr1;/* [unique,case] */
};
+struct srvsvc_NetCharDevInfoCtr {
+ uint32_t level;
+ union srvsvc_NetCharDevCtr ctr;/* [switch_is(level)] */
+};
+
struct srvsvc_NetCharDevQInfo0 {
const char *device;/* [unique,charset(UTF16)] */
};
@@ -74,6 +79,11 @@ union srvsvc_NetCharDevQCtr {
struct srvsvc_NetCharDevQCtr1 *ctr1;/* [unique,case] */
};
+struct srvsvc_NetCharDevQInfoCtr {
+ uint32_t level;
+ union srvsvc_NetCharDevQCtr ctr;/* [switch_is(level)] */
+};
+
struct srvsvc_NetConnInfo0 {
uint32_t conn_id;
};
@@ -468,6 +478,7 @@ struct srvsvc_NetSrvInfo402 {
uint32_t sessreqs;
uint32_t opensearch;
uint32_t activelocks;
+ uint32_t numreqbufs;
uint32_t sizereqbufs;
uint32_t numbigbufs;
uint32_t numfiletasks;
@@ -501,6 +512,7 @@ struct srvsvc_NetSrvInfo403 {
uint32_t sessreqs;
uint32_t opensearch;
uint32_t activelocks;
+ uint32_t numreqbufs;
uint32_t sizereqbufs;
uint32_t numbigbufs;
uint32_t numfiletasks;
@@ -908,7 +920,9 @@ union srvsvc_NetSrvInfo {
};
struct srvsvc_NetDiskInfo0 {
- const char * disk;/* [flag(LIBNDR_FLAG_STR_LEN4)] */
+ uint32_t __disk_offset;/* [value(0)] */
+ uint32_t __disk_length;/* [value(strlen(disk)+1)] */
+ const char *disk;/* [charset(UTF16)] */
};
struct srvsvc_NetDiskInfo {
@@ -1002,6 +1016,11 @@ union srvsvc_NetTransportCtr {
struct srvsvc_NetTransportCtr3 *ctr3;/* [unique,case(3)] */
};
+struct srvsvc_NetTransportInfoCtr {
+ uint32_t level;
+ union srvsvc_NetTransportCtr ctr;/* [switch_is(level)] */
+};
+
struct srvsvc_NetRemoteTODInfo {
uint32_t elapsed;
uint32_t msecs;
@@ -1029,15 +1048,13 @@ struct srvsvc_NetCharDevEnum {
struct {
const char *server_unc;/* [unique,charset(UTF16)] */
uint32_t max_buffer;
- uint32_t *level;/* [ref] */
- union srvsvc_NetCharDevCtr *ctr;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */
uint32_t *resume_handle;/* [unique] */
} in;
struct {
uint32_t *totalentries;/* [ref] */
- uint32_t *level;/* [ref] */
- union srvsvc_NetCharDevCtr *ctr;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */
uint32_t *resume_handle;/* [unique] */
WERROR result;
} out;
@@ -1079,15 +1096,13 @@ struct srvsvc_NetCharDevQEnum {
const char *server_unc;/* [unique,charset(UTF16)] */
const char *user;/* [unique,charset(UTF16)] */
uint32_t max_buffer;
- uint32_t *level;/* [ref] */
- union srvsvc_NetCharDevQCtr *ctr;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */
uint32_t *resume_handle;/* [unique] */
} in;
struct {
uint32_t *totalentries;/* [ref] */
- uint32_t *level;/* [ref] */
- union srvsvc_NetCharDevQCtr *ctr;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */
uint32_t *resume_handle;/* [unique] */
WERROR result;
} out;
@@ -1422,7 +1437,7 @@ struct srvsvc_NetServerStatisticsGet {
} in;
struct {
- struct srvsvc_Statistics *stats;/* [ref] */
+ struct srvsvc_Statistics **stats;/* [ref] */
WERROR result;
} out;
@@ -1447,15 +1462,13 @@ struct srvsvc_NetTransportEnum {
struct {
const char *server_unc;/* [unique,charset(UTF16)] */
uint32_t max_buffer;
- uint32_t *level;/* [ref] */
- union srvsvc_NetTransportCtr *transports;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */
uint32_t *resume_handle;/* [unique] */
} in;
struct {
uint32_t *totalentries;/* [ref] */
- uint32_t *level;/* [ref] */
- union srvsvc_NetTransportCtr *transports;/* [ref,switch_is(*level)] */
+ struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */
uint32_t *resume_handle;/* [unique] */
WERROR result;
} out;
@@ -1466,8 +1479,8 @@ struct srvsvc_NetTransportEnum {
struct srvsvc_NetTransportDel {
struct {
const char *server_unc;/* [unique,charset(UTF16)] */
- uint32_t unknown;
- struct srvsvc_NetTransportInfo0 transport;
+ uint32_t level;
+ struct srvsvc_NetTransportInfo0 *info0;/* [ref] */
} in;
struct {
diff --git a/source3/librpc/idl/srvsvc.idl b/source3/librpc/idl/srvsvc.idl
deleted file mode 100644
index 39d72b73da..0000000000
--- a/source3/librpc/idl/srvsvc.idl
+++ /dev/null
@@ -1,1524 +0,0 @@
-#include "idl_types.h"
-
-/*
- srvsvc interface definitions
-*/
-import "security.idl", "svcctl.idl";
-
-[ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
- version(3.0),
- endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
- pointer_default(unique),
- helpstring("Server Service")
-] interface srvsvc
-{
- typedef bitmap svcctl_ServerType svcctl_ServerType;
- typedef bitmap security_secinfo security_secinfo;
-
-/**************************/
-/* srvsvc_NetCharDev */
-/**************************/
- typedef struct {
- [string,charset(UTF16)] uint16 *device;
- } srvsvc_NetCharDevInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetCharDevInfo0 *array;
- } srvsvc_NetCharDevCtr0;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *device;
- uint32 status;
- [string,charset(UTF16)] uint16 *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 */
- 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] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x01 */
- WERROR srvsvc_NetCharDevGetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 device_name[],
- [in] uint32 level,
- [out,ref,switch_is(level)] srvsvc_NetCharDevInfo *info
- );
-
- /******************/
- /* Function: 0x02 */
- WERROR srvsvc_NetCharDevControl(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 device_name[],
- [in] uint32 opcode
- );
-
-/**************************/
-/* srvsvc_NetCharDevQ */
-/**************************/
- typedef struct {
- [string,charset(UTF16)] uint16 *device;
- } srvsvc_NetCharDevQInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
- } srvsvc_NetCharDevQCtr0;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *device;
- uint32 priority;
- [string,charset(UTF16)] uint16 *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 */
- 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] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x04 */
- WERROR srvsvc_NetCharDevQGetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 queue_name[],
- [in] [string,charset(UTF16)] uint16 user[],
- [in] uint32 level,
- [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
- );
-
- /******************/
- /* Function: 0x05 */
- WERROR srvsvc_NetCharDevQSetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 queue_name[],
- [in] uint32 level,
- [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
- [in,out,unique] uint32 *parm_error
- );
-
- /******************/
- /* Function: 0x06 */
- WERROR srvsvc_NetCharDevQPurge(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 queue_name[]
- );
-
- /******************/
- /* Function: 0x07 */
- WERROR srvsvc_NetCharDevQPurgeSelf(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 queue_name[],
- [in] [string,charset(UTF16)] uint16 computer_name[]
- );
-
-/**************************/
-/* srvsvc_NetConn */
-/**************************/
- typedef struct {
- uint32 conn_id;
- } srvsvc_NetConnInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetConnInfo0 *array;
- } srvsvc_NetConnCtr0;
-
- typedef struct {
- uint32 conn_id;
- uint32 conn_type;
- uint32 num_open;
- uint32 num_users;
- uint32 conn_time;
- [string,charset(UTF16)] uint16 *user;
- [string,charset(UTF16)] uint16 *share;
- } srvsvc_NetConnInfo1;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetConnInfo1 *array;
- } srvsvc_NetConnCtr1;
-
- typedef union {
- [case(0)] srvsvc_NetConnCtr0 *ctr0;
- [case(1)] srvsvc_NetConnCtr1 *ctr1;
- [default] ;
- } srvsvc_NetConnCtr;
-
- typedef struct {
- uint32 level;
- [switch_is(level)] srvsvc_NetConnCtr ctr;
- } srvsvc_NetConnInfoCtr;
-
- /******************/
- /* Function: 0x08 */
- WERROR srvsvc_NetConnEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *path,
- [in,out,ref] srvsvc_NetConnInfoCtr *info_ctr,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
-/**************************/
-/* srvsvc_NetFile */
-/**************************/
- typedef struct {
- uint32 fid;
- } srvsvc_NetFileInfo2;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetFileInfo2 *array;
- } srvsvc_NetFileCtr2;
-
- typedef struct {
- uint32 fid;
- uint32 permissions;
- uint32 num_locks;
- [string,charset(UTF16)] uint16 *path;
- [string,charset(UTF16)] uint16 *user;
- } srvsvc_NetFileInfo3;
-
- typedef struct {
- uint32 count;
- [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;
-
- typedef struct {
- uint32 level;
- [switch_is(level)] srvsvc_NetFileCtr ctr;
- } srvsvc_NetFileInfoCtr;
-
- /******************/
- /* Function: 0x09 */
- WERROR srvsvc_NetFileEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *path,
- [in,unique] [string,charset(UTF16)] uint16 *user,
- [in,out,ref] srvsvc_NetFileInfoCtr *info_ctr,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x0a */
- WERROR srvsvc_NetFileGetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 fid,
- [in] uint32 level,
- [out,switch_is(level),ref] srvsvc_NetFileInfo *info
- );
-
- /******************/
- /* Function: 0x0b */
- WERROR srvsvc_NetFileClose(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 fid
- );
-
-/**************************/
-/* srvsvc_NetSess */
-/**************************/
- typedef struct {
- [string,charset(UTF16)] uint16 *client;
- } srvsvc_NetSessInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetSessInfo0 *array;
- } srvsvc_NetSessCtr0;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *client;
- [string,charset(UTF16)] uint16 *user;
- uint32 num_open;
- uint32 time;
- uint32 idle_time;
- uint32 user_flags;
- } srvsvc_NetSessInfo1;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetSessInfo1 *array;
- } srvsvc_NetSessCtr1;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *client;
- [string,charset(UTF16)] uint16 *user;
- uint32 num_open;
- uint32 time;
- uint32 idle_time;
- uint32 user_flags;
- [string,charset(UTF16)] uint16 *client_type;
- } srvsvc_NetSessInfo2;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetSessInfo2 *array;
- } srvsvc_NetSessCtr2;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *client;
- [string,charset(UTF16)] uint16 *user;
- uint32 time;
- uint32 idle_time;
- } srvsvc_NetSessInfo10;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetSessInfo10 *array;
- } srvsvc_NetSessCtr10;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *client;
- [string,charset(UTF16)] uint16 *user;
- uint32 num_open;
- uint32 time;
- uint32 idle_time;
- uint32 user_flags;
- [string,charset(UTF16)] uint16 *client_type;
- [string,charset(UTF16)] uint16 *transport;
- } srvsvc_NetSessInfo502;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetSessInfo502 *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;
-
- /******************/
- /* Function: 0x0c */
-
- typedef struct {
- uint32 level;
- [switch_is(level)] srvsvc_NetSessCtr ctr;
- } srvsvc_NetSessInfoCtr;
-
- WERROR srvsvc_NetSessEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *client,
- [in,unique] [string,charset(UTF16)] uint16 *user,
- [in,out,ref] srvsvc_NetSessInfoCtr *info_ctr,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x0d */
- WERROR srvsvc_NetSessDel(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *client,
- [in,unique] [string,charset(UTF16)] uint16 *user
- );
-
-/**************************/
-/* srvsvc_NetShare */
-/**************************/
-
- /* share types */
- const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
- const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
-
- typedef [v1_enum, flag(NDR_PAHEX)] enum {
- STYPE_DISKTREE = 0,
- STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
- STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
- STYPE_PRINTQ = 1,
- STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
- STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
- STYPE_DEVICE = 2, /* Serial device */
- STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
- STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
- STYPE_IPC = 3, /* Interprocess communication (IPC) */
- STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
- STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
- } srvsvc_ShareType;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *name;
- } srvsvc_NetShareInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo0 *array;
- } srvsvc_NetShareCtr0;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *name;
- srvsvc_ShareType type;
- [string,charset(UTF16)] uint16 *comment;
- } srvsvc_NetShareInfo1;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1 *array;
- } srvsvc_NetShareCtr1;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *name;
- srvsvc_ShareType type;
- [string,charset(UTF16)] uint16 *comment;
- uint32 permissions;
- uint32 max_users;
- uint32 current_users;
- [string,charset(UTF16)] uint16 *path;
- [string,charset(UTF16)] uint16 *password;
- } srvsvc_NetShareInfo2;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo2 *array;
- } srvsvc_NetShareCtr2;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *name;
- srvsvc_ShareType type;
- [string,charset(UTF16)] uint16 *comment;
- uint32 csc_policy;
- } srvsvc_NetShareInfo501;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo501 *array;
- } srvsvc_NetShareCtr501;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *name;
- srvsvc_ShareType type;
- [string,charset(UTF16)] uint16 *comment;
- uint32 permissions;
- uint32 max_users;
- uint32 current_users;
- [string,charset(UTF16)] uint16 *path;
- [string,charset(UTF16)] uint16 *password;
- sec_desc_buf sd_buf;
- } srvsvc_NetShareInfo502;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo502 *array;
- } srvsvc_NetShareCtr502;
-
- typedef struct {
- [string,charset(UTF16)] uint16 *comment;
- } srvsvc_NetShareInfo1004;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1004 *array;
- } srvsvc_NetShareCtr1004;
-
- typedef bitmap {
- SHARE_1005_IN_DFS = 0x00000001,
- SHARE_1005_DFS_ROOT = 0x00000002
- } NetShareInfo1005Flags;
-
- const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
- const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
-
- typedef struct {
- NetShareInfo1005Flags dfs_flags;
- } srvsvc_NetShareInfo1005;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1005 *array;
- } srvsvc_NetShareCtr1005;
-
- typedef struct {
- uint32 max_users;
- } srvsvc_NetShareInfo1006;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1006 *array;
- } srvsvc_NetShareCtr1006;
-
- typedef struct {
- uint32 flags;
- [string,charset(UTF16)] uint16 *alternate_directory_name;
- } srvsvc_NetShareInfo1007;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetShareInfo1007 *array;
- } srvsvc_NetShareCtr1007;
-
- typedef struct {
- uint32 count;
- [size_is(count)] sec_desc_buf *array;
- } srvsvc_NetShareCtr1501;
-
- 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;
- [case(1006)] srvsvc_NetShareInfo1006 *info1006;
- [case(1007)] srvsvc_NetShareInfo1007 *info1007;
- [case(1501)] sec_desc_buf *info1501;
- [default] ;
- } srvsvc_NetShareInfo;
-
- 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;
- [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
- [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
- [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
- [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
- [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
- [default] ;
- } srvsvc_NetShareCtr;
-
- typedef struct {
- uint32 level;
- [switch_is(level)] srvsvc_NetShareCtr ctr;
- } srvsvc_NetShareInfoCtr;
-
- /******************/
- /* Function: 0x0e */
- WERROR srvsvc_NetShareAdd(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
- [in,out,unique] uint32 *parm_error
- );
-
- /******************/
- /* Function: 0x0f */
- WERROR srvsvc_NetShareEnumAll (
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x10 */
- WERROR srvsvc_NetShareGetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 share_name[],
- [in] uint32 level,
- [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
- );
-
- /******************/
- /* Function: 0x11 */
- WERROR srvsvc_NetShareSetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 share_name[],
- [in] uint32 level,
- [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
- [in,out,unique] uint32 *parm_error
- );
-
- /******************/
- /* Function: 0x12 */
- WERROR srvsvc_NetShareDel(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 share_name[],
- [in] uint32 reserved
- );
-
- /******************/
- /* Function: 0x13 */
- WERROR srvsvc_NetShareDelSticky(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 share_name[],
- [in] uint32 reserved
- );
-
- /******************/
- /* Function: 0x14 */
- WERROR srvsvc_NetShareCheck(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 device_name[],
- [out,ref] srvsvc_ShareType *type
- );
-
-/**************************/
-/* srvsvc_NetSrv */
-/**************************/
- typedef [public,v1_enum] enum {
- PLATFORM_ID_DOS = 300,
- PLATFORM_ID_OS2 = 400,
- PLATFORM_ID_NT = 500,
- PLATFORM_ID_OSF = 600,
- PLATFORM_ID_VMS = 700
- } srvsvc_PlatformId;
-
- typedef struct {
- srvsvc_PlatformId platform_id;
- [string,charset(UTF16)] uint16 *server_name;
- } srvsvc_NetSrvInfo100;
-
- typedef struct {
- srvsvc_PlatformId platform_id;
- [string,charset(UTF16)] uint16 *server_name;
- uint32 version_major;
- uint32 version_minor;
- svcctl_ServerType server_type;
- [string,charset(UTF16)] uint16 *comment;
- } srvsvc_NetSrvInfo101;
-
- typedef struct {
- srvsvc_PlatformId platform_id;
- [string,charset(UTF16)] uint16 *server_name;
- uint32 version_major;
- uint32 version_minor;
- svcctl_ServerType server_type;
- [string,charset(UTF16)] uint16 *comment;
- uint32 users;
- uint32 disc;
- uint32 hidden;
- uint32 announce;
- uint32 anndelta;
- uint32 licenses;
- [string,charset(UTF16)] uint16 *userpath;
- } srvsvc_NetSrvInfo102;
-
- typedef struct {
- uint32 ulist_mtime;
- uint32 glist_mtime;
- uint32 alist_mtime;
- [string,charset(UTF16)] uint16 *alerts;
- uint32 security;
- uint32 numadmin;
- uint32 lanmask;
- [string,charset(UTF16)] uint16 *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 erroralert;
- uint32 logonalert;
- uint32 accessalert;
- uint32 diskalert;
- uint32 netioalert;
- uint32 maxaudits;
- [string,charset(UTF16)] uint16 *srvheuristics;
- } srvsvc_NetSrvInfo402;
-
- typedef struct {
- uint32 ulist_mtime;
- uint32 glist_mtime;
- uint32 alist_mtime;
- [string,charset(UTF16)] uint16 *alerts;
- uint32 security;
- uint32 numadmin;
- uint32 lanmask;
- [string,charset(UTF16)] uint16 *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;
- [string,charset(UTF16)] uint16 *srvheuristics;
- uint32 auditedevents;
- uint32 auditprofile;
- [string,charset(UTF16)] uint16 *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;
- [string,charset(UTF16)] uint16 *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 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;
- [string,charset(UTF16)] uint16 *domain;
- uint32 maxcopyreadlen;
- uint32 maxcopywritelen;
- uint32 minkeepsearch;
- 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;
- uint32 initsesstable;
- uint32 initconntable;
- uint32 initfiletable;
- uint32 initsearchtable;
- uint32 alertsched;
- uint32 errortreshold;
- uint32 networkerrortreshold;
- uint32 diskspacetreshold;
- uint32 reserved;
- uint32 maxlinkdelay;
- uint32 minlinkthroughput;
- uint32 linkinfovalidtime;
- uint32 scavqosinfoupdatetime;
- uint32 maxworkitemidletime;
- } srvsvc_NetSrvInfo599;
-
- typedef struct{
- [string,charset(UTF16)] uint16 *comment;
- } srvsvc_NetSrvInfo1005;
-
- typedef struct{
- uint32 disc;
- } srvsvc_NetSrvInfo1010;
-
- typedef struct{
- uint32 hidden;
- } srvsvc_NetSrvInfo1016;
-
- typedef struct{
- uint32 announce;
- } srvsvc_NetSrvInfo1017;
-
- typedef struct{
- uint32 anndelta;
- } srvsvc_NetSrvInfo1018;
-
- typedef struct{
- uint32 users;
- } srvsvc_NetSrvInfo1107;
-
- typedef struct{
- uint32 sessopens;
- } srvsvc_NetSrvInfo1501;
-
- typedef struct{
- uint32 sessvcs;
- } srvsvc_NetSrvInfo1502;
-
- typedef struct{
- uint32 opensearch;
- } srvsvc_NetSrvInfo1503;
-
- typedef struct{
- uint32 maxworkitems;
- } srvsvc_NetSrvInfo1506;
-
- typedef struct{
- uint32 maxrawbuflen;
- } srvsvc_NetSrvInfo1509;
-
- typedef struct{
- uint32 sessusers;
- } srvsvc_NetSrvInfo1510;
-
- typedef struct{
- uint32 sesscons;
- } srvsvc_NetSrvInfo1511;
-
- typedef struct{
- uint32 maxnonpagedmemoryusage;
- } srvsvc_NetSrvInfo1512;
-
- typedef struct{
- uint32 maxpagedmemoryusage;
- } srvsvc_NetSrvInfo1513;
-
- typedef struct{
- uint32 enablesoftcompat;
- } srvsvc_NetSrvInfo1514;
-
- typedef struct{
- uint32 enableforcedlogoff;
- } srvsvc_NetSrvInfo1515;
-
- typedef struct{
- uint32 timesource;
- } srvsvc_NetSrvInfo1516;
-
- typedef struct{
- uint32 lmannounce;
- } srvsvc_NetSrvInfo1518;
-
- typedef struct{
- uint32 maxcopyreadlen;
- } srvsvc_NetSrvInfo1520;
-
- typedef struct{
- uint32 maxcopywritelen;
- } srvsvc_NetSrvInfo1521;
-
- typedef struct{
- uint32 minkeepsearch;
- } srvsvc_NetSrvInfo1522;
-
- typedef struct{
- uint32 maxkeepsearch;
- } srvsvc_NetSrvInfo1523;
-
- typedef struct{
- uint32 minkeepcomplsearch;
- } srvsvc_NetSrvInfo1524;
-
- typedef struct{
- uint32 maxkeepcomplsearch;
- } srvsvc_NetSrvInfo1525;
-
- typedef struct{
- uint32 scavtimeout;
- } srvsvc_NetSrvInfo1528;
-
- typedef struct{
- uint32 minrcvqueue;
- } srvsvc_NetSrvInfo1529;
-
- typedef struct{
- uint32 minfreeworkitems;
- } srvsvc_NetSrvInfo1530;
-
- typedef struct{
- uint32 maxmpxct;
- } srvsvc_NetSrvInfo1533;
-
- typedef struct{
- uint32 oplockbreakwait;
- } srvsvc_NetSrvInfo1534;
-
- typedef struct{
- uint32 oplockbreakresponsewait;
- } srvsvc_NetSrvInfo1535;
-
- typedef struct{
- uint32 enableoplocks;
- } srvsvc_NetSrvInfo1536;
-
- typedef struct{
- uint32 enableoplockforceclose;
- } srvsvc_NetSrvInfo1537;
-
- typedef struct{
- uint32 enablefcbopens;
- } srvsvc_NetSrvInfo1538;
-
- typedef struct{
- uint32 enableraw;
- } srvsvc_NetSrvInfo1539;
-
- typedef struct{
- uint32 enablesharednetdrives;
- } srvsvc_NetSrvInfo1540;
-
- typedef struct{
- uint32 minfreeconnections;
- } srvsvc_NetSrvInfo1541;
-
- typedef struct{
- uint32 maxfreeconnections;
- } srvsvc_NetSrvInfo1542;
-
- typedef struct{
- uint32 initsesstable;
- } srvsvc_NetSrvInfo1543;
-
- typedef struct{
- uint32 initconntable;
- } srvsvc_NetSrvInfo1544;
-
- typedef struct{
- uint32 initfiletable;
- } srvsvc_NetSrvInfo1545;
-
- typedef struct{
- uint32 initsearchtable;
- } srvsvc_NetSrvInfo1546;
-
- typedef struct{
- uint32 alertsched;
- } srvsvc_NetSrvInfo1547;
-
- typedef struct{
- uint32 errortreshold;
- } srvsvc_NetSrvInfo1548;
-
- typedef struct{
- uint32 networkerrortreshold;
- } srvsvc_NetSrvInfo1549;
-
- typedef struct{
- uint32 diskspacetreshold;
- } srvsvc_NetSrvInfo1550;
-
- typedef struct{
- uint32 maxlinkdelay;
- } srvsvc_NetSrvInfo1552;
-
- typedef struct{
- uint32 minlinkthroughput;
- } srvsvc_NetSrvInfo1553;
-
- typedef struct{
- uint32 linkinfovalidtime;
- } srvsvc_NetSrvInfo1554;
-
- typedef struct{
- uint32 scavqosinfoupdatetime;
- } srvsvc_NetSrvInfo1555;
-
- typedef struct{
- uint32 maxworkitemidletime;
- } 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 */
- WERROR srvsvc_NetSrvGetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
- );
-
- /******************/
- /* Function: 0x16 */
- WERROR srvsvc_NetSrvSetInfo(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
- [in,out,unique] uint32 *parm_error
- );
-
-/**************************/
-/* srvsvc_NetDisk */
-/**************************/
- typedef struct {
- [flag(STR_LEN4)] string disk;
- } srvsvc_NetDiskInfo0;
-
- typedef struct {
- uint32 count;
- [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
- } srvsvc_NetDiskInfo;
-
- /******************/
- /* Function: 0x17 */
- WERROR srvsvc_NetDiskEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [in,out,ref] srvsvc_NetDiskInfo *info,
- [in] uint32 maxlen,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
-/**************************/
-/* srvsvc_NetStatistics */
-/**************************/
- typedef struct {
- uint32 start;
- uint32 fopens;
- uint32 devopens;
- uint32 jobsqueued;
- uint32 sopens;
- uint32 stimeouts;
- uint32 serrorout;
- uint32 pwerrors;
- uint32 permerrors;
- uint32 syserrors;
- uint32 bytessent_low;
- uint32 bytessent_high;
- uint32 bytesrcvd_low;
- uint32 bytesrcvd_high;
- uint32 avresponse;
- uint32 reqbufneed;
- uint32 bigbufneed;
- } srvsvc_Statistics;
-
- /******************/
- /* Function: 0x18 */
- WERROR srvsvc_NetServerStatisticsGet(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *service,
- [in] uint32 level,
- [in] uint32 options,
- [out,ref] srvsvc_Statistics *stats
- );
-
-/**************************/
-/* srvsvc_NetTransport */
-/**************************/
- typedef struct {
- uint32 vcs;
- [string,charset(UTF16)] uint16 *name;
- [size_is(addr_len)] uint8 *addr;
- uint32 addr_len;
- [string,charset(UTF16)] uint16 *net_addr;
- } srvsvc_NetTransportInfo0;
-
- /******************/
- /* Function: 0x19 */
- WERROR srvsvc_NetTransportAdd(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [in,switch_is(level)] srvsvc_NetTransportInfo info
- );
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetTransportInfo0 *array;
- } srvsvc_NetTransportCtr0;
-
- typedef struct {
- uint32 vcs;
- [string,charset(UTF16)] uint16 *name;
- [size_is(addr_len)] uint8 *addr;
- uint32 addr_len;
- [string,charset(UTF16)] uint16 *net_addr;
- [string,charset(UTF16)] uint16 *domain;
- } srvsvc_NetTransportInfo1;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetTransportInfo1 *array;
- } srvsvc_NetTransportCtr1;
-
- typedef struct {
- uint32 vcs;
- [string,charset(UTF16)] uint16 *name;
- [size_is(addr_len)] uint8 *addr;
- uint32 addr_len;
- [string,charset(UTF16)] uint16 *net_addr;
- [string,charset(UTF16)] uint16 *domain;
- uint32 unknown;
- } srvsvc_NetTransportInfo2;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetTransportInfo2 *array;
- } srvsvc_NetTransportCtr2;
-
- typedef struct {
- uint32 vcs;
- [string,charset(UTF16)] uint16 *name;
- [size_is(addr_len)] uint8 *addr;
- uint32 addr_len;
- [string,charset(UTF16)] uint16 *net_addr;
- [string,charset(UTF16)] uint16 *domain;
- uint32 unknown1;
- uint32 unknown2;
- uint8 unknown3[256];
- } srvsvc_NetTransportInfo3;
-
- typedef struct {
- uint32 count;
- [size_is(count)] srvsvc_NetTransportInfo3 *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;
-
- /******************/
- /* Function: 0x1a */
- WERROR srvsvc_NetTransportEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,out,ref] uint32 *level,
- [in,out,ref,switch_is(*level)] srvsvc_NetTransportCtr *transports,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x1b */
- WERROR srvsvc_NetTransportDel(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 unknown,
- [in] srvsvc_NetTransportInfo0 transport
- );
-
-/**************************/
-/* srvsvc_NetRemoteTOD */
-/**************************/
- typedef struct {
- uint32 elapsed; /* time(NULL) */
- uint32 msecs; /* milliseconds till system reboot (uptime) */
- uint32 hours;
- uint32 mins;
- uint32 secs;
- uint32 hunds;
- int32 timezone; /* in minutes */
- uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
- uint32 day;
- uint32 month;
- uint32 year;
- uint32 weekday;
- } srvsvc_NetRemoteTODInfo;
-
- /******************/
- /* Function: 0x1c */
- WERROR srvsvc_NetRemoteTOD(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [out,ref] srvsvc_NetRemoteTODInfo **info
- );
-
-/**************************/
-/* srvsvc_NetServiceBits */
-/**************************/
- /******************/
- /* Function: 0x1d */
- WERROR srvsvc_NetSetServiceBits(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *transport,
- [in] uint32 servicebits,
- [in] uint32 updateimmediately
- );
-
-/**************************/
-/* srvsvc_NetPath */
-/**************************/
- /******************/
- /* Function: 0x1e */
- WERROR srvsvc_NetPathType(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 path[],
- [in] uint32 pathflags,
- [out,ref] uint32 *pathtype
- );
-
- /******************/
- /* Function: 0x1f */
- WERROR srvsvc_NetPathCanonicalize(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 path[],
- [out] [size_is(maxbuf)] uint8 can_path[],
- [in] uint32 maxbuf,
- [in] [string,charset(UTF16)] uint16 prefix[],
- [in,out,ref] uint32 *pathtype,
- [in] uint32 pathflags
- );
-
- /******************/
- /* Function: 0x20 */
- WERROR srvsvc_NetPathCompare(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 path1[],
- [in] [string,charset(UTF16)] uint16 path2[],
- [in] uint32 pathtype,
- [in] uint32 pathflags
- );
-
-/**************************/
-/* srvsvc_NetName */
-/**************************/
- /******************/
- /* Function: 0x21 */
- WERROR srvsvc_NetNameValidate(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 name[],
- [in] uint32 name_type,
- [in] uint32 flags
- );
-
- /******************/
- /* Function: 0x22 */
- [todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
- );
-
- /******************/
- /* Function: 0x23 */
- WERROR srvsvc_NetPRNameCompare(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 name1[],
- [in] [string,charset(UTF16)] uint16 name2[],
- [in] uint32 name_type,
- [in] uint32 flags
- );
-
-/**************************/
-/* srvsvc_NetShare ... */
-/**************************/
- /******************/
- /* Function: 0x24 */
- /* Note, there must be some way to return entries read vs
- total entries ... */
- WERROR srvsvc_NetShareEnum(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
- [in] uint32 max_buffer,
- [out,ref] uint32 *totalentries,
- [in,out,unique] uint32 *resume_handle
- );
-
- /******************/
- /* Function: 0x25 */
- WERROR srvsvc_NetShareDelStart(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 share[],
- [in] uint32 reserved,
- [out,unique] policy_handle *hnd
- );
-
- /******************/
- /* Function: 0x26 */
- WERROR srvsvc_NetShareDelCommit(
- [in, out,unique] policy_handle *hnd
- );
-
- /******************/
- /* Function: 0x27 */
- WERROR srvsvc_NetGetFileSecurity(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *share,
- [in] [string,charset(UTF16)] uint16 file[],
- [in] security_secinfo securityinformation,
- [out,ref] sec_desc_buf **sd_buf
- );
-
- /******************/
- /* Function: 0x28 */
- WERROR srvsvc_NetSetFileSecurity(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *share,
- [in] [string,charset(UTF16)] uint16 file[],
- [in] security_secinfo securityinformation,
- [in,ref] sec_desc_buf *sd_buf
- );
-
-
-
- typedef [switch_type(uint32)] union {
- [case(0)] srvsvc_NetTransportInfo0 info0;
- [case(1)] srvsvc_NetTransportInfo1 info1;
- [case(2)] srvsvc_NetTransportInfo2 info2;
- [case(3)] srvsvc_NetTransportInfo3 info3;
- } srvsvc_NetTransportInfo;
-
- /******************/
- /* Function: 0x29 */
- WERROR srvsvc_NetServerTransportAddEx(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in] uint32 level,
- [in,switch_is(level)] srvsvc_NetTransportInfo info
- );
-
- /******************/
- /* Function: 0x2a */
- WERROR srvsvc_NetServerSetServiceBitsEx(
- [in,unique] [string,charset(UTF16)] uint16 *server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
- [in,unique] [string,charset(UTF16)] uint16 *transport,
- [in] uint32 servicebitsofinterest,
- [in] uint32 servicebits,
- [in] uint32 updateimmediately
- );
-
- /******************/
- /* Function: 0x2b */
- [todo] WERROR srvsvc_NETRDFSGETVERSION(
- );
-
- /******************/
- /* Function: 0x2c */
- [todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
- );
-
- /******************/
- /* Function: 0x2d */
- [todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
- );
-
- /******************/
- /* Function: 0x2e */
- [todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
- );
-
- /******************/
- /* Function: 0x2f */
- [todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
- );
-
- /******************/
- /* Function: 0x30 */
- [todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
- );
-
- /******************/
- /* Function: 0x31 */
- [todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
- );
-
- /******************/
- /* Function: 0x32 */
- [todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
- );
-
- /******************/
- /* Function: 0x33 */
- [todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
- );
-
- /******************/
- /* Function: 0x34 */
- [todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
- );
-
- /******************/
- /* Function: 0x35 */
- [todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
- );
-}