diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-10-31 02:49:43 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-10-31 02:49:43 +0100 |
commit | f6c3710d4127c7c2ab63578117048c2a18ee2d64 (patch) | |
tree | 4b4f62b139a8e38aeec6fd03ff65b38a2e9017ba /source3 | |
parent | 9bcd5720cffe77a7095195af9932e755507a91c4 (diff) | |
parent | 569fda3173219384ee3cfd30cbc49d5bee1138c6 (diff) | |
download | samba-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.in | 2 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/cli_srvsvc.c | 33 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/cli_srvsvc.h | 15 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_srvsvc.c | 405 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_srvsvc.h | 3 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/srv_srvsvc.c | 9 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/srvsvc.h | 45 | ||||
-rw-r--r-- | source3/librpc/idl/srvsvc.idl | 1524 |
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( - ); -} |