1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/librpc/gen_ndr/cli_dfs.c
Stefan Metzmacher 3abe59cb2d librpc: rerun "make idl"
metze
2009-07-31 14:13:55 +02:00

3826 lines
88 KiB
C

/*
* Unix SMB/CIFS implementation.
* client auto-generated by pidl. DO NOT MODIFY!
*/
#include "includes.h"
#include "../librpc/gen_ndr/cli_dfs.h"
struct rpccli_dfs_GetManagerVersion_state {
struct dfs_GetManagerVersion orig;
struct dfs_GetManagerVersion tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_GetManagerVersion_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_GetManagerVersion_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
enum dfs_ManagerVersion *_version /* [out] [ref] */)
{
struct tevent_req *req;
struct rpccli_dfs_GetManagerVersion_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_GetManagerVersion_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
state->orig.out.version = _version;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetManagerVersion, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_GetManagerVersion_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_GETMANAGERVERSION,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_GetManagerVersion_done, req);
return req;
}
static void rpccli_dfs_GetManagerVersion_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_GetManagerVersion_state *state = tevent_req_data(
req, struct rpccli_dfs_GetManagerVersion_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
*state->orig.out.version = *state->tmp.out.version;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetManagerVersion, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_GetManagerVersion_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx)
{
struct rpccli_dfs_GetManagerVersion_state *state = tevent_req_data(
req, struct rpccli_dfs_GetManagerVersion_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_GetManagerVersion(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
enum dfs_ManagerVersion *version /* [out] [ref] */)
{
struct dfs_GetManagerVersion r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetManagerVersion, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_GETMANAGERVERSION,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetManagerVersion, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
*version = *r.out.version;
/* Return result */
return NT_STATUS_OK;
}
struct rpccli_dfs_Add_state {
struct dfs_Add orig;
struct dfs_Add tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Add_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Add_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_path /* [in] [ref,charset(UTF16)] */,
const char *_server /* [in] [ref,charset(UTF16)] */,
const char *_share /* [in] [unique,charset(UTF16)] */,
const char *_comment /* [in] [unique,charset(UTF16)] */,
uint32_t _flags /* [in] */)
{
struct tevent_req *req;
struct rpccli_dfs_Add_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Add_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.path = _path;
state->orig.in.server = _server;
state->orig.in.share = _share;
state->orig.in.comment = _comment;
state->orig.in.flags = _flags;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Add, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ADD,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Add_done, req);
return req;
}
static void rpccli_dfs_Add_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Add_state *state = tevent_req_data(
req, struct rpccli_dfs_Add_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Add, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Add_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Add_state *state = tevent_req_data(
req, struct rpccli_dfs_Add_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Add(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *path /* [in] [ref,charset(UTF16)] */,
const char *server /* [in] [ref,charset(UTF16)] */,
const char *share /* [in] [unique,charset(UTF16)] */,
const char *comment /* [in] [unique,charset(UTF16)] */,
uint32_t flags /* [in] */,
WERROR *werror)
{
struct dfs_Add r;
NTSTATUS status;
/* In parameters */
r.in.path = path;
r.in.server = server;
r.in.share = share;
r.in.comment = comment;
r.in.flags = flags;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Add, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ADD,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Add, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Remove_state {
struct dfs_Remove orig;
struct dfs_Remove tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Remove_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Remove_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_dfs_entry_path /* [in] [ref,charset(UTF16)] */,
const char *_servername /* [in] [unique,charset(UTF16)] */,
const char *_sharename /* [in] [unique,charset(UTF16)] */)
{
struct tevent_req *req;
struct rpccli_dfs_Remove_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Remove_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.dfs_entry_path = _dfs_entry_path;
state->orig.in.servername = _servername;
state->orig.in.sharename = _sharename;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Remove, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_REMOVE,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Remove_done, req);
return req;
}
static void rpccli_dfs_Remove_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Remove_state *state = tevent_req_data(
req, struct rpccli_dfs_Remove_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Remove, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Remove_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Remove_state *state = tevent_req_data(
req, struct rpccli_dfs_Remove_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Remove(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *dfs_entry_path /* [in] [ref,charset(UTF16)] */,
const char *servername /* [in] [unique,charset(UTF16)] */,
const char *sharename /* [in] [unique,charset(UTF16)] */,
WERROR *werror)
{
struct dfs_Remove r;
NTSTATUS status;
/* In parameters */
r.in.dfs_entry_path = dfs_entry_path;
r.in.servername = servername;
r.in.sharename = sharename;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Remove, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_REMOVE,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Remove, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_SetInfo_state {
struct dfs_SetInfo orig;
struct dfs_SetInfo tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_SetInfo_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_SetInfo_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
const char *_servername /* [in] [unique,charset(UTF16)] */,
const char *_sharename /* [in] [unique,charset(UTF16)] */,
uint32_t _level /* [in] */,
union dfs_Info *_info /* [in] [ref,switch_is(level)] */)
{
struct tevent_req *req;
struct rpccli_dfs_SetInfo_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_SetInfo_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.dfs_entry_path = _dfs_entry_path;
state->orig.in.servername = _servername;
state->orig.in.sharename = _sharename;
state->orig.in.level = _level;
state->orig.in.info = _info;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetInfo, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_SETINFO,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_SetInfo_done, req);
return req;
}
static void rpccli_dfs_SetInfo_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_SetInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_SetInfo_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetInfo, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_SetInfo_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_SetInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_SetInfo_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_SetInfo(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *dfs_entry_path /* [in] [charset(UTF16)] */,
const char *servername /* [in] [unique,charset(UTF16)] */,
const char *sharename /* [in] [unique,charset(UTF16)] */,
uint32_t level /* [in] */,
union dfs_Info *info /* [in] [ref,switch_is(level)] */,
WERROR *werror)
{
struct dfs_SetInfo r;
NTSTATUS status;
/* In parameters */
r.in.dfs_entry_path = dfs_entry_path;
r.in.servername = servername;
r.in.sharename = sharename;
r.in.level = level;
r.in.info = info;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetInfo, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_SETINFO,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetInfo, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_GetInfo_state {
struct dfs_GetInfo orig;
struct dfs_GetInfo tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_GetInfo_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_GetInfo_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_dfs_entry_path /* [in] [charset(UTF16)] */,
const char *_servername /* [in] [unique,charset(UTF16)] */,
const char *_sharename /* [in] [unique,charset(UTF16)] */,
uint32_t _level /* [in] */,
union dfs_Info *_info /* [out] [ref,switch_is(level)] */)
{
struct tevent_req *req;
struct rpccli_dfs_GetInfo_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_GetInfo_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.dfs_entry_path = _dfs_entry_path;
state->orig.in.servername = _servername;
state->orig.in.sharename = _sharename;
state->orig.in.level = _level;
/* Out parameters */
state->orig.out.info = _info;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetInfo, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_GetInfo_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_GETINFO,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_GetInfo_done, req);
return req;
}
static void rpccli_dfs_GetInfo_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_GetInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_GetInfo_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
*state->orig.out.info = *state->tmp.out.info;
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetInfo, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_GetInfo_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_GetInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_GetInfo_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_GetInfo(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *dfs_entry_path /* [in] [charset(UTF16)] */,
const char *servername /* [in] [unique,charset(UTF16)] */,
const char *sharename /* [in] [unique,charset(UTF16)] */,
uint32_t level /* [in] */,
union dfs_Info *info /* [out] [ref,switch_is(level)] */,
WERROR *werror)
{
struct dfs_GetInfo r;
NTSTATUS status;
/* In parameters */
r.in.dfs_entry_path = dfs_entry_path;
r.in.servername = servername;
r.in.sharename = sharename;
r.in.level = level;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetInfo, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_GETINFO,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetInfo, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
*info = *r.out.info;
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Enum_state {
struct dfs_Enum orig;
struct dfs_Enum tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Enum_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Enum_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
uint32_t _level /* [in] */,
uint32_t _bufsize /* [in] */,
struct dfs_EnumStruct *_info /* [in,out] [unique] */,
uint32_t *_total /* [in,out] [unique] */)
{
struct tevent_req *req;
struct rpccli_dfs_Enum_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Enum_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.level = _level;
state->orig.in.bufsize = _bufsize;
state->orig.in.info = _info;
state->orig.in.total = _total;
/* Out parameters */
state->orig.out.info = _info;
state->orig.out.total = _total;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Enum, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_Enum_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ENUM,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Enum_done, req);
return req;
}
static void rpccli_dfs_Enum_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Enum_state *state = tevent_req_data(
req, struct rpccli_dfs_Enum_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
if (state->orig.out.info && state->tmp.out.info) {
*state->orig.out.info = *state->tmp.out.info;
}
if (state->orig.out.total && state->tmp.out.total) {
*state->orig.out.total = *state->tmp.out.total;
}
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Enum, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Enum_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Enum_state *state = tevent_req_data(
req, struct rpccli_dfs_Enum_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Enum(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
uint32_t level /* [in] */,
uint32_t bufsize /* [in] */,
struct dfs_EnumStruct *info /* [in,out] [unique] */,
uint32_t *total /* [in,out] [unique] */,
WERROR *werror)
{
struct dfs_Enum r;
NTSTATUS status;
/* In parameters */
r.in.level = level;
r.in.bufsize = bufsize;
r.in.info = info;
r.in.total = total;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Enum, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ENUM,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Enum, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
if (info && r.out.info) {
*info = *r.out.info;
}
if (total && r.out.total) {
*total = *r.out.total;
}
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Rename_state {
struct dfs_Rename orig;
struct dfs_Rename tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Rename_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Rename_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_Rename_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Rename_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Rename, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_RENAME,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Rename_done, req);
return req;
}
static void rpccli_dfs_Rename_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Rename_state *state = tevent_req_data(
req, struct rpccli_dfs_Rename_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Rename, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Rename_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Rename_state *state = tevent_req_data(
req, struct rpccli_dfs_Rename_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Rename(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_Rename r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Rename, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_RENAME,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Rename, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Move_state {
struct dfs_Move orig;
struct dfs_Move tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Move_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Move_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_Move_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Move_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Move, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_MOVE,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Move_done, req);
return req;
}
static void rpccli_dfs_Move_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Move_state *state = tevent_req_data(
req, struct rpccli_dfs_Move_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Move, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Move_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Move_state *state = tevent_req_data(
req, struct rpccli_dfs_Move_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Move(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_Move r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Move, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_MOVE,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Move, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_ManagerGetConfigInfo_state {
struct dfs_ManagerGetConfigInfo orig;
struct dfs_ManagerGetConfigInfo tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_ManagerGetConfigInfo_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_ManagerGetConfigInfo_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_ManagerGetConfigInfo_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_ManagerGetConfigInfo_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerGetConfigInfo, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_MANAGERGETCONFIGINFO,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_ManagerGetConfigInfo_done, req);
return req;
}
static void rpccli_dfs_ManagerGetConfigInfo_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_ManagerGetConfigInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerGetConfigInfo_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerGetConfigInfo, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_ManagerGetConfigInfo_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_ManagerGetConfigInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerGetConfigInfo_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_ManagerGetConfigInfo(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_ManagerGetConfigInfo r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerGetConfigInfo, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_MANAGERGETCONFIGINFO,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerGetConfigInfo, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_ManagerSendSiteInfo_state {
struct dfs_ManagerSendSiteInfo orig;
struct dfs_ManagerSendSiteInfo tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_ManagerSendSiteInfo_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_ManagerSendSiteInfo_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_ManagerSendSiteInfo_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_ManagerSendSiteInfo_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerSendSiteInfo, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_MANAGERSENDSITEINFO,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_ManagerSendSiteInfo_done, req);
return req;
}
static void rpccli_dfs_ManagerSendSiteInfo_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_ManagerSendSiteInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerSendSiteInfo_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerSendSiteInfo, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_ManagerSendSiteInfo_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_ManagerSendSiteInfo_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerSendSiteInfo_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_ManagerSendSiteInfo(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_ManagerSendSiteInfo r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerSendSiteInfo, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_MANAGERSENDSITEINFO,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerSendSiteInfo, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_AddFtRoot_state {
struct dfs_AddFtRoot orig;
struct dfs_AddFtRoot tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_AddFtRoot_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_AddFtRoot_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_dns_servername /* [in] [charset(UTF16)] */,
const char *_dfsname /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */,
const char *_comment /* [in] [charset(UTF16)] */,
const char *_dfs_config_dn /* [in] [charset(UTF16)] */,
uint8_t _unknown1 /* [in] */,
uint32_t _flags /* [in] */,
struct dfs_UnknownStruct **_unknown2 /* [in,out] [unique] */)
{
struct tevent_req *req;
struct rpccli_dfs_AddFtRoot_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_AddFtRoot_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.dns_servername = _dns_servername;
state->orig.in.dfsname = _dfsname;
state->orig.in.rootshare = _rootshare;
state->orig.in.comment = _comment;
state->orig.in.dfs_config_dn = _dfs_config_dn;
state->orig.in.unknown1 = _unknown1;
state->orig.in.flags = _flags;
state->orig.in.unknown2 = _unknown2;
/* Out parameters */
state->orig.out.unknown2 = _unknown2;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddFtRoot, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_AddFtRoot_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ADDFTROOT,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_AddFtRoot_done, req);
return req;
}
static void rpccli_dfs_AddFtRoot_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_AddFtRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_AddFtRoot_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
if (state->orig.out.unknown2 && state->tmp.out.unknown2) {
*state->orig.out.unknown2 = *state->tmp.out.unknown2;
}
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddFtRoot, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_AddFtRoot_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_AddFtRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_AddFtRoot_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_AddFtRoot(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *dns_servername /* [in] [charset(UTF16)] */,
const char *dfsname /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
const char *comment /* [in] [charset(UTF16)] */,
const char *dfs_config_dn /* [in] [charset(UTF16)] */,
uint8_t unknown1 /* [in] */,
uint32_t flags /* [in] */,
struct dfs_UnknownStruct **unknown2 /* [in,out] [unique] */,
WERROR *werror)
{
struct dfs_AddFtRoot r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.dns_servername = dns_servername;
r.in.dfsname = dfsname;
r.in.rootshare = rootshare;
r.in.comment = comment;
r.in.dfs_config_dn = dfs_config_dn;
r.in.unknown1 = unknown1;
r.in.flags = flags;
r.in.unknown2 = unknown2;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddFtRoot, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ADDFTROOT,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddFtRoot, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
if (unknown2 && r.out.unknown2) {
*unknown2 = *r.out.unknown2;
}
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_RemoveFtRoot_state {
struct dfs_RemoveFtRoot orig;
struct dfs_RemoveFtRoot tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_RemoveFtRoot_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_RemoveFtRoot_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_dns_servername /* [in] [charset(UTF16)] */,
const char *_dfsname /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */,
uint32_t _flags /* [in] */,
struct dfs_UnknownStruct **_unknown /* [in,out] [unique] */)
{
struct tevent_req *req;
struct rpccli_dfs_RemoveFtRoot_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_RemoveFtRoot_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.dns_servername = _dns_servername;
state->orig.in.dfsname = _dfsname;
state->orig.in.rootshare = _rootshare;
state->orig.in.flags = _flags;
state->orig.in.unknown = _unknown;
/* Out parameters */
state->orig.out.unknown = _unknown;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_RemoveFtRoot, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_RemoveFtRoot_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_REMOVEFTROOT,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_RemoveFtRoot_done, req);
return req;
}
static void rpccli_dfs_RemoveFtRoot_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_RemoveFtRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_RemoveFtRoot_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
if (state->orig.out.unknown && state->tmp.out.unknown) {
*state->orig.out.unknown = *state->tmp.out.unknown;
}
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_RemoveFtRoot, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_RemoveFtRoot_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_RemoveFtRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_RemoveFtRoot_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_RemoveFtRoot(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *dns_servername /* [in] [charset(UTF16)] */,
const char *dfsname /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
uint32_t flags /* [in] */,
struct dfs_UnknownStruct **unknown /* [in,out] [unique] */,
WERROR *werror)
{
struct dfs_RemoveFtRoot r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.dns_servername = dns_servername;
r.in.dfsname = dfsname;
r.in.rootshare = rootshare;
r.in.flags = flags;
r.in.unknown = unknown;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_RemoveFtRoot, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_REMOVEFTROOT,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_RemoveFtRoot, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
if (unknown && r.out.unknown) {
*unknown = *r.out.unknown;
}
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_AddStdRoot_state {
struct dfs_AddStdRoot orig;
struct dfs_AddStdRoot tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_AddStdRoot_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_AddStdRoot_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */,
const char *_comment /* [in] [charset(UTF16)] */,
uint32_t _flags /* [in] */)
{
struct tevent_req *req;
struct rpccli_dfs_AddStdRoot_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_AddStdRoot_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.rootshare = _rootshare;
state->orig.in.comment = _comment;
state->orig.in.flags = _flags;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddStdRoot, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ADDSTDROOT,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_AddStdRoot_done, req);
return req;
}
static void rpccli_dfs_AddStdRoot_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_AddStdRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_AddStdRoot_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddStdRoot, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_AddStdRoot_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_AddStdRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_AddStdRoot_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_AddStdRoot(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
const char *comment /* [in] [charset(UTF16)] */,
uint32_t flags /* [in] */,
WERROR *werror)
{
struct dfs_AddStdRoot r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.rootshare = rootshare;
r.in.comment = comment;
r.in.flags = flags;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddStdRoot, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ADDSTDROOT,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddStdRoot, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_RemoveStdRoot_state {
struct dfs_RemoveStdRoot orig;
struct dfs_RemoveStdRoot tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_RemoveStdRoot_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_RemoveStdRoot_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */,
uint32_t _flags /* [in] */)
{
struct tevent_req *req;
struct rpccli_dfs_RemoveStdRoot_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_RemoveStdRoot_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.rootshare = _rootshare;
state->orig.in.flags = _flags;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_RemoveStdRoot, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_REMOVESTDROOT,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_RemoveStdRoot_done, req);
return req;
}
static void rpccli_dfs_RemoveStdRoot_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_RemoveStdRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_RemoveStdRoot_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_RemoveStdRoot, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_RemoveStdRoot_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_RemoveStdRoot_state *state = tevent_req_data(
req, struct rpccli_dfs_RemoveStdRoot_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_RemoveStdRoot(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
uint32_t flags /* [in] */,
WERROR *werror)
{
struct dfs_RemoveStdRoot r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.rootshare = rootshare;
r.in.flags = flags;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_RemoveStdRoot, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_REMOVESTDROOT,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_RemoveStdRoot, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_ManagerInitialize_state {
struct dfs_ManagerInitialize orig;
struct dfs_ManagerInitialize tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_ManagerInitialize_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_ManagerInitialize_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [ref,charset(UTF16)] */,
uint32_t _flags /* [in] */)
{
struct tevent_req *req;
struct rpccli_dfs_ManagerInitialize_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_ManagerInitialize_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.flags = _flags;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerInitialize, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_MANAGERINITIALIZE,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_ManagerInitialize_done, req);
return req;
}
static void rpccli_dfs_ManagerInitialize_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_ManagerInitialize_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerInitialize_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerInitialize, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_ManagerInitialize_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_ManagerInitialize_state *state = tevent_req_data(
req, struct rpccli_dfs_ManagerInitialize_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_ManagerInitialize(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [ref,charset(UTF16)] */,
uint32_t flags /* [in] */,
WERROR *werror)
{
struct dfs_ManagerInitialize r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.flags = flags;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_ManagerInitialize, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_MANAGERINITIALIZE,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_ManagerInitialize, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_AddStdRootForced_state {
struct dfs_AddStdRootForced orig;
struct dfs_AddStdRootForced tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_AddStdRootForced_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_AddStdRootForced_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */,
const char *_comment /* [in] [charset(UTF16)] */,
const char *_store /* [in] [charset(UTF16)] */)
{
struct tevent_req *req;
struct rpccli_dfs_AddStdRootForced_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_AddStdRootForced_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.rootshare = _rootshare;
state->orig.in.comment = _comment;
state->orig.in.store = _store;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddStdRootForced, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ADDSTDROOTFORCED,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_AddStdRootForced_done, req);
return req;
}
static void rpccli_dfs_AddStdRootForced_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_AddStdRootForced_state *state = tevent_req_data(
req, struct rpccli_dfs_AddStdRootForced_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddStdRootForced, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_AddStdRootForced_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_AddStdRootForced_state *state = tevent_req_data(
req, struct rpccli_dfs_AddStdRootForced_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_AddStdRootForced(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
const char *comment /* [in] [charset(UTF16)] */,
const char *store /* [in] [charset(UTF16)] */,
WERROR *werror)
{
struct dfs_AddStdRootForced r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.rootshare = rootshare;
r.in.comment = comment;
r.in.store = store;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_AddStdRootForced, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ADDSTDROOTFORCED,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_AddStdRootForced, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_GetDcAddress_state {
struct dfs_GetDcAddress orig;
struct dfs_GetDcAddress tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_GetDcAddress_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_GetDcAddress_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char **_server_fullname /* [in,out] [ref,charset(UTF16)] */,
uint8_t *_is_root /* [in,out] [ref] */,
uint32_t *_ttl /* [in,out] [ref] */)
{
struct tevent_req *req;
struct rpccli_dfs_GetDcAddress_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_GetDcAddress_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.server_fullname = _server_fullname;
state->orig.in.is_root = _is_root;
state->orig.in.ttl = _ttl;
/* Out parameters */
state->orig.out.server_fullname = _server_fullname;
state->orig.out.is_root = _is_root;
state->orig.out.ttl = _ttl;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetDcAddress, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_GetDcAddress_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_GETDCADDRESS,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_GetDcAddress_done, req);
return req;
}
static void rpccli_dfs_GetDcAddress_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_GetDcAddress_state *state = tevent_req_data(
req, struct rpccli_dfs_GetDcAddress_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
*state->orig.out.server_fullname = *state->tmp.out.server_fullname;
*state->orig.out.is_root = *state->tmp.out.is_root;
*state->orig.out.ttl = *state->tmp.out.ttl;
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetDcAddress, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_GetDcAddress_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_GetDcAddress_state *state = tevent_req_data(
req, struct rpccli_dfs_GetDcAddress_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char **server_fullname /* [in,out] [ref,charset(UTF16)] */,
uint8_t *is_root /* [in,out] [ref] */,
uint32_t *ttl /* [in,out] [ref] */,
WERROR *werror)
{
struct dfs_GetDcAddress r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.server_fullname = server_fullname;
r.in.is_root = is_root;
r.in.ttl = ttl;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_GetDcAddress, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_GETDCADDRESS,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_GetDcAddress, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
*server_fullname = *r.out.server_fullname;
*is_root = *r.out.is_root;
*ttl = *r.out.ttl;
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_SetDcAddress_state {
struct dfs_SetDcAddress orig;
struct dfs_SetDcAddress tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_SetDcAddress_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_SetDcAddress_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_server_fullname /* [in] [charset(UTF16)] */,
uint32_t _flags /* [in] */,
uint32_t _ttl /* [in] */)
{
struct tevent_req *req;
struct rpccli_dfs_SetDcAddress_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_SetDcAddress_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.server_fullname = _server_fullname;
state->orig.in.flags = _flags;
state->orig.in.ttl = _ttl;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetDcAddress, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_SETDCADDRESS,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_SetDcAddress_done, req);
return req;
}
static void rpccli_dfs_SetDcAddress_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_SetDcAddress_state *state = tevent_req_data(
req, struct rpccli_dfs_SetDcAddress_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetDcAddress, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_SetDcAddress_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_SetDcAddress_state *state = tevent_req_data(
req, struct rpccli_dfs_SetDcAddress_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_SetDcAddress(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *server_fullname /* [in] [charset(UTF16)] */,
uint32_t flags /* [in] */,
uint32_t ttl /* [in] */,
WERROR *werror)
{
struct dfs_SetDcAddress r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.server_fullname = server_fullname;
r.in.flags = flags;
r.in.ttl = ttl;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetDcAddress, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_SETDCADDRESS,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetDcAddress, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_FlushFtTable_state {
struct dfs_FlushFtTable orig;
struct dfs_FlushFtTable tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_FlushFtTable_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_FlushFtTable_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_servername /* [in] [charset(UTF16)] */,
const char *_rootshare /* [in] [charset(UTF16)] */)
{
struct tevent_req *req;
struct rpccli_dfs_FlushFtTable_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_FlushFtTable_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.servername = _servername;
state->orig.in.rootshare = _rootshare;
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_FlushFtTable, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_FLUSHFTTABLE,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_FlushFtTable_done, req);
return req;
}
static void rpccli_dfs_FlushFtTable_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_FlushFtTable_state *state = tevent_req_data(
req, struct rpccli_dfs_FlushFtTable_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_FlushFtTable, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_FlushFtTable_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_FlushFtTable_state *state = tevent_req_data(
req, struct rpccli_dfs_FlushFtTable_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_FlushFtTable(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *servername /* [in] [charset(UTF16)] */,
const char *rootshare /* [in] [charset(UTF16)] */,
WERROR *werror)
{
struct dfs_FlushFtTable r;
NTSTATUS status;
/* In parameters */
r.in.servername = servername;
r.in.rootshare = rootshare;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_FlushFtTable, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_FLUSHFTTABLE,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_FlushFtTable, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Add2_state {
struct dfs_Add2 orig;
struct dfs_Add2 tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Add2_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Add2_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_Add2_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Add2_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Add2, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ADD2,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Add2_done, req);
return req;
}
static void rpccli_dfs_Add2_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Add2_state *state = tevent_req_data(
req, struct rpccli_dfs_Add2_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Add2, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Add2_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Add2_state *state = tevent_req_data(
req, struct rpccli_dfs_Add2_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Add2(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_Add2 r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Add2, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ADD2,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Add2, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_Remove2_state {
struct dfs_Remove2 orig;
struct dfs_Remove2 tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_Remove2_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_Remove2_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_Remove2_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_Remove2_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Remove2, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_REMOVE2,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_Remove2_done, req);
return req;
}
static void rpccli_dfs_Remove2_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_Remove2_state *state = tevent_req_data(
req, struct rpccli_dfs_Remove2_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Remove2, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_Remove2_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_Remove2_state *state = tevent_req_data(
req, struct rpccli_dfs_Remove2_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_Remove2(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_Remove2 r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_Remove2, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_REMOVE2,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_Remove2, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_EnumEx_state {
struct dfs_EnumEx orig;
struct dfs_EnumEx tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_EnumEx_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_EnumEx_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
const char *_dfs_name /* [in] [charset(UTF16)] */,
uint32_t _level /* [in] */,
uint32_t _bufsize /* [in] */,
struct dfs_EnumStruct *_info /* [in,out] [unique] */,
uint32_t *_total /* [in,out] [unique] */)
{
struct tevent_req *req;
struct rpccli_dfs_EnumEx_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_EnumEx_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
state->orig.in.dfs_name = _dfs_name;
state->orig.in.level = _level;
state->orig.in.bufsize = _bufsize;
state->orig.in.info = _info;
state->orig.in.total = _total;
/* Out parameters */
state->orig.out.info = _info;
state->orig.out.total = _total;
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_EnumEx, &state->orig);
}
state->out_mem_ctx = talloc_named_const(state, 0,
"rpccli_dfs_EnumEx_out_memory");
if (tevent_req_nomem(state->out_mem_ctx, req)) {
return tevent_req_post(req, ev);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_ENUMEX,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_EnumEx_done, req);
return req;
}
static void rpccli_dfs_EnumEx_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_EnumEx_state *state = tevent_req_data(
req, struct rpccli_dfs_EnumEx_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
if (state->orig.out.info && state->tmp.out.info) {
*state->orig.out.info = *state->tmp.out.info;
}
if (state->orig.out.total && state->tmp.out.total) {
*state->orig.out.total = *state->tmp.out.total;
}
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_EnumEx, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_EnumEx_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_EnumEx_state *state = tevent_req_data(
req, struct rpccli_dfs_EnumEx_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_EnumEx(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *dfs_name /* [in] [charset(UTF16)] */,
uint32_t level /* [in] */,
uint32_t bufsize /* [in] */,
struct dfs_EnumStruct *info /* [in,out] [unique] */,
uint32_t *total /* [in,out] [unique] */,
WERROR *werror)
{
struct dfs_EnumEx r;
NTSTATUS status;
/* In parameters */
r.in.dfs_name = dfs_name;
r.in.level = level;
r.in.bufsize = bufsize;
r.in.info = info;
r.in.total = total;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_EnumEx, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_ENUMEX,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_EnumEx, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
if (info && r.out.info) {
*info = *r.out.info;
}
if (total && r.out.total) {
*total = *r.out.total;
}
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}
struct rpccli_dfs_SetInfo2_state {
struct dfs_SetInfo2 orig;
struct dfs_SetInfo2 tmp;
TALLOC_CTX *out_mem_ctx;
NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
};
static void rpccli_dfs_SetInfo2_done(struct tevent_req *subreq);
struct tevent_req *rpccli_dfs_SetInfo2_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli)
{
struct tevent_req *req;
struct rpccli_dfs_SetInfo2_state *state;
struct tevent_req *subreq;
req = tevent_req_create(mem_ctx, &state,
struct rpccli_dfs_SetInfo2_state);
if (req == NULL) {
return NULL;
}
state->out_mem_ctx = NULL;
state->dispatch_recv = cli->dispatch_recv;
/* In parameters */
/* Out parameters */
/* Result */
ZERO_STRUCT(state->orig.out.result);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetInfo2, &state->orig);
}
/* make a temporary copy, that we pass to the dispatch function */
state->tmp = state->orig;
subreq = cli->dispatch_send(state, ev, cli,
&ndr_table_netdfs,
NDR_DFS_SETINFO2,
&state->tmp);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
tevent_req_set_callback(subreq, rpccli_dfs_SetInfo2_done, req);
return req;
}
static void rpccli_dfs_SetInfo2_done(struct tevent_req *subreq)
{
struct tevent_req *req = tevent_req_callback_data(
subreq, struct tevent_req);
struct rpccli_dfs_SetInfo2_state *state = tevent_req_data(
req, struct rpccli_dfs_SetInfo2_state);
NTSTATUS status;
TALLOC_CTX *mem_ctx;
if (state->out_mem_ctx) {
mem_ctx = state->out_mem_ctx;
} else {
mem_ctx = state;
}
status = state->dispatch_recv(subreq, mem_ctx);
TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return;
}
/* Copy out parameters */
/* Copy result */
state->orig.out.result = state->tmp.out.result;
/* Reset temporary structure */
ZERO_STRUCT(state->tmp);
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetInfo2, &state->orig);
}
tevent_req_done(req);
}
NTSTATUS rpccli_dfs_SetInfo2_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result)
{
struct rpccli_dfs_SetInfo2_state *state = tevent_req_data(
req, struct rpccli_dfs_SetInfo2_state);
NTSTATUS status;
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);
return status;
}
/* Steal possbile out parameters to the callers context */
talloc_steal(mem_ctx, state->out_mem_ctx);
/* Return result */
*result = state->orig.out.result;
tevent_req_received(req);
return NT_STATUS_OK;
}
NTSTATUS rpccli_dfs_SetInfo2(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
WERROR *werror)
{
struct dfs_SetInfo2 r;
NTSTATUS status;
/* In parameters */
if (DEBUGLEVEL >= 10) {
NDR_PRINT_IN_DEBUG(dfs_SetInfo2, &r);
}
status = cli->dispatch(cli,
mem_ctx,
&ndr_table_netdfs,
NDR_DFS_SETINFO2,
&r);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (DEBUGLEVEL >= 10) {
NDR_PRINT_OUT_DEBUG(dfs_SetInfo2, &r);
}
if (NT_STATUS_IS_ERR(status)) {
return status;
}
/* Return variables */
/* Return result */
if (werror) {
*werror = r.out.result;
}
return werror_to_ntstatus(r.out.result);
}