/* * Unix SMB/CIFS implementation. * client auto-generated by pidl. DO NOT MODIFY! */ #include "includes.h" #include "../librpc/gen_ndr/cli_srvsvc.h" struct rpccli_srvsvc_NetCharDevEnum_state { struct srvsvc_NetCharDevEnum orig; struct srvsvc_NetCharDevEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, 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] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetCharDevEnum_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_srvsvc, NDR_SRVSVC_NETCHARDEVENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevEnum_done, req); return req; } static void rpccli_srvsvc_NetCharDevEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevEnum_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_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, 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] */, WERROR *werror) { struct srvsvc_NetCharDevEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetCharDevGetInfo_state { struct srvsvc_NetCharDevGetInfo orig; struct srvsvc_NetCharDevGetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevGetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevGetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_device_name /* [in] [charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetCharDevInfo *_info /* [out] [ref,switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevGetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevGetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.device_name = _device_name; 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(srvsvc_NetCharDevGetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetCharDevGetInfo_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_srvsvc, NDR_SRVSVC_NETCHARDEVGETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevGetInfo_done, req); return req; } static void rpccli_srvsvc_NetCharDevGetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevGetInfo_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(srvsvc_NetCharDevGetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevGetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevGetInfo_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_srvsvc_NetCharDevGetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *device_name /* [in] [charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetCharDevInfo *info /* [out] [ref,switch_is(level)] */, WERROR *werror) { struct srvsvc_NetCharDevGetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.device_name = device_name; r.in.level = level; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevGetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVGETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevGetInfo, &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_srvsvc_NetCharDevControl_state { struct srvsvc_NetCharDevControl orig; struct srvsvc_NetCharDevControl tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevControl_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevControl_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_device_name /* [in] [charset(UTF16)] */, uint32_t _opcode /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevControl_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevControl_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.device_name = _device_name; state->orig.in.opcode = _opcode; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevControl, &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_srvsvc, NDR_SRVSVC_NETCHARDEVCONTROL, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevControl_done, req); return req; } static void rpccli_srvsvc_NetCharDevControl_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevControl_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevControl_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(srvsvc_NetCharDevControl, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevControl_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevControl_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevControl_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_srvsvc_NetCharDevControl(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *device_name /* [in] [charset(UTF16)] */, uint32_t opcode /* [in] */, WERROR *werror) { struct srvsvc_NetCharDevControl r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.device_name = device_name; r.in.opcode = opcode; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevControl, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVCONTROL, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevControl, &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_srvsvc_NetCharDevQEnum_state { struct srvsvc_NetCharDevQEnum orig; struct srvsvc_NetCharDevQEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevQEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevQEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_user /* [in] [unique,charset(UTF16)] */, 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] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevQEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevQEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.user = _user; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetCharDevQEnum_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_srvsvc, NDR_SRVSVC_NETCHARDEVQENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQEnum_done, req); return req; } static void rpccli_srvsvc_NetCharDevQEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevQEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevQEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevQEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQEnum_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_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)] */, 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] */, WERROR *werror) { struct srvsvc_NetCharDevQEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.user = user; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVQENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetCharDevQGetInfo_state { struct srvsvc_NetCharDevQGetInfo orig; struct srvsvc_NetCharDevQGetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevQGetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevQGetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_queue_name /* [in] [charset(UTF16)] */, const char *_user /* [in] [charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetCharDevQInfo *_info /* [out] [ref,switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevQGetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevQGetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.queue_name = _queue_name; state->orig.in.user = _user; 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(srvsvc_NetCharDevQGetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetCharDevQGetInfo_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_srvsvc, NDR_SRVSVC_NETCHARDEVQGETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQGetInfo_done, req); return req; } static void rpccli_srvsvc_NetCharDevQGetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevQGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQGetInfo_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(srvsvc_NetCharDevQGetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevQGetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevQGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQGetInfo_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_srvsvc_NetCharDevQGetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *queue_name /* [in] [charset(UTF16)] */, const char *user /* [in] [charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetCharDevQInfo *info /* [out] [ref,switch_is(level)] */, WERROR *werror) { struct srvsvc_NetCharDevQGetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.queue_name = queue_name; r.in.user = user; r.in.level = level; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQGetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVQGETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQGetInfo, &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_srvsvc_NetCharDevQSetInfo_state { struct srvsvc_NetCharDevQSetInfo orig; struct srvsvc_NetCharDevQSetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevQSetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevQSetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_queue_name /* [in] [charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetCharDevQInfo _info /* [in] [switch_is(level)] */, uint32_t *_parm_error /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevQSetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevQSetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.queue_name = _queue_name; state->orig.in.level = _level; state->orig.in.info = _info; state->orig.in.parm_error = _parm_error; /* Out parameters */ state->orig.out.parm_error = _parm_error; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQSetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetCharDevQSetInfo_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_srvsvc, NDR_SRVSVC_NETCHARDEVQSETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQSetInfo_done, req); return req; } static void rpccli_srvsvc_NetCharDevQSetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevQSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQSetInfo_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.parm_error && state->tmp.out.parm_error) { *state->orig.out.parm_error = *state->tmp.out.parm_error; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQSetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevQSetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevQSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQSetInfo_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_srvsvc_NetCharDevQSetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *queue_name /* [in] [charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetCharDevQInfo info /* [in] [switch_is(level)] */, uint32_t *parm_error /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetCharDevQSetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.queue_name = queue_name; r.in.level = level; r.in.info = info; r.in.parm_error = parm_error; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQSetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVQSETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQSetInfo, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (parm_error && r.out.parm_error) { *parm_error = *r.out.parm_error; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetCharDevQPurge_state { struct srvsvc_NetCharDevQPurge orig; struct srvsvc_NetCharDevQPurge tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevQPurge_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevQPurge_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_queue_name /* [in] [charset(UTF16)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevQPurge_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevQPurge_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.queue_name = _queue_name; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurge, &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_srvsvc, NDR_SRVSVC_NETCHARDEVQPURGE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQPurge_done, req); return req; } static void rpccli_srvsvc_NetCharDevQPurge_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevQPurge_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQPurge_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(srvsvc_NetCharDevQPurge, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevQPurge_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevQPurge_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQPurge_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_srvsvc_NetCharDevQPurge(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *queue_name /* [in] [charset(UTF16)] */, WERROR *werror) { struct srvsvc_NetCharDevQPurge r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.queue_name = queue_name; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurge, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVQPURGE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurge, &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_srvsvc_NetCharDevQPurgeSelf_state { struct srvsvc_NetCharDevQPurgeSelf orig; struct srvsvc_NetCharDevQPurgeSelf tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetCharDevQPurgeSelf_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetCharDevQPurgeSelf_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_queue_name /* [in] [charset(UTF16)] */, const char *_computer_name /* [in] [charset(UTF16)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetCharDevQPurgeSelf_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.queue_name = _queue_name; state->orig.in.computer_name = _computer_name; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurgeSelf, &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_srvsvc, NDR_SRVSVC_NETCHARDEVQPURGESELF, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetCharDevQPurgeSelf_done, req); return req; } static void rpccli_srvsvc_NetCharDevQPurgeSelf_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQPurgeSelf_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(srvsvc_NetCharDevQPurgeSelf, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetCharDevQPurgeSelf_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetCharDevQPurgeSelf_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetCharDevQPurgeSelf_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_srvsvc_NetCharDevQPurgeSelf(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *queue_name /* [in] [charset(UTF16)] */, const char *computer_name /* [in] [charset(UTF16)] */, WERROR *werror) { struct srvsvc_NetCharDevQPurgeSelf r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.queue_name = queue_name; r.in.computer_name = computer_name; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetCharDevQPurgeSelf, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCHARDEVQPURGESELF, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetCharDevQPurgeSelf, &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_srvsvc_NetConnEnum_state { struct srvsvc_NetConnEnum orig; struct srvsvc_NetConnEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetConnEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetConnEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_path /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetConnInfoCtr *_info_ctr /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetConnEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetConnEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.path = _path; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetConnEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetConnEnum_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_srvsvc, NDR_SRVSVC_NETCONNENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetConnEnum_done, req); return req; } static void rpccli_srvsvc_NetConnEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetConnEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetConnEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetConnEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetConnEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetConnEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetConnEnum_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_srvsvc_NetConnEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *path /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetConnInfoCtr *info_ctr /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetConnEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.path = path; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetConnEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETCONNENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetConnEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetFileEnum_state { struct srvsvc_NetFileEnum orig; struct srvsvc_NetFileEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetFileEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetFileEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_path /* [in] [unique,charset(UTF16)] */, const char *_user /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetFileInfoCtr *_info_ctr /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetFileEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetFileEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.path = _path; state->orig.in.user = _user; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetFileEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetFileEnum_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_srvsvc, NDR_SRVSVC_NETFILEENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileEnum_done, req); return req; } static void rpccli_srvsvc_NetFileEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetFileEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetFileEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetFileEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetFileEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileEnum_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_srvsvc_NetFileEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *path /* [in] [unique,charset(UTF16)] */, const char *user /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetFileInfoCtr *info_ctr /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetFileEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.path = path; r.in.user = user; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetFileEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETFILEENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetFileEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetFileGetInfo_state { struct srvsvc_NetFileGetInfo orig; struct srvsvc_NetFileGetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetFileGetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetFileGetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _fid /* [in] */, uint32_t _level /* [in] */, union srvsvc_NetFileInfo *_info /* [out] [ref,switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetFileGetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetFileGetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.fid = _fid; 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(srvsvc_NetFileGetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetFileGetInfo_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_srvsvc, NDR_SRVSVC_NETFILEGETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileGetInfo_done, req); return req; } static void rpccli_srvsvc_NetFileGetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetFileGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileGetInfo_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(srvsvc_NetFileGetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetFileGetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetFileGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileGetInfo_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_srvsvc_NetFileGetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t fid /* [in] */, uint32_t level /* [in] */, union srvsvc_NetFileInfo *info /* [out] [ref,switch_is(level)] */, WERROR *werror) { struct srvsvc_NetFileGetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.fid = fid; r.in.level = level; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetFileGetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETFILEGETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetFileGetInfo, &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_srvsvc_NetFileClose_state { struct srvsvc_NetFileClose orig; struct srvsvc_NetFileClose tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetFileClose_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetFileClose_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _fid /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetFileClose_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetFileClose_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.fid = _fid; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetFileClose, &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_srvsvc, NDR_SRVSVC_NETFILECLOSE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetFileClose_done, req); return req; } static void rpccli_srvsvc_NetFileClose_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetFileClose_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileClose_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(srvsvc_NetFileClose, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetFileClose_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetFileClose_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetFileClose_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_srvsvc_NetFileClose(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t fid /* [in] */, WERROR *werror) { struct srvsvc_NetFileClose r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.fid = fid; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetFileClose, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETFILECLOSE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetFileClose, &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_srvsvc_NetSessEnum_state { struct srvsvc_NetSessEnum orig; struct srvsvc_NetSessEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSessEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSessEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_client /* [in] [unique,charset(UTF16)] */, const char *_user /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetSessInfoCtr *_info_ctr /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSessEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSessEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.client = _client; state->orig.in.user = _user; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSessEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetSessEnum_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_srvsvc, NDR_SRVSVC_NETSESSENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSessEnum_done, req); return req; } static void rpccli_srvsvc_NetSessEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSessEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSessEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSessEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSessEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSessEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSessEnum_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_srvsvc_NetSessEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *client /* [in] [unique,charset(UTF16)] */, const char *user /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetSessInfoCtr *info_ctr /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetSessEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.client = client; r.in.user = user; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSessEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSESSENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSessEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetSessDel_state { struct srvsvc_NetSessDel orig; struct srvsvc_NetSessDel tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSessDel_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSessDel_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_client /* [in] [unique,charset(UTF16)] */, const char *_user /* [in] [unique,charset(UTF16)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSessDel_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSessDel_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.client = _client; state->orig.in.user = _user; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSessDel, &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_srvsvc, NDR_SRVSVC_NETSESSDEL, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSessDel_done, req); return req; } static void rpccli_srvsvc_NetSessDel_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSessDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSessDel_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(srvsvc_NetSessDel, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSessDel_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSessDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSessDel_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_srvsvc_NetSessDel(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *client /* [in] [unique,charset(UTF16)] */, const char *user /* [in] [unique,charset(UTF16)] */, WERROR *werror) { struct srvsvc_NetSessDel r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.client = client; r.in.user = user; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSessDel, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSESSDEL, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSessDel, &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_srvsvc_NetShareAdd_state { struct srvsvc_NetShareAdd orig; struct srvsvc_NetShareAdd tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareAdd_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareAdd_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, uint32_t *_parm_error /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareAdd_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareAdd_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.level = _level; state->orig.in.info = _info; state->orig.in.parm_error = _parm_error; /* Out parameters */ state->orig.out.parm_error = _parm_error; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareAdd, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareAdd_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_srvsvc, NDR_SRVSVC_NETSHAREADD, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareAdd_done, req); return req; } static void rpccli_srvsvc_NetShareAdd_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareAdd_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareAdd_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.parm_error && state->tmp.out.parm_error) { *state->orig.out.parm_error = *state->tmp.out.parm_error; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareAdd, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareAdd_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareAdd_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareAdd_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_srvsvc_NetShareAdd(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, uint32_t *parm_error /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetShareAdd r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info = info; r.in.parm_error = parm_error; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareAdd, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREADD, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareAdd, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (parm_error && r.out.parm_error) { *parm_error = *r.out.parm_error; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetShareEnumAll_state { struct srvsvc_NetShareEnumAll orig; struct srvsvc_NetShareEnumAll tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareEnumAll_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareEnumAll_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareEnumAll_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareEnumAll_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnumAll, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareEnumAll_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_srvsvc, NDR_SRVSVC_NETSHAREENUMALL, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareEnumAll_done, req); return req; } static void rpccli_srvsvc_NetShareEnumAll_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareEnumAll_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareEnumAll_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnumAll, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareEnumAll_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareEnumAll_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareEnumAll_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_srvsvc_NetShareEnumAll(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetShareEnumAll r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnumAll, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREENUMALL, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnumAll, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetShareGetInfo_state { struct srvsvc_NetShareGetInfo orig; struct srvsvc_NetShareGetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareGetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareGetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share_name /* [in] [charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetShareInfo *_info /* [out] [ref,switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareGetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareGetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share_name = _share_name; 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(srvsvc_NetShareGetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareGetInfo_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_srvsvc, NDR_SRVSVC_NETSHAREGETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareGetInfo_done, req); return req; } static void rpccli_srvsvc_NetShareGetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareGetInfo_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(srvsvc_NetShareGetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareGetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareGetInfo_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_srvsvc_NetShareGetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share_name /* [in] [charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetShareInfo *info /* [out] [ref,switch_is(level)] */, WERROR *werror) { struct srvsvc_NetShareGetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share_name = share_name; r.in.level = level; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareGetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREGETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareGetInfo, &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_srvsvc_NetShareSetInfo_state { struct srvsvc_NetShareSetInfo orig; struct srvsvc_NetShareSetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareSetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareSetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share_name /* [in] [charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetShareInfo *_info /* [in] [ref,switch_is(level)] */, uint32_t *_parm_error /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareSetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareSetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share_name = _share_name; state->orig.in.level = _level; state->orig.in.info = _info; state->orig.in.parm_error = _parm_error; /* Out parameters */ state->orig.out.parm_error = _parm_error; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareSetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareSetInfo_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_srvsvc, NDR_SRVSVC_NETSHARESETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareSetInfo_done, req); return req; } static void rpccli_srvsvc_NetShareSetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareSetInfo_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.parm_error && state->tmp.out.parm_error) { *state->orig.out.parm_error = *state->tmp.out.parm_error; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareSetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareSetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareSetInfo_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_srvsvc_NetShareSetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share_name /* [in] [charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetShareInfo *info /* [in] [ref,switch_is(level)] */, uint32_t *parm_error /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetShareSetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share_name = share_name; r.in.level = level; r.in.info = info; r.in.parm_error = parm_error; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareSetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHARESETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareSetInfo, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (parm_error && r.out.parm_error) { *parm_error = *r.out.parm_error; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetShareDel_state { struct srvsvc_NetShareDel orig; struct srvsvc_NetShareDel tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareDel_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareDel_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share_name /* [in] [charset(UTF16)] */, uint32_t _reserved /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareDel_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareDel_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share_name = _share_name; state->orig.in.reserved = _reserved; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDel, &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_srvsvc, NDR_SRVSVC_NETSHAREDEL, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDel_done, req); return req; } static void rpccli_srvsvc_NetShareDel_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDel_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(srvsvc_NetShareDel, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareDel_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDel_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_srvsvc_NetShareDel(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share_name /* [in] [charset(UTF16)] */, uint32_t reserved /* [in] */, WERROR *werror) { struct srvsvc_NetShareDel r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share_name = share_name; r.in.reserved = reserved; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDel, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREDEL, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDel, &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_srvsvc_NetShareDelSticky_state { struct srvsvc_NetShareDelSticky orig; struct srvsvc_NetShareDelSticky tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareDelSticky_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareDelSticky_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share_name /* [in] [charset(UTF16)] */, uint32_t _reserved /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareDelSticky_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareDelSticky_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share_name = _share_name; state->orig.in.reserved = _reserved; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelSticky, &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_srvsvc, NDR_SRVSVC_NETSHAREDELSTICKY, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelSticky_done, req); return req; } static void rpccli_srvsvc_NetShareDelSticky_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareDelSticky_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelSticky_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(srvsvc_NetShareDelSticky, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareDelSticky_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareDelSticky_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelSticky_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_srvsvc_NetShareDelSticky(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share_name /* [in] [charset(UTF16)] */, uint32_t reserved /* [in] */, WERROR *werror) { struct srvsvc_NetShareDelSticky r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share_name = share_name; r.in.reserved = reserved; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelSticky, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREDELSTICKY, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelSticky, &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_srvsvc_NetShareCheck_state { struct srvsvc_NetShareCheck orig; struct srvsvc_NetShareCheck tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareCheck_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareCheck_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_device_name /* [in] [charset(UTF16)] */, enum srvsvc_ShareType *_type /* [out] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareCheck_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareCheck_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.device_name = _device_name; /* Out parameters */ state->orig.out.type = _type; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareCheck, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareCheck_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_srvsvc, NDR_SRVSVC_NETSHARECHECK, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareCheck_done, req); return req; } static void rpccli_srvsvc_NetShareCheck_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareCheck_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareCheck_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.type = *state->tmp.out.type; /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareCheck, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareCheck_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareCheck_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareCheck_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_srvsvc_NetShareCheck(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *device_name /* [in] [charset(UTF16)] */, enum srvsvc_ShareType *type /* [out] [ref] */, WERROR *werror) { struct srvsvc_NetShareCheck r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.device_name = device_name; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareCheck, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHARECHECK, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareCheck, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *type = *r.out.type; /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetSrvGetInfo_state { struct srvsvc_NetSrvGetInfo orig; struct srvsvc_NetSrvGetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSrvGetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSrvGetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetSrvInfo *_info /* [out] [ref,switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSrvGetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSrvGetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; 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(srvsvc_NetSrvGetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetSrvGetInfo_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_srvsvc, NDR_SRVSVC_NETSRVGETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSrvGetInfo_done, req); return req; } static void rpccli_srvsvc_NetSrvGetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSrvGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSrvGetInfo_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(srvsvc_NetSrvGetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSrvGetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSrvGetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSrvGetInfo_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_srvsvc_NetSrvGetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetSrvInfo *info /* [out] [ref,switch_is(level)] */, WERROR *werror) { struct srvsvc_NetSrvGetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSrvGetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSRVGETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvGetInfo, &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_srvsvc_NetSrvSetInfo_state { struct srvsvc_NetSrvSetInfo orig; struct srvsvc_NetSrvSetInfo tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSrvSetInfo_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSrvSetInfo_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetSrvInfo *_info /* [in] [ref,switch_is(level)] */, uint32_t *_parm_error /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSrvSetInfo_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSrvSetInfo_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.level = _level; state->orig.in.info = _info; state->orig.in.parm_error = _parm_error; /* Out parameters */ state->orig.out.parm_error = _parm_error; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSrvSetInfo, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetSrvSetInfo_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_srvsvc, NDR_SRVSVC_NETSRVSETINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSrvSetInfo_done, req); return req; } static void rpccli_srvsvc_NetSrvSetInfo_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSrvSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSrvSetInfo_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.parm_error && state->tmp.out.parm_error) { *state->orig.out.parm_error = *state->tmp.out.parm_error; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvSetInfo, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSrvSetInfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSrvSetInfo_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSrvSetInfo_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_srvsvc_NetSrvSetInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetSrvInfo *info /* [in] [ref,switch_is(level)] */, uint32_t *parm_error /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetSrvSetInfo r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info = info; r.in.parm_error = parm_error; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSrvSetInfo, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSRVSETINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSrvSetInfo, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (parm_error && r.out.parm_error) { *parm_error = *r.out.parm_error; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetDiskEnum_state { struct srvsvc_NetDiskEnum orig; struct srvsvc_NetDiskEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetDiskEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetDiskEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, struct srvsvc_NetDiskInfo *_info /* [in,out] [ref] */, uint32_t _maxlen /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetDiskEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetDiskEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.level = _level; state->orig.in.info = _info; state->orig.in.maxlen = _maxlen; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info = _info; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetDiskEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetDiskEnum_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_srvsvc, NDR_SRVSVC_NETDISKENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetDiskEnum_done, req); return req; } static void rpccli_srvsvc_NetDiskEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetDiskEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetDiskEnum_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; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetDiskEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetDiskEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetDiskEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetDiskEnum_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_srvsvc_NetDiskEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, struct srvsvc_NetDiskInfo *info /* [in,out] [ref] */, uint32_t maxlen /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetDiskEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info = info; r.in.maxlen = maxlen; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetDiskEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETDISKENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetDiskEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info = *r.out.info; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetServerStatisticsGet_state { struct srvsvc_NetServerStatisticsGet orig; struct srvsvc_NetServerStatisticsGet tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetServerStatisticsGet_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetServerStatisticsGet_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_service /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, uint32_t _options /* [in] */, struct srvsvc_Statistics **_stats /* [out] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetServerStatisticsGet_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetServerStatisticsGet_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.service = _service; state->orig.in.level = _level; state->orig.in.options = _options; /* Out parameters */ state->orig.out.stats = _stats; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetServerStatisticsGet, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetServerStatisticsGet_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_srvsvc, NDR_SRVSVC_NETSERVERSTATISTICSGET, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerStatisticsGet_done, req); return req; } static void rpccli_srvsvc_NetServerStatisticsGet_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetServerStatisticsGet_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerStatisticsGet_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.stats = *state->tmp.out.stats; /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetServerStatisticsGet, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetServerStatisticsGet_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetServerStatisticsGet_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerStatisticsGet_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_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *service /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, uint32_t options /* [in] */, struct srvsvc_Statistics **stats /* [out] [ref] */, WERROR *werror) { struct srvsvc_NetServerStatisticsGet r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.service = service; r.in.level = level; r.in.options = options; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetServerStatisticsGet, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSERVERSTATISTICSGET, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetServerStatisticsGet, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *stats = *r.out.stats; /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetTransportAdd_state { struct srvsvc_NetTransportAdd orig; struct srvsvc_NetTransportAdd tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetTransportAdd_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetTransportAdd_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetTransportAdd_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetTransportAdd_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; 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(srvsvc_NetTransportAdd, &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_srvsvc, NDR_SRVSVC_NETTRANSPORTADD, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportAdd_done, req); return req; } static void rpccli_srvsvc_NetTransportAdd_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetTransportAdd_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportAdd_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(srvsvc_NetTransportAdd, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetTransportAdd_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetTransportAdd_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportAdd_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_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, WERROR *werror) { struct srvsvc_NetTransportAdd r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info = info; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetTransportAdd, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETTRANSPORTADD, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportAdd, &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_srvsvc_NetTransportEnum_state { struct srvsvc_NetTransportEnum orig; struct srvsvc_NetTransportEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetTransportEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetTransportEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetTransportInfoCtr *_transports /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetTransportEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetTransportEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.transports = _transports; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.transports = _transports; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetTransportEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetTransportEnum_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_srvsvc, NDR_SRVSVC_NETTRANSPORTENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportEnum_done, req); return req; } static void rpccli_srvsvc_NetTransportEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetTransportEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportEnum_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.transports = *state->tmp.out.transports; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetTransportEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetTransportEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportEnum_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_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetTransportEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.transports = transports; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetTransportEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETTRANSPORTENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *transports = *r.out.transports; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetTransportDel_state { struct srvsvc_NetTransportDel orig; struct srvsvc_NetTransportDel tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetTransportDel_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetTransportDel_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, struct srvsvc_NetTransportInfo0 *_info0 /* [in] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetTransportDel_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetTransportDel_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.level = _level; state->orig.in.info0 = _info0; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, &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_srvsvc, NDR_SRVSVC_NETTRANSPORTDEL, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetTransportDel_done, req); return req; } static void rpccli_srvsvc_NetTransportDel_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetTransportDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportDel_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(srvsvc_NetTransportDel, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetTransportDel_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetTransportDel_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetTransportDel_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_srvsvc_NetTransportDel(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */, WERROR *werror) { struct srvsvc_NetTransportDel r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info0 = info0; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETTRANSPORTDEL, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetTransportDel, &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_srvsvc_NetRemoteTOD_state { struct srvsvc_NetRemoteTOD orig; struct srvsvc_NetRemoteTOD tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetRemoteTOD_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetRemoteTOD_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetRemoteTODInfo **_info /* [out] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetRemoteTOD_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetRemoteTOD_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; /* Out parameters */ state->orig.out.info = _info; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetRemoteTOD, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetRemoteTOD_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_srvsvc, NDR_SRVSVC_NETREMOTETOD, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetRemoteTOD_done, req); return req; } static void rpccli_srvsvc_NetRemoteTOD_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetRemoteTOD_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetRemoteTOD_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(srvsvc_NetRemoteTOD, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetRemoteTOD_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetRemoteTOD_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetRemoteTOD_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_srvsvc_NetRemoteTOD(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetRemoteTODInfo **info /* [out] [ref] */, WERROR *werror) { struct srvsvc_NetRemoteTOD r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetRemoteTOD, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETREMOTETOD, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetRemoteTOD, &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_srvsvc_NetSetServiceBits_state { struct srvsvc_NetSetServiceBits orig; struct srvsvc_NetSetServiceBits tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSetServiceBits_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSetServiceBits_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_transport /* [in] [unique,charset(UTF16)] */, uint32_t _servicebits /* [in] */, uint32_t _updateimmediately /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSetServiceBits_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSetServiceBits_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.transport = _transport; state->orig.in.servicebits = _servicebits; state->orig.in.updateimmediately = _updateimmediately; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSetServiceBits, &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_srvsvc, NDR_SRVSVC_NETSETSERVICEBITS, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSetServiceBits_done, req); return req; } static void rpccli_srvsvc_NetSetServiceBits_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSetServiceBits_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSetServiceBits_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(srvsvc_NetSetServiceBits, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSetServiceBits_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSetServiceBits_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSetServiceBits_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_srvsvc_NetSetServiceBits(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *transport /* [in] [unique,charset(UTF16)] */, uint32_t servicebits /* [in] */, uint32_t updateimmediately /* [in] */, WERROR *werror) { struct srvsvc_NetSetServiceBits r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.transport = transport; r.in.servicebits = servicebits; r.in.updateimmediately = updateimmediately; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSetServiceBits, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSETSERVICEBITS, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSetServiceBits, &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_srvsvc_NetPathType_state { struct srvsvc_NetPathType orig; struct srvsvc_NetPathType tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetPathType_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetPathType_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_path /* [in] [charset(UTF16)] */, uint32_t _pathflags /* [in] */, uint32_t *_pathtype /* [out] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetPathType_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetPathType_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.path = _path; state->orig.in.pathflags = _pathflags; /* Out parameters */ state->orig.out.pathtype = _pathtype; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathType, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetPathType_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_srvsvc, NDR_SRVSVC_NETPATHTYPE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathType_done, req); return req; } static void rpccli_srvsvc_NetPathType_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetPathType_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathType_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.pathtype = *state->tmp.out.pathtype; /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPathType, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetPathType_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetPathType_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathType_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_srvsvc_NetPathType(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *path /* [in] [charset(UTF16)] */, uint32_t pathflags /* [in] */, uint32_t *pathtype /* [out] [ref] */, WERROR *werror) { struct srvsvc_NetPathType r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.path = path; r.in.pathflags = pathflags; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathType, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETPATHTYPE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPathType, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *pathtype = *r.out.pathtype; /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetPathCanonicalize_state { struct srvsvc_NetPathCanonicalize orig; struct srvsvc_NetPathCanonicalize tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetPathCanonicalize_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetPathCanonicalize_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_path /* [in] [charset(UTF16)] */, uint8_t *_can_path /* [out] [size_is(maxbuf)] */, uint32_t _maxbuf /* [in] */, const char *_prefix /* [in] [charset(UTF16)] */, uint32_t *_pathtype /* [in,out] [ref] */, uint32_t _pathflags /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetPathCanonicalize_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetPathCanonicalize_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.path = _path; state->orig.in.maxbuf = _maxbuf; state->orig.in.prefix = _prefix; state->orig.in.pathtype = _pathtype; state->orig.in.pathflags = _pathflags; /* Out parameters */ state->orig.out.can_path = _can_path; state->orig.out.pathtype = _pathtype; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathCanonicalize, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetPathCanonicalize_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_srvsvc, NDR_SRVSVC_NETPATHCANONICALIZE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathCanonicalize_done, req); return req; } static void rpccli_srvsvc_NetPathCanonicalize_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetPathCanonicalize_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathCanonicalize_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 */ memcpy(state->orig.out.can_path, state->tmp.out.can_path, state->tmp.in.maxbuf * sizeof(*state->orig.out.can_path)); *state->orig.out.pathtype = *state->tmp.out.pathtype; /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCanonicalize, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetPathCanonicalize_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetPathCanonicalize_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathCanonicalize_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_srvsvc_NetPathCanonicalize(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *path /* [in] [charset(UTF16)] */, uint8_t *can_path /* [out] [size_is(maxbuf)] */, uint32_t maxbuf /* [in] */, const char *prefix /* [in] [charset(UTF16)] */, uint32_t *pathtype /* [in,out] [ref] */, uint32_t pathflags /* [in] */, WERROR *werror) { struct srvsvc_NetPathCanonicalize r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.path = path; r.in.maxbuf = maxbuf; r.in.prefix = prefix; r.in.pathtype = pathtype; r.in.pathflags = pathflags; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathCanonicalize, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETPATHCANONICALIZE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCanonicalize, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ memcpy(can_path, r.out.can_path, r.in.maxbuf * sizeof(*can_path)); *pathtype = *r.out.pathtype; /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetPathCompare_state { struct srvsvc_NetPathCompare orig; struct srvsvc_NetPathCompare tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetPathCompare_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetPathCompare_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_path1 /* [in] [charset(UTF16)] */, const char *_path2 /* [in] [charset(UTF16)] */, uint32_t _pathtype /* [in] */, uint32_t _pathflags /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetPathCompare_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetPathCompare_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.path1 = _path1; state->orig.in.path2 = _path2; state->orig.in.pathtype = _pathtype; state->orig.in.pathflags = _pathflags; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathCompare, &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_srvsvc, NDR_SRVSVC_NETPATHCOMPARE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetPathCompare_done, req); return req; } static void rpccli_srvsvc_NetPathCompare_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetPathCompare_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathCompare_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(srvsvc_NetPathCompare, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetPathCompare_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetPathCompare_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPathCompare_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_srvsvc_NetPathCompare(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *path1 /* [in] [charset(UTF16)] */, const char *path2 /* [in] [charset(UTF16)] */, uint32_t pathtype /* [in] */, uint32_t pathflags /* [in] */, WERROR *werror) { struct srvsvc_NetPathCompare r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.path1 = path1; r.in.path2 = path2; r.in.pathtype = pathtype; r.in.pathflags = pathflags; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPathCompare, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETPATHCOMPARE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPathCompare, &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_srvsvc_NetNameValidate_state { struct srvsvc_NetNameValidate orig; struct srvsvc_NetNameValidate tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetNameValidate_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetNameValidate_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_name /* [in] [charset(UTF16)] */, uint32_t _name_type /* [in] */, uint32_t _flags /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetNameValidate_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetNameValidate_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.name = _name; state->orig.in.name_type = _name_type; state->orig.in.flags = _flags; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetNameValidate, &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_srvsvc, NDR_SRVSVC_NETNAMEVALIDATE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetNameValidate_done, req); return req; } static void rpccli_srvsvc_NetNameValidate_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetNameValidate_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetNameValidate_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(srvsvc_NetNameValidate, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetNameValidate_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetNameValidate_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetNameValidate_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_srvsvc_NetNameValidate(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *name /* [in] [charset(UTF16)] */, uint32_t name_type /* [in] */, uint32_t flags /* [in] */, WERROR *werror) { struct srvsvc_NetNameValidate r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.name = name; r.in.name_type = name_type; r.in.flags = flags; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetNameValidate, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETNAMEVALIDATE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetNameValidate, &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_srvsvc_NETRPRNAMECANONICALIZE_state { struct srvsvc_NETRPRNAMECANONICALIZE orig; struct srvsvc_NETRPRNAMECANONICALIZE tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRPRNAMECANONICALIZE_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRPRNAMECANONICALIZE_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_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(srvsvc_NETRPRNAMECANONICALIZE, &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_srvsvc, NDR_SRVSVC_NETRPRNAMECANONICALIZE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRPRNAMECANONICALIZE_done, req); return req; } static void rpccli_srvsvc_NETRPRNAMECANONICALIZE_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_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(srvsvc_NETRPRNAMECANONICALIZE, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRPRNAMECANONICALIZE_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRPRNAMECANONICALIZE_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_srvsvc_NETRPRNAMECANONICALIZE(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRPRNAMECANONICALIZE r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRPRNAMECANONICALIZE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRPRNAMECANONICALIZE, &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_srvsvc_NetPRNameCompare_state { struct srvsvc_NetPRNameCompare orig; struct srvsvc_NetPRNameCompare tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetPRNameCompare_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetPRNameCompare_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_name1 /* [in] [charset(UTF16)] */, const char *_name2 /* [in] [charset(UTF16)] */, uint32_t _name_type /* [in] */, uint32_t _flags /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetPRNameCompare_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetPRNameCompare_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.name1 = _name1; state->orig.in.name2 = _name2; state->orig.in.name_type = _name_type; state->orig.in.flags = _flags; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPRNameCompare, &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_srvsvc, NDR_SRVSVC_NETPRNAMECOMPARE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetPRNameCompare_done, req); return req; } static void rpccli_srvsvc_NetPRNameCompare_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetPRNameCompare_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPRNameCompare_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(srvsvc_NetPRNameCompare, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetPRNameCompare_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetPRNameCompare_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetPRNameCompare_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_srvsvc_NetPRNameCompare(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *name1 /* [in] [charset(UTF16)] */, const char *name2 /* [in] [charset(UTF16)] */, uint32_t name_type /* [in] */, uint32_t flags /* [in] */, WERROR *werror) { struct srvsvc_NetPRNameCompare r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.name1 = name1; r.in.name2 = name2; r.in.name_type = name_type; r.in.flags = flags; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetPRNameCompare, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETPRNAMECOMPARE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetPRNameCompare, &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_srvsvc_NetShareEnum_state { struct srvsvc_NetShareEnum orig; struct srvsvc_NetShareEnum tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareEnum_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareEnum_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetShareInfoCtr *_info_ctr /* [in,out] [ref] */, uint32_t _max_buffer /* [in] */, uint32_t *_totalentries /* [out] [ref] */, uint32_t *_resume_handle /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareEnum_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareEnum_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.info_ctr = _info_ctr; state->orig.in.max_buffer = _max_buffer; state->orig.in.resume_handle = _resume_handle; /* Out parameters */ state->orig.out.info_ctr = _info_ctr; state->orig.out.totalentries = _totalentries; state->orig.out.resume_handle = _resume_handle; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnum, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareEnum_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_srvsvc, NDR_SRVSVC_NETSHAREENUM, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareEnum_done, req); return req; } static void rpccli_srvsvc_NetShareEnum_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareEnum_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_ctr = *state->tmp.out.info_ctr; *state->orig.out.totalentries = *state->tmp.out.totalentries; if (state->orig.out.resume_handle && state->tmp.out.resume_handle) { *state->orig.out.resume_handle = *state->tmp.out.resume_handle; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnum, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareEnum_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareEnum_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareEnum_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_srvsvc_NetShareEnum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, struct srvsvc_NetShareInfoCtr *info_ctr /* [in,out] [ref] */, uint32_t max_buffer /* [in] */, uint32_t *totalentries /* [out] [ref] */, uint32_t *resume_handle /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetShareEnum r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.info_ctr = info_ctr; r.in.max_buffer = max_buffer; r.in.resume_handle = resume_handle; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareEnum, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREENUM, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareEnum, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info_ctr = *r.out.info_ctr; *totalentries = *r.out.totalentries; if (resume_handle && r.out.resume_handle) { *resume_handle = *r.out.resume_handle; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetShareDelStart_state { struct srvsvc_NetShareDelStart orig; struct srvsvc_NetShareDelStart tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareDelStart_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareDelStart_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share /* [in] [charset(UTF16)] */, uint32_t _reserved /* [in] */, struct policy_handle *_hnd /* [out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareDelStart_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareDelStart_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share = _share; state->orig.in.reserved = _reserved; /* Out parameters */ state->orig.out.hnd = _hnd; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelStart, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareDelStart_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_srvsvc, NDR_SRVSVC_NETSHAREDELSTART, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelStart_done, req); return req; } static void rpccli_srvsvc_NetShareDelStart_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareDelStart_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelStart_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.hnd && state->tmp.out.hnd) { *state->orig.out.hnd = *state->tmp.out.hnd; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelStart, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareDelStart_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareDelStart_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelStart_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_srvsvc_NetShareDelStart(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share /* [in] [charset(UTF16)] */, uint32_t reserved /* [in] */, struct policy_handle *hnd /* [out] [unique] */, WERROR *werror) { struct srvsvc_NetShareDelStart r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share = share; r.in.reserved = reserved; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelStart, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREDELSTART, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelStart, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (hnd && r.out.hnd) { *hnd = *r.out.hnd; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetShareDelCommit_state { struct srvsvc_NetShareDelCommit orig; struct srvsvc_NetShareDelCommit tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetShareDelCommit_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetShareDelCommit_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, struct policy_handle *_hnd /* [in,out] [unique] */) { struct tevent_req *req; struct rpccli_srvsvc_NetShareDelCommit_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetShareDelCommit_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.hnd = _hnd; /* Out parameters */ state->orig.out.hnd = _hnd; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelCommit, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetShareDelCommit_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_srvsvc, NDR_SRVSVC_NETSHAREDELCOMMIT, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetShareDelCommit_done, req); return req; } static void rpccli_srvsvc_NetShareDelCommit_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetShareDelCommit_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelCommit_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.hnd && state->tmp.out.hnd) { *state->orig.out.hnd = *state->tmp.out.hnd; } /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelCommit, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetShareDelCommit_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetShareDelCommit_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetShareDelCommit_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_srvsvc_NetShareDelCommit(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, struct policy_handle *hnd /* [in,out] [unique] */, WERROR *werror) { struct srvsvc_NetShareDelCommit r; NTSTATUS status; /* In parameters */ r.in.hnd = hnd; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetShareDelCommit, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSHAREDELCOMMIT, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetShareDelCommit, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if (hnd && r.out.hnd) { *hnd = *r.out.hnd; } /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetGetFileSecurity_state { struct srvsvc_NetGetFileSecurity orig; struct srvsvc_NetGetFileSecurity tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetGetFileSecurity_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetGetFileSecurity_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share /* [in] [unique,charset(UTF16)] */, const char *_file /* [in] [charset(UTF16)] */, uint32_t _securityinformation /* [in] */, struct sec_desc_buf **_sd_buf /* [out] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetGetFileSecurity_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetGetFileSecurity_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share = _share; state->orig.in.file = _file; state->orig.in.securityinformation = _securityinformation; /* Out parameters */ state->orig.out.sd_buf = _sd_buf; /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetGetFileSecurity, &state->orig); } state->out_mem_ctx = talloc_named_const(state, 0, "rpccli_srvsvc_NetGetFileSecurity_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_srvsvc, NDR_SRVSVC_NETGETFILESECURITY, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetGetFileSecurity_done, req); return req; } static void rpccli_srvsvc_NetGetFileSecurity_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetGetFileSecurity_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetGetFileSecurity_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.sd_buf = *state->tmp.out.sd_buf; /* Copy result */ state->orig.out.result = state->tmp.out.result; /* Reset temporary structure */ ZERO_STRUCT(state->tmp); if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetGetFileSecurity, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetGetFileSecurity_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetGetFileSecurity_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetGetFileSecurity_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_srvsvc_NetGetFileSecurity(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share /* [in] [unique,charset(UTF16)] */, const char *file /* [in] [charset(UTF16)] */, uint32_t securityinformation /* [in] */, struct sec_desc_buf **sd_buf /* [out] [ref] */, WERROR *werror) { struct srvsvc_NetGetFileSecurity r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share = share; r.in.file = file; r.in.securityinformation = securityinformation; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetGetFileSecurity, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETGETFILESECURITY, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetGetFileSecurity, &r); } if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *sd_buf = *r.out.sd_buf; /* Return result */ if (werror) { *werror = r.out.result; } return werror_to_ntstatus(r.out.result); } struct rpccli_srvsvc_NetSetFileSecurity_state { struct srvsvc_NetSetFileSecurity orig; struct srvsvc_NetSetFileSecurity tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetSetFileSecurity_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetSetFileSecurity_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_share /* [in] [unique,charset(UTF16)] */, const char *_file /* [in] [charset(UTF16)] */, uint32_t _securityinformation /* [in] */, struct sec_desc_buf *_sd_buf /* [in] [ref] */) { struct tevent_req *req; struct rpccli_srvsvc_NetSetFileSecurity_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetSetFileSecurity_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.share = _share; state->orig.in.file = _file; state->orig.in.securityinformation = _securityinformation; state->orig.in.sd_buf = _sd_buf; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSetFileSecurity, &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_srvsvc, NDR_SRVSVC_NETSETFILESECURITY, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetSetFileSecurity_done, req); return req; } static void rpccli_srvsvc_NetSetFileSecurity_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetSetFileSecurity_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSetFileSecurity_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(srvsvc_NetSetFileSecurity, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetSetFileSecurity_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetSetFileSecurity_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetSetFileSecurity_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_srvsvc_NetSetFileSecurity(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *share /* [in] [unique,charset(UTF16)] */, const char *file /* [in] [charset(UTF16)] */, uint32_t securityinformation /* [in] */, struct sec_desc_buf *sd_buf /* [in] [ref] */, WERROR *werror) { struct srvsvc_NetSetFileSecurity r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.share = share; r.in.file = file; r.in.securityinformation = securityinformation; r.in.sd_buf = sd_buf; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetSetFileSecurity, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSETFILESECURITY, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetSetFileSecurity, &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_srvsvc_NetServerTransportAddEx_state { struct srvsvc_NetServerTransportAddEx orig; struct srvsvc_NetServerTransportAddEx tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetServerTransportAddEx_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetServerTransportAddEx_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, uint32_t _level /* [in] */, union srvsvc_NetTransportInfo _info /* [in] [switch_is(level)] */) { struct tevent_req *req; struct rpccli_srvsvc_NetServerTransportAddEx_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetServerTransportAddEx_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; 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(srvsvc_NetServerTransportAddEx, &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_srvsvc, NDR_SRVSVC_NETSERVERTRANSPORTADDEX, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerTransportAddEx_done, req); return req; } static void rpccli_srvsvc_NetServerTransportAddEx_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetServerTransportAddEx_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerTransportAddEx_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(srvsvc_NetServerTransportAddEx, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetServerTransportAddEx_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetServerTransportAddEx_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerTransportAddEx_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_srvsvc_NetServerTransportAddEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, uint32_t level /* [in] */, union srvsvc_NetTransportInfo info /* [in] [switch_is(level)] */, WERROR *werror) { struct srvsvc_NetServerTransportAddEx r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.level = level; r.in.info = info; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetServerTransportAddEx, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSERVERTRANSPORTADDEX, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetServerTransportAddEx, &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_srvsvc_NetServerSetServiceBitsEx_state { struct srvsvc_NetServerSetServiceBitsEx orig; struct srvsvc_NetServerSetServiceBitsEx tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NetServerSetServiceBitsEx_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NetServerSetServiceBitsEx_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli, const char *_server_unc /* [in] [unique,charset(UTF16)] */, const char *_emulated_server_unc /* [in] [unique,charset(UTF16)] */, const char *_transport /* [in] [unique,charset(UTF16)] */, uint32_t _servicebitsofinterest /* [in] */, uint32_t _servicebits /* [in] */, uint32_t _updateimmediately /* [in] */) { struct tevent_req *req; struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NetServerSetServiceBitsEx_state); if (req == NULL) { return NULL; } state->out_mem_ctx = NULL; state->dispatch_recv = cli->dispatch_recv; /* In parameters */ state->orig.in.server_unc = _server_unc; state->orig.in.emulated_server_unc = _emulated_server_unc; state->orig.in.transport = _transport; state->orig.in.servicebitsofinterest = _servicebitsofinterest; state->orig.in.servicebits = _servicebits; state->orig.in.updateimmediately = _updateimmediately; /* Out parameters */ /* Result */ ZERO_STRUCT(state->orig.out.result); if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetServerSetServiceBitsEx, &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_srvsvc, NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NetServerSetServiceBitsEx_done, req); return req; } static void rpccli_srvsvc_NetServerSetServiceBitsEx_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerSetServiceBitsEx_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(srvsvc_NetServerSetServiceBitsEx, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NetServerSetServiceBitsEx_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NetServerSetServiceBitsEx_state *state = tevent_req_data( req, struct rpccli_srvsvc_NetServerSetServiceBitsEx_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_srvsvc_NetServerSetServiceBitsEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc /* [in] [unique,charset(UTF16)] */, const char *emulated_server_unc /* [in] [unique,charset(UTF16)] */, const char *transport /* [in] [unique,charset(UTF16)] */, uint32_t servicebitsofinterest /* [in] */, uint32_t servicebits /* [in] */, uint32_t updateimmediately /* [in] */, WERROR *werror) { struct srvsvc_NetServerSetServiceBitsEx r; NTSTATUS status; /* In parameters */ r.in.server_unc = server_unc; r.in.emulated_server_unc = emulated_server_unc; r.in.transport = transport; r.in.servicebitsofinterest = servicebitsofinterest; r.in.servicebits = servicebits; r.in.updateimmediately = updateimmediately; if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NetServerSetServiceBitsEx, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETSERVERSETSERVICEBITSEX, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NetServerSetServiceBitsEx, &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_srvsvc_NETRDFSGETVERSION_state { struct srvsvc_NETRDFSGETVERSION orig; struct srvsvc_NETRDFSGETVERSION tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSGETVERSION_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSGETVERSION_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSGETVERSION_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSGETVERSION_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(srvsvc_NETRDFSGETVERSION, &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_srvsvc, NDR_SRVSVC_NETRDFSGETVERSION, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSGETVERSION_done, req); return req; } static void rpccli_srvsvc_NETRDFSGETVERSION_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSGETVERSION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSGETVERSION_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(srvsvc_NETRDFSGETVERSION, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSGETVERSION_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSGETVERSION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSGETVERSION_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_srvsvc_NETRDFSGETVERSION(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSGETVERSION r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSGETVERSION, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSGETVERSION, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSGETVERSION, &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_srvsvc_NETRDFSCREATELOCALPARTITION_state { struct srvsvc_NETRDFSCREATELOCALPARTITION orig; struct srvsvc_NETRDFSCREATELOCALPARTITION tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_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(srvsvc_NETRDFSCREATELOCALPARTITION, &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_srvsvc, NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done, req); return req; } static void rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_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(srvsvc_NETRDFSCREATELOCALPARTITION, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSCREATELOCALPARTITION_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_srvsvc_NETRDFSCREATELOCALPARTITION(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSCREATELOCALPARTITION r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSCREATELOCALPARTITION, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATELOCALPARTITION, &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_srvsvc_NETRDFSDELETELOCALPARTITION_state { struct srvsvc_NETRDFSDELETELOCALPARTITION orig; struct srvsvc_NETRDFSDELETELOCALPARTITION tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_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(srvsvc_NETRDFSDELETELOCALPARTITION, &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_srvsvc, NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done, req); return req; } static void rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_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(srvsvc_NETRDFSDELETELOCALPARTITION, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSDELETELOCALPARTITION_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_srvsvc_NETRDFSDELETELOCALPARTITION(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSDELETELOCALPARTITION r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSDELETELOCALPARTITION, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETELOCALPARTITION, &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_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state { struct srvsvc_NETRDFSSETLOCALVOLUMESTATE orig; struct srvsvc_NETRDFSSETLOCALVOLUMESTATE tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_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(srvsvc_NETRDFSSETLOCALVOLUMESTATE, &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_srvsvc, NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done, req); return req; } static void rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_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(srvsvc_NETRDFSSETLOCALVOLUMESTATE, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSSETLOCALVOLUMESTATE_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_srvsvc_NETRDFSSETLOCALVOLUMESTATE(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSSETLOCALVOLUMESTATE r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSSETLOCALVOLUMESTATE, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETLOCALVOLUMESTATE, &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_srvsvc_NETRDFSSETSERVERINFO_state { struct srvsvc_NETRDFSSETSERVERINFO orig; struct srvsvc_NETRDFSSETSERVERINFO tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSSETSERVERINFO_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSSETSERVERINFO_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSSETSERVERINFO_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(srvsvc_NETRDFSSETSERVERINFO, &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_srvsvc, NDR_SRVSVC_NETRDFSSETSERVERINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSSETSERVERINFO_done, req); return req; } static void rpccli_srvsvc_NETRDFSSETSERVERINFO_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSSETSERVERINFO_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(srvsvc_NETRDFSSETSERVERINFO, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSSETSERVERINFO_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSSETSERVERINFO_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSSETSERVERINFO_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_srvsvc_NETRDFSSETSERVERINFO(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSSETSERVERINFO r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSSETSERVERINFO, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSSETSERVERINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSSETSERVERINFO, &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_srvsvc_NETRDFSCREATEEXITPOINT_state { struct srvsvc_NETRDFSCREATEEXITPOINT orig; struct srvsvc_NETRDFSCREATEEXITPOINT tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSCREATEEXITPOINT_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_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(srvsvc_NETRDFSCREATEEXITPOINT, &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_srvsvc, NDR_SRVSVC_NETRDFSCREATEEXITPOINT, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done, req); return req; } static void rpccli_srvsvc_NETRDFSCREATEEXITPOINT_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_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(srvsvc_NETRDFSCREATEEXITPOINT, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSCREATEEXITPOINT_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSCREATEEXITPOINT_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_srvsvc_NETRDFSCREATEEXITPOINT(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSCREATEEXITPOINT r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSCREATEEXITPOINT, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSCREATEEXITPOINT, &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_srvsvc_NETRDFSDELETEEXITPOINT_state { struct srvsvc_NETRDFSDELETEEXITPOINT orig; struct srvsvc_NETRDFSDELETEEXITPOINT tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSDELETEEXITPOINT_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_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(srvsvc_NETRDFSDELETEEXITPOINT, &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_srvsvc, NDR_SRVSVC_NETRDFSDELETEEXITPOINT, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done, req); return req; } static void rpccli_srvsvc_NETRDFSDELETEEXITPOINT_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_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(srvsvc_NETRDFSDELETEEXITPOINT, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSDELETEEXITPOINT_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSDELETEEXITPOINT_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_srvsvc_NETRDFSDELETEEXITPOINT(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSDELETEEXITPOINT r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSDELETEEXITPOINT, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSDELETEEXITPOINT, &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_srvsvc_NETRDFSMODIFYPREFIX_state { struct srvsvc_NETRDFSMODIFYPREFIX orig; struct srvsvc_NETRDFSMODIFYPREFIX tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSMODIFYPREFIX_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSMODIFYPREFIX_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_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(srvsvc_NETRDFSMODIFYPREFIX, &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_srvsvc, NDR_SRVSVC_NETRDFSMODIFYPREFIX, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSMODIFYPREFIX_done, req); return req; } static void rpccli_srvsvc_NETRDFSMODIFYPREFIX_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_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(srvsvc_NETRDFSMODIFYPREFIX, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSMODIFYPREFIX_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSMODIFYPREFIX_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_srvsvc_NETRDFSMODIFYPREFIX(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSMODIFYPREFIX r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSMODIFYPREFIX, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMODIFYPREFIX, &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_srvsvc_NETRDFSFIXLOCALVOLUME_state { struct srvsvc_NETRDFSFIXLOCALVOLUME orig; struct srvsvc_NETRDFSFIXLOCALVOLUME tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_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(srvsvc_NETRDFSFIXLOCALVOLUME, &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_srvsvc, NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done, req); return req; } static void rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_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(srvsvc_NETRDFSFIXLOCALVOLUME, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSFIXLOCALVOLUME_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_srvsvc_NETRDFSFIXLOCALVOLUME(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSFIXLOCALVOLUME r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSFIXLOCALVOLUME, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSFIXLOCALVOLUME, &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_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state { struct srvsvc_NETRDFSMANAGERREPORTSITEINFO orig; struct srvsvc_NETRDFSMANAGERREPORTSITEINFO tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_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(srvsvc_NETRDFSMANAGERREPORTSITEINFO, &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_srvsvc, NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done, req); return req; } static void rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_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(srvsvc_NETRDFSMANAGERREPORTSITEINFO, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRDFSMANAGERREPORTSITEINFO_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_srvsvc_NETRDFSMANAGERREPORTSITEINFO(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRDFSMANAGERREPORTSITEINFO r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRDFSMANAGERREPORTSITEINFO, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRDFSMANAGERREPORTSITEINFO, &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_srvsvc_NETRSERVERTRANSPORTDELEX_state { struct srvsvc_NETRSERVERTRANSPORTDELEX orig; struct srvsvc_NETRSERVERTRANSPORTDELEX tmp; TALLOC_CTX *out_mem_ctx; NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); }; static void rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done(struct tevent_req *subreq); struct tevent_req *rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct rpc_pipe_client *cli) { struct tevent_req *req; struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state; struct tevent_req *subreq; req = tevent_req_create(mem_ctx, &state, struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_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(srvsvc_NETRSERVERTRANSPORTDELEX, &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_srvsvc, NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, &state->tmp); if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } tevent_req_set_callback(subreq, rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done, req); return req; } static void rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_done(struct tevent_req *subreq) { struct tevent_req *req = tevent_req_callback_data( subreq, struct tevent_req); struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_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(srvsvc_NETRSERVERTRANSPORTDELEX, &state->orig); } tevent_req_done(req); } NTSTATUS rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, WERROR *result) { struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_state *state = tevent_req_data( req, struct rpccli_srvsvc_NETRSERVERTRANSPORTDELEX_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_srvsvc_NETRSERVERTRANSPORTDELEX(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR *werror) { struct srvsvc_NETRSERVERTRANSPORTDELEX r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) { NDR_PRINT_IN_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, &r); } status = cli->dispatch(cli, mem_ctx, &ndr_table_srvsvc, NDR_SRVSVC_NETRSERVERTRANSPORTDELEX, &r); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) { NDR_PRINT_OUT_DEBUG(srvsvc_NETRSERVERTRANSPORTDELEX, &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); }