diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-05-03 17:17:43 +0200 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-05-04 13:47:07 +0200 |
commit | 09eb1e3e458a5060fe28958867375abc292577fa (patch) | |
tree | 6a5511b198d9bcc70445f0c8ad9dfd416fdb5e43 /librpc/gen_ndr/cli_drsuapi.c | |
parent | 6ed45442c4b7ea4e3b22aae3d574ca4149940dcc (diff) | |
download | samba-09eb1e3e458a5060fe28958867375abc292577fa.tar.gz samba-09eb1e3e458a5060fe28958867375abc292577fa.tar.bz2 samba-09eb1e3e458a5060fe28958867375abc292577fa.zip |
idl: removed the generated gen_ndr/ files from pidl
Samba3 will add these to the release tarball instead. See the mail on
samba-technical
Diffstat (limited to 'librpc/gen_ndr/cli_drsuapi.c')
-rw-r--r-- | librpc/gen_ndr/cli_drsuapi.c | 3802 |
1 files changed, 0 insertions, 3802 deletions
diff --git a/librpc/gen_ndr/cli_drsuapi.c b/librpc/gen_ndr/cli_drsuapi.c deleted file mode 100644 index 6460589f95..0000000000 --- a/librpc/gen_ndr/cli_drsuapi.c +++ /dev/null @@ -1,3802 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * client auto-generated by pidl. DO NOT MODIFY! - */ - -#include "includes.h" -#include "../librpc/gen_ndr/cli_drsuapi.h" - -struct rpccli_drsuapi_DsBind_state { - struct drsuapi_DsBind orig; - struct drsuapi_DsBind tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsBind_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsBind_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct GUID *_bind_guid /* [in] [unique] */, - struct drsuapi_DsBindInfoCtr *_bind_info /* [in,out] [unique] */, - struct policy_handle *_bind_handle /* [out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsBind_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsBind_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_guid = _bind_guid; - state->orig.in.bind_info = _bind_info; - - /* Out parameters */ - state->orig.out.bind_info = _bind_info; - state->orig.out.bind_handle = _bind_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsBind_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_drsuapi, - NDR_DRSUAPI_DSBIND, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsBind_done, req); - return req; -} - -static void rpccli_drsuapi_DsBind_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsBind_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsBind_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.bind_info && state->tmp.out.bind_info) { - *state->orig.out.bind_info = *state->tmp.out.bind_info; - } - *state->orig.out.bind_handle = *state->tmp.out.bind_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsBind_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsBind_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsBind_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_drsuapi_DsBind(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct GUID *bind_guid /* [in] [unique] */, - struct drsuapi_DsBindInfoCtr *bind_info /* [in,out] [unique] */, - struct policy_handle *bind_handle /* [out] [ref] */, - WERROR *werror) -{ - struct drsuapi_DsBind r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_guid = bind_guid; - r.in.bind_info = bind_info; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSBIND, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - if (bind_info && r.out.bind_info) { - *bind_info = *r.out.bind_info; - } - *bind_handle = *r.out.bind_handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsUnbind_state { - struct drsuapi_DsUnbind orig; - struct drsuapi_DsUnbind tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsUnbind_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsUnbind_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in,out] [ref] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsUnbind_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsUnbind_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - - /* Out parameters */ - state->orig.out.bind_handle = _bind_handle; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsUnbind_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_drsuapi, - NDR_DRSUAPI_DSUNBIND, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsUnbind_done, req); - return req; -} - -static void rpccli_drsuapi_DsUnbind_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsUnbind_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsUnbind_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.bind_handle = *state->tmp.out.bind_handle; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsUnbind_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsUnbind_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsUnbind_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_drsuapi_DsUnbind(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in,out] [ref] */, - WERROR *werror) -{ - struct drsuapi_DsUnbind r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSUNBIND, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *bind_handle = *r.out.bind_handle; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsReplicaSync_state { - struct drsuapi_DsReplicaSync orig; - struct drsuapi_DsReplicaSync tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaSync_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaSync_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsReplicaSyncRequest *_req /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaSync_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaSync_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICASYNC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaSync_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaSync_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaSync_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaSync_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaSync_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaSync_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaSync_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_drsuapi_DsReplicaSync(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsReplicaSyncRequest *req /* [in] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaSync r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICASYNC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsGetNCChanges_state { - struct drsuapi_DsGetNCChanges orig; - struct drsuapi_DsGetNCChanges tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsGetNCChanges_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsGetNCChanges_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsGetNCChangesRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsGetNCChangesCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsGetNCChanges_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsGetNCChanges_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsGetNCChanges_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_drsuapi, - NDR_DRSUAPI_DSGETNCCHANGES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsGetNCChanges_done, req); - return req; -} - -static void rpccli_drsuapi_DsGetNCChanges_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsGetNCChanges_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetNCChanges_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsGetNCChanges_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsGetNCChanges_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetNCChanges_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_drsuapi_DsGetNCChanges(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsGetNCChangesRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsGetNCChangesCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsGetNCChanges r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSGETNCCHANGES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsReplicaUpdateRefs_state { - struct drsuapi_DsReplicaUpdateRefs orig; - struct drsuapi_DsReplicaUpdateRefs tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaUpdateRefs_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaUpdateRefs_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsReplicaUpdateRefsRequest _req /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaUpdateRefs_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaUpdateRefs_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAUPDATEREFS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaUpdateRefs_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaUpdateRefs_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaUpdateRefs_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaUpdateRefs_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaUpdateRefs_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaUpdateRefs_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaUpdateRefs_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_drsuapi_DsReplicaUpdateRefs(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsReplicaUpdateRefsRequest req /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaUpdateRefs r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAUPDATEREFS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsReplicaAdd_state { - struct drsuapi_DsReplicaAdd orig; - struct drsuapi_DsReplicaAdd tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaAdd_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaAdd_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsReplicaAddRequest _req /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaAdd_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaAdd_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAADD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaAdd_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaAdd_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaAdd_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaAdd_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaAdd_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaAdd_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaAdd_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_drsuapi_DsReplicaAdd(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsReplicaAddRequest req /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaAdd r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAADD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsReplicaDel_state { - struct drsuapi_DsReplicaDel orig; - struct drsuapi_DsReplicaDel tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaDel_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaDel_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsReplicaDelRequest _req /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaDel_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaDel_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICADEL, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaDel_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaDel_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaDel_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaDel_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaDel_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaDel_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaDel_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_drsuapi_DsReplicaDel(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsReplicaDelRequest req /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaDel r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICADEL, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsReplicaMod_state { - struct drsuapi_DsReplicaMod orig; - struct drsuapi_DsReplicaMod tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaMod_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaMod_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsReplicaModRequest _req /* [in] [switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaMod_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaMod_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAMOD, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaMod_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaMod_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaMod_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaMod_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaMod_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaMod_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaMod_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_drsuapi_DsReplicaMod(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsReplicaModRequest req /* [in] [switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaMod r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAMOD, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_DRSUAPI_VERIFY_NAMES_state { - struct DRSUAPI_VERIFY_NAMES orig; - struct DRSUAPI_VERIFY_NAMES tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_VERIFY_NAMES_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_VERIFY_NAMES_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_VERIFY_NAMES_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_VERIFY_NAMES_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); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_VERIFY_NAMES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_VERIFY_NAMES_done, req); - return req; -} - -static void rpccli_DRSUAPI_VERIFY_NAMES_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_VERIFY_NAMES_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_VERIFY_NAMES_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_VERIFY_NAMES_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_VERIFY_NAMES_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_VERIFY_NAMES_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_DRSUAPI_VERIFY_NAMES(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_VERIFY_NAMES r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_VERIFY_NAMES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsGetMemberships_state { - struct drsuapi_DsGetMemberships orig; - struct drsuapi_DsGetMemberships tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsGetMemberships_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsGetMemberships_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsGetMembershipsRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsGetMembershipsCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsGetMemberships_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsGetMemberships_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsGetMemberships_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_drsuapi, - NDR_DRSUAPI_DSGETMEMBERSHIPS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsGetMemberships_done, req); - return req; -} - -static void rpccli_drsuapi_DsGetMemberships_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsGetMemberships_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetMemberships_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsGetMemberships_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsGetMemberships_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetMemberships_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_drsuapi_DsGetMemberships(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsGetMembershipsRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsGetMembershipsCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsGetMemberships r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSGETMEMBERSHIPS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state { - struct DRSUAPI_INTER_DOMAIN_MOVE orig; - struct DRSUAPI_INTER_DOMAIN_MOVE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_INTER_DOMAIN_MOVE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_INTER_DOMAIN_MOVE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done, req); - return req; -} - -static void rpccli_DRSUAPI_INTER_DOMAIN_MOVE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state); - NTSTATUS status; - TALLOC_CTX *mem_ctx; - - if (state->out_mem_ctx) { - mem_ctx = state->out_mem_ctx; - } else { - mem_ctx = state; - } - - status = state->dispatch_recv(subreq, mem_ctx); - TALLOC_FREE(subreq); - if (!NT_STATUS_IS_OK(status)) { - tevent_req_nterror(req, status); - return; - } - - /* Copy out parameters */ - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_INTER_DOMAIN_MOVE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_INTER_DOMAIN_MOVE_state); - NTSTATUS status; - - if (tevent_req_is_nterror(req, &status)) { - tevent_req_received(req); - return status; - } - - /* Steal possbile out parameters to the callers context */ - talloc_steal(mem_ctx, state->out_mem_ctx); - - /* Return result */ - *result = state->orig.out.result; - - tevent_req_received(req); - return NT_STATUS_OK; -} - -NTSTATUS rpccli_DRSUAPI_INTER_DOMAIN_MOVE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_INTER_DOMAIN_MOVE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_INTER_DOMAIN_MOVE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsGetNT4ChangeLog_state { - struct drsuapi_DsGetNT4ChangeLog orig; - struct drsuapi_DsGetNT4ChangeLog tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsGetNT4ChangeLog_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsGetNT4ChangeLog_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsGetNT4ChangeLogRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsGetNT4ChangeLogInfo *_info /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsGetNT4ChangeLog_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsGetNT4ChangeLog_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsGetNT4ChangeLog_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_drsuapi, - NDR_DRSUAPI_DSGETNT4CHANGELOG, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsGetNT4ChangeLog_done, req); - return req; -} - -static void rpccli_drsuapi_DsGetNT4ChangeLog_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsGetNT4ChangeLog_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetNT4ChangeLog_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.level_out = *state->tmp.out.level_out; - *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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsGetNT4ChangeLog_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsGetNT4ChangeLog_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetNT4ChangeLog_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_drsuapi_DsGetNT4ChangeLog(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsGetNT4ChangeLogRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsGetNT4ChangeLogInfo *info /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsGetNT4ChangeLog r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSGETNT4CHANGELOG, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsCrackNames_state { - struct drsuapi_DsCrackNames orig; - struct drsuapi_DsCrackNames tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsCrackNames_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsCrackNames_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsNameRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsNameCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsCrackNames_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsCrackNames_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsCrackNames_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_drsuapi, - NDR_DRSUAPI_DSCRACKNAMES, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsCrackNames_done, req); - return req; -} - -static void rpccli_drsuapi_DsCrackNames_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsCrackNames_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsCrackNames_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsCrackNames_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsCrackNames_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsCrackNames_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_drsuapi_DsCrackNames(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsNameRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsNameCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsCrackNames r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSCRACKNAMES, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsWriteAccountSpn_state { - struct drsuapi_DsWriteAccountSpn orig; - struct drsuapi_DsWriteAccountSpn tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsWriteAccountSpn_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsWriteAccountSpn_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsWriteAccountSpnRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsWriteAccountSpnResult *_res /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsWriteAccountSpn_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsWriteAccountSpn_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.res = _res; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsWriteAccountSpn_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_drsuapi, - NDR_DRSUAPI_DSWRITEACCOUNTSPN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsWriteAccountSpn_done, req); - return req; -} - -static void rpccli_drsuapi_DsWriteAccountSpn_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsWriteAccountSpn_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsWriteAccountSpn_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.level_out = *state->tmp.out.level_out; - *state->orig.out.res = *state->tmp.out.res; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsWriteAccountSpn_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsWriteAccountSpn_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsWriteAccountSpn_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_drsuapi_DsWriteAccountSpn(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsWriteAccountSpnRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsWriteAccountSpnResult *res /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsWriteAccountSpn r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSWRITEACCOUNTSPN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *res = *r.out.res; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsRemoveDSServer_state { - struct drsuapi_DsRemoveDSServer orig; - struct drsuapi_DsRemoveDSServer tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsRemoveDSServer_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsRemoveDSServer_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsRemoveDSServerRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsRemoveDSServerResult *_res /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsRemoveDSServer_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsRemoveDSServer_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.res = _res; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsRemoveDSServer_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_drsuapi, - NDR_DRSUAPI_DSREMOVEDSSERVER, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsRemoveDSServer_done, req); - return req; -} - -static void rpccli_drsuapi_DsRemoveDSServer_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsRemoveDSServer_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsRemoveDSServer_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.level_out = *state->tmp.out.level_out; - *state->orig.out.res = *state->tmp.out.res; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsRemoveDSServer_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsRemoveDSServer_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsRemoveDSServer_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_drsuapi_DsRemoveDSServer(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsRemoveDSServerRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsRemoveDSServerResult *res /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsRemoveDSServer r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREMOVEDSSERVER, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *res = *r.out.res; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state { - struct DRSUAPI_REMOVE_DS_DOMAIN orig; - struct DRSUAPI_REMOVE_DS_DOMAIN tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_REMOVE_DS_DOMAIN_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_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); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_REMOVE_DS_DOMAIN, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done, req); - return req; -} - -static void rpccli_DRSUAPI_REMOVE_DS_DOMAIN_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_REMOVE_DS_DOMAIN_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_REMOVE_DS_DOMAIN_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_DRSUAPI_REMOVE_DS_DOMAIN(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_REMOVE_DS_DOMAIN r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_REMOVE_DS_DOMAIN, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsGetDomainControllerInfo_state { - struct drsuapi_DsGetDomainControllerInfo orig; - struct drsuapi_DsGetDomainControllerInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsGetDomainControllerInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsGetDomainControllerInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - int32_t _level /* [in] */, - union drsuapi_DsGetDCInfoRequest *_req /* [in] [ref,switch_is(level)] */, - int32_t *_level_out /* [out] [ref] */, - union drsuapi_DsGetDCInfoCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsGetDomainControllerInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsGetDomainControllerInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsGetDomainControllerInfo_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_drsuapi, - NDR_DRSUAPI_DSGETDOMAINCONTROLLERINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsGetDomainControllerInfo_done, req); - return req; -} - -static void rpccli_drsuapi_DsGetDomainControllerInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsGetDomainControllerInfo_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetDomainControllerInfo_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsGetDomainControllerInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsGetDomainControllerInfo_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetDomainControllerInfo_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_drsuapi_DsGetDomainControllerInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - int32_t level /* [in] */, - union drsuapi_DsGetDCInfoRequest *req /* [in] [ref,switch_is(level)] */, - int32_t *level_out /* [out] [ref] */, - union drsuapi_DsGetDCInfoCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsGetDomainControllerInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSGETDOMAINCONTROLLERINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsAddEntry_state { - struct drsuapi_DsAddEntry orig; - struct drsuapi_DsAddEntry tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsAddEntry_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsAddEntry_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsAddEntryRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsAddEntryCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsAddEntry_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsAddEntry_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsAddEntry_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_drsuapi, - NDR_DRSUAPI_DSADDENTRY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsAddEntry_done, req); - return req; -} - -static void rpccli_drsuapi_DsAddEntry_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsAddEntry_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsAddEntry_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsAddEntry_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsAddEntry_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsAddEntry_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_drsuapi_DsAddEntry(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsAddEntryRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsAddEntryCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsAddEntry r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSADDENTRY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_drsuapi_DsExecuteKCC_state { - struct drsuapi_DsExecuteKCC orig; - struct drsuapi_DsExecuteKCC tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsExecuteKCC_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsExecuteKCC_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsExecuteKCCRequest *_req /* [in] [ref,switch_is(level)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsExecuteKCC_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsExecuteKCC_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSEXECUTEKCC, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsExecuteKCC_done, req); - return req; -} - -static void rpccli_drsuapi_DsExecuteKCC_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsExecuteKCC_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsExecuteKCC_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsExecuteKCC_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsExecuteKCC_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsExecuteKCC_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_drsuapi_DsExecuteKCC(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsExecuteKCCRequest *req /* [in] [ref,switch_is(level)] */, - WERROR *werror) -{ - struct drsuapi_DsExecuteKCC r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSEXECUTEKCC, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsReplicaGetInfo_state { - struct drsuapi_DsReplicaGetInfo orig; - struct drsuapi_DsReplicaGetInfo tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsReplicaGetInfo_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsReplicaGetInfo_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - enum drsuapi_DsReplicaGetInfoLevel _level /* [in] */, - union drsuapi_DsReplicaGetInfoRequest *_req /* [in] [ref,switch_is(level)] */, - enum drsuapi_DsReplicaInfoType *_info_type /* [out] [ref] */, - union drsuapi_DsReplicaInfo *_info /* [out] [ref,switch_is(*info_type)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsReplicaGetInfo_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsReplicaGetInfo_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.info_type = _info_type; - state->orig.out.info = _info; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsReplicaGetInfo_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_drsuapi, - NDR_DRSUAPI_DSREPLICAGETINFO, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaGetInfo_done, req); - return req; -} - -static void rpccli_drsuapi_DsReplicaGetInfo_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsReplicaGetInfo_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaGetInfo_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_type = *state->tmp.out.info_type; - *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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsReplicaGetInfo_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsReplicaGetInfo_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsReplicaGetInfo_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_drsuapi_DsReplicaGetInfo(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - enum drsuapi_DsReplicaGetInfoLevel level /* [in] */, - union drsuapi_DsReplicaGetInfoRequest *req /* [in] [ref,switch_is(level)] */, - enum drsuapi_DsReplicaInfoType *info_type /* [out] [ref] */, - union drsuapi_DsReplicaInfo *info /* [out] [ref,switch_is(*info_type)] */, - WERROR *werror) -{ - struct drsuapi_DsReplicaGetInfo r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSREPLICAGETINFO, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *info_type = *r.out.info_type; - *info = *r.out.info; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_DRSUAPI_ADD_SID_HISTORY_state { - struct DRSUAPI_ADD_SID_HISTORY orig; - struct DRSUAPI_ADD_SID_HISTORY tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_ADD_SID_HISTORY_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_ADD_SID_HISTORY_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_ADD_SID_HISTORY_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_ADD_SID_HISTORY_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); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_ADD_SID_HISTORY, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_ADD_SID_HISTORY_done, req); - return req; -} - -static void rpccli_DRSUAPI_ADD_SID_HISTORY_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_ADD_SID_HISTORY_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_ADD_SID_HISTORY_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_ADD_SID_HISTORY_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_ADD_SID_HISTORY_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_ADD_SID_HISTORY_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_DRSUAPI_ADD_SID_HISTORY(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_ADD_SID_HISTORY r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_ADD_SID_HISTORY, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_DsGetMemberships2_state { - struct drsuapi_DsGetMemberships2 orig; - struct drsuapi_DsGetMemberships2 tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_DsGetMemberships2_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_DsGetMemberships2_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_DsGetMemberships2Request *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_DsGetMemberships2Ctr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_DsGetMemberships2_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_DsGetMemberships2_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_DsGetMemberships2_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_drsuapi, - NDR_DRSUAPI_DSGETMEMBERSHIPS2, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_DsGetMemberships2_done, req); - return req; -} - -static void rpccli_drsuapi_DsGetMemberships2_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_DsGetMemberships2_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetMemberships2_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_DsGetMemberships2_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_DsGetMemberships2_state *state = tevent_req_data( - req, struct rpccli_drsuapi_DsGetMemberships2_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_drsuapi_DsGetMemberships2(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_DsGetMemberships2Request *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_DsGetMemberships2Ctr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_DsGetMemberships2 r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_DSGETMEMBERSHIPS2, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - -struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state { - struct DRSUAPI_REPLICA_VERIFY_OBJECTS orig; - struct DRSUAPI_REPLICA_VERIFY_OBJECTS tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_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); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_REPLICA_VERIFY_OBJECTS, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done, req); - return req; -} - -static void rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_REPLICA_VERIFY_OBJECTS_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_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_REPLICA_VERIFY_OBJECTS r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_REPLICA_VERIFY_OBJECTS, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_DRSUAPI_GET_OBJECT_EXISTENCE_state { - struct DRSUAPI_GET_OBJECT_EXISTENCE orig; - struct DRSUAPI_GET_OBJECT_EXISTENCE tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli) -{ - struct tevent_req *req; - struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_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); - - /* make a temporary copy, that we pass to the dispatch function */ - state->tmp = state->orig; - - subreq = cli->dispatch_send(state, ev, cli, - &ndr_table_drsuapi, - NDR_DRSUAPI_GET_OBJECT_EXISTENCE, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done, req); - return req; -} - -static void rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_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); - - tevent_req_done(req); -} - -NTSTATUS rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_state *state = tevent_req_data( - req, struct rpccli_DRSUAPI_GET_OBJECT_EXISTENCE_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_DRSUAPI_GET_OBJECT_EXISTENCE(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - WERROR *werror) -{ - struct DRSUAPI_GET_OBJECT_EXISTENCE r; - NTSTATUS status; - - /* In parameters */ - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_GET_OBJECT_EXISTENCE, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - 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_drsuapi_QuerySitesByCost_state { - struct drsuapi_QuerySitesByCost orig; - struct drsuapi_QuerySitesByCost tmp; - TALLOC_CTX *out_mem_ctx; - NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); -}; - -static void rpccli_drsuapi_QuerySitesByCost_done(struct tevent_req *subreq); - -struct tevent_req *rpccli_drsuapi_QuerySitesByCost_send(TALLOC_CTX *mem_ctx, - struct tevent_context *ev, - struct rpc_pipe_client *cli, - struct policy_handle *_bind_handle /* [in] [ref] */, - uint32_t _level /* [in] */, - union drsuapi_QuerySitesByCostRequest *_req /* [in] [ref,switch_is(level)] */, - uint32_t *_level_out /* [out] [ref] */, - union drsuapi_QuerySitesByCostCtr *_ctr /* [out] [ref,switch_is(*level_out)] */) -{ - struct tevent_req *req; - struct rpccli_drsuapi_QuerySitesByCost_state *state; - struct tevent_req *subreq; - - req = tevent_req_create(mem_ctx, &state, - struct rpccli_drsuapi_QuerySitesByCost_state); - if (req == NULL) { - return NULL; - } - state->out_mem_ctx = NULL; - state->dispatch_recv = cli->dispatch_recv; - - /* In parameters */ - state->orig.in.bind_handle = _bind_handle; - state->orig.in.level = _level; - state->orig.in.req = _req; - - /* Out parameters */ - state->orig.out.level_out = _level_out; - state->orig.out.ctr = _ctr; - - /* Result */ - ZERO_STRUCT(state->orig.out.result); - - state->out_mem_ctx = talloc_named_const(state, 0, - "rpccli_drsuapi_QuerySitesByCost_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_drsuapi, - NDR_DRSUAPI_QUERYSITESBYCOST, - &state->tmp); - if (tevent_req_nomem(subreq, req)) { - return tevent_req_post(req, ev); - } - tevent_req_set_callback(subreq, rpccli_drsuapi_QuerySitesByCost_done, req); - return req; -} - -static void rpccli_drsuapi_QuerySitesByCost_done(struct tevent_req *subreq) -{ - struct tevent_req *req = tevent_req_callback_data( - subreq, struct tevent_req); - struct rpccli_drsuapi_QuerySitesByCost_state *state = tevent_req_data( - req, struct rpccli_drsuapi_QuerySitesByCost_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.level_out = *state->tmp.out.level_out; - *state->orig.out.ctr = *state->tmp.out.ctr; - - /* Copy result */ - state->orig.out.result = state->tmp.out.result; - - /* Reset temporary structure */ - ZERO_STRUCT(state->tmp); - - tevent_req_done(req); -} - -NTSTATUS rpccli_drsuapi_QuerySitesByCost_recv(struct tevent_req *req, - TALLOC_CTX *mem_ctx, - WERROR *result) -{ - struct rpccli_drsuapi_QuerySitesByCost_state *state = tevent_req_data( - req, struct rpccli_drsuapi_QuerySitesByCost_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_drsuapi_QuerySitesByCost(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *bind_handle /* [in] [ref] */, - uint32_t level /* [in] */, - union drsuapi_QuerySitesByCostRequest *req /* [in] [ref,switch_is(level)] */, - uint32_t *level_out /* [out] [ref] */, - union drsuapi_QuerySitesByCostCtr *ctr /* [out] [ref,switch_is(*level_out)] */, - WERROR *werror) -{ - struct drsuapi_QuerySitesByCost r; - NTSTATUS status; - - /* In parameters */ - r.in.bind_handle = bind_handle; - r.in.level = level; - r.in.req = req; - - status = cli->dispatch(cli, - mem_ctx, - &ndr_table_drsuapi, - NDR_DRSUAPI_QUERYSITESBYCOST, - &r); - - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - if (NT_STATUS_IS_ERR(status)) { - return status; - } - - /* Return variables */ - *level_out = *r.out.level_out; - *ctr = *r.out.ctr; - - /* Return result */ - if (werror) { - *werror = r.out.result; - } - - return werror_to_ntstatus(r.out.result); -} - |